《数字信号处理实验报告(全).docx》由会员分享,可在线阅读,更多相关《数字信号处理实验报告(全).docx(114页珍藏版)》请在课桌文档上搜索。
1、实验一信号、系统及系统响应姓名:李锦班级:通信1204班学号:201208030406一实验目的1认真复习采样理论、离散信号与系统、线性卷积、序列的z变换及性质等有关内容;2掌握离散时间序列的产生与根本运算,理解离散时间系统的时域特性与差分方程的求解方法,掌握离散信号的绘图方法;3熟悉序列的Z变换及性质,理解理想采样前后信号频谱的变化。二实验内容1产生长度为500的在0,1之间均匀分布的随机序列,产生长度为500的均值为0单位方差的高斯分布序列。实验代码:clcyl=rand(500);XI=IinSpace。1,100);yn=hist(yl);yn=ynlength(yl);bar(xl,
2、yn);title(1O,l均匀分布figure;y2=randn(lz500);ymin=min(y2);ymax=max(y2);2=linspace(ymin,ymax,100);ym=hist(y2,2);ym=ymlength(y2);bar(2,ym);title。1高斯分布,);实验结果:0,1高斯分布分析:在此题中调用rand()函数产生。1均匀分布的随机变量,调用randn()函数产生。1区间服从高斯分布的随机变量。并利用统计的方法绘制了两个分布的概率密度函数,由于所产生的随机数的数目比拟小,概率分布曲线不是很理想。2线性时不变系统单位脉冲响应为力()=(0.9)初(),当系
3、统输入为Mk)=Rl0()时,求系统的零状态响应,并绘制波形图。实验代码:A阶跃函数U(n-m)的产生functionxzn=stepseq(n,nszne)n=nsne;x=(n-nO)=O;%序列的起点为ns,终点为ne,在no处开始生出单位阶跃序列。B卷积函数%求卷积和functionny=conv-m(,n,h,nh)nyl=nx+nh;ny2=nx(length()+nh(length(h);ny=nyl:ny2;y=conv(xzh);分析:由于CorlV函数默认起点为0,在此进行扩展,以求任意起点的卷积和C主程序clc;n=-5:50;X=StePSeq(O,-5,50/SteP
4、Seq(IO5,50);h=(0.9).n).*stepseq(0,-5z50);SUbPlOt(3,1,1);stem(nzx,filled);axis(-5,50z0,2);ylabel(,x(n),);SUbPIOt(3,1,2);stem(n,hfilled,);axis(-5,50z0,2);ylabel(,h(n),);y,ny=conv-m(xzn,hzn);SUbPlOt(3,1,3);stem(nyfilled,);axis(-5,50,0,8);label(n);ylabel(,y(n);实验结果:3)描述系统的差分方程为:y(n)-y(n-1)+0.9j(n-2)=jv(
5、n),其中Ml)为鼓励,y(%)为响应O计算并绘制”=20,30,40,50,60,70,80,90,100时的系统单位脉冲响应;计算并绘制片20,30,40,50,60,70,80,90,100时的系统单位阶跃响应s();由/?()表征的这个系统是稳定系统吗?分析:系统的差分方程,对方程两端取Z变换,可以得到系统函数H(z)=1(1-z-10.9*z-2);由此可以得到表征系统的系数b,a主程序:b=l00;a=l-10.9;subplot3,1);dimpulse(b,a,20);title(,n=20单位冲激响应);subplot(3,3,2);dimpulse(b,a,30);titl
6、e(,n=30单位冲激响应);subplot(3,3,3);dimpulse(b,a,40);title(,n=40单位冲激响应);subplot(3,3,4);dimpulse(b,a,50);title(,n=50单位冲激响应);subplot(3,3,5);dimpulse(b,a,60);title(,n=60单位冲激响应);subplot(3,3,6);dimpulse(b,a,70);title(,n=70单位冲激响应);subplot(3,3,7);dimpulse(b,a,80);title(,n=80单位冲激响应);subplot(3,3,8);dimpulse(b,a,90
7、);title(,n=90单位冲激响应);subplot(3,3,9);dimpulse(b,a,100);title(,n=100单住冲激响应);figure;subplot(3,3,1);dstep(b,a,20);title(,n=20单位阶跃响应);subplot(3,3,2);dstep(b,a,30);titleCn=30单位阶跃响应);subplot(3,3,3);dstep(b,a,40);title(,n=40单位阶跃响应);subplot(3,3,4);dstep(b,a,50);title(,n=50单位阶跃响应);subplot(3,3,5);dstep(b,a,60)
8、;title(,n=60单位阶跃响应);subplot(3,3,6);dstep(b,a,70);title(,n=70单位阶跃响应);subplot(3,3,7);dstep(b,a,80);title(,n=80单位阶跃响应);subplot(3,3,8);dstep(b,a,90);title(,n=90单位阶跃响应);subplot(3,3,9);dstep(b,a,100);title(,n=100单位阶跃响应);figure;zplane(b,a);xlabel(,RezJ,);ylabel(jlmz);title(,零极点分布图);实验结果:冲激响应:11=20单位冲激响应11=
9、30单位冲激响应n三40单位冲激响应Time (sec)n=60单位冲激响应8pnv-duJTime (sec) n=50单位冲激响应pnwdlu204060Time (sec)n=70单位冲激响应 10204060Time (sec) n=80单位冲激响应Time (sec) n=90单位冲激响应Time (sec) n100单位冲激响应Time (sec)Time (sec)Time (sec)阶跃响应:n=20单位阶跃响应4n=30单位阶跃响应4n=40单位阶跃响应4Time (sec)n=50单位阶跃响应Time (sec)n=60单位阶跃响应Time (sec)n=70单位阶跃响应T
10、ime (sec)n=80单位阶跃响应Time (sec)n=90单位阶跃响应Time (sec)n100单位阶跃响应Time (sec)Time (sec)Time (sec)零极点图:零极点分布图10.8060.4-0.2-0 4-0.6-08-1-1-0.50.510 Rekl0.2i 0分析:可以调用dimpulse函数求系统的冲激响应,dstep函数求系统的阶跃响应。由系统的零极点分布图可以看出,系统的极点全部位于单位圆内,因此该系统是稳定的。4序列Xm)=(0.8)加(几),求DTFT),并画出它幅度、相位,实部、虚部的波形图。观察它是否具有周期性?主程序:clc;N=50;n=0
11、:N-l;x=(0.8).n).*stepseq(0,0,49);Xk=fft(x,N);subplot(2,2,1);stem(n,abs(Xk)title(幅度);subplot(2,2,2);stem(n,angle(Xk)title(相位);subplot(2,2,3);stem(n,real(Xk),.,);title(,实部);subplot(2,2,4);stem(n,imag(Xk),.,);title(,虚部);实验结果:幅度相位分析:调用fft函数求其快速fourier变换。5线性时不变系统的差分方程为y()=0.7y(-l)+x(),求系统的频率响应3),如果系统输入为x
12、(n)=cos(0.05)(),求系统的稳态响应并绘图。分析:由微分方程,对两边取Z变换,可以得到系统函数H(z)=1/(1-0.7z);从而得到方程的系数矩阵。主程序:clc;N=50;n=0:N-l;b=l0;a=l-0.7;H,w=freqz(b,a,N);subplot(211);plot(wpi,abs(三));title(频率响应的幅度特性);h=impz(b,a);x=cos(0.5*pi*n).*stepseq(0,0,N-l);y,yn=conv_m(x,n,h,n);subplot(212);plot(yn,y);title(,输入为cos(0.5pi*n)时的稳态响应);
13、结果:分析:频率响应函数可以直接调用freqz(b,a),其中a,b分别对应系数矩阵。稳态响应为系统函数与余弦函数加权得到。6)设连续时间信号x(f)=e-1000f,计算并绘制它的傅立叶变换;如果用采样频率为每秒5000样本对x(f)进行采样得到计算并绘制X1U),用xl()重建连续信号Mr),并对结果进行讨论;如果用采样频率为每秒100O样本对x(f)进行采样得到x2(),计算并绘制X2(j),用x2()重建连续信号M。,并对结果进行讨论。加深对采样定理的理解。a.连续函数,求傅里叶变换symst;x=exp(-1000*abs(t);y=fourier(x);subplot(211);e
14、zplot(x,-0.005,0.005);subplot(212);ezplot(abs(y),-2000,2000);结果1:分析:对于连续函数,可以直接利用f。Urier函数求其傅里叶变换,由于信号衰减的很快,故对其区间进行限定显示。b.采样频率fs=5000时clc;dt=O.00005;t=-0.005:Dt:0,005;xa=exp(-1000*abs(t);Ts=O.0002;n=-25:1:25;x=exp(-1000*abs(n*Ts);K=500;k=O:l:K;w=pi*kK;X=x*exp(-j*n,*w);X=real(X);w=-fliplr(w),w(2:501)
15、;X=fliplr(X),X(2:501);figure;subplot(211);plot(n,x);subplot(212)plot(wpi,X,.,);ylabel(,Xl(jw);title(,离散时间变换);gtext(,Ts=O.2ms,);结果2;分析:由奈奎斯特采样定理可以知道,由于信号的最高频率为Fh=2000Hz,因此要保证无失其恢复原波形,采样频率fs=2*Fh=4000Hz当fs二5000Hz时,满足无失真条件,可以看出,此时波形和原函数一致。c.采样频率fs=1000时clc;dt=O.00005;t=-0.005:Dt:0,005;xa=exp(-1000*abs(
16、t);Ts=O.001;n=-25:1:25;x=exp(-1000*abs(n*Ts);K=500;k=O:l:K;w=pi*kK;X=x*exp(-j*n,*w);X=real(X);w=-fliplr(w),w(2:501);X=fliplr(X),X(2:501);figure;subplot(211);plot(n,x);subplot(212)plot(wpi,X,.,);ylabel(,Xl(jw),);title(,离散时间变换);gtext(,Ts=lms,);结果3:10.80.60.40.20-25-20-15-10-50510152025分析:由上一步分析,当fs=10
17、0OHz时不变系统:20实验结论由上图一可以看出y(n)和y3(n)的图像相同,所以该系统为线性系统得到验证。同样由于y(n)和y2(n)和图形相同,故该系统为时不变系统得到脸证。三、实验问题及解决方法1 .从matlab拷贝过来的源代码的中文局部变成了乱码。答:当不适用matlabR2010a而用matlabR2008a时,那么不存在这种问题,故推测这应该是由于Word和matlabR2010a不兼容而产生的问题。2 .怎样表示阶跃函数u(n),是不是只要取前面有限项即可。答:只需要取前面几项,能够看出相应的规律即可。3 .怎样表示系统的频率响应。答:运用函数freqz()即可。4 .怎样求
18、解系统的稳态响应。答:直接计算出y(n)即为系统的稳态响应。5 .第六题的实验现象与理论预测结果不太一样。答:第八题求解单位脉冲响应时,我使用的是利用单位冲击函数在该系统的响应来求解,但是在网上了解到还可以直接利用函数impulse(sys)和SteP(SyS)来直接求解单位脉冲响应和单位阶跃响应,但是还不太懂它们的具体用法,所以还有待探究。四、实验体会通过本次实验,重温了一下matlab软件的使用,总体感觉还是不错,只是感觉有许多重要的函数都已经不记得了,所以做起实验来还不是太顺手。现在也正在做一个matlab函数库的工作,为的就是能尽快的掌握matlab编程。虽然matlab自带的help
19、中有比拟强大的函数搜索功能,但是由于语言的关系,还是不是太适应,仍需一段时间的适应。本次实验提高了自己的动手能力以及独立思考问题解决问题的能力,到达预期的实验效果。实验二DFT和FFT姓名:张昊班级:通信六班学号:20100820645一、实验目的1)认真复习周期序列DFSx有限长序列DFT的概念、旋转因子的定义、以及DFS和DFT的性质等有关内容;复习基2-FFT的根本算法,混合基-FFT的根本算法、Chirp-Z变换的算法等快速傅立叶变换的方法。2)掌握有限长序列的循环移位、循环卷积的方法,对序列共版对称性的含义和相关内容加深理解和掌握,掌握利用DFT分析序列的频谱特性的根本方法。3掌握F
20、FT算法的根本原理和方法、Chirp-Z变换的根本原理和方法,掌握利用FFT分析序列的频谱特性的方法。4)熟悉利用MATLAB进行序列的DFT、FFT的分析方法。二、实验内容D设周期序列()xn=,0,1,2,3,04,2,3,0,1,2,3,),求该序列的离散傅立叶级数X(k)=DFSx(n),并画出DFS的幅度特性。主程序:clc;N=4;n=O:N-l;k=O:N-l;xn=O123;Xk=xn*exp(-j*2*piN).(n,*k);stem(k,abs(Xk);xlabel(,k,);gtextfX(k);分析:由定义可知,对于周期序列,根据离散傅里叶级数公式即可求出,此实验中显示
21、了一个周期的傅里叶级数。2设周期方波序列为1 砌)=o0 = 0.l.2. -)(mNnmN+L-l)(川N+A(卅+1)N-1其中N为基波周期,L/N是占空比。(1)用L和N求IX(k)I的表达式;(2)当L和N分另为:L=5,N=20;L=5,N=40;L=5,N=60以及L=7,N=60时画出DFS的幅度谱;对以上结果进行讨论,总结其特点和规律。主程序:1.=5,N=20时clc;N=20;xn=ones(l,5),ZeroS(1,15);xn=xn,xn,xn;n=0:3*N-l;k=0:3*N-l;Xk=xn*exp(-j*2*piN).(n,*k)stem(k,abs(Xk);Xl
22、abeICk);titlefL=5,N=20时DFS幅度谱);结果:修改代码中的L和Nx(n),可以得到其他占空比时DFS的幅度谱1.=5,N=2。时DFS幅度谱L=5,N=60时DFS幅度谱分析:由四组图比照可知,N越大,其频域抽样间隔越小,N为频域的重复周期。占空比1./N主要决定第一零点带宽在一个周期内。3设有限长序列x(n)=0,l,2,3,计算DTFTx(n)=X(ej),并画出它的幅度谱;然后利用ks=2*pi*k4,k=(M,2,3对X(ej)进行采样,并证明它等于实脸a中的X(k)。主程序:clc;N=4;xn=O123;n=0:N-l;k=O:N-l;w=2*pi*Q2047
23、)2048;Xw=exp(-j*w)+2*exp(-j*2*w)+3*exp(-j*3*w);subplot(211);plot(wpi,abs(Xw);tide(,X(ejw)度谱);Xk=fft(xn,N);subplot(212);stem(k,abs(Xk)fill,);holdon;plot(N2*wpi,abs(Xw);结果:分析:比照第一题的结果可以看出,对离散傅里叶变换的频谱进行抽样,在满足采样定理的条件下,可以无失真的恢复原来的波形。4序列x(n)=R4(n),计算DTFTx(0=X(ejs),并绘制其幅度和相位谱。(1)计算x(n)的4点DFT,并绘制DFT的幅度与相位谱;
24、将x(n)补零形成8点序列,计算8点DFT,并绘制幅度与相位谱,求频率分辨率;将x(n)补零形成16点序列,计算16点DFT,并绘制幅度与相位谱,求频率分辨率;主程序:Nl=8;N2=16;n=O:Nl-l;kl=O:Nl-l;k2=0:N2-l;w=2*pi*(0:2047)/2048;Xw=(1-exp(-j*4*w)./(1-exp(-j*w);%对x(n)的频谱函数采样2048个点可以看做连续的频谱xn=(n=0)&(n4);Xlk=fft(xn,Nl);X2k=fft(xn,N2);subplot(321);plot(wpi,abs(Xw);tkk(1连续函数幅度谱);Xlabel(
25、Iv/pi);subplot(322);plot(wpi,angle(Xw);tdtle(1连续函数相位谱);axis(0,2,-pi,pi);line(0,2,0,0);XlabelCWpi);subplot(323);stem(kl,abs(Xlk),*.*);tkk(1Xl(k)幅度谱1);holdon;plot(N1/2*w/pi,abs(Xw);%图形上叠加连续谱的幅度曲线subplot(324)stem(kl,angle(XIk),(.*);axis(O,Nl,-i,i);line(O,Nl,O,O);tkle(tXl(k)相位谱1);holdon;plot(N12*wpi,ane
26、(Xw)j%图形上叠加连续谱的相位曲线subplot(325);stem(k2,abs(X2k),*.*);titk(1X2(k)幅度谱);holdon;plot(N22*wpi,abs(Xw);subplot(326)stem(k2,angle(X2k),.*);axis(0,N2,-pi,pi);line(0,N2,0,0);titkCX2(k)相位谱1);holdon;plot(N22*vpi,angle(Xw);实险结果:分析:对序列x(n)的N点DFT的物理意义是对其傅里叶变换的频谱在0,2*pi上进行N点等间隔的采样。由实验结果可以看出。5序歹x(n)=cos(0.48n)+cos
27、(0.52%n)(1)求X(n)的10点DFT,并画出它幅度与相位谱;(2)求x(n)的100DFT,并画出它幅度与相位谱;根据实验结果,讨论DFT进行谱分析的条件。主程序:clc;Nl=IO;nl=0:Nl-l;kl=0:Nl-l;xl=cos(0.48*pi*nl)+cos(0.52*pi*nl);Xkl=fft(xl,10);w=2*pi10*kl;subplot(311)stem(nl,xl.r);axis(0,10,-2.5,2.5);tkle(t信x(n),0=n=9,);subplot(312);stem(kl,abs(Xkl),f.*);titleC0=n=9时幅度谱)subp
28、lot(313)stem(kl,angle(Xkltide(,0=n=9时相位谱*)figure;N2=100;n2=0:N2-l;x2=xl(1:1:10),ZerOS(1,90);Xk2=fft(x2,100);k2=0:N2-l;w2=2*pi/100*k2;subplot(311);stem(n2,x2.r);axis(0,100,-2.5,2.5);title(1信号x(n)补零N=I00,);subplot(312)plot(w2/pi,abs(Xk2);titk(1v=nv=99时幅度谱);subplot(313)stem(k2,angle(Xk2),.*);tkle(v=nv=
29、99时相位谱)实险结果:信号x(n),0=n=9240-2IIIIIIIII.II1IIII-105020Q)123456789100=n=9时幅度谱IIII11I)1234567850=nNerror(NX的长度);end;x=x,zeros(l,N-Iength(x);n=0:N-l;y=x(mod(n-m,N)+l);补充X的长度后,进行在主值区间上取模运算即可得到。7)序列xl(n)=l,2,l,x2(n)=l,2,3,2,(1)编制程序在时域中直接计算4点循环卷积142,y(n)=x(n)x(n),并绘制波形图;(2)编制程序先计算xl(n)和x2(n)的4点DFT,再利用IDFT计
30、算124x(n)(n),比拟结果以上两种计算结果是否一致?(3)计算125x(n)x(n)和126,x(n)x(n),分析循环卷积点数N对循环卷积的影响,并比拟哪种循环卷积结果与线性卷积是一致的?总结出用循环卷积计算线性卷积的条件。主程序:(1)计算xl和x2四点循环卷积clc;xl=l21;nl=0:2;x2=l232;n2=0:3;yl=circonv(xl,x2,4);subplot(311)stem(nl,xl.r);gridon;title(,xl,);subplot(312)stem(n2,x2.r);gridon;title(1x2);subplot(313)stem(n2,yl/.*);gridon;结果:分析:求序列的循环卷积,采用y(n)=sum(xl(m)*x2(mod(n-m),N)+l)(2)利用反变换方法求循环卷积代码:此程序接前面小问,放在一个m文件中figure(2);%先将xl补充为四点序列xll=l210;Xl=fft(xll,4);X2=fft(x2,4);Y=Xl.*X2;y2=ifft(Y,4);su