1、摘 要本文详细分析了系统函数零极点的分布与冲击响应时域特性之间的关系。首先论述了如何通过MATLAB软件绘制出系统函数的零极点分布图。然后根据系统函数极点的不同分布情况,通过MATLAB软件绘制出冲击响应的时域函数,通过对图像的观察和比较,得出了极点的类型决定时间函数的时间连续形式,极点在S平面的位置决定时间函数的波形特点。最后,在极点相同,但零点不同的情况下,通过比较时域函数的波形,得出零点分布与时域函数的对应关系,即零点分布的情况只影响到时域函数的幅度和相位。关键词:系统函数的零极点;时域特性;MATLAB软件目 录1 课程设计目的12 实验原理13 实现过程13.1 MATLAB简介13
2、.2 系统函数极点分布情况23.2.1 极点为单实根23.2.2 极点为共轭复根23.2.3 极点为重根23.2.4 用MATLAB绘制系统函数的零极点分布图23.3 系统函数的零极点分布与冲击响应时域特性的关系63.3.1 用MATLAB绘制冲击响应的时域函数63.3.2 极点的类型决定时间函数的时间连续形式193.3.3 极点在S平面的位置决定时间函数的波形特点193.3.4 零点分布与时域函数的对应关系194 设计体会235 参考文献241 课程设计目的1.掌握系统函数的零极点分布与系统冲激响应时域特性之间的关系。2.学习MATLAB软件知识及应用。3.利用MATLAB编程,完成相应的信
3、号分析和处理。2 实验原理拉普拉斯变换将时域函数f(t)变换为s域函数F(s);反之,拉普拉斯逆变换将F(s)变换为相应的f(t)。由于f(t)与F(s)之间存在一定的对应关系,故可以从函数F(s)的典型形式透视出f(t)的内在性质。当F(s)为有理函数时,其分子多项式和分母多项式皆可分解为因子形式,各项因子指明了F(s)零点和极点的位置,显然,从这些零点和极点的分布情况,便可确定原函数的性质。设连续系统的系统函数为,冲激响应为,则显然,必然包含了的本质特性。对于集中参数的LTI连续系统,其系统函数可表示为关于s的两个多项式之比,即其中为的M个零点,为的N个极点。3 实现过程3.1 MATLA
4、B简介MALAB译于矩阵实验室(MATrix LABoratory),是用来提供通往 LINPACK和EISPACK矩阵软件包接口的。后来,它渐渐发展成了通用科技计算、图视交互系统和程序语言。MATLAB的基本数据单位是矩阵。它的指令表达与数学、工程中常用的习惯形式十分相似。比如,矩阵方程Ax=b,在MATLAB中被写成A*x=b。而若要通过A,b求x,那么只要写x=Ab即可,完全不需要对矩阵的乘法和求逆进行编程。因此,用MATLAB解算问题要比用C、Fortran等语言简捷得多。MATLAB发展到现在,已经成为一个系列产品:MATLAB“主包”和各种可选的toolbox“工具包”。主包中有数
5、百个核心内部函数。迄今所有的三十几个工具包又可分为两类:功能性工具包和学科性工具包。功能性工具包主要用来扩充MATLAB的符号计算功能、图视建模仿真功能、文字处理功能以及硬件实时交互功能。这种功能性工具包用于多种学科。而学科性工具包是专业性比较强的,如控制工具包(Control Toolbox)、信号处理工具包(SignalProcessing Toolbox)、通信工具包(忽略munication Toolbox)等都属此类。开放性也许是MATLAB最重要、最受人欢迎的特点。除内部函数外,所有MATLAB主包文件和各工具包文件都是可读可改的源文件,用户可通过对源文件的修改或加入自己编写文件去
6、构成新的专用工具包。MATLAB已经受了用户的多年考验。在欧美发达国家,MATLAB 已经成为应用线性代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等高级课程的基本教学工具;成为攻读学位的大学生、硕士生、博士生必须掌握的基本技能。在设计研究单位和工业部门,MATLAB被广泛地用于研究和解决各种具体工程问题。3.2 系统函数极点分布情况3.2.1 极点为单实根若系统函数的N个极点是单极点,则可将进行部分分式展开为:3.2.2 极点为共轭复根若系统函数的N个极点包含共轭复数极点,则可将进行部分分式展开为:3.2.3 极点为重根若系统函数的N个极点有多重极点,则可将进行部分分
7、式展开为:3.2.4 用MATLAB绘制系统函数的零极点分布图绘制系统函数零极点分布图的函数如下:function p,q=sjdt(A,B)%绘制连续系统零极点图程序 %A:系统函数分母多项式系数向量%B:系统函数分子多项式系数向量%p:函数返回的系统函数极点位置行向量%q:函数返回的系统函数零点位置行向量p=roots(A); %求系统极点q=roots(B); %求系统零点p=p;%将极点列向量转置为行向量q=q;%将零点列向量转置为行向量x=max(abs(p q);%确定纵坐标范围x=x+0.1;y=x;%确定横坐标范围clfhold onaxis(-x x -y y);%确定坐标轴
8、显示范围axis(square)plot(-x x,0 0) %画横坐标轴plot(0 0,-y y) %画纵坐标轴plot(real(p),imag(p),x) %画极点plot(real(q),imag(q),o) %画零点title(连续系统零极点图) %标注标题text(0.2,x-0.2,虚轴)text(y-0.2,0.2,实轴)(1)首先打开MATLAB软件,如图1所示。图1 MATLAB界面(2)点击File-New-Function,创建M文件,用于建立一个求解系统函数零极点的函数。(3)在编辑窗口中输入绘制系统函数零极点分布图的函数,如图2所示。图2 M文件编辑窗口(4)点击
9、Debug-Save File and Run设置其保存路径为MATLAB的工作路径,如图3所示。图3 设置保存路径(5)输入在MATLAB的命令窗口中输入计算系统零极点的具体程序: 例如某连续系统的系统函数为:则输入的程序为:a=10 8 6 4 2;b=5 4 3;p,q=sjdt(a,b)运行结果如图4所示。图4 绘制系统零极点分布图的运行结果3.3 系统函数的零极点分布与冲击响应时域特性的关系3.3.1 用MATLAB绘制冲击响应的时域函数函数impulse()将绘出由向量a和b表示的连续系统在指定时间范围内的冲击响应h(t)的时域波形图,并能求出指定时间范围内冲击响应的数值解。Imp
10、ulse()函数有如下几种调用格式:(1)impulse(b,a)该调用格式以默认方式绘出向量a和b定义的连续系统的冲击响应的时域波形图。(2) impulse(b,a,t)该调用格式以默认方式绘出向量a和b定义的连续系统在0t时间范围冲击响应的时域波形图。(3) impulse(b,a,t1:p:t2)该调用格式以默认方式绘出向量a和b定义的连续系统在t1t2时间范围内,且以时间间隔p均匀抽样的冲击响应的时域波形。(4)y= impulse(b,a,t1:p:t2)该调用格式并不绘出系统冲击响应的波形,而是求出向量a和b定义的连续系统在t1t2时间范围内以时间间隔p抽样的系统冲击响应的数值解
11、。在MATLAB中分别输入以下各程序,分别绘制出极点在S域的不同分布其对应的时域函数波形。a.极点为单实根,且在原点处,即绘制冲激响应时域波形的MATLAB命令如下:a=1 0;b=1;impulse(b,a)运行结果如图5-1所示。图5-1 时域函数波形图b. 极点为单实根,且落于原点左侧,即令a=10绘制冲激响应时域波形的MATLAB命令如下:a=1 10; b=1;impulse(b,a)运行结果如图5-2所示。图5-2 时域函数波形图c. 极点为单实根,且落于原点右侧,即令a=10绘制冲激响应时域波形的MATLAB命令如下:a=1 -10;b=1;impulse(b,a)运行结果如图5
12、-3所示。图5-3 时域函数波形图d.极点为一阶共轭复根,且在虚轴上,即令=5绘制冲激响应时域波形的MATLAB命令如下:a=1 0 25;b=1;impulse(b,a,10)运行结果如图5-4所示。图5-4 时域函数波形图e. 极点为一阶共轭复根,且在虚轴左侧,即令=0.2,=5绘制冲激响应时域波形的MATLAB命令如下:a=1 0.4 25.04;b=1;impulse(b,a,10)运行结果如图5-5所示。图5-5 时域函数波形图f. 极点为一阶共轭复根,且在虚轴右侧,即令=-0.2,=5绘制冲激响应时域波形的MATLAB命令如下:a=1 -0.4 25.04;b=1;impulse(
13、b,a,10)运行结果如图5-6所示。图5-6 时域函数波形图g. 极点为二阶重根,且在原点处:绘制冲激响应时域波形的MATLAB命令如下:a=1 0 0;b=1;impulse(b,a)运行结果如图5-7所示。图5-7 时域函数波形图h. 极点为二阶重根,且在原点左侧:令a=10绘制冲激响应时域波形的MATLAB命令如下:a=1 20 100;b=1;impulse(b,a)运行结果如图5-8所示。图5-8 时域函数波形图i. 极点为二阶重根,且在原点右侧:令a=10绘制冲激响应时域波形的MATLAB命令如下:a=1 -20 100;b=1;impulse(b,a)运行结果如图5-9所示。图
14、5-9 时域函数波形图j. 极点二阶共轭复根,且在虚轴上:令=5绘制冲激响应时域波形的MATLAB命令如下:a=1 0 50 0 625;b=1;impulse(b,a)运行结果如图5-10所示。图5-10 时域函数波形图k. 极点二阶共轭复根,且在虚轴左侧:令=2,=5绘制冲激响应时域波形的MATLAB命令如下:a=1 8 74 232 841;b=1;impulse(b,a)运行结果如图5-11所示。图5-11 时域函数波形图l. 极点二阶共轭复根,且在虚轴右侧:令=-2,=5绘制冲激响应时域波形的MATLAB命令如下:a=1 -8 74 -232 841;b=1;impulse(b,a)
15、运行结果如图5-12所示图5-12 时域函数波形图3.3.2 极点的类型决定时间函数的时间连续形式由图5-1图5-12得:当系统函数的极点为一阶极点时,若极点是实根且位于原点处,时域函数为阶跃函数;若极点是实根,但不在原点处,时域函数为指数函数。若极点是共轭复根且位于原点处,时域函数为正弦函数;若极点是共轭复根,但不在原点处,时域函数为指数函数与正弦函数的乘积。当系统函数的极点为二阶极点时,若极点是实根且位于原点处,时域函数为一次函数;若极点是实根,但不在原点处,时域函数为一次函数与指数函数的乘积。若极点是共轭复根且位于原点处,时域函数为一次函数与正弦函数的乘积;若极点是共轭复根,但不在原点处
16、,时域函数为一次函数、指数函数和正弦函数的乘积。不难推论得,若H(s)具有多重极点,那么,部分分式展开式各项所对应的时间函数可能具有等与指数函数相乘的形式,t的幂次由极点阶次决定。3.3.3 极点在S平面的位置决定时间函数的波形特点由图5-1图5-12可以看出:若H(s)极点落于左半平面,则h(t)波形为衰减形式;若H(s)极点落于右半平面,则h(t)增长;落于虚轴上的一阶极点对应的h(t)成等幅震荡或阶跃;而虚轴上的二阶极点将使h(t)呈增长形势。3.3.4 零点分布与时域函数的对应关系以上分析了H(s)极点分布与时域函数的对应关系。至于H(s)零点分布的情况则只影响到时域函数的幅度和相位;
17、s平面中零点变动对于t平面波形的形式没有影响。例如:其H(s)的零极点分布以及h(t)波形如图6-1,6-2所示。图6-1 H(s)的零极点分布图图6-2 h(t)波形图由图6-2知,h(t)波形呈衰减震荡形式。假定保持极点不变,只移动零点的位置,使零点有-0.5变为0,则H(s)变为则改变后的H(s)的零极点分布以及h(t)波形如图7-1,7-2所示。图7-1 改变后的H(s)的零极点分布图图7-2 改变后的h(t)波形图比较可得,保持极点不变,只移动零点的位置,那么h(t)波形将仍呈衰减震荡形式,震荡频率也不改变,只是幅度和相位有变化。4 设计体会通过本次课程设计,让我更加深刻地理解和掌握
18、了系统函数零极点的分布与冲击响应时域特性之间的关系,也使我了解了MATLAB软件,并学会了如何应用MATLAB软件进行数字信号的处理和分析。本课程设计利用MATLAB软件成功绘制出了系统函数的零极点分布图。根据系统函数零极点的不同分布情况,利用MATLAB软件绘制出了冲击响应的时域函数波形。通过分析和比较,最终得出:系统函数的极点分布与时域特性的关系,即极点的类型决定时间函数的时间连续形式,极点在S平面的位置决定时间函数的波形特点;系统函数的零点分布与时域特性的关系,即系统函数零点分布的情况只影响到时域函数的幅度和相位。在课程设计过程中也遇到了一些问题,刚开始接触MATLAB软件时,完全不知道
19、怎么去使用,自己通过查阅资料,一点一点学习,最终初步掌握了该软件的使用方法。刚开始创建M文件的时候,在命令窗口中输入程序后总是不能运行,经过反复检查,找出了出错的原因是由于没有将M文件的存储路径与MATLAB软件的工作路径保持一致,经过改正后,成功调用M文件的sjdt()函数绘制出了系统函数的零极点分布图。参考文献1 郑君里.信号与系统引论.第1版.北京:高等教育出版社,2009:191-2142 梁虹,梁洁,陈跃斌.信号与系统分析及MATLAB实现.第1版.北京:电子工业出版社,2002:240-2443 陈泽,占海明.详解MATLAN在科学计算中的应用.第1版.北京:电子工业出版社,2011:87-934 龚纯,王正林.MATLAB语言常用算法程序集.第2版.北京:电子工业出版社,2011:103-121- 24 -