归一化FFT数据(FFTW)

时间:2011-01-31 20:51:38

标签: audio signal-processing fft wav fftw

使用FFTW我一直在计算归一化.wav文件数据的FFT。然而,我对如何归一化FFT输出感到困惑。我一直在使用这个对我来说很明显的方法,它只是除以最高的FFT幅度。我已经看到除以1 / N和N / 2,但是(假设N = FFT大小)。这些如何作为标准化因素起作用?在我看来,这些因素与实际数据之间没有直观关系 - 所以我缺少什么?

非常感谢您提供任何帮助。

2 个答案:

答案 0 :(得分:5)

令人惊讶的是,对于FFT和IFFT没有单一的商定定义,至少就缩放而言,但是对于大多数实现(包括FFTW),您需要在正向方向上按1 / N缩放,并且存在没有反向缩放。

通常(出于性能原因),您需要将此缩放系数与任何其他校正(例如A / D增益,窗口增益校正系数等)混为一谈,以便您只需要一个组合比例因子来应用于你的FFT输出箱。或者,如果您只是以dB为单位生成功率谱,那么您可以将校正值设为从功率谱分档中减去的单个dB值。

答案 1 :(得分:4)

使用FFT来引用Parseval's Theorem和其他需要有意义量级的比较通常很有用。此外,任何单个峰的高度都不是非常有用,并且例如取决于用于计算FFT的窗口,因为这可以缩短和扩大峰值。由于这些原因,我建议不要按最大峰值进行标准化,因为这样就可以轻松地连接到有意义的数量级,并且可以轻松比较数据集等。