利用 DFT分析信号频谱 - matlab

发布时间 : 星期四 文章利用 DFT分析信号频谱 - matlab更新完毕开始阅读

程序代码

f1=1; f2=2; f3=3; t=0:0.01:2;

x=0.15*sin(2*pi*f1*t)+sin(2*pi*f2*t)-0.1*sin(2*pi*f3*t); y=fft(x); subplot(211); plot(t,x); subplot(212); plot(t,abs(y))

进行试验

实验中,通过改变t的取值间隔与点数,逐渐形成满意频谱看到三个频率点如下图。 输出图像:

1.510.50-0.5-1-1.500.20.40.60.811.21.41.61.8210080604020000.20.40.60.811.21.41.61.82

5

三、 实验分析

1. 分析第 1题的实验结果,说明 DFT 和 DTFT 的关系;分析序列补零加长后,

对 DFT 结果的影响;分析是否可以利用 DFT 计算 DTFT,如果可以,怎么实现。

答:一个N点离散时间序列的傅里叶变换(DTFT)所得的频谱是以2π为周期延拓的连续函数。由采样定理,时域进行采样,则频域周期延拓,同样在频域进行采样,则时域也会周期延拓。DFT就基于这个理论,在频域进行采样,从而将信号的频谱离散化。所以,一个N点离散时间信号可以用一个频域内一个N点序列来唯一确定,这就是DFT表达式所揭示的内容。序列补零加长后,相当于频域的抽样点增多,反映在图形上即加零越多,频域抽样点越多,DFT越逼近DTFT。如果只是要在图形上显示DTFT,可以通过取足够多的点DFT来实现。 2. 分析第 2题实验结果,思考利用 DFT 计算频谱时如何提高频谱的分辨率;

对序列补零加长是否能提高频谱的分辨率。

答:更长的时域信号能够提供更高的频域分辨率,因为一个N点的时域信号能被分解为N/2+1个余弦信号和N/2+1个正弦信号,N增大则(N/2+1)也增大,频域间隔(1/2的时域采样频率)/(N/2+1)减小,所以频域分辨率提高了。所以利用DFT计算频谱时增加取样点的长度范围可以提高分辨率。补零加长并不会改变频域的间隔,所以不能提高分辨率。

3. 分析第 3题实验结果,总结利用 DFT 计算连续时间信号频谱的方法,实现

过程中需要注意的问题

答:利用DFT计算连续时间信号频谱,首先进行时域抽样,所得的抽样数据进行DFT计算,然后再将离散数据连续化,得到连续时间信号的频谱。实现过程中应该注意时域抽样的间隔与长度,抽样不当将会丢失频率点,使计算出现错误。

6

联系合同范文客服:xxxxx#qq.com(#替换为@)