声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

楼主: yangzj

[FFT] [原创]关于FFT的结果为什么要除以N

  [复制链接]
发表于 2015-7-6 11:33 | 显示全部楼层
应该是能量守恒Parseval定理
回复 支持 反对
分享到:

使用道具 举报

发表于 2015-7-24 20:18 | 显示全部楼层
songzy41 发表于 2006-8-29 14:38
对于单频率的信号,经过矩形窗截断后,在频谱上为什么要乘以2/N来求得该信号的幅值,这可以经严格的数学推 ...

为什么我看不见那个推导公式呢
发表于 2015-7-24 20:52 | 显示全部楼层
songzy41 发表于 2006-8-29 14:38
对于单频率的信号,经过矩形窗截断后,在频谱上为什么要乘以2/N来求得该信号的幅值,这可以经严格的数学推 ...

你好,可以把那个推导公式法我看下吗?
发表于 2015-8-22 22:22 | 显示全部楼层
支持一下神贴,最近学习傅里叶变换
发表于 2016-8-26 21:32 | 显示全部楼层
学习中...
发表于 2016-9-12 21:20 | 显示全部楼层
由于没有学习DFT,然而后面学MATLAB实践突然又要用DFT,短时间内学习到的东西感觉都是经验,比如除以N都是自己摸索出来的,理论推导完全不会,先顶一下,向各位前辈学习。
发表于 2017-11-15 16:04 | 显示全部楼层
看了之后,觉得自己的理论差的很远呀!谢谢。
发表于 2017-11-17 17:10 | 显示全部楼层
经典帖子啊,学习
发表于 2018-1-23 15:36 | 显示全部楼层
路过,学习
发表于 2019-12-8 18:30 | 显示全部楼层
我认为38楼,anticigol的理解是对的,先复制下他的表述

这是一个很有意思的问题,发表一下个人意义,大家一起讨论
从FT求X(F)到DTFT从推导过程中就可以推导出DTFT差了一个系数Ts(即数字信号的抽样间隔),然后再往DFT推导的过程中,因为是只算DFS的一个周期,相当于在时域上对原来无限长的信号乘了一个矩形窗函数,频域上相当于做了个卷积。矩形窗在频域上是一个sinc函数,中心点的幅度为Tw,其中Tw为矩形窗的长度(Tw/Ts=N),于是X[k]*Ts/Tw = X[k]/N, 所以对信号做完DFT后要除以N才能和连续频谱的抽样值X(Fk)对应上。
但要特别注意,前面的分析在默认了原信号是矩形窗框下来的那部分信号的周期延拓,如果真实信号就是所分析的这一部分,例如对于信号x(t) = exp(-t),就不会有上面分析中提到的矩形窗带来的影响,所以要把这个系数给补回去,这时其实相当于(X[k]/N)*Tw=X[k]*Ts
点评
发表于 2019-12-8 20:16 | 显示全部楼层
DFT在计算使假定频域和时域都是离散、周期的,计算中只考虑K个点,这就说明该变换是时域和频域双重采样的结果。
因此真实的x(n)和X(k)因该符合X=Ts*FFT(x),x=Fw*IFFT(X),1/N含在IFFT中,对于能量有限信号(非周期)计算到这步是正确的。Ts和Fw的引入是为了补偿采样时间采样导致反演频谱下降,与频率采样导致反演信号下降
Ts是时域采样间隔,Fs=1/Ts是频域带宽,Fw是频域采样间隔,Tw=1/Fw是考察的信号长度,Ts/Tw=1/N
对于周期信号1,通过加矩形窗使他变成能量有限系统,x采样=x原始*[u(0)-u(1/Fw)]=x原始*[u(0)-u(Tw)]
对于时间有限连续信号2,如果信号在矩形窗外衰减到可以忽略的程度,则x采样=x原始
因此对于功率有限信号,X2=X1*Tw=>X1=X2/Tw=Ts/Tw*FFT(x采样),
考虑对频率采样,如用频谱仪,则实际上频域加了Fs的窗, 并且考虑时频能量一致
                                                                                  x1=x2/Fs=Fw/Fs*IFFT(X采样),

因此对于周期信号,或功率有限信号 X=FFT(x),x=IFFT(X),1/N放在FFT中,不再做其他补偿
对于能量有限信号,尤其是只分布在[t1,t2]与[f1,f2]的信号,采用X=Ts*FFT(x),x=Fw*IFFT(X)
发表于 2019-12-8 20:36 | 显示全部楼层
参考:严普强, 乔陶鹏, 邓焱, et al. 动态测试信号处理中时-频域变换算法的讨论[J]. 振动、测试与诊断, 2003, 23(2):120-124.
          郑君里等. 《信号与系统》.第三版下册[M]. 2011. P158
          谷源涛等   《信号与系统-MATLAB综合实验》P43, 96-99.

写在最后,从郑君里等人的书中可以看出DFT或FFT适用于时域有限、频域有限的信号,如果两者都是离散的就是DFS.
实际上通过采样我们只能得到时域有限、频域有限的信号,一个信号是否周期是我们预设的或先验的,这也许可以解释为什么Matlab的教程非常让人困惑,因为使用了周期函数,但对于实际测量值,永远无法测量到周期信号,因为周期信号要求在无限长的时间里重复,而我们只能测有限的时间,因此加窗是必然存在的。
发表于 2019-12-10 18:23 | 显示全部楼层
本帖最后由 qiaohai 于 2019-12-10 19:38 编辑

FFT和 IFFT一对算法应该还到原位,这是数学问题。
Matlab中的编程这一对计算结果大了N倍,怎么办?
1)可以是FFT以后除N,IFFT以后不变;
2)也可以FFT以后不变,IFFT除N;
3)FFT和IFFT以后都除以根号N;
4)也可以有其他方法;
结合我们搞振动的物理现象,用的是Matlab,选1合适。其他专业,其它软件库可以要求用其它方法。
就这么简单的一个问题,不用无限发挥。
至于这样算的结果是不是正好代表振幅还是别的什么,就要看是不是周期函数,加没加窗。。。。。。有关了,这才是你们想做的。
再举个例子,脉冲响应的FFT得到的是频响函数,而不是什么振幅!




发表于 2020-6-10 21:45 | 显示全部楼层
除以N/2

点评

除以N不是错误,而是得到定义在正负频率上的数学振幅,除以N/2得到只在正频率的物理振幅。  发表于 2020-6-25 09:20
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-23 10:37 , Processed in 0.284601 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表