我正在使用vDSP实现一个算法。
1)取FFT 2)取绝对值的平方的对数(可用查找表完成) 3)取另一个FFT 4)取绝对值
在运行FFT之前,我不确定是否应该通过窗口函数抛出传入的数据。
vDSP_fft_zrip(setupReal, &A, stride, log2n, direction);这就是我的FFT函数
我是否需要通过vDSP_hamm_window(...)抛出数据第一?
发布于 2011-01-04 10:14:02
iOS加速库函数vDSP_fft_zrip()不包括应用窗口函数(除非由于有限长度参数而计算隐含的矩形窗口)。
所以你需要首先应用你选择的窗口函数(有很多不同的)。
发布于 2011-01-03 17:44:46
听起来像是在做cepstral analysis,是的,在第一次快速傅立叶变换之前,你确实需要一个窗口函数。我会推荐一个简单的Hann or Hamming window。
发布于 2011-01-03 17:32:48
我对你的库没有任何经验,但在我所知道的所有其他FFT库中,你都需要先对数据进行窗口操作。如果没有其他情况,库就无法知道您希望使用哪个窗口,有时您也不想使用窗口(如果您正在使用FFT进行重叠-添加过滤,或者如果您知道信号在transform块中是完全周期性的)。
另外,如果你正在做2个FFT,那么调用一个对数函数的开销似乎相对较小。
https://stackoverflow.com/questions/4583193
复制相似问题