Normalising FFT data (FFTW)

烈酒焚心 提交于 2019-11-30 09:55:40

Surprisingly there is no single agreed definition for the FFT and the IFFT, at least as far as scaling is concerned, but for most implementations (including FFTW) you need to scale by 1/N in the forward direction, and there is no scaling in the reverse direction.

Usually (for performance reasons) you will want to lump this scaling factor in with any other corrections, such as your A/D gain, window gain correction factor, etc, so that you just have one combined scale factor to apply to your FFT output bins. Alternatively if you are just generating, say, a power spectrum in dB then you can make the correction a single dB value that you subtract from your power spectrum bins.

It's often useful with FFTs to refer to Parseval's Theorem, and other comparisons that require a meaningful magnitude. Furthermore, the height of any individual peak isn't very useful, and depends, for example, on the window that used in calculating the FFT, as this can shorten and broaden the peak. For these reason, I'd recommend against normalizing by the largest peak, as you then lose any easy connection to meaningful magnitudes, and easy comparison between data sets, etc.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!