《系统模型及转换.ppt》由会员分享,可在线阅读,更多相关《系统模型及转换.ppt(43页珍藏版)》请在三一办公上搜索。
1、第三章 系统模型及转换,控制系统的数学模型对于控制系统的研究具有重要的意义。因此,首先应建立系统的数学模型,在此模型的基础上建立系统的仿真模型,然后进行仿真,分析研究系统,并设计出相应的控制器对系统进行控制,使系统响应达到预期目标。最常用的模型:传递函数模型(系统的外部模型)、状态方程模型(系统的内部模型)、零极点模型、部分分式模型。不同的场合应用不同的模型进行分析。,3.1 系统分类 1按有无反馈分类(1)开环系统系统的输出端和输入端之间无反馈回路。(2)闭环系统系统的输出端和输入端之间有反馈回路。2按系统中参数变化是否连续分类(1)连续系统系统中状态随时间连续变化。(2)离散系统系统的状态
2、变化只在离散时刻点上发生。,3按系统是否为线性分类(1)线性系统用线性微分方程描述的系统。(2)非线性系统用非线性微分方程描述的系统。4按系统变量是否随时间变化分类(1)时变系统系统参数随时间变化的系统。(2)时不变系统系统参数不随时间变化的系统。5按系统参数分布规律来分类(1)集中参数系统。(2)分布参数系统。6按系统是否确定分类(1)确定型系统。(2)随机型系统。,在线性系统中,常用的数学模型有微分方程模型、传递函数模型、状态空间模型以及零极点模型等。在一些场合下需要用到其中一种模型,而在其他场合则可能又需要其他模型,所以掌握模型间的转换显得很有必要。3.2.1 系统的时域模型 连续时间系
3、统用微分方程描述。对于单输入单输出(SISO)系统数学模型的一般形式为:,3.2 系统数学模型及转换,其中,y和u分别为系统的输出与输入,ai和bi分别表示输出和输入各导数项系数。,离散时间系统用差分方程描述。对于单输入单输出的系统系统模型的一般形式为:,其中,y和u分别为系统的输出和输入,gi和fi分别为输出、输入各项系数。若连续和离散系统的输入和输出各项系数为常数,则它们所描述的系统称为线性时不变系统(LTI)。MATLAB控制工具箱对LTI线性时不变系统的建模分析和设计提供大量完善的工具函数。微分方程和差分方程仅是描述系统动态特性的基本形式,经过变换可得到系统数学模型的其他形式:传递函数
4、、零极点、状态空间等。,3.2.2 系统的传递函数模型,传递函数是经典控制论描述系统数学模型的一种方法,它表达了系统输入量和输出量之间的关系。它只和系统本身的结构、特性和参数有关,而与输入量的变化无关。传递函数是研究线性系统动态响应和性能的重要工具。对于一个SISO连续系统,系统相应的微分方程作Laplace变换,则该连续系统的传递函数为 在MATLAB中,用函数TF可以建立一个连续系统传递函数模型,其调用格式为:systf(num,den)其中,num为传递函数分子系数向量,den为传递函数分母系数向量。,若系统的输入和输出量不是一个,而是多个,则称为多输入多输出系统(MIMO)。和SISO
5、系统类似,MIMO系统的数学模型形式也有微分方程、传递函数、矩阵状态空间和零极点。对于SISO离散时间系统进行Z变换,则可得到该离散系统的脉冲传递函数(或Z传递函数),其中,对线性时不变离散系统来讲,式中fi和gi均为常数。MATLAB中,可用函数TF建立系统传递函数模型,格式为 systf(num,den,Ts)其中,num为Z传递函数分子系数向量,den为Z传递函数分母系数向量,Ts为采样周期。,传递函数模型形式用于SISO系统建模非常方便,也可用它来描述多输入多输出(MIMO)系统,MATLAB提供用传递函数矩阵表达多输入输出(MIMO)系统模型。,3.2.3 系统的状态空间模型,状态方
6、程是现代控制理论描述系统模型的一种形式。一个连续LTI系统可以采用状态空间形式来表达:式中,X为状态向量,U为输入向量,Y为输出向量,A为系统矩阵,B为输入矩阵,C为输出矩阵,D为直接传递矩阵。MATLAB中,用函数SS可以建立一个连续系统状态空间模型,调用格式为:sysss(A,B,C,D)其中,A,B,C,D为系统状态方程系数矩阵。,对于离散时间系统来讲,状态空间模型可以写成 X(k十1)FX(k)GU(k)Y(k+1)CX(k+1)十DU(k+1)在MATLAB中,用函数SS也可以建立一个离散时间系统的传递函数模型,其调用格式为 sysss(F,G,C,D,Ts)其中,F,G,C,D为离
7、散系统状态方程系数矩阵;Ts为采样周期。,零极点模型实际上是传递函数模型的另一种形式,其方法是对原系统传递函数的分子和分母多项式分解,以获得系统的零极点表达形式。对于SISO连续系统,其零极点模型为 式中,zi(i=1,2,m)和Pj(j=1,2,n)分别为系统的零点和极点,K为系统增益。在MATLAB中,可以用函数ZPK来直接建立连续系统的零极点增益模型,其调用格式为:syszpk(Z,P,K)其中,Z,P,K分别为系统的零点向量、极点向量和增益。,3.2.4 系统的零极点增益模型,对于离散时间系统,也可以用函数ZPK建守零极点增益模型,调用格式为:syszpk(Z,P,K,Ts)其中,Ts
8、为采样周期:同时,MATLAB提供多项式求根函数ROOTS来求系统的零极点,调用格式为:Zroots(num)或 Proots(den)其中,num、den分别为传递函数模型的分子和分母多项式系数向量。对MIMO系统,函数ZPK也可建立其零极点增益模型,调用格式和SIS()系统相同,但Z,P,K不再是一维向量,而是矩阵。,3.2.5 系统的模型转换,对于连续的LTI系统,其状态空间可模型拉氏变换可得对应的传递函数模型为:因此当系统的状态空间模型(A,B,C,D),经矩阵运算,可求得系统传递函数G(s)。MATLAB中,函数SS自动完成上面运算。对于离散LTI系统,其状态空间模型由Z变换可得对应
9、的传递函数模型为:因此当系统的状态空间模型(A,B,C,D),经矩阵运算,可求得系统Z传递函数G(z)。MATLAB中,函数SS自动完成上面运算。由上式所求得的传递函数模型为分子分母多项式形式,还可进步变换得其零极点增益模型。,传递函数模型和零极点增益模型的相互转换是十分明显的。由传递函数分子分母多项式模型转换为零极点增益模型只需分别求分子分母多项式的根及增益K即可。MATLAB中,除了函数ZPK外,还可利用函数ROOTS求零点和极点。由零极点增益模型求传递函数分子分母多项式形式,只须将分子和分母分别展开,在MATLAB中,除函数TF外,还可利用多项式乘法函数(卷积)CONV。由传递函数模型求
10、状态空间模型时,应注意到这种转换不是唯一的,传递函数只描述系统输入和输出关系,被称为系统的外部描述形式,而状态空间表达式描述系统输入、输出和状态之间关系,被称为系统的内部描述形式。由传递函数求状态空间表达式时,若状态变量选择不同,状态空间形式也不同。由传递函数模型求取系统状态空间模型的过程又称为系统状态空间实现。系统实现不是唯一的。,MATLAB提供了十分简单的模型转换方式。函数tf,zpk,ss不仅用于系统模型建立,也可用于模型形式之间的转换。,Newsystf(sys)可将非传递函数形式的系统模型sys转换成传递函数模型Newsys;Newsyszpk(sys)可将非零极点增益形式的系统模
11、型sys转换成零极点增益模型Newsys;Newsysss(sys)可将非状态空间形式的系统模型sys转换成状态空间模型。,3.2.6 系统模型参数的获取,在系统分析中,不仅需要知道建立的系统模型的参数值,而且要实现运算、赋值等操作,因此要获取模型参数的数值。为此,MATLAB提供了专用函数TFDATA,ZPKDATA和SSDATA。对于连续时间系统,调用格式为 num,dentfdata(sys,v)z,p,kzpkdata(sys,v)A,B,C,D=ssdata(sys)对于离散时间系统,调用格式为 num,den,Tstfdata(sys,v)z,p,k,T3zpkdata(sys,v
12、)A,B,C,D,Tsssdata(sys)函数左边输出项为各项模型相应数据,v表示返回的数据行向量只适用单输入单输出系统。,3.2.7 时间延迟系统建模,SISO连续时间系统中,若输入有时间延迟,状态空间表达式:,相对应的传递函数为,MIMO连续时间系统,若输入/输出间存在时间延迟,则:,建立具有时间延迟的系统模型有两种方法:(1)用函数TF、ZPK或SS建模并同时给模型时间延迟属性IoDelayMatrix、InputDelay、OutputDelay赋值。(2)先用函数TF、ZPK或SS建模,再用SET命令给模型时间延迟属性赋值。,3.2.8 模型属性设置和获取,在MATLAB中,用函数
13、TF、ZPK和SS生成的系统称为对象,每个模型,即每个对象都有属性,并可通过函数SET设置模型属性值和函数GET获取模型属性值。各种形式的模型除自身特有属性外,还有通用属性。LTI模型通用属性如表3-1所示。不同模型的特有属性如表3-2所示。,模型属性设置可用函数SET,调用格式为 set(sys,Property1,Value1,Property2,Value2,)其中,Property为属性,Value为属性值。,模型属性设置还可直接用建模函数TF、ZPK和SS,调用格式为 systf(hum,den,Property,Value,)syszpk(Z,P,K,Property,Value,
14、)sysss(A,B,C,D,Property,Value,),模型属性的获取可用函数GET,调用格式为 get(sys)或 Valueget(sys,Property Name),3.3 系统模型的连接,一个系统是由许多环节或子系统按一定方式连接起来组合而成,它们之间连接方式有串联、并联、反馈、附加等。MATLAB提供了模型连接函数。3.3.1 模型串联 函数SERIES用于两个线性模型串联,调用格式为 sysseries(sys1,sys2)其中,sys1,sys2和sys如图3.1所示。,图3.1 SISO模型,该函数的执行结果等价于模型算术运算式:syssys1*sys2。,对于MIM
15、O系统,函数SERIES的调用格式为:sysseries(sys1,sys2,outputs1,inputs2)函数执行系统sys1和系统sys2串联时,将系统sys1的输出端1和系统sys2的输入端2连接,如图3.2所示。系统端口名称可用函数SET设置。,图3.2 MIMO模型串联,3.3.2 模型并联,函数PARALLEL用于两个模型并联,调用格式为:sysparallel(sys1,sys2)其中,sys1,sys2和sys如图3.3所示。,图3.3 SISO模型并联,该函数执行结果等价于模型算术运算式:syssys1+Sys2,对于MIMO系统,函数PARALLEL的调用格式为:sys
16、parallel(sys1,sys2,IN1,IN2,OUT1,OUT2)函数执行系统sys1和sys2并联时,将sys1的输入端IN1和sys2的输入端IN2连接,sys1的输出端OUT1和sys2的输出端OUT2连接,如图3.4所示。,图3.4 MIMO模型并联,3.3.3 反馈连接,函数FEEDBACK用于模型的反馈连接,调用格式为 sys=feedback(sys1,sys2,sign)其中,sys,sys1和sys2如图3.5所示,当采用负反馈时,sign=1且可缺省;当采用正反馈时,sign=+1。,图3.5 系统反馈连接,sysfeedback(sys1,sys2,FEEDIN,
17、FEEDOUT,sign)函数执行反馈连接时,将sys2输出端FEEDOUT反馈直接至sys1的输入端FEEDIN,如图3.6所示。,图3.6 MIMO系统反馈连接,3.3.4 系统扩展,系统扩展就是把两个或多个子系统组合成一个系统组。MATLAB提供系统扩展的函数APPEND,调用格式为:sysappend(sys1,sys2,)其中,sys1,sys2,如图3.7所示。,图3.7 系统扩展,若sys1,sys2,是用传递函数形式描述,则,若sys1和sys2用状态空间形式描述,则sys为,3.4 状态空间模型实现,3.4.1 状态空间标准形式,根据状态空间表达式的形式不同,系统状态空间实现
18、可分为:能控标准型实现,能观标准型实现,对角线标准型实现,约旦标准型实现。1能控标准型实现 先讨论传递函数无零点的情况,即,该传递函数对应的微分方程为,这是n阶微分方程,其独立的状态变量数为n。设状态变量为,则改写为n个一阶微分方程组为:,和,状态空间表达式为,式中,,称为能控标准型。,若设状态变量,转换为状态空间表达式为,这是能控标准型的另一种形式。,若传递函数有零点,且系统分子的阶数比分母要低,设传函:,令,则,由传函模型转换为能控标准型状态空间模型只需根据式中矩阵A,B,C的特征直接将传函分子分母多项式对应的系数写入即可。若传函为零极点增益形式将其展开变为分子分母多项式形式,即可将零极点
19、增益模型转变为状态空间模型。,2能观标准型实现,若系统系统能观标准型的状态空间表达式为:,可见,由传递函数模型转换为能观标准型状态空间模型只需根据式中矩阵A,B,C的特征直接将传递函数分子分母多项式对应的系数写入即可。,3对角线标准型实现,设系统传函分母有n个不相同实极点,分别为入1,入n,则,式中,C为和实极点人对应的留数。令状态变量,则,两边进行拉氏反变换可得,得,两边进行拉氏反变换可得,则,上式就是所求的状态空间模型,A矩阵是对角线矩阵,若系统含有共轭复极点,则其极点实部和虚部以22模块形式位于对角线上。,4约旦标准型实现,设系统传递函数分母在n个实极点中有重极点。现设入1是G(s)的一
20、个r重极点。用部分分式展开,则有:,这里,矩阵A为约旦标准型。,在MATLAB中直接用于状态空间实现函数除函数SS,TF2SS,ZP2SS外,还有CANON。函数TF2SS由传递函数生成一个能控标准型状态空间模型。函数CANON生成一个约旦标准型状态模型,调用格式 csyscanon(sys,Type)其中,sys为原系统模型,csys是对角线标准形实现。Type为转换后标准型类型,有两个选项:modal对角线标准实现,A的实特征值位于对角线上或共轭复特征值以22模块形式位于A的对角线上。例如,一个系统具有特征值:,则对角线标准型实现:,(2)companion伴随矩阵标准型实现,指原系统中A
21、的特征多项式系数位于伴随矩阵的最右列。例如,一个系统特征多项式,则对应的伴随矩阵为:,这种形式往往具有病态条件,应尽可能避免。,3.4.2 系统能控性和能观性,1系统的能控性和能观性 由控制理论,对于LTI系统(A,B,C,D),其能控性矩阵为,若C0是满秩的,则系统是完全能控的。对于LTI系统(A,B,C,D),其能观性矩阵为:,若Ob是满秩的,则系统是完全能观的。MATLAB提供函数CTRB计算能控性矩阵,调用格式为,或,函数OBSV计算能观性矩阵,调用格式为:,或,2能控分解和能观分解,对于LTI系统,既可用状态空间模型描述,也可用传递函数描述。这两种描述是否等价?卡尔曼一吉尔伯德定理告
22、诉我们:给定系统(A,B,C,D)的传递函数G(s)所表示的仅是该系统既能控又能观的那部分子系统。如果状态空间模型能控矩阵C0的秩小于A的阶数,则存在相似变换矩阵T,且,原模型(A,B,C,D)分解为能控部分和不能控部分:,Auc为不能控部分,位于左上角,(AC,BC)是能控部分,MATLAB提供系统能控和不能控分解函数CTRBF,格式为:,同上所述,K为矢量,其长度同A维数,其元素总和为可控状态数。如果状态空间模型能观矩阵O。的秩小于A的阶数,则存在相似变换矩阵T,并进行变换,使原模型(A,B,C)分解为能观部分和不能观部分。变换后系统矩阵为:,其中,An0是不能观部分,位于左上角,A0为能
23、观部分。MATLAB提供系统不能观和能观分解函数OBSVF,格式为:,同上,K为向量,同A的维数,元素之和为能观状态数。,3.4.3 系统的最小实现,若系统的传递函数没有零点、极点对消情况,则其对应的状态空间模型所需状态变量最少,称为系统的最小实现。一个LTI系统的状态空间模型可经过相似变换为下面形式:,式中,为系统的能控能观子空间;为系统的能控不能观子空间;为系统的不能控能观子空间;为系统的不能控不能观子空间。,在能控能观的分解中,既能控又能观的子空间称为原系统的最小实现。从传递函数角度,最小实现的系统没有零极点对消的情况。MATLAB出函数MINREAL直接用于状态空间的最小实现,即删除状
24、态空间模型的不能观、不能控或不能控不能观的状态,保留既能控又能观的状态,或消除模型中的相同零极点对。调用格式为:sysm=minreal(sys)其中,sys为原系统模型,sysm为最小实现模型。,3.4 模型降阶,模型降阶技术是系统分析、设计和仿真中不可缺少的一环,其基本思想是使原始系统的系数矩阵的阶次降低,并保留原系统的主导特征值和一些重要的状态。MATLAB中有基于平衡实现降阶函数BALREAL和MODRED。函数BALREAL计算可控及可观测的Gram矩阵,并对原系统进行等价变换,将原系统分成两部分,其中部分包含原系统矩阵较大奇异值,而另一部分包含较小奇异值,平衡实现系统完全与原系统等价,如下式所示:,如果截取对应于小奇异值的子系统,则降阶模型为,在MATLAB中,函数BALREAL的调用格式为:,其中,sys为原系统;sysb为平衡实现系统,g为平衡对角线Gram矩阵;T为状态变换矩阵;T1T-1。在MATLAB中,函数MODRED用于系统降阶实现,其调用格式为,其中,sys常为函数balreal()变换的模型;elim为待消去的状态;rsys为降阶后的系统;mdc为降阶中保持原系统匹配的直流增益(DCgain);del为降阶中不保持匹配增益。,