《控制系统数字仿真与cad》第2章控制系统的数学模型及其转换课件

上传人:我*** 文档编号:142234576 上传时间:2020-08-18 格式:PPT 页数:92 大小:558.50KB
返回 下载 相关 举报
《控制系统数字仿真与cad》第2章控制系统的数学模型及其转换课件_第1页
第1页 / 共92页
《控制系统数字仿真与cad》第2章控制系统的数学模型及其转换课件_第2页
第2页 / 共92页
《控制系统数字仿真与cad》第2章控制系统的数学模型及其转换课件_第3页
第3页 / 共92页
《控制系统数字仿真与cad》第2章控制系统的数学模型及其转换课件_第4页
第4页 / 共92页
《控制系统数字仿真与cad》第2章控制系统的数学模型及其转换课件_第5页
第5页 / 共92页
点击查看更多>>
资源描述

《《控制系统数字仿真与cad》第2章控制系统的数学模型及其转换课件》由会员分享,可在线阅读,更多相关《《控制系统数字仿真与cad》第2章控制系统的数学模型及其转换课件(92页珍藏版)》请在金锄头文库上搜索。

1、第二章 控制系统的数学模型及其转换,本章内容 2.1 线性系统数学模型的基本描述方法 2.2 系统数学模型间的相互转换 2.3 系统模型的连接 2.4 典型系统的生成,控制系统计算机仿真是建立在控制系统数学模型基础之上的一门技术。需对系统进行仿真,首先应该知道系统的数学模型,然后才可以在此基础上设计一个合适的控制器,使得原系统的响应达到预期的效果。,2.1 线性系统数学模型的基本描述方法,根据系统数学描述方法的不同,系统可建立不同的数学模型。 2.1.1 传递函数 单入单出系统可用高阶微分方程来表示,其一般形式为:,(2-1),对此系统的微分方程做拉氏变换,则在初始条件为 零时,可得单入单出系

2、统的传递函数为:,传递函数在 MATLAB 下可以方便的由其分子和分母多项式系数所构成的两个向量唯一确定出来。即 num=b0 b1 bm; den=1 a1 a2 an 可见,在这样的表示方法下,分子和分母向量的内容分别是传递函数的分子和分母系数的降幂排列。,例2-1 若给定系统的传递函数为 解 可以将其用下列MATLAB语句表示 num=6 12 6 10;den=1 2 3 1 1; printsys(num,den),执行结果为 num/den=,其中MATLAB的printsys( )函数可按特殊格式打印出状态空间和传递函数表示的系统。 printsys(num,den,s) %显示

3、打印连续系统的传递函数,默认方式; printsys(num,den,z) %显示打印离散系统的脉冲传递函数; printsys(A,B,C,D) %显示打印状态空间形式的系数矩阵; printsys(A,B,C,D,ulabels,ylabels,xlabds) %用ulabels,ylabels,xlabds中指定的符号标记出系统矩阵A,B,C,D。,当传递函数的分子或分母由若干个多项式乘积表示时,它可由MATLAB 提供的多项式乘法运算函数conv( )来处理,以便获得分子和分母多项式向量,此函数的调用格式为 p=conv(p1,p2) 其中 p1和p2分别为由两个多项式系数构成的向量,

4、而p为p1和p2多项式的乘积多项式系数向量。conv( )函数的调用是允许多级嵌套的。,例2-2 若给定系统的传递函数为 解 则可以将其用下列MATLAB语句表示 num=4*conv(1 2,1 6 6) den=conv(1 0,conv(1 1,conv(1 1, conv(1 1,1 3 2 5),对具有r个输入和m 个输出的多变量系统,可把mr的传递函数阵G(s)写成和单变量系统传递函数相类似的形式,即 (2-2) 式中 B0,B1,Bn 均为mr 实常数矩阵,分母多项式为该传递函数阵的特征多项式。 在MATLAB控制系统工具箱中,提供了表示单输入多输出系统的表示方法,即 num=B

5、0 B1 Bn; den=1 a1 a2 an 其中,分子系数包含在矩阵num中,num行数与输出的维数一致,每行对应一个输出,den是行向量, 为传递函数阵公分母多项式系数。,例2-3 对于单输入多输出系统 解 则可将其用下列MATLAB语句表示 num=0 0 3 2;1 0 2 5;den=3 5 2 1; Printsys(num,den) 执行结果为:,num(1)/den= 3s+2 3s3 + 5s2 + 2s + 1,num(2)/den= s3 +2s +5 3s3 + 5s2 + 2s +1,2.1.2 零极点增益形式 单输入单输出系统的零极点模型可表示为 式中 zj(j=

6、1,2,m) 和pi(i=1,2,n) 称为系统的零点和极点,它们既可以为实数又可以为复数,而K称为系统的增益。 在MATLAB下零极点模型可以由增益 K和零、极点所构成的列向量唯一确定出来。即 Z=z1;z2;zm; P=p1;p2;pn;K=K,零极点模型实际上是传递函数模型的另一种表现形式,其原理是分别对原系统传递函数的分子和分母进行分解因式处理,以获得系统的零极点表示形式。系统的增益K即为原传递函数分子的最高项系数与分母最高项系数的比值。 系统的零极点模型可以被直接用来判断系统的稳定性。如果系统的所有极点都位于左半s平面,即Repi0,i=1,2,3,n,则称系统是稳定的,否则称系统是

7、不稳定的。如果稳定系统所有的零点都位于左半s平面,即Rezi0,j=1,2,3,m,则称系统为最小相位系统,否则为非最小相位系统。如果系统的某个零点的值恰好等于其中一个极点的值,则它们之间可以对消,直接获得一个完全等效的低阶系统。,对于单输入多输出系统,列向量P中储存为系统的极点;零点储存在矩阵Z的列中, Z的列数等于输出向量的维数,每列对应一个输出,对应增益则在列向量K中。 因此,系统的零极点模型在MATLAB命令中可用一个增益向量、零点向量和极点向量来唯一确定。,【例24】已知单入双出系统的零极点模型,解: 可将其用下列MATLAB语句表示: K=3;4,Z=-12 -1; inf -2,

8、P=-3;-4;-5 在此多输出系统中,第一分子比第二分子阶次低,因此,要使用inf来将第一分子在无穷远处拓展一个零点,使之与第二分子阶次相同。,MATLAB工具箱中的函数 poly( ) 和roots( ) 可用来实现多项式和零极点间的转换,例如在命令窗口中进行如下操作可实现互相转换。 P=1 3 5 2; R=roots(P),P1poly(R) 结果显示: R= -1.2267+1.4677i -1.2267-1.4677i -0.5466 P1= 1.0000 3.0000 5.0000 2.0000,2.1.3 部分分式形式 传递函数也可表示成部分分式或留数形式,即 (2-8) 式中

9、 pi(i=1,2,n)为该系统的n个极点,与零极点形式的n个极点是一致的,ri (i=1,2,n) 是对应各极点的留数;h(s)则表示传递函数分子多项式除以分母多项式的余式,若分子多项式阶次与分母多项式相等,h(s)为标量;若分子多项式阶次小于分母多项式,该项不存在。 在MATLAB下它也可由系统的极点、留数和余式系数所构成的向量唯一确定出来,即 P=p1;p2;pn;R=r1;r2;rn;H=h0 h1 h(m-n),因此,系统的部分分式模型在MATLAB命令下可用一个极点向量、留数向量和余式系数向量来唯一确定。 2.1.4 状态空间表达式 状态空间表达式是描述控制系统的一种常用方式。对多

10、入多出(MIMO)系统而言,状态空间表达式是唯一方便的模型描述方法。由于它是基于系统的不可见的状态变量,所以又称为系统的内部模型。传递函数和微分方程都只描述了系统输入与输出之间的关系,而没有描述系统内部的情况,所以这些模型称为外部模型。从仿真的角度来看,为在计算机上对系统的数学模型进行试验,就要在计算机上复现(实现)这个系统,有时,仅仅复现输入量及输出量是不够的,还必须复现系统的内部变量状态变量。,设线性定常连续系统的状态空间表达式为 (2-9) 式中 A:nn;B:nr;C:mn;D:mr 如果传递函数(阵)各元素为严格真有理分式,则D0,此时上式可写为 (2-10) 它们可分别简记为(A,

11、B,C,D) 和 (A,B,C) 。因此,系统的状态方程在MATLAB下可以用一个矩阵组(A,B,C,D) 或 (A,B,C)来唯一确定。,例2-5 设系统的状态空间表达式为 解 此系统可由下面的MATLAB语句唯一地表示出来 A=0 0 1;-3/2 -2 -1/2;-3 0 -4; B=1 1;-1 -1;-1 -3;C=1 0 0;0 1 0; D=zeros(2,2);,课后作业: 书p95,21,22.,2.2 系统数学模型间的相互转换,在系统仿真研究中,在一些场合下需要用到系统的一种模型,而在另一种场合下可能又需要系统的另外一种模型,而这些模型之间又有某种内在的等效关系,所以了解由

12、一种模型到另外一种模型的转换方法也是很必要的。 传递函数模型、零极点增益模型和状态空间模型之间模型转换函数如图所示:,传递函数tf,状态空间ss,零极点zpk,tf2ss,ss2tf,ss2zp,zp2ss,tf2zp,zp2tf,图21 传递函数模型、零极点增益模型和状态空间模型 之间模型转换函数关系,在MATLAB控制系统工具箱中提供了大量的控制模型 相互转换的函数,如表21所示。,表2-1 模型转换函数,2.2.1 状态空间表达式到传递函数的转换 系统的状态空间表达式为 (2-9) 式中 A:nn;B:nr;C:mn;D:mr 则系统的传递函数可表示为: 式中,B0, B1,, Bm均为

13、mr实常数矩阵。,在MATLAB控制系统工具箱中,给出一个根据状态空间表达式求取系统传递函数的函数ss2tf( ),其调用格式为 num,den=ss2tf(A,B,C,D,iu). 其中, A,B,C,D为状态空间形式的各系数矩阵,iu为输入的代号,即用来指定第几个输入,对于单变量系统iu=1,对多变量系统,不能用此函数一次地求出对所有输入信号的整个传递函数阵。而必须对各个输入信号逐个地求取传递函数子矩阵,最后获得整个的传递函数矩阵。返回结果den为传递函数分母多项式按s 降幂排列的系数;传递函数分子系数则包含在矩阵num中,num的行数与输出y的维数一致,每行对应一个输出。,例2-6 对于

14、例2-5中给出的多变量系统,可以由下面的命令分别对各个输入信号求取传递函数向量,然后求出这个传递函数阵。 解 利用下列MATLAB语句 num1,den1=ss2tf(A,B,C,D,1), num2,den2=ss2tf(A,B,C,D,2) 结果显示: num1= 0 1.0000 5.0000 6.0000 0 -1.0000 -5.0000 -6.0000 den1= 1 6 11 6,num2= 0 1.0000 3.0000 2.0000 0 -1.0000 -4.0000 -3.0000 den2= 1 6 11 6 则可得系统的传递函数阵,2.2.2 状态空间形式到零极点形式的

15、转换 MATLAB函数ss2zp( )的调用格式为 Z,P,K=ss2zp(A,B,C,D,iu) 其中 A,B,C,D为状态空间形式的各系数矩阵;iu为输入的代号。对于单变量系统iu1,对于多变量系统iu表示要求的输入序号,返回量列矩阵P储存传递函数的极点,而零点储存在矩阵Z中,Z的列数等于输出y的维数,每列对应一个输出,对应增益则在列向量K中。,【例27】对于例25中给出的状态空间表达式,试根据以上函数求取系统的传递函数矩阵。 解 利用下列MATLAB语句表示 Z1,P1,K1=ss2zp(A,B,C,D,1), Z2,P2,K2=ss2zp(A,B,C,D,2) 结果显示 Z1 3.0000 2.0000 2.0000 3.0000 P1 2 1 3,K1 1 1 Z2 1.0000 3.0000 2.0000 1.0000 P2 2 1 3 K2 1 1,从而可求得系统的传递函数矩阵为:,2.2.3 传递函数到状态空间表达式的转换 如果已知系统的传递函数模型,求取系统状态空间表达式的过程又称为系统的实现。由于状态变量可以任意地选取,所以实现的方法并不是唯一的,这里只介绍一种比较常用的实现方法。 对于单输入多输出系统,适当地选择系统的状态变量,则系统的状态空间表达式可以写成

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号