FFT_频谱分析(数字信号处理)
FFT_频谱分析(数字信号处理)
(一)实验原理
用FFT对信号作频谱分析是学习数字信号处理的重要内容。经常需要进行谱分析的信号是模拟信号和时域离散信号。对信号进行谱分析的重点在于频谱分辨率及分析误差。频谱分辨率D和频谱分析的点数N直接相关,其分辨率为2π/N 。因此2π/N≤D,可以据这个公式确定频率的分辨率。
FFT分析频谱的误差在于得到的是离散谱,而信号(非周期信号)是连续谱,只有当N较大时,离散谱的包络才能逼近于连续谱。因此N要适当选择大一些。
周期信号的频谱是离散谱,只有用整数倍周期的长度作FFT,得到的离散谱才能代表周期信号的频谱。如果不知道信号周期,可以尽量选择信号的观察时间长一些。
对模拟信号进行谱分析时,首先要按照采样定理将其变成时域离散信号。如果是模拟周期信号,也应该选取整数倍周期的长度,经过采样后形成周期序列,按照周期序列的谱分析进行。
(二)实验步骤
1.对以下序列进行频谱分析
为上三角有限长序列,序列长度为8; 为下三角有限长序列,序列长度为8。选择FFT变换点数N分别为8和16两种情况进行频谱分析,打印出频谱特性曲线,观察不同N值, 和 的频谱特性曲线是否相同,进行讨论分析并得出结论。整个频谱分析过程通过Matlab软件进行程序设计实现。以下为Matlab的程序实现:
2.对下列模拟信号进行频谱分析
这是一个含有三个频率成分的模拟信号,频率分别为选择采样频率Fs=64Hz,对DFT变换点数N分别为:16、32、64这三种情况进行频谱分析,分别打印频谱特性曲线。对三种点数的频谱分析结果进行讨论分析。整个频谱分析过程通过Matlab软件进行程序设计实现。以下为Matlab的程序实现:
三、实验结果分析
(一)序列结果分析
通过对 和 频谱特性曲线结果的比较与分析(为了便于观察频谱和读取频率值对数据进行归一化处理,即分析以为横坐标),可以得出当FFT变换点数N为8 时, 和 频谱特性相同(见图3中的b1与b2),而N为16时, 和 频谱特性曲线不相同(见图3中的c1与c2)。出现这两种不同情况的原因为 和 为序列为8的有限长序列(如图3的a1和a2)当取N为8时,将两个序列做周期延拓后发现 两个周期序列的波形仅存在相位上的差别,将 向右移动4个单位长度即可得到 ,即,因而两序列的频谱特性相等,而当取N为16时,原 和 序列通过补零的方式变为序列长度为16的序列。此时序列波形完全不同,所以频谱特性必然不同。
(二)模拟信号结果分析
x_3(n) 共有3个频率成分,f1=4Hz, f2 =8Hz, f3=10Hz。所以x_3(n)的周期为0.5s。采样的频率为 Fs=64Hz=16f1=8f2=6.4f3。N为16时,观察时间Tp=16T=0.25s,T为Fs的倒数。不是x_3(n)周期的整数倍,出现混叠现象,严重失真,所以得到的频谱不正确(如图4中a3)。当N=32或64时,观察时间Tp=0.5s或1s, 是周期的整数倍,所以会得到正确的频谱(如图4中b3和c3),频谱中有3根谱线正好对应位于4Hz,8Hz和10Hz。而N为64时的频谱幅度为40正好为N为32时频谱幅度为20的两倍,即验证DFT对中期序列谱分析的理论。
- 点赞
- 收藏
- 关注作者
评论(0)