您好,欢迎访问三七文档
课程设计报告课程设计题目:离散时间系统分析学号:201420130206学生姓名:董晓勇专业:通信工程班级:1421301指导教师:涂其远2015年12月18日设计要求:考察知识点:卷积和,Z变换(1)自行设计产生两个离散序列信号,对其进行相加、乘及卷积运算。(2)利用filter命令求下面LTI系统的冲激响应:]1[5.0][]3[]2[6.0]1[7.0][nxnxnynynyny画出系统的零极点图,判断系统的稳定性、因果性。(3)绘出系统的频响曲线离散时间系统的分析一、设计目的和意义1.目的:(1)深刻理解卷积和、相加、相乘运算,掌握求离散序列卷积和、相加相乘的计算方法;(2)加深理解和掌握求离散序列Z变换的方法;(3)加深和掌握离散系统的系统函数零点、函数极点和系统时域特性、系统稳定性的关系。2.意义:在对《信号与系统》一书的学习中,进行信号与系统的分析是具有十分重要的意义,同时也是必不可少的。利用matlab函数,只需要简单的编程,就可以实现系统的时域、频域分析,对系统特性进行分析,为实际的系统设计奠定了基础。本设计在离散系统Z域分析理论的基础上,利用matlab对离散系统的稳定性和频域响应进行了分析。二、设计原理第一部分:对离散时间系统的时域进行分析呈对离散时间信号的代数运算(相加、相乘、卷积和),是在时域进行分析。相加用“+”来完成,相乘用“·*”来完成,卷积和则用conv函数来实现,具体形式为y=conv(x1,x2,….),其中x1,x2,…..为输入的离散序列,y为输出变量。在零初始状态下,matlab控制工具箱提供了一个filter函数,可以计算差分方程描述的系统的响应,其调用形式为:y=filter(b,a,f)其中,a=[a0,a1,a2,…]、b=[b0,b1,b2,….]分别是系统方程左、右边的系数向量,f表示输入向量,y表示输出向量。第二部分:对离散时间系统的Z域进行分析matlab工具箱提供了计算Z正变换的函数ztrans,其调用形式为:F=zrtans(f)%求符号函数f的Z变换,返回函数的自变量为z。Matlab的zplane函数用于系统函数的零极点图的绘制,调用方式为:zplane(b,a)其中,b、a分别为系统函数分子、分母多项式的系数向量。matlab中,利用freqz()函数可方便地求得系统的频率响应,调用格式为:freqz(b,a,N)该调用方式将绘制系统在0~PI范围内N个频率等分点的幅频特性和相频特性图。三、详细设计步骤1.自己设计两个离散时间序列x1、x2,对其进行相加,相乘,卷积运算,并显示出图形。2.根据已知的LTI系统:y[n]-0.7y[n-1]-0.6y[n-2]+y[n-3]=x[n]+0.5[n-1],得其在Z域输入输出的传递函数为:112310.5()10.70.6zHzzzz利用matlab求:(1)系统函数的零点和极点,并在z平面显示他们的分布;(2)画出幅频响应和相频响应的特性曲线。四、设计结果及分析(1).自行设计产生两个离散序列信号,对其进行相加、乘及卷积运算-202400.511.522.5-202400.20.40.60.811.21.4n1=-2:3;x1=[01222.51.5];n2=-2:3;x2=[11.200.500.8];subplot(1,2,1);stem(n1,x1)subplot(1,2,2);stem(n2,x2)x=x1+x2;xx=1.00002.20002.00002.50002.50002.3000y=x1.*x2;yy=01.200001.000001.2000z=conv(x1,x2);zz=Columns1through901.00003.20004.40005.40005.50003.60002.85002.3500Columns10through112.00001.2000stem(z)12345678910110123456subplot(1,2,1);stem(n,x)subplot(1,2,2);stem(n,y)-202400.511.522.5-202400.20.40.60.811.21.4(2)利用filter命令求下面LTI系统的冲激响应:]1[5.0][]3[]2[6.0]1[7.0][nxnxnynynyny画出系统的零极点图,判断系统的稳定性、因果性。解析:1)本题要求利用filter命令函数进行求取LTI系统的冲激响应,根据前面所述的实验原理已可知其调用格式为:filter(b,a,f),可知b=[1-0.7-0.61],a=[10.5],其输入f=h[n]满足:[][]nLTIhnpulse=[1,zeros(1,50)];b=[10.5];a=[1-0.7-0.61]h=filter(b,a,pulse);hh=Columns1through111.00001.20001.44000.72800.1736-0.8817-1.2410-1.5713-0.9629-0.37580.7306Columns12through221.24881.68831.20050.6045-0.5448-1.2191-1.7848-1.4360-0.85700.32331.1482Columns23through331.85471.66391.1293-0.0658-1.0323-1.8915-1.8776-1.4169-0.22690.86871.8888Columns34through442.07021.71380.5530-0.6549-1.8404-2.2342-2.0133-0.90950.38961.74032.3615Columns45through512.30761.2919-0.0726-1.5833-2.4437-2.5880-1.6945stem(h)0102030405060-3-2-101232)由所给定信号的输入输出关系,对其求z变换,得系统的传递函数为:112310.5()10.70.6zHzzzzzr=roots(b);pk=roots(a);g=b(1)/a(1);zrzr=-0.5000pkpk=-0.97300.8365+0.5728i0.8365-0.5728igg=1zplane(b,a)-1-0.500.51-1-0.8-0.6-0.4-0.200.20.40.60.812RealPartImaginaryPart由系统的零极点图可知,有两个零点zr1=-0.5000,zr2=zr3=0(是二阶零点),该系统的ROC被系统的极点pk1=-0.9730,pk2=0.8365+0.5728i,pk3=0.8365-0.5728i,其中pk1,pk2在同一个圆环上。因此共有三种可能的ROC:1)当0.9730z时,该离散信号是左边序列,系统是非因果的,ROC不包括单位圆:1z,系统是不稳定的;2)0.97300.83650.5728zi,该离散信号是双边序列,系统是非因果的,ROC包含单位圆:1z,系统是稳定的;3)0.83650.5728zi,该离散信号是右边序列,系统是因果的,ROC不包含单位圆:1z,系统是不稳定的。(3)画出系统的频响特性曲线对给定的信号的输入输出关系两边求z变换得112310.5()10.70.6zHzzzz,分子、分母的系数向量可清楚地得到。fs=1000;b=[10.5];a=[1-0.7-0.61];[h,f]=freqz(b,a,512,fs);mag=abs(h);ph=angle(h);ph=ph*180/pi;subplot(2,1,1);plot(f,mag)subplot(2,1,2);plot(f,ph)05010015020025030035040045050001020304050050100150200250300350400450500-200-1000100200五、体会在这个设计中,对于我最大的体会就是学会了如何用matlab来处理仿真信号与系统。刚拿到设计题目时,我眉头紧蹙,不知道如何下手。在这之前我并没有认真学过matlab的有关操作,由于专业上一些软件matlab也不是常用的,也没有去钻研过到底该怎么使用这款软件。心情不由紧张起来,不知道自己能不能在有限的时间里做好这个课程设计。我认为Matlab最出色的三大优点:(1)友好的工作平台和编程环境;(2)简单易用的程序语言;Matlab的编程相当简单,它并不像C、C++编程那样程序复杂,它只需要几小个简短的语句按Enter键,便可得到结果。但想完成某个目的,在matlab里需要用到一些函数,而这些函数则需要去查找。(3)强大的科学计算机数据处理能力;MATLAB是一个包含大量计算算法的集合。其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。(4)出色的图形处理功能只为了完成课程设计,并不是想精通matlab。我对这个设计是这样完成的,我认真阅读设计题目,搞清楚它的设计目的和设计要求,参考相关书籍,找出需用到的函数。然后开始构思并尝试如何在matlab里实现。开始时,总是会出现一些红色的warn语句,如:???Undefinedfunctionorvariable'mag',???Errorusing==mtimesInnermatrixdimensionsmustagree.,不知道如何处理,目似自己编写的程序没有错误,也不清楚哪里出了错,感觉很没有成就感。经过很多次参阅书籍、网络搜索并不断地进行编写程序,没出现红色警告,才清楚自己的程序语法没有出错,也才一步步得到了结果和图形。参考书中关于信号处理的一些相关例程序,总是无法理解它里面的一些变量的赋值,如:[h,f]=freqz(b,a,N,fs),h、f、b、a、fs分别代表什么,很困惑。一经思考,容易知道h是LTI系统的冲激响应,f是h的频率,fs应该相当于给定的采样频率。然而b、a代表什么呢,查阅书籍,也并没有给出具体解释,只知道它是h[n]的Z变换的分子、分母各次项的系数。百度搜索freqz这个函数,才知道它们分别是输入输出的传递函数的分子、分母的系数向量,而这里的传递函数可以用不同的形式给出,可以是Z变换,Fouier变换…..等等。弄懂这些变量以后,进行编程就简单多了,同时程序也不容易出错了。现在我的设计终于做完了,可以松一口气了。通过这次设计,我可以画出像课本上那样规范的信号波形了,也知道该如何去处理一个信号了。在以后的学习中,我一定要勤动手,结合相关软件,综合系统又认真地学习各门课程,特别是利用matlab多练习一些信号系统仿真的题型,有助于自己的提高。六、参考文献教材:《信号与系统》第二版.奥本海姆.西安交通大学出版社,2002.参考书:《精通MATLAB最优化计算》龚纯、王振林北京电子工业出版社,2009年4月《Matlab7辅助信号处理技术与应用》飞思科技产品研发中心电子工业出版社2005年《信号与系统分析及MATLAB实现》.梁虹.电子工业出版社,2005.
本文标题:离散时间系统的分析
链接地址:https://www.777doc.com/doc-6014296 .html