0

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

fftSize = 128;
fs = 8000;

我有 2 个输入数组:f[] 和 aDesired[],它们都是实数,长度为 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[]

非常感谢

4

1 回答 1

0

试试 IT++,它用于物理层仿真。

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

于 2013-06-10T22:35:46.993 回答