单输入单输出控制系统的分析.docx

上传人:牧羊曲112 文档编号:5077062 上传时间:2023-06-02 格式:DOCX 页数:31 大小:602.31KB
返回 下载 相关 举报
单输入单输出控制系统的分析.docx_第1页
第1页 / 共31页
单输入单输出控制系统的分析.docx_第2页
第2页 / 共31页
单输入单输出控制系统的分析.docx_第3页
第3页 / 共31页
单输入单输出控制系统的分析.docx_第4页
第4页 / 共31页
单输入单输出控制系统的分析.docx_第5页
第5页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《单输入单输出控制系统的分析.docx》由会员分享,可在线阅读,更多相关《单输入单输出控制系统的分析.docx(31页珍藏版)》请在三一办公上搜索。

1、第3章 单输入单输出控制系统的分析建立系统数学模型的主要目的是为了对系统性能进行分析与设计。对控制系统的分析有 稳态性能和动态性能分析,如系统的稳定性,稳态误差,动态响应性能参数等。其分析方法 主要有时域法和频域法两种。时域分析法是直接在时间域内计算系统的时间响应、分析系统 的稳定性、能控和能观性、动态性能等,这种分析方法的结果比较直观。频域分析法是在系 统受到频率为o的正弦信号激励时,分析系统输出幅值和相位与输入激励之间的关系,进而 得到系统的性能特性。MATLAB控制系统工具箱(Control System Toolbox)对控制系统,尤其是对线性时不变 (Linear Time Inva

2、riant,简称LTI)系统的建模、分析和设计提供了一个完整的解决方案, 也避免了繁杂的编程工作,是线性控制系统分析和设计的高效率的工具。3.1单输入单输出(SISO)控制系统的模型及其转换在得到控制系统各个环节的MATLAB表达之后,通常需要进行串联、并联、反馈连接等处 理方式,将比较复杂的系统化成简单的系统,再进行分析和设计。在控制系统工具箱中提供 了一些函数来支持系统的连接。3.1.1环节的串联连接:在控制系统中,几个环节按照信号传递的方向串联在一起,这几个环节可以等效地转换 成一个环节。如图3.1.1所示。(a)(b)图3.1.1系统的串联连接图3.1.1(a)所示的串联框图可以等效成

3、图3.1.1(b),串联后总的传递函数为每个串联 环节的传递函数的乘积:(3.1.1)G(s)=G(s) G2(s)G (s)= H G.(s)i=1若所有的环节用MATLAB的TF传递函数模型和num,den多项式的形式来表达,即G1(s): sys1; 或 num1,den1; G2(s): sys2; 或 num2,den2;,Gn(s): sysn; 或 numn, denn。系统串联实现的格式:sys=sys1*sys2*sysn或:或:sys=series(sys1,sys2); sys=series(sys,sys3);sys=series(sys,sysn) num,den=s

4、eries(num1,den1,num2,den2); num,den=series(num,den,num3,den3);; num,den=series(num,den,numn,denn)例3.1.1设有3个LTI控制环节,其传递函数分别为:sys1: ; sys2: 户 + 3 ; sys3: (6s+5)/(2s+3)ss2 + s + 1s + 1/2求sys1、sys2和sys3串联连接后的传递函数模型。解:num1=1,1;den1=conv(1,0,1,1,1);sys1=tf(num1,den1);%sys1 的 MATLAB 表达num2=2,3;den2=conv(1,

5、1,1,1);sys2=tf(num2,den2); %sys2的 MATLAB 表达num3=6,5;den3=2,3;sys3=tf(num3,den3);%sys3 的 MATLAB 表达sys=sys1*sys2*sys3%系统串联传递函数运行结果为:Transfer function:12 s3 + 40 s2 + 43 s + 152 s 6 + 9 s 5 + 17 s 4 + 18 s 3 + 11 s 2 + 3 s实际上,所得的sys传递函数结果中,分子、分母的公共因子(s+1 )和(2s+3)没有被约去。 3.1.2环节的并联连接:几个环节并联在一起时,同一个信号输入到各

6、个环节,并转换成相同物理量的信号相加 成为输出信 号。如图 3.1.2(a)所 示。图 3.1.2(a) 所示的并联环 节,可以等效 成图 3.1.2(b) 所示的环节。 并联后总的传 递函数等于各 个环节传递函 数之和:G(s)=G(s) +G2(s)+G (s)num,(3.1.2) 若所有的环节用MATLAB的tf传递函数模型和num,den多项式的形式来表达,即G1(s): sys1, num1, den1; G2(s): sys2, num2, den2;,Gn(s): sysn, numn, denn。系统并联实现的格式:sys=sys1+sys2+sysn或:sys=parall

7、el(sys1,sys2);sys=parallel(sys,sys3);;sys=parallel(sys,sysn) 或:num,den=parallel(num1,den1,num2,den2);num,den=parallel(num,den,num3,den3);; num,den=parallel(num,den,numn,denn);sys=tf(num,den)例3.1.2有3个LTI控制环节,其传递函数分别为:sys1:) ; sys2: :2 + 3 ; sys3=(s+1)/(2s+3)s2 + 2 + 12 + 1T2求sys1、sys2和sys3并联连接后的传递函数模

8、型。解:num1=1,1;den1=conv(1,0,1,1,1);sys1=tf(num1,den1);num2=2,3;den2=conv(1,1,1,1);sys2=tf(num2,den2);num3=1,1;den3=2,3;sys3=tf(num3,den3);sys=sys1+sys2+sys3%系统并联传递函数运行结果为:Transfer function:s 6 + 8 s 5 + 25 s 4 + 41 s 3 + 40 s 2 + 21 s + 32 s 6 + 9 s 5 + 17 s 4 + 18 s 3 + 11 s 2 + 3 s所得的sys传递函数结果中,和环节

9、串连一样分子、分母的公共因子没有被约去。3.1.3反馈连接:在自动控制系统中,反馈 连接的系统框图如图3.1.3所 示。图3.1.3(a)所示的反馈控制 系统可以等效为图3.1.3(b)所示 的控制环节,图3.1.3(b)中,若 特征方程取1 - G(s)H(s),表示 系统为正反馈,在图3.1.3(a)中,+(b)图3.1.3系统的反馈连接(a)H(s)输出的符号应取+号。在负反馈连接方式下:X 0( s) =G(s)X. (s) 一1 + G(s)H(s)(3.1.3)X 0(s)_G (s)X. (s) 一1-G (s) H (s)式中:G(s)前向(正向)通道的传递函数;H(s)反馈通

10、道的传递函数;G (s) H (s)系统的开环传递函数。若用sys表示系统闭环传递函数;sys1表示G(s) ; sys2表示H(s)。系统反馈实现的格式为:sys=feedback(sys1,sys2,sign)sys=feedback(sys1,sys2,-1)sys=feedback(sys1,sys2)sys=feedback(sys1,sys2,1)在正反馈连接方式下:(3.1.4)% sign为系统正负反馈符号 %sign=-1表示负反馈 %省略sign默认为负反馈 %sign=1表示正反馈例3.1.3设一负反馈控制系统如图3.1.1(a)所示,其传递函数分别为:G(s)=仕M H

11、 (s) =O求系统的闭环传递函数模型。解:num1_1,1;den1_conv(1,0,1,1,1);sys1_tf(num1,den1);num2=2,3;den2=conv(1,1,1,1);sys2_tf(num2,den2);sys_feedback(sys1,sys2)%系统闭环传递函数程序执行结果为:Transfer function:sA3 + 3 sA2 + 3 s + 1sA5 + 3 sA4 + 4 sA3 + 5、人2 + 6 s + 3例3.1.4负反馈控制系统如图3.1.3(a)所示,其传递函数分别为:s 2 + 2s + 35(s + 4)sysl: sys2:3

12、s 2 + s + 2s + 3求系统的闭环传递函数模型。解:sys1=tf(1,2,3,3,1,2);sys2=zpk(-4,-3,5);sys=feedback(sys1,sys2,-1)程序执行结果为:Zero/pole/gain:0.125 (s+3) (sA2 + 2s + 3)(s+3.54) (sA2 + 1.46s + 2.331)注意:在本例中,sys1是TF模型,sys2是ZPK模型,所得的最终结果sys是ZPK模型。 这是因为ZPK模型的优先级高于TF模型。在这里介绍一些关于LTI模型优先级的知识。在同时对多个LTI模型进行运算(如加法 运算等)和函数处理(如反馈)时,如

13、果这些LTI模型是用不同类型的LTI模型描述的,假 设第一个模型是用TF模型描述的,第二个模型是用SS模型(状态空间)描述的,那么所得的 结果应该是用什么模型描述的呢?是用TF模型描述呢?还是用SS模型描述?这种LTI模型 的不同类型的冲突,可以用优先级来解决。TF、ZPK、SS、FRD(频率模型)四种模型的优先 级如下:FRDSSZPKTF即ZPK的优先级高于TF,SS的优先级高于ZPK和TF。再换句话讲,在两个或两个以 上的LTI模型的运算当中:要使得结果是SS模型,那么在LTI模型中,应该没有FRD模型,而且至少有一个是SS 模型;要使得结果是ZPK模型,那么在LTI模型中,应该没有FR

14、D、SS模型,而且至少有一 个是ZPK模型;要使得结果是TF模型,那么在运算中,应该使所有的LTI模型都是TF模型。在对不同类型的LTI模型进行运算时,最终结果的类型由优先级决定,在运算之前,所 有不是这种类型的模型都由MATLAB先转换成这种类型。实际上,要得到希望类型的LTI模型,也可以通过函数tf()将最终结果的类型转换成TF 模型;通过函数zpk()将最终结果的类型转换成ZPK模型;通过函数ss()将最终结果的类型 转换成SS()模型。在下一节将会介绍这些内容。在附录2中给出了传递函数化简的程序systf,syszpk=huajian(sys),其程序的主要功能是 将传递函数中相等的零

15、、极点对消。传递函数化简函数由3个函数组成。 systf,syszpk=huajian(sys):主函数,其中 sys 为 TF 模型;l,li,r,ri,f,fi,x,xi=genpai(gen):将传 递函数的分子或分母的根按照零根矩阵、实数根矩阵、复数根矩阵、虚根矩阵予以分类; z,p=duixiao(sumz,nzn,sump,npn):将传递函数的零、极点按照零根、实数零、极点、复数零、 极点、虚根分别进行比较,将相等的零、极点予以对消。化简程序将分别返回名为systf和syszpk 的TF和ZPK模型。3.1.4 模型之间的转换在MATLAB中,模型之间的转换是非常容易的,其控制系

16、统工具箱提供了转换函数。 传递函数模型转换成零极点模型:z,p,k=tf2zp(num,den)%z:零点;p:极点;k:增益零极点模型转换成传递函数模型:num,den=tf2zp(z,p,k)传递函数模型转换成部分分式模型:%num: 分子表达式;den:分母表达式分部分式的形式为:V Ai + K (s)s + B.式中:A,一常数;B,一极点;n 一系统的阶数;K (s)一余式res,poles,k=residue(num,den)res A (常数向量);poles B (极点向量);k 余数向量 部分分式模型转换成传递函数模型:num,den=residue(res,poles,k

17、)例3.1.5设控制系统的零点/极点/增益模型为:(3.1.5)、2.5( s + 0.25)( s + 0.2)G (s)=(s + 0.2162)( s +1.5169 1.0808i)(s +1.5169 +1.0808.)试将零点/极点/增益模型转换为传递函数模型和部分分式模型。解应用模型转换函数编程如下:k=2.5;z=-0.25; 0.2;p=-0.2162,-0.1569-1.0808i,-0.1569+1.0808i;num,den=zp2tf(z,p,k);sys=tf(num,den)res,poles,k=residue(num,den)程序执行结果Transfer fu

18、nction:2.5 sA2 + 1.125 s + 0.125sA3 + 0.53 sA2 + 1.261 s + 0.2579res =1.2506 - 0.0889i1.2506 + 0.0889i-0.0012poles =-0.1569 + 1.0808i-0.1569 - 1.0808i-0.2162k =由执行结果得到传递函数:2.5s 2 + 1.125s + 0.125G (s)=s3 + 0.53s 2 + 1.261s + 0.2579部分分式.=1.2506二 0.0889i + 1.2506 + 0.0889i _ 0.0012口刀刀工: s = s + 0.1569

19、 1.0808. + s + 0.1569 +1.0808. s + 0.21623.2系统的稳态误差设控制系统如图3.1.3(a),则有:位置误差系数:Kp = lim G( s) H (s)(3.2.1)速度误差系数:K = lim sG( s) H (s)v s项(3.2.2)加速度误差系数:Ka = lim s 2 G(s)H (s)(3.2.3)由于MATLAB没有专门用于求系统稳态误差的函数,在附录2中编制程序求出系统的稳 态误差系数,程序由2个函数组成,jixian函数根据输入激励信号的类型,得到相对应的稳 态误差;wucha函数返回稳态误差系数Kp,Kv,Ka的值。H (s)=

20、0.135s + 250例3.2.1设一控制系统前向通道传递函数为G(s),反馈回路传递函数为H(s):G (s)=土0 s (s 2 + 3s +18)试求系统的误差系数Kp、Kv、Ka。解编制程序如下:sys1=tf(1 10,1 3 18 0);sys2=tf(0.135,1 250);sys=sys1*sys2;kp,kv,ka,jienci=wucha(sys)执行程序得到如下结果:系统误差系数Kp =infKv =3.0000e-004Ka =0系统类型是jienci =1从结果中可知,系统为I型,Kv =0.00033.3系统稳定性分析一个线性自动控制系统能够正常工作的前提条件是

21、系统必须是稳定的。系统的稳定性是 指当系统受到干扰的影响时,输出发生一定变化,使系统的平衡状态也发生改变,但是经过 一定的时间,系统能够恢复到原来的平衡状态,这样的系统就是一个稳定的系统。系统稳定 性是自动控制系统自身的一种固有的特性,它仅仅取决于系统的结构参数,与外作用、初始 条件无关。设一个LTI SISO系统的闭环传递函数为:G( s)=(3.3.1)N (s)bmsm + b,m 1sm 1 + b、s + 0D( s)ansn + an1sn1 + qs + a0其中,D(s) = ansn + an1 sn-1 + . + a1 s + a0为系统特征多项式。令D(s)=0,则可得

22、到系统的特征方程。线性系统稳定的充分必要条件是:系统的特征方程的根(即闭环传递函数的极点)全 都是负实数和具有负实部的共轭复数,也就是说,全部极点都在复平面s的左半平面。如果系统所有的闭环极点都在s平面左半部,则系统的暂态分量会逐渐消失为零,在这 种情况下系统是稳定的;如果系统有一对共轭复数极点在s平面的虚轴上,则系统的暂态分 量会作等幅振荡,系统处于临界稳定状态,但实际上,在这种情况下系统是不稳定的;如果 在s平面右半部有系统的闭环极点存在,则系统的暂态分量会逐渐发散,在这种情况下系统 也是不稳定的。因此,采用特征方程法来判别LTI SISO系统的稳定性,就可以解出系统特征方程的所 有的根,

23、再根据上面的方法来判别。以前不借助于计算机,这种方法几乎没有采用过,现在 采用MATLAB软件提供的函数,就可以很容易的达到判别LTI SISO系统的稳定性的目的。例3.3.1设系统的特征方程为:s 4 + 4s3 +10 s 2 + 5s + 6 = 0试判别该系统的稳定性。解利用MATLAB函数roots(c)来求解多项式的根。其中,c是关于多项式系数的向量, 并且按降幂排列。程序为:c=1,4,10,5,6;p=roots(c)执行结果:p =%系统特征方程的所有的根都是具有负实部的共-1.8611 + 2.1849i%轭复数,系统是稳定的。-1.8611 - 2.1849i-0.138

24、9 + 0.8421i-0.1389 - 0.8421i例3.3.2设系统的特征方程为:s 5 +10 s 4 + 8s 3 +17 s 2 + 16s + 5 = 0试判别该系统的稳定性,若系统不稳定,求出系统在S右半平面根的个数。解 利用MATLAB函数roots(c)来求解多项式的根。den=1,10,8,17,16,5;p=roots(den),ii=find(real(p)=0);n=length(ii);%ii:不稳定根在 p 向量中的下标;if(n0),disp(系统不稳定,不稳定的根的个数);n%n:不稳定根在p向量中的下标的个数else,disp( 系统稳定 );end执行结

25、果:p =-9.31810.1791 + 1.2930i0.1791 - 1.2930i-0.5200 + 0.2108i-0.5200 - 0.2108i系统不稳定,不稳定的根的个数n =2例3.3.3设控制系统框图如图3.1.3(a), G(s)= 重丑一,H(s)=工,试判别使该 (s 3 + 5s 2 + 11s)s + 5系统稳定的K的取值范围。 解显然K值应满足大于或等于0的条件,根据自动控制理论,确定系统临界稳定的K 值,也就确定了系统稳定的K的取值范围。编制函数Ijiewding求取系统临界稳定的K值,并在Ijiewding中调用chdihshu 函数求系统的特征根。 Ljie

26、wding函数程序: function K=ljiewding(Gsys,Hsys)%系统临界稳定K值的判定,由函数ljiewding和chdihshu组成。Gsys:前向通道传递函 数;%Hsys:反馈通道传递函数;Gsys、Hsys: TF模型 k=0.0001:1:1000;nn=length(k);%K取值以1为步长,初步判定临界不稳定K的值for i=1:1:800p=chdihshu(Gsys,Hsys,k(i);%当系统增益为k(i)时,求系统特征方程的根向量ii=find(real(p)=0);n=length(ii); if(n0),break,end%若找到K值,退出循环e

27、nd if n=0%若没有找到位于S右半平面的根,则n=0disp(系统稳定K的取值范围为K0); else if k(i)=0.0001%若K=0.0001时,系统不稳定,判定系统不稳定disp(系统在K0取值范围不稳定); else if k(i)=1.0001%若 K=0.0001 时,系统不稳定,在0.001,1.001k=0.0001:0.001:k(i);nn=length(k);%区间搜索使系统临界稳定白弧值for i=1:nn p=chdihshu(Gsys,Hsys,k(i); ii=find(real(p)=0);n=length(ii); if(n0),disp(系统稳定

28、临界值);k(i);break end;endelse%若K0.001时,系统才不稳定,在K-1,K+1k=k(i)-1:0.001:k(i)+1;nn=length(k);%区间搜索使系统临界稳定的K值for i=1:nn p=chdihshu(Gsys,Hsys,k(i); ii=find(real(p)=0);n=length(ii); if(n0),disp(系统稳定临界值);k(i);break end,end end;end;end K=k(i);%返回系统稳定临界值KChdihshu函数程序: function p=chdihshu(Gsys,Hsys,K)%求当系统增益为k(i

29、)时,系统的特征方程的根sys = feedback(K*Gsys,Hsys);%用feedback函数求出系统的闭环传递函数num,den=tfdata(sys,v);p=roots(den);根据题目的要求编制M文件程序:Gsys=tf(1 1,1 5 11 0);Hsys=tf(1,1 5);K=ljiewding(Gsys,Hsys)%调用求取系统临界稳定K值的函数执行结果:K =224.6671则系统稳定的K的取值范围为:0 K 224.6671。3.4 SISO线性控制系统的时域分析所谓时域分析,就是根据控制系统的时域响应来分析系统的稳定性、暂态性能和稳态精 度。时域分析方法是一种

30、直接分析方法,它具有直观和准确的优点,并且可以提供系统时间 响应的所有信息。在没有采用计算机辅助分析时,时域分析方法特别适合对二阶系统的性能 进行分析和计算;对于高阶系统则通常采用根轨迹法或频率法进行分析和计算。但是在采用 了计算机辅助分析之后,时域分析方法可以适合于任意阶的LTI系统。3.4.1 二阶系统的时域分析在控制工程中,不仅二阶系统的典型应用极其普遍,而且许多高阶系统的特性在一定条 件下可用二阶特征来表征,所以对二阶系统的分析仿真,具有较大的实际意义。系统的开环传递函数:G (s) = 一K一(3.4.1),(顽 +1)闭环传递函数:0( s)= K(3.4.2)Tms 2 + s

31、+ K为了使闭环传递函数中(s)的表达具有普遍的意义,将中(s)表示为标准形式:0(s)=四) =虻(3.4.3)R(s) s2 + 2Xs+叫2E ,一 一 1 一一式中顷=jE 自然频率(无阻尼震荡频率);匚= 阻尼比(相对阻尼系数) n E2在MATLAB中,用函数damp直接求出系统每一个极点所对应的n和匚值。命令格式:wn,z,p=damp(sys) %wn:/ z: Z ; P:极点应用命令k=degain(sys)求出系统的直流(D.C.)增益,对于稳定的系统,即求出系统的稳态终值y(8)。通常分析系统采用的典型输入信号有单位阶跃函数,单位脉冲函数,单位斜坡函数,单 位抛物线函数

32、,此外还有正弦函数。要对控制系统进行分析,首先应该选择一个与系统实际 的输入信号比较接近的典型输入信号来作为输入信号。在MATLAB控制系统工具箱中,利用函数step直接求出系统的单位阶跃响应。常用的函数step()的格式为:step(sy)%绘制一个LTI系统(TF, ZPK或SS模型)的单位阶跃响应图,%仿真的持续时间t由MATLAB根据系统的极点和零点自动确定 step(sys, tfinal);%用户指定一个仿真的终止时间tfinal(单位为:秒),tfinal是一个标量step(sys, t);%用户自己定义计算单位阶跃响应时的时间向量t,时间向量t具%有“ t=ti:dt:tf ”

33、形式的语句来设置,其中“ ti”表示起始时 间, % “dt”表示时间间隔,“tf”表示终止时间。不管ti 为何值,MATLAB%总是假定在t=0时,单位阶跃信号开始作用。step(sys1,sys2,sys3,sysN,t);%同时仿真多个LTI系统,一个仿真图里绘%制sys1,sys2,sys3,sysN系统的单位阶跃响应,便于进行对照和%比较。其中,时间向量t是可选择的step(sys1,PlotStyle1,sysN,PlotStyleN);%PlotStyle 为每个系统指定颜色、线形y,t=step(sys);%只计算返回仿真数据:单位阶跃响应的输出值y,时间向量t,%不绘制响应曲

34、线。y和t向量长度相等,且y值与t值一一对应,% 例如t(10)=0.1s,即t=0.1s时,系统响应输出值为y(10)例3.4.1绘制以下二阶系统的单位阶跃响应曲线,并求出系统的n、匚和y(3)的值。G (s)=3s 2 + 1.5s + 3%系统终值y(8)=1图3.4.1单位阶跃响应曲线图%绘制单位阶跃响应图,并加网格%a矩阵按时序输出wn、Z和极点pP-0.7500 + 1.5612i-0.7500 - 1.5612i和y(8)的值。(要求的时间是:解:程序如下:num=3;den=1,1.5,3;G=tf(num,den);%系统的 MATLAB模型grid on; step(G);

35、wn,z,p=damp(G);a=wn,z,pk=dcgain(G)程序执行结果:a =n1.73210.43301.73210.4330k =1单位阶跃响应图形如图3.4.1。在图中若用鼠 标右键点击图形中任意空白处,将出现一个菜 单,在菜单的指导操作下,利用鼠标左键选择 相关的选择项,可以得到上升时间Tr、调节 时间Ts、直流增益k值,同理,也可在图中 得到超调量Mp的值。但要注意,MATLAB所规 定的系统误差带为2%。读者可考虑Z从0.1到1变化时该如何编 程。3.4.2高阶系统的时域分析高阶系统的时域分析与标准二阶系统的 时域分析采用的命令和方法一样。例3.4.2绘制以下系统的单位阶

36、跃响应曲线以及。n、0WtW20(秒):2s 3 + 6 s 2 +14 s +10 G (s)=s 4 + 6 s 3 + 13s 2 + 26 s + 6解:编制程序如下:num=2,6,14,10;den=1,6,13,26,6;G=tf(num,den);%系统的 MATLAB表达time=0:0.1:20;%确定系统采样仿真的时间step(G,time)wn,z,p=damp(G);wnzp=wn,z,pk=dcgain(G)程序执行结果:a =%wnzp矩阵a按列输出n、匚和极点p-0.2609-0.7154 + 2.1969i-0.7154 - 2.1969i-4.3083%系统

37、终值y(8)= 1.66670.26091.00002.31050.30962.31050.30964.30831.0000k =1.6667单位阶跃响应如图3.4.2所示。从wn,z,p矩阵中 看出,极点 p1 = -0.2609 时,匚 1 =1; p2,3 =-0.71542.1969i 时,匚23 = 0.3096; p4 = -4.3083 时, 匚4 = 1;每一个极点与n的关系在wn,z,p矩阵 中也一目了然。为了清楚的在系统单位阶跃响应图显示出 在合适的误差带的情况下,系统的传递函数表达 式和各项时域参数,编写了 2个M函数来达到 目的(程序参见附录2):1) bstep(Bs

38、ys,wcha)2) kstep(Gsys,Hsys,wcha)2个函数中:Bsys系统闭环传递函数Gsys系统前向通道传递函数Hsys系统反馈通道传递函数wcha误差带,如Wcha=0 .05,表示为5%的误差带bstep针对闭环传递函数kstep针对开环传递函数例3.4.3:设某一控制系统的前向通道传递函数和反馈通道传递函数分别为:Gsys=tf(1 3,2 1 0);Hsys=tf(1,2 3);绘出系统的单位阶跃响应图形和显示出系统响应的时域参数,取Wcha=0 .05。解:程序为:Gsys=tf(1 3,2 1 0);Hsys=tf(1,2 3);Bsys=feedback(Gsys

39、,Hsys);wn,z,p=damp(Bsys);wnzp=wn,z,p% wnzp矩阵按顺序输出wn、Z 和极点pkstep(Gsys,Hsys,0.05)调%用kstep函数绘制系统单位阶跃响应图形和显示系统时域参数程序执行结果:wnzp0.67010.2461-0.1649 +0.6495i0.67010.2461-0.16490.6495i1.67011.0000-1.6701图3.4.3误差带为5%时的单位阶跃响应个按键,分别用鼠标点击将显示出有关系统时域响应的性能参数或关闭显示窗口。3.4.3系统单位脉冲和单位斜坡以及任意输入激励响应在MATLAB控制系统工具箱中,利用函数impu

40、lse直接求出系统的单位脉冲响应。常用函数impulse的格式为:impulse(sys);impulse(sys, tfinal);impulse(sys, t);impulse(sys1,sys2,sys3,sysN,t);impulse(sys1,PlotStyle1,sysN,PlotStyleN);y,t=impulse(sys);其中,变量的说明与函数step()完全相同,程序编制参考函数step()的应用。例3.4.4绘制以下系统的单位脉冲响应曲线:G(s)=s 2 + 1.5s + 3 解:程序为:num=6;den=1,1.5,3;G=tf(num,den);grid;imp

41、ulse (G)读者在计算机上自行运行程序,可以得到单位脉冲响应曲线图。MATLAB除了能够求出LTI系统的单位阶跃响应和单位脉冲响应外,还能够计算任意输 入激励的响应。在MATLAB控制系统工具箱中,利用函数lsim可以直接求出系统的任意输 入激励的响应。常用的函数lsim的格式为:lsim(sys, u,t);lsim(sys1,sys2,sys3,sysN,u,t);lsim(sys1,PlotStyle1,,sysN,PlotStyleN,u,t);ys,ts=lsim(sys,u,t);函数lsim中的sys,t的意义和要求与函数step()基本相同,不同的是t必须是向量,t向 量中

42、元素的个数即向量的长度必须与输入激励u的向量长度相等。ys,ts=lsim(sys,u,t)中的yt 与ts和y,t=step(sys)中的y、t的意义相同。u是输入激励,是时间t的函数。例3.4.5已知单位负反馈系统的闭环传递函数为:G (s)=图3.4.4输入5+2t+8t2的系统输出响应曲线图5s + 200.01s3 + 0.5s 2 + 6s + 20当输入信号为u(t)=5+2t+8t2时,求该系统的输 出响应曲线。解:程序为:num=5,20;den=0.01,0.5,6,20;G=tf(num,den);t=0:0.1:20;u=5+2*t+8*t.A2;%注意:t2应写成“2

43、” ,即点运算的形 式lsim (G,u,t); Grid on;程序绘出的图形如图3.4.4,读者再增加1条 语句plot(t,u, 可以判断出系统输出完全跟踪系统的激励信号例3.4.6已知单位负反馈系统的开环传递函数为: G(s) = 100、Linear Simulation Results扁.1s +) f A 1 A 1 A当输入信号为u(t)=3.5sin(2.8t)时,求该系统 1 的输出响应曲线。解:程序为;I。!一一一l一一m一一一num=100;den=conv(1,0,0.1,1);E ,g=tf(num,den);gc=feedback(g,1,-1); _2t=0:0

44、.01:10;u=3.5*sin(2.8*t);j lsim (gc,u,t);grid on4 0246810Time (sec)结果如图3.4.5所示,可见当输入信号为正弦信号时,该闭环系统的输出响应仍是正弦信号。3.5 SISO线性控制系统的根轨迹分析根轨迹是闭环极点在s平面上的运动轨迹。根据根轨迹的绘制规则,绘制出当某个系统 参数从零到无穷变化时,闭环传递函数的特征根在s平面上移动的轨迹,利用根轨迹图,对 LTI系统进行分析和设计。闭环传递函数的极点(即闭环传递函数的特征根)决定了整个系统是否是稳定的;对于由于闭环传递函数的极点在s竺A K*G(s)书停+-G=TJ H(s) 1稳定的

45、系统,闭环传递函数的极点又决定了暂态响应的特性。 平面上的位置,是在设计当中要着重考虑的一个问题,因此 当一个系统参数变化时,掌握这些闭环极点的位置变化是非 常重要的。应用MATLAB控制系统工具箱能够方便的绘出系 统的根轨迹图。函数rlocus()的格式为:rlocus(sys);rlocus(sys,k);r,k= rlocus(sys);%绘制系统k值从0开始变化到8时的sys的根轨迹图%在指定k值向量的条件下,计算并绘制系统sys的根轨迹%结果返回向量r和k,k是系统计算的增益向量,r是对应k%值向量的闭环系统极点向量。只计算数据,不绘制根轨迹图r,k= rlocus(sys,k)%在指定k值向量的条件下,计算并返回r和k向量图3.5.1系统的反馈连接在MATLAB控制系统工具箱中,提供了计算给

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号