erdgzw 发表于 2008-1-31 15:58

关于FFT的结果为什么要除以N疑问?

如果采样数N=2048
经FFT后产生2048个幅值,这2048个幅值如果直接显示在频谱图上会非常大。
我看了
http://forum.vibunion.com/forum/viewthread.php?tid=23665
这篇贴子,还是不太明白。

到低怎么个除法才能让FFT后的幅值最接近时域图时的幅值。

在我的程序中只是简单的 X = X / (N/4);(k=1,2,...,N。);

这样不知道行不行?

w89986581 发表于 2008-1-31 18:58

请参考VibrationMaster的帖子:
forum.vibunion.com/forum/viewthread.php?tid=46940&highlight=%2BVibrationMaster

hcharlie 发表于 2008-1-31 21:45

如果从纯粹的数学上来讲,正反FFT(FFT & IFFT)各一次以后,数据会还原,但是大了N倍,所以或者FFT或者IFFT要除以N,或者FFT & IFFT都除以根号N...等等。
从物理意义讲,如果FFT以前是时域,FFT以后是频域,应该是FFT以后除以N,IFFT以后还原为时域,IFFT以后除以1。
但是具体的FFT程序是人编的,各人根据自己的理解可以编出各人的软件,所以不管是自己编程还是用别人的程序,哪怕是最权威的软件也要用已知的数据试算,确认其数据与物理意义一致,才能放心使用。

hcharlie 发表于 2008-2-1 08:09

区别数学谱和物理谱

富立叶变换定义在负无穷大到正无穷大区间,相应FFT定义在-T~+T或-F~+F区间,这样FFT得到的频谱称为数学谱,实际物理概念的频谱定义在0~F区间,注意此差别。通常认为物理谱为数学谱的2倍。

erdgzw 发表于 2008-2-1 08:39

原帖由 hcharlie 于 2008-1-31 21:45 发表 http://www.chinavib.com/forum/images/common/back.gif
如果从纯粹的数学上来讲,正反FFT(FFT & IFFT)各一次以后,数据会还原,但是大了N倍,所以或者FFT或者IFFT要除以N,或者FFT & IFFT都除以根号N...等等。
从物理意义讲,如果FFT以前是时域,FFT以后是频域,应该是 ...


我可不可以这样理解,FFT后放大多少倍并不是固定的。不管最后的结果除以几只要幅值与时域幅值相符即可。

hyl2323 发表于 2008-2-1 11:36

关于FFT变换的表达式,至少有两种,一种是正变换要除以N,反变换不除, 另外一种恰好相反。matlab的fft函数,一定要手动除以N,取单边谱,再乘以2,才符合物理意义。

erdgzw 发表于 2008-2-1 13:05

我在FFT前除N乘2发现也可以。

VibrationMaster 发表于 2008-2-1 20:33

如果原来的信号是实数,那么除N乘2;如果是单频解析,也就是A*exp(jwt+j*phi)那么除N

猫头鹰先生 发表于 2014-3-31 10:49

http://forum.vibunion.com/thread-130971-1-1.html

难渡秋心 发表于 2014-5-10 21:33

唉,我也一直在纠结,如果拿正余弦函数来分析,倒还好理解,可是拿其他函数,比如一次函数做fft变换,实在无法理解,求知道的大神解答。
页: [1]
查看完整版本: 关于FFT的结果为什么要除以N疑问?