利用DFT分析信号频谱matlab

上传人:平*** 文档编号:11987730 上传时间:2017-10-16 格式:DOC 页数:6 大小:68.67KB
返回 下载 相关 举报
利用DFT分析信号频谱matlab_第1页
第1页 / 共6页
利用DFT分析信号频谱matlab_第2页
第2页 / 共6页
利用DFT分析信号频谱matlab_第3页
第3页 / 共6页
利用DFT分析信号频谱matlab_第4页
第4页 / 共6页
利用DFT分析信号频谱matlab_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《利用DFT分析信号频谱matlab》由会员分享,可在线阅读,更多相关《利用DFT分析信号频谱matlab(6页珍藏版)》请在金锄头文库上搜索。

1、1实验 2-1 利用 DFT 分析信号频谱一、 实验目的1. 加深对 DFT 原理的理解。2. 应用 DFT 分析信号频谱。3. 深刻理解利用 DFT 分析信号频谱的原理,分析实现过程中出现的现象及解决方法二、 实验内容1. x(n)= 2 ,1 ,1 ,1,完成如下要求:1) 计算其 DTFT,并画出 , 区间的波形2) 计算 4 点 DFT,并把结果显示在(1) 所画的图形中3) 对 x (n)补零,计算 64 点 DFT,并显示结果4) 是否可以由 DFT 计算 DTFT,如果可以,请编程实现程序代码xn=2,-1,1,1;n=0:3;w=-pi:0.01:pi;X=xn*exp(-1i

2、*n*w); %计算 DTFTyy=abs(X);subplot(211);plot(w,yy); %绘出 DTFT 后的波形Y=fft(xn); %利用 FFT 计算 4 点 DFTyy=abs(Y);hold on;stem(0:3),yy); %绘出 DFT 后的波形,并同绘在一个图中N=64;m=6;xn=2,-1,1,1;xn=xn,zeros(1,60); %对 xn 补零y=fft(xn);yy=abs(y);f=0:N-1;subplot(212);2stem(f,yy); %绘出 64 点 DFT 图hold on;plot(f,yy); %由 DFT 通过绘制包络近似得到

3、DTFT进行试验输出图像:由图可推得 DFT 所取的点数越多,DFT 越逼近 DTFT故增加补零项,取 1024 个点程序如下:x1=2 -1 1 1;N=1024;x2=linspace(0,0,N-4);x=x1,x2;n=0:(N-1);w=0:0.01:2*pi/N*(N-1); %计算序列 DTFTX=x*exp(-j*n*w);subplot(211); %绘制 DTFT 图像plot(w*N/(2*pi),abs(X),k);xlabel(Nw/2pi);title(DTFTx(n); xn=2,-1,1,1;xn=xn,zeros(1,1020); %对 xn 补零y=fft(

4、xn);f=0:N-1;subplot(212); -4 -3 -2 -1 0 1 2 3 400.511.522.533.540 10 20 30 40 50 60 7000.511.522.533.543plot(f,abs(y),k); %绘制 DFT 图像 xlabel(k);title(DFTx(n);输出图像:由图可知,当 N 取 1024 点时,DFT 已经可以很好的近似 DTFT。2. 考察序列x (n ) = cos(0 .48n ) + cos(0 .52n )1) 0 n 10 时,用 DFT 估计 x (n )的频谱;将 x (n )补零加长到长度为 100点序列用 D

5、FT 估计 x (n )的频谱。要求画出相应波形。2) 0 n 100 时,用 DFT 估计 x (n )的频谱,并画出波形程序代码n=0:10;x=cos(0.48*pi*n)+cos(0.52*pi*n); %x(n)频谱 n 在 0 到 10y=fft(x);0 200 400 600 800 1000 120001234Nw/2DTFTx(n)0 200 400 600 800 1000 120001234kDFTx(n)4subplot(3,1,1);stem(n,y,filled);xn=x,zeros(1,90); %对 xn 补零yn=fft(xn);hold on;nn=0:

6、100;subplot(3,1,2);stem(nn,yn,filled);n1=0:100;x1=cos(0.48*pi*n1)+cos(0.52*pi*n1); %x(n)频谱 n 在 0 到 100y1=fft(x1);subplot(3,1,3);stem(n1,y1,filled);进行试验输出图像:3. 已知信号 x(t ) =0 .15 sin(2 f1t)+sin(2 f2t)- 0.1sin (2 f3t),其中 f1=1Hz,f 2=2Hz,f 3=3Hz。从 x (t)的表达式可以看出,它包含三个频率的正弦波,但是,从其时域波形来看,似乎是一个正弦信号,利用 DFT 做频

7、谱分析,确定适合的参数,使得到的频谱的频率分辨率符合需要0 1 2 3 4 5 6 7 8 9 10-2024680 10 20 30 40 50 60 70 80 90 10-50510150 10 20 30 40 50 60 70 80 90 10-20020405程序代码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 的取值间隔

8、与点数,逐渐形成满意频谱看到三个频率点如下图。输出图像:0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2-1.5-1-0.500.511.50 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2020406080106三、 实验分析1. 分析第 1 题的实验结果,说明 DFT 和 DTFT 的关系;分析序列补零加长后,对 DFT 结果的影响;分析是否可以利用 DFT 计算 DTFT,如果可以,怎么实现。答:一个 N 点离散时间序列的傅里叶变换(DTFT)所得的频谱是以 2 为周期延拓的连续函数。由采样定理,时域进行采样,则频域周期延拓,同样在频域进

9、行采样,则时域也会周期延拓。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 计算,然后再将离散数据连续化,得到连续时间信号的频谱。实现过程中应该注意时域抽样的间隔与长度,抽样不当将会丢失频率点,使计算出现错误。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号