C ++频率响应< - >冲动响应

时间:2013-06-10 22:29:56

标签: c++ signal-processing fft ifft

我正在尝试根据所需的频率响应计算实际频率响应。

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[]

非常感谢

1 个答案:

答案 0 :(得分:0)

尝试IT ++,用于物理层模拟。

http://itpp.sourceforge.net/4.3.0/