您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > 4.MATLAB控制系统的计算机辅助分析和设计(4)
控制系统的计算机辅助分析系统仿真与MATLAB稳定性分析系统稳定性的重要性•是系统特性研究中最重要的指标,是分析其他性能的前提•如果系统不稳定,系统则不能直接应用,需要引入控制器使得系统稳定理论基础•稳定性的数学定义是李雅普诺夫于1892年提出的,经典控制理论中的系统稳定实质是指李雅普诺夫意义下的渐近稳定。即受到扰动影响,控制系统将偏离平衡状态,如果扰动消除后,系统能够回复到原来的平衡状态,就称系统平衡状态是渐近稳定的。•线性定常连续系统稳定的充要条件是:所有的闭环极点都位于复平面的左半部。线性定常离散控制系统稳定的充要条件是:所有的闭环极点均位于复平面上以坐标原点为圆心的单位圆以内。因此判断系统稳定性的最直接的方法是求出系统全部的闭环极点,根据闭环极点在复平面上的位置判别系统的稳定性稳定性分析稳定性分析方法•p=eig(G)其中p返回线性定常系统的全部特征根,无论系统的模型G是传递函数、状态方程亦或是零极点模型。连续线性系统稳定的前提条件是全部特征根的实部均为负数•pzmap(G)用图形的方式绘制出系统所有特征根在s-复平面上的位置。系统稳定的前提条件是系统的所有极点在s-复平面上均位于虚轴左侧•pole(G),zero(G)已定义的系统G的极点和零点稳定性分析例5-1判断下面单位负反馈系统的稳定性num1=30;den1=[0.5,1];G1=tf(num1,den1);%环节1的数学模型num2=[0.2,0.4];den2=[0.25,1,0];G2=tf(num2,den2);%环节2的数学模型G=G1*G2;%总系统开环传递函数GC=feedback(G,1);%总系统闭环传递函数pzmap(GC);%绘制零极点分布图p=eig(GC);%求取系统的闭环极点flag=find(real(p)0);%寻找p中闭环极点实部小于0的元素的位置m=length(flag);if(m0)disp('Thesystemisunstable');elsedisp('Thesystemisstable');end300.51s0.2(2)(0.251)sss线性系统的数字仿真时域响应性能指标•两个基本要求:对设定值输入的跟踪、对扰动输入的抑制•三个衡量标准:跟踪和抑制过程的稳定性、快速性和准确性响应分析类型•阶跃响应•脉冲响应•任意输入下的响应线性系统的数字仿真线性系统的阶跃响应指标•稳态值:系统在时间很大时的系统输出极限值•超调量:系统的峰值与稳态值之间的差距•上升时间:阶跃响应从稳态值的10%到90%所需的时间•调节时间:阶跃响应进入稳态值附近一个带(2%或者5%)后不再出来所需要的时间024681000.51线性系统的数字仿真阶跃响应的实现•阶跃响应函数step()step(G)%自动绘制阶跃响应曲线,不返回变量[y,t]=step(G)%自动选择时间变量,进行阶跃响应分析[y,t]=step(G,tf)%设置系统的终止响应时间tf进行阶跃响应分析y=step(G,t)%自定义时间向量t,进行阶跃响应分析step(G1,'r--*',G2,'b-o')%同时绘制多个系统的阶跃响应曲线在MATLAB自动绘制的阶跃响应曲线中,点击鼠标右键会弹出一个菜单,选择Characteristic菜单项,可以用于分析系统的响应峰值、超调量、上升时间、调节时间、稳态值等常用的指标脉冲响应的实现•脉冲响应函数impulse()线性系统的数字仿真例5-2典型二阶系统的传递函数为,其中为无阻尼振荡频率,是阻尼系数。要求绘制当,分别为2、4、6、8、10时系统的单位阶跃响应曲线。kexi=0.5;s=tf('s');forw=2:2:10G=w^2/(s^2+2*kexi*w*s+w^2);step(G);holdon;endlegend('w=2','w=4','w=6','w=8','w=10');holdoff;222()2Gssswxww=++wx0.5x=w012345600.20.40.60.811.21.4StepResponseTime(sec)Amplitudew=2w=4w=6w=8w=10线性系统的数字仿真例5-3绘制下述二阶状态空间空间的阶跃响应曲线A=[-0.5572-0.7814;0.78140];B=[1-1;02];C=[1.96916.4493];G=ss(A,B,C,0);step(G);()1122120.55720.7814110.78140021.96916.4493xuxuxyx---骣骣骣骣鼢鼢珑珑=+鼢鼢珑珑鼢鼢珑珑桫桫桫桫骣÷ç=÷ç÷ç桫&&0510152025-4-2024681012From:In(1)0510152025From:In(2)StepResponseTime(sec)Amplitude线性系统的数字仿真例5-4已知控制系统传递函数为,分别利用脉冲响应函数法和拉普拉斯法绘制系统的脉冲响应曲线拉普拉斯法,即求Φ(s)的逆变换symss;y=ilaplace(1*(25/(s^2+2*s+25)))%laplace逆变换y=(25*6^(1/2)*sin(2*6^(1/2)*t))/(12*exp(t))t=[0:0.01:5];y=-25/96*(-96)^(1/2)*(exp((-1+1/2*(-96)^(1/2))*t)-exp((-1-1/2*(-96)^(1/2))*t));plot(t,y,'r--o');holdon;num=[25];den=[1225];g=tf(num,den);impulse(g);legend('ilaplace','impulse');holdoff;225()225sss0123456-2-101234ImpulseResponseTime(sec)Amplitudeilaplaceimpulse线性系统的数字仿真任意输入下系统的响应•情况一当输入信号的Laplace变换R(s)可以表示成为有理函数的形式,则输出信号可以写成Y(s)=G(s)R(s),这样系统的时域响应可以由Y(s)的脉冲响应函数impulse()直接绘制出来•情况二当输入信号由其他数学函数描述,或者输入信号的数学模型未知,则需要调用lsim(G,u,t)来绘制系统响应曲线。其中G为系统模型,u和t用于描述输入信号,u中的点对应于各个时间点处的输入信号的值,若研究多变量系统,则u应当是一个矩阵,每一列对应一个变量,各行对应于t向量各个时刻的各路输入的值线性系统的数字仿真例5-4对二阶系统,绘制周期为4s的方波输出响应[u,t]=gensig('square',4,10,0.1);H=[tf([251],[123]);tf([1-1],[115])]lsim(H,u,t);22225123()15ssssHssss骣++÷ç÷ç÷ç++÷ç=÷ç÷ç÷-ç÷÷ç÷ç桫++-2-10123To:Out(1)012345678910-1-0.500.51To:Out(2)LinearSimulationResultsTime(sec)Amplitude线性系统的数字仿真例5-5已知单位反馈控制系统,输入为u(t),输出为y(t),系统的开环传递函数为,求系统的闭环传递函数。在同一个坐标系中绘制输入信号为u1(t)=1+0.2sin(4t)和u2(t)=0.3t+0.3sin(5t)时,系统的时域响应曲线y1(t)和y2(t)g_openloop=tf([25],[140]);g_cloop=feedback(g,1);printsys(num,den);t=0:0.01:5;u1=1+0.2*sin(4*t);u2=0.3*t+0.3*sin(5*t);y1=lsim(num,den,u1,t);y2=lsim(num,den,u2,t);plot(t,y1,t,y2);legend('y1','y2');25()(4)Gsss系统的根轨迹分析根轨迹方法概述•闭环系统瞬态响应的基本性能由闭环极点在s平面上的分布确定,闭环极点就是特征方程的根•1948年,Evans提出了确定系统特征方程根的根轨迹法,它是一种表示特征方程的根与某一参数的全部数值关系的图解方法,它是根据系统的开环零极点分布,用作图的方法简便地确定闭环系统的特征根与系统参数的关系,进而对系统的特性进行定性分析和定量计算•所谓根轨迹就是系统的某个参数连续变化时,闭环特征根在复平面上画出的轨迹,如果这个参数是开环增益,在根轨迹上就可以根据已知的开环增益找到相应的闭环特征根,也可以根据期望的闭环特征根确定开环增益系统根轨迹分析根轨迹方程•如图所示的反馈控制系统,我们假定,前向通道传递函数为G(s),反馈通道传递函数为H(s),系统开环传递函数为G(s)·H(s),系统闭环传递函数为G(s)/[1+G(s)·H(s)],系统闭环特征方程的根满足1+G(s)·H(s)=0,即:上式即系统的根轨迹方程,其中K*是系统根轨迹增益,与系统开环增益K(前向通道增益)成正比;zj和pi分别是开环传递函数的零点和极点•根轨迹在上面的叙述框架下就是在K*连续变化的过程中绘制系统零极点分布变化的情况1*1()1()mjjniiszKsp==-?--ÕÕG(s)H(s)-R(s)Y(s)系统的根轨迹分析MATLAB根轨迹绘制函数rlocus(sys)绘制开环SISO模型sys随增益k变化的的根轨迹图,系统将自动生成增益向量k。例如下面三种情况下,系统的开环传递函数分别为:sys=Gsys=C·Gsys=G·Frlocus(sys,k)根据用户指定的增益向量k绘制根轨迹r=rlocus(sys,k)不在屏幕上直接绘出系统的根轨迹图,而根据开环增益变化矢量k,返回闭环系统特征方程1+k*sys=0的根r,它有length(k)行,每行对应某个k值时的所有闭环极点。或者同时返回k与r。[r,k]=rlocus(sys)系统自动生成开环增益向量k,并且计算相应的根rGk-GF-kGk-C系统根轨迹分析例5-6已知单位反馈系统开环传递函数,求K*从0→∞变化时,系统闭环根轨迹。系统闭环特征方程:s2+8s+K*=0当K*从0到无穷变化时,两根在根平面上的轨迹是两条连续曲线,即系统闭环根轨迹,绘制该根轨迹的MATLAB指令为:num=[1];den=[180];G=tf(num,den);rlocus(G)*()(8)KGsss=+*1416sK=-+-*2416sK=---00→161616→∞∞00→-4-4-4+j∞-8-8→-4-4-4-j∞*416jK-+-*416jK---系统根轨迹分析系统根轨迹提供的信息:(1)K*从0→∞变化,根轨迹不会进入右半平面。即:无论如何该系统是稳定的;(2)K*16,根轨迹进入复平面。即:此时系统阶跃响应会振荡(ωd不为零);K*越大振荡越厉害(ζ小)、振荡频率越高(ωd大)(3)K*=16时系统阶跃响应临界振荡RootLocusRealAxisImaginaryAxis-9-8-7-6-5-4-3-2-101-5-4-3-2-1012345系统根轨迹分析例5-7设一单位反馈控制系统开环传递函数为试绘制该系统的根轨迹。num=[1];den=[conv([13],[122])0];g=tf(num,den);rlocus(g);*2()(3)(22)KGsssss=+++-8-6-4-20246-8-6-4-202468RootLocusRealAxisImaginaryAxis系统根轨迹分析计算给定一组根的根增益[k,p]=rlocfind(sys)本函数允许用户求取根轨迹上指定点的开环根轨迹增益值,并将该增益下所有的闭环极点显示出来。当这个函数启动起来之后,在图形窗口上出现要求用户使用鼠标定位的提示,这时用户用鼠标点击根轨迹上所要求的点后,将返回一个k值,同时返回该k值下的所有闭环极点p的值,并将此闭环极点直接在根轨道曲线上显示出来。系统根轨迹分析
本文标题:4.MATLAB控制系统的计算机辅助分析和设计(4)
链接地址:https://www.777doc.com/doc-4179736 .html