待解决问题
关于matlab中FFT函数的一些讨论
离问题结束还有0天0小时 |
提问者:popcorn_thomas
|
提问时间:2013-4-23 21:25
关于FFT变换后X(K)序列的值,于对应的真实频谱幅度之间的关系。
好容易在书上找到这么一小段话,再通过仿真验证,发现做FFT分析时,幅值大小与FFT选择的点数有关,一般来说,点数越多,对应的X(K)序列值越大。
A:对于非周期信号
用DFT计算非周期信号的傅氏变换时,用DFT计算所得的频谱分量乘以Ts, 就等于频谱的正常幅度电平;
用IDFT计算非周期信号的傅氏反变换,再乘以fs就得到所需信号的正常幅度电平。
所以,从时间到频率, 再从频率到时间,整个过程总共乘了Ts*fs=1。幅度电平未受到影响。
B:对于周期信号
用DFT计算周期信号的傅氏级数时,用DFT计算出的频谱分量乘以 1/N等于周期信号的频谱的正常幅度电平。
而用IDFT的计算结果乘以N才等于周期信号。
通过仿真,发现一个现象,比如说数据有效长度为NData, 做N点FFT变换。
如果NData<
看过陈大侠的《深入浅出通信原理》关于DFT的一相章节后,我感觉可以这么解释这个问题。所谓对一个序列做DFT,其物理意义的本质是对一个序列进行周期扩展,扩展成周期信号号,再求该离散周期信号的傅里叶系数。当然,该系数也是离散而周期的,取其主值区间,就是X(k)。
那么,如果对一个序列补0,相当于将一个信号后面加了多个零,然后再对这个新的“0拖尾”信号进行周期扩展。这个新的信号的频谱当然不同于原信号。
所以,这也就解释了为什么补零后,原信号的频谱会变的原因。
回答时间:2013-5-9 15:30