vDSP:FFT功能是否包括窗口?

时间:2011-01-03 09:00:06

标签: signal-processing fft windowing

我正在使用vDSP实现算法。

1)采用FFT 2)取绝对值平方的对数(可以用查找表完成) 3)采取另一个FFT 4)取绝对值

在运行FFT之前,我不确定是否应该通过窗口函数抛出传入的数据。

vDSP_fft_zrip(setupReal, &A, stride, log2n, direction);

这是我的FFT函数

我是否需要先通过vDSP_hamm_window(...)抛出数据?

3 个答案:

答案 0 :(得分:2)

我对您的特定库没有任何经验,但在其他每个FFT库中,我都知道您可以先将数据窗口化。如果不出意外,库无法知道您希望使用哪个窗口,有时您不想使用窗口(如果您使用FFT进行重叠添加过滤,或者您知道信号是准确的变换块中的周期性。)

另外,只是随便看来,如果你正在进行2次FFT,调用对数函数的开销相对较小。

答案 1 :(得分:2)

听起来你正在做cepstral analysis,是的,在第一次FFT之前你需要一个窗函数。我建议一个简单的Hann or Hamming window

答案 2 :(得分:2)

iOS加速库函数vDSP_fft_zrip()不包括应用窗口函数(除非由于有限长度参数而计算隐含的矩形窗口)。

所以你需要首先应用你选择的窗口函数(有许多不同的函数)。