《系统模型及转换幻灯片》由会员分享,可在线阅读,更多相关《系统模型及转换幻灯片(43页珍藏版)》请在金锄头文库上搜索。
1、第三章 系统模型及转换,控制系统的数学模型对于控制系统的研究具有重要的意义。因此,首先应建立系统的数学模型,在此模型的基础上建立系统的仿真模型,然后进行仿真,分析研究系统,并设计出相应的控制器对系统进行控制,使系统响应达到预期目标。 最常用的模型:传递函数模型(系统的外部模型)、状态方程模型(系统的内部模型)、零极点模型、部分分式模型。不同的场合应用不同的模型进行分析。,3.1 系统分类 1按有无反馈分类 (1)开环系统系统的输出端和输入端之间无反馈回路。 (2)闭环系统系统的输出端和输入端之间有反馈回路。 2按系统中参数变化是否连续分类 (1)连续系统系统中状态随时间连续变化。 (2)离散系
2、统系统的状态变化只在离散时刻点上发生。,3按系统是否为线性分类 (1)线性系统用线性微分方程描述的系统。 (2)非线性系统用非线性微分方程描述的系统。 4按系统变量是否随时间变化分类 (1)时变系统系统参数随时间变化的系统。 (2)时不变系统系统参数不随时间变化的系统。 5按系统参数分布规律来分类 (1)集中参数系统。 (2)分布参数系统。 6按系统是否确定分类 (1)确定型系统。 (2)随机型系统。,在线性系统中,常用的数学模型有微分方程模型、传递函数模型、状态空间模型以及零极点模型等。在一些场合下需要用到其中一种模型,而在其他场合则可能又需要其他模型,所以掌握模型间的转换显得很有必要。3.
3、2.1 系统的时域模型 连续时间系统用微分方程描述。对于单输入单输出(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为传递函数分母系数向量。,若系统的输入和输出量不是一个,而是多个,则
5、称为多输入多输出系统(MIMO)。和SISO系统类似,MIMO系统的数学模型形式也有微分方程、传递函数、矩阵状态空间和零极点。 对于SISO离散时间系统进行Z变换,则可得到该离散系统的脉冲传递函数(或Z传递函数),其中,对线性时不变离散系统来讲,式中fi和gi均为常数。MATLAB中,可用函数TF建立系统传递函数模型,格式为 systf(num,den,Ts)其中,num为Z传递函数分子系数向量,den为Z传递函数分母系数向量,Ts为采样周期。,传递函数模型形式用于SISO系统建模非常方便,也可用它来描述多输入多输出(MIMO)系统,MATLAB提供用传递函数矩阵表达多输入输出(MIMO)系统
6、模型。,3.2.3 系统的状态空间模型,状态方程是现代控制理论描述系统模型的一种形式。一个连续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也可以建立一个离散时间系统的传递函数模型,其调用格式为 sy
7、sss(F,G,C,D,Ts) 其中,F,G,C,D为离散系统状态方程系数矩阵;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 系统的零极点增益模型,对于离散时间系统,也可以用函数Z
8、PK建守零极点增益模型,调用格式为: syszpk(Z,P,K,Ts) 其中,Ts为采样周期: 同时,MATLAB提供多项式求根函数ROOTS来求系统的零极点,调用格式为: Zroots(num) 或 Proots(den) 其中,num、den分别为传递函数模型的分子和分母多项式系数向量。 对MIMO系统,函数ZPK也可建立其零极点增益模型,调用格式和SIS()系统相同,但Z,P,K不再是一维向量,而是矩阵。,3.2.5 系统的模型转换,对于连续的LTI系统,其状态空间可模型拉氏变换可得对应的传递函数模型为:因此当系统的状态空间模型(A, B, C, D),经矩阵运算,可求得系统传递函数G(
9、s)。MATLAB中,函数SS自动完成上面运算。 对于离散LTI系统,其状态空间模型由Z变换可得对应的传递函数模型为:因此当系统的状态空间模型(A, B, C, D),经矩阵运算,可求得系统Z传递函数G(z)。MATLAB中,函数SS自动完成上面运算。 由上式所求得的传递函数模型为分子分母多项式形式,还可进步变换得其零极点增益模型。,传递函数模型和零极点增益模型的相互转换是十分明显的。由传递函数分子分母多项式模型转换为零极点增益模型只需分别求分子分母多项式的根及增益K即可。MATLAB中,除了函数ZPK外,还可利用函数ROOTS求零点和极点。 由零极点增益模型求传递函数分子分母多项式形式,只须
10、将分子和分母分别展开,在MATLAB中,除函数TF外,还可利用多项式乘法函数(卷积)CONV。 由传递函数模型求状态空间模型时,应注意到这种转换不是唯一的,传递函数只描述系统输入和输出关系,被称为系统的外部描述形式,而状态空间表达式描述系统输入、输出和状态之间关系,被称为系统的内部描述形式。由传递函数求状态空间表达式时,若状态变量选择不同,状态空间形式也不同。 由传递函数模型求取系统状态空间模型的过程又称为系统状态空间实现。系统实现不是唯一的。,MATLAB提供了十分简单的模型转换方式。函数tf,zpk,ss不仅用于系统模型建立,也可用于模型形式之间的转换。,Newsystf(sys) 可将非
11、传递函数形式的系统模型sys转换成传递函数模型Newsys; Newsyszpk(sys) 可将非零极点增益形式的系统模型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
12、(sys)对于离散时间系统,调用格式为 num,den,Tstfdata(sys,v) z,p,k,T3zpkdata(sys,v) A,B,C,D,Tsssdata(sys) 函数左边输出项为各项模型相应数据,v表示返回的数据行向量只适用单输入单输出系统。,3.2.7 时间延迟系统建模,SISO连续时间系统中,若输入有时间延迟,状态空间表达式:,相对应的传递函数为,MIMO连续时间系统,若输入/输出间存在时间延迟,则:,建立具有时间延迟的系统模型有两种方法: (1)用函数TF、ZPK或SS建模并同时给模型时间延迟属性IoDelayMatrix、InputDelay、OutputDelay赋值
13、。(2)先用函数TF、ZPK或SS建模,再用SET命令给模型时间延迟属性赋值。,3.2.8 模型属性设置和获取,在MATLAB中,用函数TF、ZPK和SS生成的系统称为对象,每个模型,即每个对象都有属性,并可通过函数SET设置模型属性值和函数GET获取模型属性值。各种形式的模型除自身特有属性外,还有通用属性。LTI模型通用属性如表3-1所示。不同模型的特有属性如表3-2所示。,模型属性设置可用函数SET,调用格式为 set(sys,Property1,Value1,Property2,Value2,)其中,Property为属性,Value为属性值。,模型属性设置还可直接用建模函数TF、ZPK
14、和SS,调用格式为 systf(hum,den,Property,Value,) syszpk(Z,P,K,Property,Value,) 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。,对于MIMO系统,函数SERIES的调用格式为: sysseries(sys1,sys2,outputs1,inputs2) 函数执行系统sys1和系统sys2串联时,将系统sys1的输出端1和系统sys2的输入端2连接,如图3.2所示。系统端口名称可用函数SET设置。,图3.2 MIMO模型串联,