我正在尝试根据所需的频率响应计算实际频率响应。
fftSize = 128;
fs = 8000;
我有2个输入数组:f []和aDesired [],两者都是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[]
非常感谢