您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 北理工数字信号处理实验1-利用DFT分析信号频谱
实验1利用DFT分析信号频谱一、实验目的1、加深对DFT原理的理解2、应用DFT分析信号的频谱3、深刻理解利用DFT分析信号频谱的原理,分析实现过程中出现的现象及解决方法二、实验设备与环境计算机、MATLAB软件环境三、实验理论基础1、DFT与DTFT的关系有限长序列(n)x(0nN1)的离散时间傅里叶变换(e)jX在频率区间(02)的N个等间隔分布的点=2/(01)kkNkN上的N个取样值可以由下式表示:212/k0(e)|(n)e(k),01NjknjNkNXxXkN由上式可知,序列(n)x的N点DFT,实际上就是序列(n)x的DTFT在N个等间隔频率点=2/(01)kkNkN上样本(k)X2、利用DFT求DTFT3、利用DFT分析连续时间信号的频谱4、可能用到的MATLAB函数与代码四、实验内容1.已知(n){2,1,1,1}x,完成如下要求:(1)计算其DTFT,并画出[,]区间的波形(2)计算4点DFT,并把结果显示在(1)所画的图形中(3)对(n)x补零,计算64点DFT,并显示结果(4)根据实验结果,分析是否可以由DFT计算DTFT,如果可以,如何实现解:(1)x=[2,-1,1,1];n=0:3;w=-pi:0.01*pi:pi;X=x*exp(-j*n'*w);subplot(211);plot(w,abs(X));xlabel('\Omega/\pi');title('Magnitude');axistightsubplot(212);plot(w,angle(X)/pi);xlabel('\Omega/\pi');title('Phase');axistight-3-2-10123123/Magnitude-3-2-10123-0.500.5/Phase(2)x=[2,-1,1,1];n=0:3;w=-pi:0.01*pi:pi;X=x*exp(-j*n'*w);y=fft(x,4);subplot(211);holdonplot(w,abs(X));xlabel('\Omega/\pi');title('Magnitude');axistightstem(0:3,abs(y),'fill');subplot(212);holdonplot(w,angle(X)/pi);xlabel('\Omega/\pi');title('Phase');axistightstem(0:3,angle(y)/pi,'fill')-3-2-10123123/Magnitude-3-2-10123-0.500.5/Phase(3)x=[2,-1,1,1];x=[x,zeros(1,60)];y=fft(x,64);subplot(212);stem(0:63,abs(y),'fill');title('Magnitude');subplot(211);stem(0:63,angle(y)/pi,'fill');axistight01020304050607001234Magnitude0102030405060-0.500.5(4)可以通过实验波形看出,序列通过补零后,长度越长,DFT点数越多,其DFT越逼近其DTFT的连续波形。所以,当补零至无穷长序列时可以由DFT计算DTFT。2.考察序列(n)cos(0.48n)cos(0.52n)x(1)010n时,用DFT估计x(n)的频谱,将x(n)补零加长到长度为100点序列,用DFT估计x(n)的频谱,要求画出相应波形。(2)0100n时,用DFT估计x(n)的频谱,并画出波形。(3)根据实际结果,分析怎样提高频谱分辨率。解:(1)n=0:10;x=cos(0.48*pi*n)+cos(0.52*pi*n);y=fft(x);subplot(211);stem(0:10,abs(y),'fill');title('Magnitude');subplot(212);stem(0:10,angle(y)/pi,'fill');title('Phase')012345678910-1-0.500.51Phase0123456789100510Magnituden=0:10;x=cos(0.48*pi*n)+cos(0.52*pi*n);x=[x,zeros(1,39)];y=fft(x);subplot(211);stem(0:49,abs(y),'fill');title('Magnitude');subplot(212);stem(0:49,angle(y)/pi,'fill');title('Phase')05101520253035404550051015Magnitude05101520253035404550-1-0.500.51Phasen=0:10;x=cos(0.48*pi*n)+cos(0.52*pi*n);x=[x,zeros(1,89)];y=fft(x);subplot(211);stem(0:99,abs(y),'fill');title('Magnitude');subplot(212);stem(0:99,angle(y)/pi,'fill');title('Phase')0102030405060708090100051015Magnitude0102030405060708090100-1-0.500.51Phase(2)n=0:100;x=cos(0.48*pi*n)+cos(0.52*pi*n);y=fft(x);subplot(211);stem(0:100,abs(y),'fill');title('Magnitude');subplot(212);stem(0:100,angle(y)/pi,'fill');title('Phase')01020304050607080901000204060Magnitude0102030405060708090100-1-0.500.51Phase(3)0:10和0:100的分辨率差很多,所以我们可以通过增加时域内的信号采样点数来提高分辨率3.已知信号123123(t)0.15sin(2ft)sin(2ft)0.1sin(2ft),f1,f2,f3xHzHzHz其中。利用DFT做频谱分析,确定适合的参数,使得到的频谱的频率分辨率符合要求。解:n=0:0.1:6;x=0.15*sin(2*pi*n)+sin(4*pi*n)-0.1*sin(6*pi*n);y=fft(x);subplot(211);stem(0:60,abs(y),'fill');title('Magnitude');subplot(212);stem(0:60,angle(y)/pi,'fill');title('Phase')01020304050600102030Magnitude0102030405060-1-0.500.51Phase4.利用DFT分析连续时间信号0.1(t)(t)txeu的频谱(幅度谱)。分析采用不同的采样间隔和截取长度进行计算的结果,并最终确定适合的参数。解:n=-6:0.1:6;x=exp(-0.1*n).*heaviside(n);y=fft(x);subplot(211);stem(-60:60,abs(y),'fill');title('Magnitude');subplot(212);stem(-60:60,angle(y)/pi,'fill');title('Phase')-60-40-2002040600204060Magnitude-60-40-200204060-1-0.500.51Phasen=-10:0.1:10;x=exp(-0.1*n).*heaviside(n);y=fft(x);subplot(211);stem(-100:100,abs(y),'fill');title('Magnitude');subplot(212);stem(-100:100,angle(y)/pi,'fill');title('Phase')-100-80-60-40-20020406080100020406080Magnitude-100-80-60-40-20020406080100-1-0.500.51Phase五、实验心得与体会通过本次实验,加深了对DFT原理的理解;实验中,应用DFT分析信号的频谱,对信号的频谱分辨率进行研究;深刻理解了利用DFT分析信号频谱的原理,分析实现过程中出现的现象及解决方法。实验中,通过对不同函数的调用,对MATLAB软件的使用更加熟练。
本文标题:北理工数字信号处理实验1-利用DFT分析信号频谱
链接地址:https://www.777doc.com/doc-7310950 .html