13071089王要山--数字信号处理实验报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

武汉学院实验报告实验课名称:数字信号处理学生姓名:王要山专业班级:信息1302学号:13071089开课时间:2016.3.4教务处制《数字信号处理》实验报告实验序号:02实验项目名称:离散时间信号与系统学号13071089姓名王要山专业、班级软件工程(电子信息工程)1302实验地点计—201指导教师李承时间2016.4.1一、实验目的及要求通过本次实验,熟练掌握运用Matlab进行离散时间信号的表示,加深对常用离散信号的理解;并且能够独立运行,完整的完成实验内容。二、实验设备(环境)及要求CPU:P43.30GHZ内存:3.40G操作系统:WINDOWSXP版本2002SP3软件:MATLABR2009b三、实验原理1.单位抽样序列在MATLAB中可以利用zeros()函数实现。[1,(1,1)];xzerosN或如果)(n在时间轴上延迟了k个单位,得到)(kn即:2.单位阶跃序列10()00nnn(1,);(1)1;xzerosNx1()0nknknk在MATLAB中可以利用ones()函数实现。);,1(Nonesx3.正弦序列在MATLAB中4.复正弦序列在MATLAB中5.实指数序列在MATLAB中四、实验步骤1.产生64点的单位抽样序列δ(n)、64点并移位20位的单位抽样序列δ(n-20)程序:10()00nunn0:1*sin(2***/)snNxApifnffai0:1*exp(**)nNxAjwn0:1*.^nNxAan()sin(2/)sxnAfnf()jnxnAe()nxnAaN=64;x=zeros(1,N);x(1)=1;n=0:N-1;stem(n,x)figure(1);stem(n,x);xlabel('单位抽样序列')axis([-16501.1])N=64;k=20;x=zeros(1,N);x(k+1)=1;n=0:N-1;figure(2);stem(n,x);xlabel('移位20位的单位抽样序列')axis([-16501.1])实验结果:2.产生任意序列f(n)=8.0δ(n)+3.4δ(n-1)+1.8δ(n-2)+5.6δ(n-3)+010203040506000.20.40.60.81单位抽样序列010203040506000.20.40.60.81移位20位的单位抽样序列2.9δ(n-4)+0.7δ(n-5)。程序:N=8;x=zeros(1,N);x(1)=8.0;x(2)=3.4;x(3)=1.8;x(4)=5.6;x(5)=2.9;x(6)=0.7;n=0:N-1;stem(n,x);xlabel('任意序列f(n)')axis([-1808.2])实验结果:3.产生N=32点的单位阶跃序列及斜率为3,n0=4,点数为32点的斜坡序列g(n)=B(n-n0)程序:N=32;x=ones(1,N);n=0:N-1;stem(n,x);xlabel('单位阶跃序列')axis([-13201.1])clearall;N=32;k=4;-1012345678012345678任意序列f(n)B=3;t0=1;x=[zeros(1,k)ones(1,N-k)];fori=1:Nx(i)=B*x(i)*(i-k);endn=0:N-1;stem(n,x);xlabel('斜坡序列')axis([-132090])05101520253000.20.40.60.81单位阶跃序列4.产生幅度A=3,频率f=100,初始相位=1.2,点数为32点的正弦序列。程序:clearall;N=32;A=3;f=100;fai=1.2;n=0:N-1;x=A*sin(2*pi*f*(n/N)+fai);0510152025300102030405060708090斜坡序列stem(n,x);xlabel('正弦序列')axis([-132-3.23.2])实验结果:5.产生幅度A=3,a=0.7,点数为32点的实指数序列。程序:clearall;N=32;A=3;a=0.7;n=0:N-1;x=A*a.^n;051015202530-3-2-10123正弦序列stem(n,x);xlabel('实指数序列')axis([-13203.2])实验结果:五、实验要求(1)熟悉MATLAB软件,预先阅读前面章节中有关预备知识。(2)根据实验内容,编写实验程序,上机运行;并进行结果验证,如有不同,查找原因,解决问题。六、实验报告要求(1)说明实验步骤;(2)给出原程序;(3)给出运行结果;05101520253000.511.522.53实指数序列(4)说明实验上机体会。教师评语:签名:日期:成绩《数字信号处理》实验报告实验序号:04实验项目名称:相关的MATLAB命令及应用学号13071089姓名王要山专业、班级电子信息工程方向实验地点计—302指导教师李承时间2016.4.15一、实验目的1.学会运用MATLAB求离散时间信号的z变换和z反变换;2.掌握z变换与z反变换的的MATLAB实现;二、实验内容编制程序完成相关z变换与z反变换。三、实验原理1.利用MATLAB实现z域的部分分式展开式MATLAB的信号处理工具箱提供了一个对F(Z)进行部分分式展开的函数residuez(),其调用形式为:[r,p,k]=residuez(num,den)式中,num和den分别为F(Z)的分子多项式和分母多项式的系数向量,为部分分式的系数向量,p为极点向量,k为多项式的系数向量。2.Z变换和Z反变换MATLAB的符号数学工具箱提供了计算Z变换的函数ztrans()和Z反变换的函数iztrans(),其调用形式为上面两式中,右端的和分别为时域表示式和域表示式的符号表r)()(FiztransffztransFfFz示,可应用函数sym来实现,其调用格式为式中,A为待分析的表示式的字符串,S为符号化的数字或变量。例1求指数序列的Z变换;解:(1)Z变换的MATLAB程序%Z变换的程序实现f=sym('a^n');F=ztrans(f)程序运行结果为:z/a/(z/a-1)可以用simplify()化简得到:-z/(-z+a)例2求的Z反变换。解Z反变换的MATLAB程序%Z反变换实现程序F=sym('a*z/(z-a)^2');f=iztrans(F)程序运行结果为f=a^n*n四、实验步骤题1、试用ztrans函数求下列函数的z变换。AsymSnuan2azazzF(1))()cos()(nunanxn;MATLAB程序:x=sym('a^n*cos(pi*n)');Z=ztrans(x);simplify(Z)ans=z/(a+z)(2))(])2(2[)(11nunxnn。MATLAB程序:x=sym('2^(n-1)-(-2)^(n-1)');Z=ztrans(x);simplify(Z)ans=4/(z^2-4)+1题2、试用iztrans函数求下列函数的z反变换。(1)65198)(2zzzzXMATLAB程序:symszF=(8*z-19)/(z^2-5*z+6);iztrans(F)ans=(3*2^n)/2+(5*3^n)/3-(19*kroneckerDelta(n,0))/6反变换后的函数形式为:x(n)=[-19/6δ(n)+(3*2^n)/2+(5*3^n)/3]u(n)(2)32)2)(1()12112()(zzzzzzXMATLAB程序:Z=sym('z*(2*z^2-11*z+12)/(z-1)/(z-2)^3');x=iztrans(Z);simplify(x)ans=3*2^n-(2^n*n)/4-(2^n*n^2)/4–3题3、试用MATLAB命令对函数321431818)(zzzzX进行部分分式展开。MATLAB程序为:b=[18];a=[18,3,-4,-1];[R,P,K]=residuez(b,a)R=0.36000.24000.4000P=0.5000-0.3333-0.3333K=[]运行结果可知,p2=p3,表示系统有一个二重极点。所以,X(z)的部分展开式为:x(n)=[0.36*0.5^n+0.24*(-0.3333)^n+0.4(n+1)(-0.3333)^n]u(n)五、实验要求(1)MATLAB编程(存成m文件形式)完成z变换与z反变换;(2)运行程序,给出运行结果;(3)写出z变换或z反变换结果。六、教师评语:签名:日期:成绩《数字信号处理》实验报告实验序号:08实验项目名称:线性卷积与圆周(循环)卷积的计算学号13071089姓名王要山专业、班级信息1302实验地点计算机-201指导教师李承时间2016-5-13一、实验目的及要求(1)进一步加深对线性卷积的理解和分析能力;(2)通过编程,上机调试程序,进一步增强使用计算机解决问题的能力;(3)掌握线性卷积与圆周卷积软件实现的方法,并验证二者之间的关系。二、实验设备(环境)及要求三、了解MATLAB软件基本操作,熟悉基本计算和绘图功能。2配有windowsXP及上机操作系统,安装MATLAB软件的完整版四、环境要求使用电脑硬件设备,在MATLAB工作环境。五、实验内容与步骤对于无限长序列不能用MATLAB直接计算线性卷积,在MATLAB内部只提供了一个conv函数计算两个有限长序列的线性卷积。对于循环卷积MATLAB内部没有提供现成的函数,我们可以按照定义式直接编程计算。题:已知两序列:编程序求它们的线性卷积yl(n)=h(n)*x(n)和N点的循环卷积yc=[h(n)*x(n)]N,(做圆周卷积时分别取N=8,11,16;),绘出计算结果图,并研究两者之间的关系。程序代码:其它其它0501)(01108.0)(nnhnnxnclear;clc;figure(1);n1=0:11;x=0.8.^n1;n2=0:5;h=ones(1,6);y=conv(x,h);ny=[0:1:length(y)-1];subplot(311);stem(n1,x,'.');axis([01001]);title('序列x(n)');grid;subplot(312);stem(n2,h,'.');axis([01001]);title('序列h(n)');grid;subplot(313);stem(ny,y,'.');axis([01005]);title('线性卷积后的序列');grid;figure(2);N=8;x1=[xzeros(1,N-length(x))];h1=[hzeros(1,N-length(h))];y1=conv(x1,h1);z1=[zeros(1,N)y1(1:(N-1))];z2=[y1((N+1):(2*N-1))zeros(1,N)];z=z1(1:(2*N-1))+z2(1:(2*N-1))+y1(1:(2*N-1));y2=z(1:N);subplot(311);stem((0:N-1),y2,'.');axis([01207]);title('N=8圆周卷积');grid;N=11;x1=[xzeros(1,N-length(x))];h1=[hzeros(1,N-length(h))];y1=conv(x1,h1);z1=[zeros(1,N)y1(1:(N-1))];z2=[y1((N+1):(2*N-1))zeros(1,N)];z=z1(1:(2*N-1))+z2(1:(2*N-1))+y1(1:(2*N-1));y2=z(1:N);subplot(312);stem((0:N-1),y2,'.');axis([01207]);title('N=11圆周卷积');grid;N=16;x1=[xzeros(1,N-length(x))];h1=[hze

1 / 40
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功