目的の周波数応答から実際の周波数応答を計算しようとしています。
fftSize = 128;
fs = 8000;
f[] と aDesired[] の 2 つの入力配列があります。どちらも Real で、長さ fftSize+1 (DC + Nyquist を含む) です。f[] 配列は、0 と fs/2 (0:4000) の間で直線的に配置されます。aDesired[] 配列は、dB 単位のゲインまたは線形値です。
f[] と aDesired[] の長さは簡単に変更できます。これは、任意のサイズの出力を提供する補間関数があるためですが、これは適切な数値だと思いました。
ADesired[] の IFFT を使用して (構成可能な長さで) 係数を生成し、係数をウィンドウ化して切り捨て、次に FFT を実行して実際の応答が aActual[] になることを示したいと思います。
入力が両方とも実数の場合、このデータの IFFT/FFT を取得するにはどうすればよいですか? または、データをさらに準備するにはどうすればよいですか?
入力データで使用できるライブラリはありますか?
概要:
Input: f[129] : linearly spaced fc's
aDesired[129] : Real values of linearly spaced gains at fc's (either in lin or log),
Processing:
coeffs = IFFT(f, aDesired)
coeff_new Truncate(window * coeff)
aActual = FFT(f, coeff_new)
Output: aActual[]
どうもありがとう