1、计算机仿真第二章第2章 控制系统的数学模型及其转换 对被控制系统进行计算机仿真,首先应知道对象的数学模型,然后设计合适的控制器,使被控对象的响应达到预期的性能。2.1 线性系统数学模型的描述1. 传递函数SISO系统一般表示形式:两边Laplace变换,传递函数为(零初始条件): 传递函数的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)对离散时间系统,动态模型以差分方程来描述。采样时刻
2、k的输入信号为u( kT ),输出信号为y( kT ),T为采样周期,则相应的差分方程为:两边Z变换,脉冲传递函数为(零初始条件):脉冲传递函数的MATLAB表示方法:num= h0 h1 hm ; den= 1 g1 g2 gn即两个系数降幂排列向量。2. 零极点增益形式 SISO系统的零极点增益模型:MATLAB表示方法:Z=z1 ; z2 ; ; zm ; P= p1 ; p2 ; ; pn ; K=K对离散系统,零极点增益模型为:MATLAB表示:Z=z1 ; z2 ; ; zn ; P= p1 ; p2 ; ; pn ; K=K3. 状态空间表达式 描述MIMO系统,是一种内部模型。
3、线性定常连续系统的状态空间表达式表示为:式中,矩阵A, B, C, D具有合适的维数。可简记为:。状态方程可由来确定。例2-5 系统的状态空间表达式为解:MATLAB表示:A= 0 0 1; -3/2 2 1/2 ; -3 0 -4B= 1 1 ; -1 -1 ; -1 -3C= 1 0 0 ; 0 1 0D=zeros(2 , 2)对于离散系统,状态空间表达式表示为简记为。2.2 系统数学模型间的相互转换仿真研究中,不同的控制算法需要不同形式的模型。1. 状态空间表达式到传递函数调用格式:num , den=ss2tf(A,B,C,D,iu)iu为输入的代号。对单变量系统iu=1。2. 状态
4、空间表达式到零极点调用格式:Z,P,K=ss2zp(A,B,C,D,iu)iu为输入的代号。对单变量系统iu=1。3. 传递函数到状态空间表达式调用格式:A,B,C,D=tf2ss(num,den)4. 传递函数到零极点调用格式:Z,P,K=tf2zp(num,den)5. 零极点到状态空间表达式调用格式:A,B,C,D=zp2ss(Z,P,K)6. 零极点到传递函数调用格式:num,den=zp2tf(Z,P,K)2.3 系统模型的连接控制系统常常由若干个环节通过串联、并联、反馈的连接方式组合而成。1. 串联连接当系统和如图2-1连接时图2-1 系统的串联连接这时有串联后系统总的状态空间表达
5、式为或 串联后系统总的传递函数为调用格式:A, B, C, D=series( A1, B1, C1, D1, A2, B2, C2, D2 )num, den=series( num1, den1, num2, den2 )其中,( A1, B1, C1, D1 )和( A2, B2, C2, D2 )分别为系统1和系统2的状态空间形式的系数矩阵,(A, B, C, D)为串联连接后的整体状态空间形式的系数矩阵。同样,第二式为传递函数形式。例2-14-1 求下列两系统串联后的系统模型解:MATLAB语句如下num1=3; den1=1 4; num2=2 4; den2=1 2 3;num,
6、den=series(num1,den1,num2,den2)2. 并联连接当系统和如图2-2所示连接时有 图2-2 系统的并联连接这时并联后系统总的状态空间表达式为调用格式: A,B,C,D=parallel( A1, B1, C1, D1, A2, B2, C2, D2 )num, den= parallel ( num1, den1, num2, den2 )解:MATLAB语句如下num1=3; den1=1 4; num2=2 4; den2=1 2 3;num,den=series(num1,den1,num2,den2)3. 反馈连接当系统和如图2-3所示连接时有图2-3 系统的
7、反馈连接系统总的传递函数为反馈连接处理函数feedback()的调用格式: A,B,C,D= feedback ( A1, B1, C1, D1, A2, B2, C2, D2, sign )num, den= feedback ( num1, den1, num2, den2, sign )sign=1正反馈,sign=-1负反馈(默认)。对于单位反馈系统,有专用处理函数:A,B,C,D=cloop( A1, B1, C1, sign )num, den=cloop ( num1, den1, sign )sign=1正反馈,sign=-1负反馈(默认)。例2-16 对于如下两系统求如图2-
8、3所示方式连接时的闭环传递函数。解:MATLAB语句如下num1=2 5 1; den1=1 2 3; num2=5 10; den2=1 10;num,den=feedback(num1,den1,num2,den2)printsys(num,den)2.4 典型系统的生成1. 建立二阶系统模型对于二阶系统模型利用函数ord( )来建立。调用格式: num,den=ord2() A,B,C,D= ord2()分别为无阻尼自然频率和阻尼系数。例2-19 已知,求二阶系统的传递函数。解:MATLAB语句如下num,den=ord2(2.4 , 0.4);printsys(num,den)2. 具
9、有纯时延系统的pad近似两点:(a) 对具有时延T的系统产生n阶Pad逼近:函数调用格式:num, den=pade(T, n)(b) pade(T, n)也是绘图命令:对具有时延T的系统绘制n阶Pad逼近的阶跃响应和频域相位特性并与原时延系统比较。例2-20 计算一个具有0.1s时延系统的n阶Pad逼近,并比较其阶跃响应和频域相位特性。解:MATLAB语句如下num,den=pade(0.1, 3) %取n=3printsys(num,den) pade(0.1, 3) %绘图3. 建立n阶随机稳定的连续系统模型A,B,C,D= rmodel(n) %建立一个单变量n阶稳定连续系统模型A,B
10、,C,D= rmodel(n, m, r) %建立一个r输入m输出的随机n阶稳定模型num,den= rmodel(n) %建立一个单变量系统的随机n阶稳定模型4. 建立n阶随机稳定的离散系统模型G, H, C, D= drmodel(n) %建立一个单变量n阶稳定离散系统模型G, H, C, D= drmodel(n, m, r) %建立一个r输入m输出的随机n阶稳定模型num, den=drmodel(n) %建立一个单变量系统的随机n阶稳定模型2.5系统的离散化和连续化1. 连续系统的离散化已知连续系统的状态空间表达式在采样周期T下离散化后的状态空间表达式为其中, 在MATLAB中,若已
11、知连续系统的状态模型和采样时间T,可利用如下函数求得系统离散化后的系数矩阵G和H。G, H=c2d(A, B, T) %状态空间形式另外,功能更强的函数:G, H, C, D=c2dm(A, B, C, D, T, 选项) %状态空间形式numd, dend=c2dm(num, den, T, 选项) %传递函数形式例2-22 对连续系统在采样周期T=0.1时进行离散化。解:用4种方法离散化K=6; Z=-3; P=-1; -2; -5; T=0.1;A,B,C,D=zp2ss(Z,P,K)G1,H1=c2d(A,B,T)G2,H2,C2,D2=c2dm(A,B,C,D,T, zoh)G3,H
12、3,C3,D3=c2dm(A,B,C,D,T, foh)G4,H4,C4,D4=c2dm(A,B,C,D,T, tustin)2. 离散函数的连续化调用格式:A, B=d2c(G, H, T)A, B, C, D=d2cm(G, H, C, D, T, 选项) % 选项同前3. 离散时间系统重采样调用格式:sys1=d2d(sys, T)在新的采样周期T下,构成新的离散时间系统sys1。上面指令等价于: sys1=c2d( d2c(sys, T) )例2-23 离散时间系统在采样周期T=0.1s时为将以上系统在采样周期T=0.05s时进行重新采样。解:MATLAB语句K=1; Z=0.7; P=0.5; T=0.1;sys=zpk(Z,P,K,T) %显示零极点形式sys1=d2d(sys, 0.05)2.6系统的特征值1. 求系统的阻尼系数和固有频率调用格式:wn, zeta=damp(A)wn自然频率;zeta阻尼系数;A传递函数特征多项式系数(行向量)。例2-24 已知连续系统求系统自然频率和阻尼系数。解:MATLAB语句num=2 5 1; den=1 2 3;wn, zeta=damp(den)2. 求系统的增益调用格式:K=dcgain(num, den)对SISO系统,返回值K是标量。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1