matlab的freqa函数用法.ppt
《matlab的freqa函数用法.ppt》由会员分享,可在线阅读,更多相关《matlab的freqa函数用法.ppt(367页珍藏版)》请在三一办公上搜索。
1、第4章控制系统的仿真分析,4.1 控制系统的稳定性分析 4.2 控制系统的时域分析 4.3 控制系统的频域分析 4.4 控制系统的根轨迹分析 4.5 控制系统的校正,4.1控制系统的稳定性分析 稳定是控制系统能够正常运行的首要条件。控制系统稳定性的严格定义和理论阐述是由俄国学者李雅普诺夫于1892年提出的,它主要用于判别时变系统和非线性系统的稳定性。稳定性的一般定义是:设一线性定常系统原来处于某一平衡状态,若它瞬间受到某一扰动作用而偏离了原来的平衡状态,当此扰动撤消后,系统仍能回到原有的平衡状态,则称该系统是稳定的。反之,系统为不稳定的。线性系统的稳定性取决于系统的固有特征(结构、参数),与系
2、统的输入信号无关。,基于稳定性研究的问题是扰动作用撤消后系统的运动情况,它与系统的输入信号无关,只取决于系统本身的特征,因而可用系统的脉冲响应函数来描述。如果脉冲响应函数是收敛的,即有,(41),则表示系统仍能回到原有的平衡状态,因而系统是稳定的。由此可知,系统的稳定与其脉冲响应函数的收敛是一致的。由于单位脉冲函数的拉普拉斯变换等于1,因此系统的脉冲响应函数就是系统闭环传递函数的拉普拉斯反变换。,因此,连续系统的稳定性可以根据闭环极点在平面内的位置予以确定,如果一个连续系统的闭环极点都位于左半s平面,则该系统是稳定的。离散系统的稳定性可以根据闭环极点在z平面的位置予以确定。如果一个离散系统的闭
3、环极点都位于z平面的单位圆内,则该系统是稳定的。,按照常规的求取微分方程的根,再根据根的实部来判断系统稳定性的方法往往工作量会很大,且不易进行,因而一般都采取间接的方法来判断系统的稳定性。例如常用的方法主要有罗斯(Routh)表和朱利(Jury)表,这样做比用求根判断稳定的方法要简单许多,而且这些方法都已经经过了数学上的证明,是完全有理论根据,且实用性非常好。但是,随着计算机功能的进一步完善和MATLAB语言的出现,一般在工程实际当中已经不再采用这些方法了,因为从前面章节的介绍可以看出,用MATLAB提供的函数可以直接求出控制系统的所有极点,所以用户也就没有必要再去编写程序来使用间接的方法判断
4、系统的稳定性了。,直接求根的方法具有比间接判断更多的优势,因为它除了可以直接求出线性系统的极点,判断系统的稳定性外,同时还可以判断系统是否为最小相位系统。从控制理论可知,所谓最小相位系统,首先是指一个稳定的系统,同时对于连续系统而言,系统的所有零点都位于s平面的左半平面,即零点的实部小于零,对于一个离散系统而言,系统的所有零点都位于z平面的单位圆内。很显然,只要知道了系统的所有零点即可以判断系统是否为最小相位系统了。从前面的章节可知,只要知道了系统的模型,不论哪种形式的数学模型,都可以很方便地由MATLAB求系统的零极点,从而判断系统的稳定性以及判断系统是否为最小相位系统,而这一点对于工程实际
5、而言是十分重要的。,4.1.1间接判别法线性系统稳定的充要条件就是闭环特征方程式的根必须都位于s的左半平面。能否找到一种不用求根而直接判别系统稳定性的方式,这就是所谓的间接判别方法。令系统的闭环特征方程为,(42),由数学知识可以知道如果方程式的根都是负实部,或其实部为负的复数根,则其特征方程式的各项系数均为正值,且无零系数。,劳斯稳定判据就是直接根据特征方程的系数来判别系统稳定性的一种间接方法(不用直接求根,因为求根很复杂),它是由劳斯于1877年首先提出的。设系统特征方程式如(42)所示,将各项系数,按下面的格式排成劳斯表:,这样可求得n+1行系数。,罗斯稳定判据规则:根据所列罗斯表第一列
6、系数符号的变化,就可以判别特征方程式根在s平面上的具体分布,过程如下:(1)如果罗斯表中第一列的系数均为正值,则其特征方程式的根都在s的左半平面,相应的系统是稳定的。(2)如果罗斯表中第一列系数的符号有变化,则其变化的次数等于该特征方程式的根在s的右半平面上的个数,相应的系统为不稳定系统。,【例4.1】已知一调速系统的特征方程式为:s3+41.5s2+517s+2.3104=0,试用罗斯判据判别系统的稳定性。解列罗斯表:,4.1.2直接判别法1直接求根判定系统稳定性以往在分析系统的稳定性时,在特征方程不易求根的情况下,常采用间接的方法来判定系统的稳定性,如利用罗斯表稳定判据判定系统稳定性。但随
7、着MATLAB语言的出现,利用MATLAB直接对特征方程求根判定系统稳定性已变得轻而易举。并且MATLAB提供了直接求取系统所有零极点的函数,因此可以直接根据零极点的分布情况对系统的稳定性以及是否为最小相位系统进行判断。,所谓最小相位系统,对连续系统来说,除了系统本身是稳定的,系统的所有零点还都必须位于左半s平面;对离散系统来说,除了系统本身稳定之外,系统的所有零点都必须位于z平面的单位圆内。很显然,利用MATLAB对稳定系统的零点情况进行分析即可判定系统是否为最小相位系统。,【例4.2】已知单位负反馈系统的开环传递函数为,可以输入下面的MATLAB程序来判别系统的稳定性。执行下面的文件:nu
8、mo=1;deno=23154;numc=numo;denc=numo+deno;%求系统闭环传递函数的分子分母多项式系数,z,p=tf2zp(numc,denc)ii=find(real(p)0);n=length(ii);%闭环极点实部大于0的个数if(n0),disp(systemisunable);end运行结果为z=Emptymatrix:0-by-1p=0.4357+1.0925j0.4357-1.0925j-1.2048-1.0000systemisunable,说明:z,p=tf2zp(numc,denc)为变系统多项式传递函数为零点、极点形式;函数real(p)表示极点p的实
9、部;find()函数用来得到满足指定条件的数组下标向量。本例中的条件式real(p0),其含义就是找出极点向量p中满足实部的值大于0的所有元素下标,并将结果返回到ii向量中去。这样如果找到了实部大于0的极点,则会将该极点的序号返回到ii下。如果最终的结果里ii的元素个数大于0,则认为找到了不稳定极点,因而给出系统不稳定的提示,若产生的ii向量的元素个数为0,则认为没有找到不稳定的极点,因而得出系统稳定的结论。,【例4.3】已知一个离散控制系统的闭环传递函数为,输入下面的MATLAB语句来判定系统的稳定性。,执行下面的文件:num=21.561;den=51.4-1.30.68;z,p=tf2z
10、p(num,den)ii=find(abs(p)1);n=length(ii);if(n0),disp(systemisunable);elsedisp(systemisable);end,运行结果为z=-0.3900+0.5898j-0.3900-0.5898jp=-0.80910.2645+0.3132j0.2645-0.3132jsystemisable说明:函数abs(p)表示取极点p的绝对值或幅值(复数)。,【例4.4】已知某系统的状态方程为,要求判断系统的稳定性及系统是否为最小相位系统。,执行下面的M文件:clearclccloseall%系统描述a=12-12;2630;47-8
11、-5;7216;b=-1001;c=-2561;d=7;%求系统的零极点z,p,k=ss2zp(a,b,c,d)%检验零点的实部;求取零点实部大于零的个数,ii=find(real(z)0)n1=length(ii);%检验极点的实部;求取极点实部大于零的个数jj=find(real(p)0)n2=length(jj);%判断系统是否稳定if(n20)disp(thesystemisunstable)disp(theunstablepoleare:)disp(p(jj)elsedisp(thesystemisstable)end,%判断系统是否为最小相位系统if(n10)disp(thesys
12、temisanonminimalphaseone)elsedisp(thesystemisaminimalphaseone)end%绘制零极点图pzmap(p,z),在本例中,find()函数的条件式为real(p)0和real(z)0。对于前者而言,其含义在于求出p矩阵中实部大于0的所有元素的下标,并将结果返回到ii总数组中去。这样,如果找到了实部大于0的极点,即认为找到了不稳定的极点,因而给出系统不稳定的提示,若产生的ii向量的元素个数为0,即认为没有找到不稳定的极点,因而系统稳定。条件real(z)0则是判断该系统是否为最小相位系统,其判断方法与稳定性判断相同。,该程序运行结果如下所示:
13、z=-2.52608.0485+0.5487j8.0485-0.5487j-8.9995p=-2.4242-8.26567.8449+0.3756j7.8449-0.3756j,k=7ii=23jj=34thesystemisunstabletheunstablepoleare:7.8449+0.3756j7.8449-0.3756jthesystemisanonminimalphaseone,从运行结果可以看出该系统是一个不稳定系统,也是一个非最小相位系统。该系统的零点和极点分别为:z=-2.51508.0242+0.5350j8.0242-0.5350j-8.9085p=-2.4242-8
14、.26567.8449+0.3756j7.8449-0.3756j即极点和零点均在s平面右半平面,其零点和极点分别如图41所示。在零极点分布图中,一般由叉号表示极点,圈号表示零点。,图41系统零极点分布图,【例4.5】系统的传递函数为,判断系统的稳定性,以及系统是否为最小相位系统。执行下面的M文件:clearclccloseall%系统描述num=3164128;den=11411052814942117112;,%求系统的零极点z,p,k=tf2zp(num,den)%检验零点的实部;求取零点实部大于零的个数ii=find(real(z)0)n1=length(ii);%检验极点的实部;求取
15、极点实部大于零的个数jj=find(real(p)0)n2=length(jj);%判断系统是否稳定if(n20)disp(thesystemisunstable)disp(theunstablepoleare:)disp(p(jj)else,disp(thesystemisstable)end%判断系统是否为最小相位系统if(n10)disp(thesystemisanonminimalphaseone)elsedisp(thesyetemisaminimalphaseone)end%绘制零极点图pzmap(p,z),这里首先调用tf2zp()这个函数求取系统的零点和极点,然后用例4.4中的
16、方法来判断系统的稳定性与是否为最小相位系统。运行结果如下所示:z=-2.1667+2.1538j-2.1667-2.1538j-1.0000p=-1.9474+5.0282j-1.9474-5.0282j-4.2998-2.8752+2.8324j-2.8752-2.8324j-0.0550,k=3ii=0jj=0thesystemisstablethesyetemisaminimalphaseone即该系统是稳定的,且是最小相位系统,其零极点分布如图42所示。,图42系统零极点分布图,【例4.6】已知某离散系统的开环传递函数为,判断系统是否稳定,以及系统是否为最小相位系统。执行下面的M文件:
17、HJ*4/9numo=164892;deno=103000;%求闭环系统的传递函数,numc=numo;denc=deno+numo;%求系统的零极点z,p=tf2zp(numc,denc);ii=find(abs(z)1);n1=length(ii);jj=find(abs(p)1);n2=length(jj);if(n10)disp(ThesystemisaNonminimalPhaseOne.);else(ThesystemisaMinimalPhaseOne.);endif(n20)disp(ThesystemisUnstable.);,%如果系统不稳定,则显示出不稳定的极点disp(
18、The Unstable Poles are:);disp(p(jj)elsedisp(The system is Stable.);end%绘制零极点图pzmap(p,z);title(The Poles and Zero map of a Discrate System);hold;%绘制单位圆x=-1:0.001:1;y1=(1-x.2).0.5;y2=-(1-x.2).0.5;plot(x,y1,x,y2);,运行结果如下所示:The system is a Nonminimal Phase One.The system is Unstable.The Unstable Polesar
19、e:0+1.7321j0-1.7321j,从运行结果可以看出,该系统是不稳定的离散系统,不稳定极点如上面运行结果所示,同时该系统也是一个非最小相位系统。注意到本例中判断系统的稳定性方法和判断系统是否为最小相位系统的方法与连续系统的不同,这是因为在离散系统中,系统稳定应满足所有极点都在z平面的单位圆内,系统为最小相位系统应满足所有零点都在单位圆内,因而作相应的调整,如本例中程序所示,即判断所有极点的模是否大于1和所有零点的模是否大于1。该离散系统的零极点分布如图43所示。从图中可以看出,该系统有四个极点和三个零点位于单位圆以外。因而该系统并不是最小相位系统,同时也不是稳定系统,这与直接由本例中程
20、序所运算出的结果是完全符合的。,图43系统零极点分布图,2绘制系统零极点图判定稳定性在MATLAB中,还可以利用pzmap()和zplane()函数形象地绘出连续离散系统的零极点图,从而判断系统的稳定性。【例4.7】考虑例4.2,可输入以下MATLAB语句来绘制连续系统的零极点图,零极点图如图44所示。,图44系统零极点分布图,执行下面的M文件:numo=1;deno=23154;numc=numo;denc=numo+deno;pzmap(numc,denc)由图44可看出,该系统有两个极点位于右半平面,所以很容易判断此连续系统是不稳定的。,【例4.8】考虑例4.3,可输入以下MATLAB语
21、句来绘制离散系统的零极点图,零极点图如图45所示。,图45系统零极点分布图,执行下面的M文件:um=21.561;den=51.4-1.30.68;pzmap(num,den);%绘制单位圆hold;x=-1:0.001:1;y1=(1-x.2).0.5;y2=-(1-x.2).0.5;plot(x,y1,x,y2);,3Lyapunov稳定性判据早在1892年,Lyapunov就提出了一种可普遍适用于线性、非线性系统稳定性分析的方法。稳定性是相对于某个平衡状态而言的。因为线性定常系统只有唯一的一个平衡点,所以我们可以笼统地讲系统的稳定性问题。但对于其他类型系统则有可能存在多个平衡点,不同平衡
22、点有可能表现出不同的稳定性,因此必须分别加以讨论。,对于线性定常系统,Lyapunov稳定性判据基于以下定理。设线性定常系统为,(43),如果对任意给定的正定实对称矩阵W,均存在正定矩阵V满足下面的方程:,(44),则称系统是稳定的,上述方程称为Lyapunov方程。MATLAB中,Lyapunov方程可以由控制系统工具箱中提供的lyap()函数求解,该函数的调用格式为:VLyap(A,W)。,【例4.9】已知系统的状态方程为,试分析系统的稳定性。,输入以下MATLAB语句判定上述系统的稳定性:A=2.25-5-1.25-0.5;2.25-4.25-1.25-0.25;0.25-0.5-1.2
23、5-1;1.25-1.75-0.25-0.75;W=diag(1111);V=lyap(A,W);运行结果为V=5.86172.6931-0.76222.35182.69311.7113-0.83021.2974-0.7622-0.83021.2694-0.86232.35181.2974-0.86231.8465,输入以下MATLAB语句判定矩阵V是否正定:delt1=det(V(1,1)delt2=det(V(2,2)delt3=det(V(3,3)delt4=det(V)运行结果为delt1=5.8617det2=1.7113det3=1.2694det4=1.2124,4.2控制系统的
24、时域分析 4.2.1时域分析的一般方法 1控制系统的性能指标控制系统的阶跃响应曲线如图46所示。1)动(暂)态性能指标控制系统的动(暂)态响应性能指标是在零初始条件下,通过系统单位阶跃响应的特征来定义的。典型的动(暂)态响应性能指标有:上升时间r、峰值时间tp、最大超调量p、调整时间ts。上述性能指标是这样定义的:,图46 系统的阶跃响应曲线,(1)上升时间tr:暂态过程中,系统单位阶跃响应第一次到达稳态值的时间称为上升时间。(2)峰值时间tp:单位阶跃响应曲线到达第一个峰值的时间称为峰值时间。(3)最大超调量p:系统阶跃响应最大值ymax和稳态值y()的差值与稳态值v(s)的比值定义为最大超
25、调量,即,(45),最大超调量的数值直接说明了系统的相对稳定性。,(4)调整时间ts:系统输出衰减到一定误差带内,并且不再超出误差带的时间称为调整时间。相对误差带一般取2或5。注意:上述性能指标定义的前提为系统是稳定的。稳定控制系统的单位阶跃响应有衰减振荡和单调变化两种,以上是针对系统阶跃响应曲线在衰减振荡情况下定义的性能指标。若系统单位阶跃响应曲线单调变化,则无峰值时间tp和最大超调量p,调整时间ts定义不变,上升时间tr定义为响应曲线达到稳态值90时的时间,即y(tr)=y()90%。,2)稳态性能指标(稳态误差ess)稳态误差是描述系统稳态性能的一种性能指标,是通常在阶跃函数、斜坡函数或
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab freqa 函数 用法
链接地址:https://www.31ppt.com/p-6511973.html