关于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<<N, 即需要补N-NData个零才能做运算时,得到的频谱的振幅值为大幅减小。 如果NData接近于N,即不需要补零,或者只需要补少量的0,频谱振幅值与真实值较为接近。 一般来看,做完FFT,x(K)*2/N后,与真实的频谱振幅值相比,都要小一点,不知道是为什么。 给原序列补0以后,相当于改变了原序列,可能会给原序列的频谱带来一些额外的频率成分。 大牛们快来指点一下,这些现象背后的真正原因是什么?对fft不熟哇!
|