资源描述:
《基于matlab的离散时间系统分析new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第27卷第6期咸宁学院学报Vol.27,No.62007年12月JournalofXianningCollegeDec.2007文章编号:1006-5342(2007)06-0038-033基于Matlab的离散时间系统分析11,2张正文,钟东(1.湖北工业大学电气与电子工程学院,湖北武汉430068;2.咸宁学院信息工程学院,湖北咸宁437100)摘要:由人工完成信号与系统中的离散系统的高阶系统的分析十分的困难,计算量大,难于实现.本文结合离散LTI系统的系统函数和高阶差分方程给出了如何应用MATLAB工程计算
2、语言简便解决这些问题的方法与技巧.关键词:MATLAB;信号与系统;系统分析中图分类号:TN911.6文献标识码:A[4]0引言图,并进行稳定性分析.信号与系统的分析在通信与信息系统、信号分析:本题要求画系统的零极点分布图,并进处理、自动控制、检测、监控等领域都有着十分重行系统的稳定性分析.要的作用.信号与系统的分析一般先抽象为数学在MATLAB中可运用zplane函数来求系统的模型,然后讨论系统本身的初始状态和稳定程度零极点分布图,通过图形就可以观察零极点分布以及输入不同时系统的响应.对于高阶的微分方的状况,从
3、而就可分析系统的稳定性.程或差分方程,由于计算量庞大,人工计算十分难函数调用形式:zplane(b,a)于实现.美国MathWorks公司开发的MATLAB其中b=[b0,b1,⋯⋯bm],a=[a0,a1⋯⋯an]分(MatrixLaboratory)解决了这一问题.MATLAB是别是差分方程左右端的系数向量.目前国际上最流行,应用最广泛的科学与工程计第一步,双击MATLAB软件,建立新的程序文算软件,它应用于自动控制、数学计算、信号分析、本,输入程序如下:计算机技术、图像信号处理,也是国内高校和研究Clear
4、all部门进行许多科学研究的重要工具.MATLAB在%program1Singalofdiscretesystem国外许多大学早已成为信号与系统的教学工具.b=[10.5];MATLAB的出现给信号与系统的分析提供了极大a=[1-1.250.75-0.125];的方便.本文结合离散LTI系统的系统函数和高阶zplane(b,a);差分方程,给出了如何运用MATLAB计算语言简第二步,调试并运行程序,得到系统的零极点[1]便的解决这些问题的方法与技巧.分布图形如图1所示:1系统分析的基本步骤一般的离散时间系统分析有
5、以下几个步骤:(1)求解系统的单位冲激响应h[k].(2)求系统的幅频响应.(3)判断系统是否稳定.(4)画出该系统的零极点分布图.下面以三阶差分方程和系统函数为例说明利[2,3]用MATLAB软件分析系统的具体方法.2运用MATLAB软件进行系统分析(1)已知系统的差分方程为:y[n]-1.25y[n-1]+0.75y[n-2]-0.125y[n-3]=x[n]+0.5x[n-1].画出零极点分布图1零极点分布3收稿日期:2007-10-15第6期张正文,钟东基于Matlab的离散时间系统分析39第三步,分析系
6、统的稳定性.从上面的零极点分布图形,我们可以看出,系统的全部极点位于单位圆以内,所以对于这样一个离散系统,系统是稳定的.(2)已知一离散因果LTI系统的系统函数为:2z+2z+1H(z)=32z-0.5z-0.005z+0.3利用MATLAB画出该系统的零极点分布图,求系统的单位冲激响应h[k]和幅频响应,并判断[5]系统是否稳定.分析:根据已知的H(z),利用MATLAB中的图2幅频响应zplane函数即可画出系统的零极点分布图.而利用impz和freqz函数求系统的单位冲激响应和频率响应时,一般需要将H(z)
7、改写成下列形式:-1-2-3z+2z+zH(z)=-1-2-31-0.5z-0.005z+0.3z第一步,双击MATLAB软件,建立新的程序文本,输入程序如下:%program2Impulseresponse,amplitudefre2quencyresponseandstabilityanalysisofLTIH(z)b=[0121];a=[1-0.5-0.0050.3];figure(1);zplane(b,a);图3冲激响应num=[0121];den=[1-0.5-0.0050.3];h=impz(num
8、,den);figure(2);stem(h);xlabel(‘k’);ylabel(‘h[k]’);title(‘ImpulseResponse’);[H,w]=freqz(num,den);Figure(3);Plot(w/pi,abs(H));图4零极点分布xlabel(‘ang.freq.Omega(rad/s)’);ylabel(‘︱H(e^j^Omega)