第2章控制系统的数学模型_第1页
第2章控制系统的数学模型_第2页
第2章控制系统的数学模型_第3页
第2章控制系统的数学模型_第4页
第2章控制系统的数学模型_第5页
已阅读5页,还剩91页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第2章章 控制系统的数学描述控制系统的数学描述2.1控制系统数学模型与控制工具箱函数控制系统数学模型与控制工具箱函数2.1.1 传递函数模型传递函数模型2.1.2 状态空间模型状态空间模型2.2控制系统模型的转换及连接控制系统模型的转换及连接2.2.1模型转换函数模型转换函数2.2.2模型连接与化简模型连接与化简2.3 控制系统建模工程实例控制系统建模工程实例 控制系统的数学模型是对系统运动规律的定量描述,控制系统的数学模型是对系统运动规律的定量描述,是控制系统分析和设计的前提。控制系统仿真是借助计算是控制系统分析和设计的前提。控制系统仿真是借助计算机强大的绘图与计算能力,应用仿真软件,对系

2、统进行分机强大的绘图与计算能力,应用仿真软件,对系统进行分析与设计,并对设计结果进行模拟与验证,因此在仿真中析与设计,并对设计结果进行模拟与验证,因此在仿真中也应首先建立系统的数学模型。也应首先建立系统的数学模型。 控制系统常用的数学模型有传递函数模型、状态方程控制系统常用的数学模型有传递函数模型、状态方程模型、零极点增益模型、部分分式模型等,每种模型均有模型、零极点增益模型、部分分式模型等,每种模型均有连续连续/ /离散之分,它们各有特点;同时,这些模型之间都有离散之分,它们各有特点;同时,这些模型之间都有着内在的联系,可以进行相互转换。着内在的联系,可以进行相互转换。第第2 2章章 控制系

3、统的数学描述控制系统的数学描述2.1 2.1 控制系统数学模型与控制工具箱函数控制系统数学模型与控制工具箱函数MATLABMATLAB工具箱实际上是由一组复杂的工具箱实际上是由一组复杂的MATLABMATLAB函数(函数(M M文件文件)组成,它扩展了)组成,它扩展了MATLABMATLAB的功能,用以解决特定的问题,的功能,用以解决特定的问题,因此用户可以通过对源文件进行修改和加入自己编写的文因此用户可以通过对源文件进行修改和加入自己编写的文件去构建新的专用工具箱。件去构建新的专用工具箱。MATLABMATLAB的控制工具箱是的控制工具箱是MATLABMATLAB最早应用的工具箱之一,它最早

4、应用的工具箱之一,它是建立在是建立在MATLABMATLAB对控制工程提供设计功能的基础上,为控对控制工程提供设计功能的基础上,为控制系统的建模、分析、仿真提供了丰富的函数与简便的图制系统的建模、分析、仿真提供了丰富的函数与简便的图形用户界面。形用户界面。MATLABMATLAB的控制系统工具箱函数通常可分为十类:模型建立的控制系统工具箱函数通常可分为十类:模型建立、模型变换、模型简化、模型实现、模型特性、方程求解、模型变换、模型简化、模型实现、模型特性、方程求解、时域响应、频域响应、根轨迹和估计器、时域响应、频域响应、根轨迹和估计器/ /调节器设计,调节器设计,为求解控制系统分析与设计问题提

5、供了便利的工具。为求解控制系统分析与设计问题提供了便利的工具。同时,控制系统工具箱允许使用经典控制理论和现代控制同时,控制系统工具箱允许使用经典控制理论和现代控制理论,对连续控制系统和离散控制系统进行仿真分析:建理论,对连续控制系统和离散控制系统进行仿真分析:建立系统的状态空间和传递函数的数学模型,以及模型之间立系统的状态空间和传递函数的数学模型,以及模型之间的相互转换,能分析系统的频域响应和时域响应,频域响的相互转换,能分析系统的频域响应和时域响应,频域响应有:波德应有:波德( (伯德伯德) )图、尼奎斯特(图、尼奎斯特(NyquistNyquist)图和尼柯尔)图和尼柯尔斯(斯(Nicho

6、lsNichols)图等;时域响应有:脉冲响应、阶跃响应)图等;时域响应有:脉冲响应、阶跃响应、斜坡响应等,还可以采用根轨迹、极点配置进行系统仿、斜坡响应等,还可以采用根轨迹、极点配置进行系统仿真分析。真分析。通常,控制系统可分成多个子系统,每个子系统可采用传递通常,控制系统可分成多个子系统,每个子系统可采用传递函数、零极点增益、状态方程三种表示形式。函数、零极点增益、状态方程三种表示形式。MATLABMATLAB提供的模型变换函数可方便地实现这三种表示形式之提供的模型变换函数可方便地实现这三种表示形式之间的转换,而且利用模型建立函数可实现子系统的串联、并间的转换,而且利用模型建立函数可实现子

7、系统的串联、并联、反馈等连接方式,从而得到复杂的控制系统。联、反馈等连接方式,从而得到复杂的控制系统。最后利用模型简化和实现函数,可得到简化后的期望模型。最后利用模型简化和实现函数,可得到简化后的期望模型。因此,本章主要讲述控制系统的传递函数模型、状态方程模型因此,本章主要讲述控制系统的传递函数模型、状态方程模型、零极点增益模型、部分分式模型等数学模型的、零极点增益模型、部分分式模型等数学模型的MATLABMATLAB描述描述,以及这些模型的相互变换和模型简化与连接。,以及这些模型的相互变换和模型简化与连接。2.1.1 2.1.1 传递函数模型传递函数模型线性系统通常是以线性常微分方程来描述的

8、,设系统的输线性系统通常是以线性常微分方程来描述的,设系统的输入信号为入信号为u u( (t t) ),输出信号为,输出信号为y y( (t t) ),则系统的微分方程可写,则系统的微分方程可写成成 )()()()()()()()()(1111012221110tubdttdubdttudbdttudbtyadttdyadttydadttydadttydammmmmmnnnnnnnn 1.1.传递函数模型传递函数模型在零初始条件下,线性常微分方程经在零初始条件下,线性常微分方程经LaplaceLaplace变换后变换后,即为线性系统的传递函数模型:,即为线性系统的传递函数模型: 对线性定常系统

9、,式中对线性定常系统,式中s s的系数均为常数,且不等于的系数均为常数,且不等于零,这时系统在零,这时系统在MATLABMATLAB中可以方便地由分子中可以方便地由分子(numerator)(numerator)和分母和分母(denominator)(denominator)系数构成的向量组系数构成的向量组唯一地确定出来。唯一地确定出来。 nnnnmmmmasasasabsbsbsbsUsYsG11101110)()()(dennumasasasabsbsbsbsUsYsGnnnnmmmm11101110)()()(在在MATLABMATLAB中,传递函数的分子、分母分别用中,传递函数的分子、

10、分母分别用numnum和和denden表示表示,表达方式为:,表达方式为:num=b0,b1,b(m-1),bmnum=b0,b1,b(m-1),bmden=a0,a1,a(n-1),anden=a0,a1,a(n-1),an其中:它们都是按其中:它们都是按s s的降幂进行排列的,缺项补零。如果的降幂进行排列的,缺项补零。如果aiai,bibi都为常数,这样的系统又称为线性时不变系统(都为常数,这样的系统又称为线性时不变系统(Linear Time-invariant systems Linear Time-invariant systems ,简称,简称LTILTI);系统的);系统的分母多

11、项式称为系统的特征多项式。对物理可实现系统来分母多项式称为系统的特征多项式。对物理可实现系统来说,一定要满足说,一定要满足m mn n。对于离散时间系统,其单输入单输出系统的对于离散时间系统,其单输入单输出系统的LTILTI系统差分系统差分方程为:方程为: )()1()1()()()1()1()(110110krbkrbmkrbmkrbkyakyankyankyammnn对应的脉冲传递函数为:对应的脉冲传递函数为:用不同向量分别表示分子和分母多项式,就可以用不同向量分别表示分子和分母多项式,就可以利用控制系统工具箱的函数表示传递函数变量利用控制系统工具箱的函数表示传递函数变量G G:num=b

12、0,b1,b(m-1),bmnum=b0,b1,b(m-1),bmden=a0,a1,a(n-1),anden=a0,a1,a(n-1),an在在MATLABMATLAB中,不论是连续还是离散时间系统,都中,不论是连续还是离散时间系统,都用函数命令用函数命令tftf( )( )来建立控制系统的传递函数模型来建立控制系统的传递函数模型,还可以将零极点模型或者状态空间模型转换为,还可以将零极点模型或者状态空间模型转换为传递函数模型。传递函数模型。nnnmmmazazabzbzbzRzYzG110110)()()(表表2-1 2-1 tftf( )( )函数的具体用法见下表函数的具体用法见下表函数用

13、法函数用法函数功能说明函数功能说明sys = tf(num,den) 返回变量返回变量sys为连续系统传递函数模型为连续系统传递函数模型 sys = tf(num,den,ts)返回变量返回变量sys为离散系统传递函数模型。为离散系统传递函数模型。ts为采样周为采样周期,当期,当ts-1或者或者ts时,表示系统采样周期未定义时,表示系统采样周期未定义 s = tf(s) 定义定义Laplace变换算子变换算子 (Laplace variable),以原形,以原形式输入传递函数式输入传递函数 z =tf(z,ts) 定义定义z变换算子及采样时间变换算子及采样时间ts,以原形式输入传递函,以原形式

14、输入传递函数数 get(sys) 可获得传递函数模型对象可获得传递函数模型对象sys的所有信息的所有信息 set(sys,Property,Value,.) 为系统不同属性设定值为系统不同属性设定值 num,den= tfdata (sys,v) 以行向量的形式返回传递函数分子分母多项式以行向量的形式返回传递函数分子分母多项式 c = conv(a, b) 多项式多项式a,b以系数行向量表示,进行相乘。结果以系数行向量表示,进行相乘。结果c仍仍以系数行向量表示以系数行向量表示 采用采用MATLABMATLAB语言描述系统的传递函数,通常有两种方语言描述系统的传递函数,通常有两种方法,一种是先求

15、出分子分母多项式向量,再将其作为法,一种是先求出分子分母多项式向量,再将其作为tftf( )( )函数的参数使用。另外一种是先定义函数的参数使用。另外一种是先定义LaplaceLaplace算子符号变算子符号变量,再将传递函数直接赋值给传递函数对象。量,再将传递函数直接赋值给传递函数对象。例例2-1 2-1 将已知系统的传递函数模型将已知系统的传递函数模型 输入到输入到MATLABMATLAB工作空间中。工作空间中。解:方法一:在解:方法一:在MATLABMATLAB命令窗口中输入:命令窗口中输入:num=1 1; %num=1 1; %分子多项式向量分子多项式向量den=1 3 2 0; %

16、den=1 3 2 0; %分母多项式向量分母多项式向量G=tf(num,den) %G=tf(num,den) %系统传递函数模型系统传递函数模型执行后结果如下:执行后结果如下:Transfer function:Transfer function: s + 1 s + 1-s3 + 3 s2 + 2 ss3 + 3 s2 + 2 ssssssG231)(23方法二:在方法二:在MATLABMATLAB命令窗口中输入:命令窗口中输入:s=tf(s) %s=tf(s) %定义定义LaplaceLaplace算子算子符号变量符号变量G=(s+1)/( s3 + 3 G=(s+1)/( s3 +

17、3 * *s2 + 2s2 + 2* *s) %s) %直接给出系统传直接给出系统传递函数表达式递函数表达式执行后结果如下:执行后结果如下:Transfer function:Transfer function: s + 1 s + 1-s3 + 3 s2 + 2 ss3 + 3 s2 + 2 s在第一种方法中,如果传递函数不是以在第一种方法中,如果传递函数不是以” ” sys=sys=tf(num,dentf(num,den)”)”的结构形式给出,可以用手工或的结构形式给出,可以用手工或convconv( ( ) )函数将传递函数分子分母转化成多项式,再使用函数将传递函数分子分母转化成多项式

18、,再使用tftf( )( )函函数,数,convconv( )( )函数的功能是实现多个多项式相乘的运算,函数的功能是实现多个多项式相乘的运算,结果为多项式系统的降幂排列,结果为多项式系统的降幂排列,convconv( )( )函数可以嵌套使函数可以嵌套使用。第二种方法对多项式形式没有要求,只需要在得到用。第二种方法对多项式形式没有要求,只需要在得到LaplaceLaplace算子符号变量后直接按照原格式输入传递函数,算子符号变量后直接按照原格式输入传递函数,就可以得到系统函数的就可以得到系统函数的MATLABMATLAB表示,可见如果传递函数不表示,可见如果传递函数不是是sys=sys=tf

19、(num,dentf(num,den) )的结构形式,采用第二种方法要比第的结构形式,采用第二种方法要比第一种方法方便。一种方法方便。例例2-2 2-2 已知传递函数模型已知传递函数模型 ,将,将其输入到其输入到MATLABMATLAB工作空间中。工作空间中。解:方法一:在解:方法一:在MATLABMATLAB命令窗口中输入:命令窗口中输入:num=conv(10,2 1); %num=conv(10,2 1); %分子向量多项分子向量多项式式den=conv(1 0 0,1 7 13); den=conv(1 0 0,1 7 13); % %分母向量分母向量多项式多项式G=G=tf(num,

20、dentf(num,den) ) % %系统传递函数模系统传递函数模型型执行后结果如下:执行后结果如下:Transfer function:Transfer function: 20 s + 10 20 s + 10-s4 + 7 s3 + 13 s2s4 + 7 s3 + 13 s2)137() 12(10)(22sssssG方法二:在方法二:在MATLABMATLAB命令窗口中输入:命令窗口中输入:s=s=tf(stf(s); %); %定义定义LaplaceLaplace算子符号变量算子符号变量G=10G=10* *(2(2* *s+1)/(s2s+1)/(s2* * (s2+7 (s2

21、+7* *s+13) %s+13) %直接给出直接给出系统传递函数表达式系统传递函数表达式执行后结果如下:执行后结果如下:Transfer function:Transfer function: 20 s + 10 20 s + 10-s4 + 7 s3 + 13 s2s4 + 7 s3 + 13 s2例例2-32-3的的RLCRLC无源网络无源网络例例2-3 RLC2-3 RLC电路如图电路如图2-12-1所示,试建立以电容上电压所示,试建立以电容上电压UcUc( (t t) )为输出变量为输出变量,输入电压,输入电压UrUr( (t t) )为输入变量的运动方程;如果为输入变量的运动方程;

22、如果R=1.6R=1.6,L=1.0HL=1.0H,C=0.40FC=0.40F时,建立其传递函数模型。时,建立其传递函数模型。解:解:第一步:建立系统的微分方程。第一步:建立系统的微分方程。设回路电流为设回路电流为i i( (t t) ),根据基尔霍夫电压定律、电流定律得到系统的回路,根据基尔霍夫电压定律、电流定律得到系统的回路方程为:方程为: (2-62-6) (2-72-7)将(将(2-72-7)代入()代入(2-62-6),消去中间变量),消去中间变量i i( (t t) ),得到描述,得到描述RLCRLC网络输入输网络输入输出关系的微分方程为:出关系的微分方程为: (2-82-8))

23、()()()(tudttdiLtRitucrdttductic)()()()()()(22tutudttduRCdttudLCrccc第二步:根据微分方程写出传递函数。第二步:根据微分方程写出传递函数。在零初始条件下,对上述方程中各项求拉氏变换,并令在零初始条件下,对上述方程中各项求拉氏变换,并令 , , 可得可得s s的代数方程为:的代数方程为: (2-92-9)由传递函数定义,得系统传递函数为:由传递函数定义,得系统传递函数为: (2-102-10)将将R=1.6R=1.6,L=1.0HL=1.0H,C=0.40FC=0.40F代入(代入(2-102-10)得:)得: (2-112-11)

24、第三步:将系统模型输入到第三步:将系统模型输入到MATLABMATLAB工作空间中。工作空间中。程序如下:程序如下:clearclearclcclcs=s=tf(stf(s) ; %) ; %定义定义LaplaceLaplace算子符号变量算子符号变量G=25/(10G=25/(10* * s2 + 16 s2 + 16 * *s + 25) %s + 25) %直接给出系统传递函数表达式直接给出系统传递函数表达式程序运行结果为:程序运行结果为:Transfer function:Transfer function: 25 25-10 s2 + 16 s + 2510 s2 + 16 s +

25、25)()(tuLsUcC)()(tuLsUrr)()() 1(2sUsURCsLCsrc11)()()(2RCsLCssUsUsGrC251610251)4 . 06 . 1 ()4 . 00 . 1 (1)(22sssssG例例2-4 2-4 某一以微分方程描述系统的传递函数,其微分方程描述如下:某一以微分方程描述系统的传递函数,其微分方程描述如下:试使用试使用MATLABMATLAB建立其模型。建立其模型。解:首先求取系统传递函数。在零初始条件下,对微分方程两边取解:首先求取系统传递函数。在零初始条件下,对微分方程两边取LaplaceLaplace变换,可得系统传递函数:变换,可得系统传

26、递函数:然后建立系统模型,然后建立系统模型,MATLABMATLAB程序如下:程序如下:num=1 0 6; %num=1 0 6; %分子多项式系数行向量分子多项式系数行向量den=1 6 11 6; %den=1 6 11 6; %分母多项式系数行向量分母多项式系数行向量G=G=tf(num,dentf(num,den) %) %建立传递函数模型建立传递函数模型程序运行结果如下:程序运行结果如下:Transfer function:Transfer function: s2 + 6 s2 + 6-s3 + 6 s2 + 11 s + 6s3 + 6 s2 + 11 s + 6)(6)()(

27、6)(11)(6)(222233tudttdutydttdydttdydttdy61166)()()(232sssssUsYsG例例2-5 2-5 已知传递函数的分子为已知传递函数的分子为(s+1)(s+1),分母项为,分母项为(s3+4s2+2s+6)(s3+4s2+2s+6),时,时滞是滞是2 2,试建立系统的传递函数模型。,试建立系统的传递函数模型。解:方法一,由于系统有时滞项,除了设置分子项解:方法一,由于系统有时滞项,除了设置分子项numnum和分母项和分母项denden外外,还要在,还要在tftf( )( )函数中设置输入传输延时函数中设置输入传输延时iodelayiodelay的

28、属性,其值赋的属性,其值赋给变量给变量dtdt,具体的,具体的MATLABMATLAB程序如下:程序如下:num=1 1;num=1 1;den=1 4 2 6;den=1 4 2 6;dt=2;dt=2; G=tf(num,den,iodelay,dt) G=tf(num,den,iodelay,dt)程序运行结果为:程序运行结果为: Transfer function:Transfer function: s + 1 s + 1exp(-2exp(-2* *s) s) * * - - s3 + 4 s2 + 2 s + 6 s3 + 4 s2 + 2 s + 6方法二,也可以采用方法二,也

29、可以采用LaplaceLaplace算子的符号变量直接建立传算子的符号变量直接建立传递函数模型,程序为:递函数模型,程序为:s=tf(s);s=tf(s);G=(s+1)/(s3+4G=(s+1)/(s3+4* *s2+2s2+2* *s+6);s+6);set(G,iodelay,2);Gset(G,iodelay,2);G程序运行后结果与方法一相同。程序运行后结果与方法一相同。2. 2. 零极点增益模型零极点增益模型零极点增益模型实际上是传递函数模型的另一种表现形式零极点增益模型实际上是传递函数模型的另一种表现形式,其原理是分别对原系统传递函数的分子、分母进行因式,其原理是分别对原系统传递

30、函数的分子、分母进行因式分解处理,获得系统的零点和极点的表示形式。分解处理,获得系统的零点和极点的表示形式。 (2-122-12)其中:其中:K K为系统增益,为系统增益,zizi(i=1,2i=1,2,m m)为零点,)为零点,pjpj(j=1,2j=1,2,n n)为极点。显然,对系数为实数的传递函数)为极点。显然,对系数为实数的传递函数模型来说,系统的零极点或者为实数,或者以共轭复数的模型来说,系统的零极点或者为实数,或者以共轭复数的形式出现。形式出现。).()().()()(2121nmpspspszszszsKsG离散系统的传递函数也可表示为零极点增益模式:离散系统的传递函数也可表示

31、为零极点增益模式: (2-132-13) 在在MATLABMATLAB中零极点增益模型用中零极点增益模型用 z z, ,p p, ,k k 矢量组表示。即:矢量组表示。即:z=z1,z2,z=z1,z2,zmzm p=p1,p2,.,p=p1,p2,.,pnpn k=Kk=K调用调用zpkzpk( )( )函数就可以输入这个零极点增益模型,还可以函数就可以输入这个零极点增益模型,还可以将传递函数模型或者状态空间模型转换为零极点增益模型将传递函数模型或者状态空间模型转换为零极点增益模型,具体用法如表,具体用法如表2-22-2所示。所示。).()().()()(2121nmpzpzpzzzzzzz

32、KzG表表2-2 zpk函数的具体用法函数的具体用法函数用法函数用法函数功能函数功能说明说明sys = zpk(z,p,k) 得到连续系统的零极点增益模型得到连续系统的零极点增益模型 sys = zpk(z,p,k,Ts) 得到连续系统的零极点增益模型,采样时得到连续系统的零极点增益模型,采样时间为间为Ts s = zpk(s) 得到得到Laplace算子,按原格式输入系统,得算子,按原格式输入系统,得到系统到系统zpk模型模型 z = zpk(z,Ts) 得到得到Z变换算子和采样时间变换算子和采样时间Ts,按原格式,按原格式输入系统,得到系统输入系统,得到系统zpk模型模型 z,p,k=zp

33、kdata(sys,v) 得到系统的零极点和增益,参数得到系统的零极点和增益,参数v表示以表示以向量形式表示向量形式表示 p,z = pzmap(sys) 返回系统零极点返回系统零极点 pzmap(sys) 得到系统零极点分布图得到系统零极点分布图 例例2-6 2-6 双双T T网络如图网络如图2-22-2所示,试求以所示,试求以UcUc为输出,为输出,UrUr为输入的传递函数为输入的传递函数和零极点增益模型。其中和零极点增益模型。其中R1=40R1=40,R2=80R2=80,C1=100FC1=100F,C2=50FC2=50F。图。图2-2 2-2 例例2-62-6双双T T网络网络解:

34、解:首先,根据基尔霍夫电压定律、电流定律建立各元件的微分方程。方首先,根据基尔霍夫电压定律、电流定律建立各元件的微分方程。方程如下:程如下: (2-142-14)dttiCtuRtututidttitiCtuRtututiccr)(1)()()()()()(1)()()()(222122111111再求取系统传递函数。将(再求取系统传递函数。将(2-142-14)中各元件的微分方程进行拉氏变换,)中各元件的微分方程进行拉氏变换,并改写成以下形式:并改写成以下形式: (2-152-15)消去中间变量消去中间变量I1I1( (s s) )和和I2I2( (s s) ),得到系统的传递函数为:,得到

35、系统的传递函数为: (2-162-16))(1)()(1)()()(1)()()(1)()(222211121111susCsIsIRsusususCsIsIsIRsusuccr1)(1)()()(21221122211sCRCRCRsCRCRsUsUsGcr将将R1=40R1=40,R2=80R2=80,C1=100FC1=100F,C2=50FC2=50F代入上式,可代入上式,可得系统的传递函数为:得系统的传递函数为:最后,编写最后,编写MATLABMATLAB程序。程序如下:程序。程序如下:num=1;num=1;den=16 10 1;den=16 10 1;G=tf(num,den)

36、G=tf(num,den)G1=zpk(G)G1=zpk(G)运行后,获得系统的传递函数和零极点增益模型,结果为:运行后,获得系统的传递函数和零极点增益模型,结果为:Transfer function:Transfer function: 1 1-16 s2 + 10 s + 116 s2 + 10 s + 1Zero/pole/gain:Zero/pole/gain: 0.0625 0.0625-(s+0.5) (s+0.125)(s+0.5) (s+0.125)110161)()()(2sssUsUsGcr例例2-7 2-7 已知系统的传递函数为,已知系统的传递函数为, 将零极将零极点增益

37、模型输入点增益模型输入MATLABMATLAB工作空间。工作空间。解:在解:在MATLABMATLAB的命令窗口输入:的命令窗口输入:z1=-5;-5; %z1=-5;-5; %零点向量零点向量p1=-1;-2;-2-2p1=-1;-2;-2-2* *j;-2+2j;-2+2* *j; %j; %极点向量极点向量k=4; %k=4; %增益向量增益向量G1=zpk(z1,p1,k) %G1=zpk(z1,p1,k) %得到系统零极点增益模型得到系统零极点增益模型则执行后得到如下结果:则执行后得到如下结果:Zero/pole/gain:Zero/pole/gain: 4 (s+5)2 4 (s+

38、5)2-(s+1) (s+2) (s2+ 4s + 8)(s+1) (s+2) (s2+ 4s + 8)24124827)(232ssssssG例例2-8 2-8 已知系统的传递函数为已知系统的传递函数为: : 求系统的零极点向量求系统的零极点向量和增益值,并绘制系统零极点分布图。和增益值,并绘制系统零极点分布图。解:在解:在MATLABMATLAB的命令窗口输入:的命令窗口输入:s=s=zpk(szpk(s); %); %定义算子定义算子G=4G=4* *(s+5)/(s+1)/(s+2)/(s+6) %(s+5)/(s+1)/(s+2)/(s+6) %直接得到系统模型直接得到系统模型 z,

39、p,kz,p,k=zpkdata(G,vzpkdata(G,v) %) %得到系统零极点向量和增益得到系统零极点向量和增益值值pzmap(Gpzmap(G) %) %绘制系统零极点分布图绘制系统零极点分布图则执行后得到的系统传递函数及零极点向量和增益值:则执行后得到的系统传递函数及零极点向量和增益值:Zero/pole/gain:Zero/pole/gain: 4 (s+5) 4 (s+5)-(s+1) (s+2) (s+6)(s+1) (s+2) (s+6)z = -5z = -5p = -1p = -1 -2 -2 -6 -6k = 4k = 4同时可得到系统的零极点分布图,如图同时可得到

40、系统的零极点分布图,如图2-32-3所示。所示。图图2-3 2-3 例例2-82-8系统零极点分布图系统零极点分布图)6)(2)(1()5(4)(sssssG3.3.部分分式模型部分分式模型控制系统的传递函数还可以用部分分式之和的形式表示,方便应用控制系统的传递函数还可以用部分分式之和的形式表示,方便应用LaplaceLaplace反变换求系统的输出响应。在反变换求系统的输出响应。在MATLABMATLAB中,利用函数中,利用函数 r,p,kr,p,k=residue(residue(b,ab,a) )可以求出传递函数的部分分式之和形式。可以求出传递函数的部分分式之和形式。传递函数的部分分式之

41、和形式为:传递函数的部分分式之和形式为: (2-172-17)使用函数使用函数 r,p,kr,p,k=residue(residue(b,ab,a) )时,余数返回到向量时,余数返回到向量r r,极点返回到,极点返回到列向量列向量p p,常数项返回到,常数项返回到k k。另外,函数。另外,函数 b,ab,a=residue(residue(r,p,kr,p,k) )也可以也可以将部分分式转化为多项式比将部分分式转化为多项式比p p( (s s)/)/q q( (s s) )。)()()(1shpsrKsGniii例例2-9 2-9 已知系统的传递函数为已知系统的传递函数为 ,求取系统的部,求取

42、系统的部分分式模型。分分式模型。解:在解:在MATLABMATLAB命令窗口中输入:命令窗口中输入:num=2,0,9,1;num=2,0,9,1;den=1,1,4,4; den=1,1,4,4; r,p,kr,p,k=residue(num,denresidue(num,den) )44192)(233ssssssG则执行后得到如下结果:则执行后得到如下结果:r =r = 0.0000 - 0.2500i 0.0000 - 0.2500i 0.0000 + 0.2500i 0.0000 + 0.2500i -2.0000 -2.0000 p =p = -0.0000 + 2.0000i -

43、0.0000 + 2.0000i -0.0000 - 2.0000i -0.0000 - 2.0000i -1.0000 -1.0000 k =k = 2 2根据根据MATLABMATLAB程序运行结果,可写出系统的部分分式模型:程序运行结果,可写出系统的部分分式模型:12225. 0225. 03)(sisiisisG2.1.2 2.1.2 状态空间模型状态空间模型 系统中存在着若干个动态信息,称为状态,在表征系统系统中存在着若干个动态信息,称为状态,在表征系统动态信息的所有变量中,能够完全描述系统运行的最少数目动态信息的所有变量中,能够完全描述系统运行的最少数目的一组独立变量(不惟一)称为

44、系统的状态向量,以的一组独立变量(不惟一)称为系统的状态向量,以n n维状态维状态变量为基所构成的空间称为变量为基所构成的空间称为n n维状态空间,由状态向量所表征维状态空间,由状态向量所表征的模型便是状态空间模型。的模型便是状态空间模型。 任何系统都可以用状态空间表达式来进行数学描述,状任何系统都可以用状态空间表达式来进行数学描述,状态空间表达式(又称为动态方程),由状态方程与输出方程态空间表达式(又称为动态方程),由状态方程与输出方程组成,揭示了系统内部状态对系统性能的影响,与传递函数组成,揭示了系统内部状态对系统性能的影响,与传递函数模型不同的是,状态方程描述更广的一类控制系统模型,包模

45、型不同的是,状态方程描述更广的一类控制系统模型,包括非线性系统、时变系统等。括非线性系统、时变系统等。具有具有n n个状态、个状态、m m个输入和个输入和p p个输出的线性时不变系统,状态个输出的线性时不变系统,状态空间模型即状态空间表达式为:空间模型即状态空间表达式为: (2-182-18)其中:对于一个时不变系统,其中:对于一个时不变系统,A A,B B,C C,D D都是常数矩阵。都是常数矩阵。状态向量状态向量x(tx(t) )是是n n维,输入向量维,输入向量u(tu(t) )是是m m维,输出向量维,输出向量y(ty(t) )是是p p维;状态矩阵维;状态矩阵A A(又称系统矩阵)是

46、(又称系统矩阵)是n nn n方阵,输入矩阵方阵,输入矩阵B B(又称控制矩阵)是(又称控制矩阵)是n nm m矩阵,输出矩阵矩阵,输出矩阵C C是是p pn n矩阵,直矩阵,直接传输矩阵接传输矩阵D D是是p pm m矩阵。矩阵。离散系统的状态空间模型为:离散系统的状态空间模型为: (2-192-19)式中式中u u,x x,y y分别为控制输入向量、状态向量、输出向量,分别为控制输入向量、状态向量、输出向量,k k表示采样点,表示采样点,A A为状态矩阵,由控制对象的参数决定:为状态矩阵,由控制对象的参数决定:B B为控为控制矩阵,制矩阵,C C为输出矩阵,为输出矩阵,D D为直接传输矩阵

47、。为直接传输矩阵。DuCxyBuAxx)()()()()() 1(kDukCxkykBukAxkx 在在MATLABMATLAB中,用函数中,用函数ssss( )( )来建立控制系统的状态空间模来建立控制系统的状态空间模型,连续和离散系统的状态空间模型建立有所区别,具体用型,连续和离散系统的状态空间模型建立有所区别,具体用法如表法如表2-32-3所示。另外,要得到状态空间模型,还可以从传递所示。另外,要得到状态空间模型,还可以从传递函数模型或者零极点模型转换过来。函数模型或者零极点模型转换过来。函数用法函数用法函数功能说明函数功能说明sys = ss(A,B,C,D) 由由A,B,C,D矩阵直

48、接得到连续矩阵直接得到连续系统状态空间模型系统状态空间模型 sys = ss(A,B,C,D,Ts) 由由A,B,C,D矩阵和采样时间矩阵和采样时间Ts直接得到离散系统状态空间模型直接得到离散系统状态空间模型 A,B,C,D = ssdata(sys) 得到连续系统参数得到连续系统参数 A,B,C,D,Ts = ssdata(sys) 得到离散系统参数得到离散系统参数 例例2-10 RLC2-10 RLC无源网络如图无源网络如图2-12-1所示,所示,ucuc( (t t) )为输入,为输入,uouo( (t t) )为输出,若选择为输出,若选择i i( (t t) ), ucuc( (t t

49、) )为状态变量,试建立系统的状态空间模型,并用为状态变量,试建立系统的状态空间模型,并用MATLABMATLAB实现。实现。解:第一步:求取系统的状态空间模型。由图解:第一步:求取系统的状态空间模型。由图2-12-1可列系统微分方程,可列系统微分方程, (2-202-20) (2-212-21) (2-222-22)写成矩阵形式:写成矩阵形式: ( 2-232-23)若选择,若选择, ,则系统的状态空间模型为:,则系统的状态空间模型为: (2-242-24))(1)(1)()(tuLtuLtiLRdttdicLL)(1)(tiCdttduLc)()(tutucc )()(10)()(01)(

50、)(011)()(tutitutuLtutiCLLRdttdudttdicLccLcL)(tuyc)()(tutixcL, cxybuAxx其中:其中:将将R=1.6R=1.6,L=1.0HL=1.0H,C=0.40FC=0.40F代入得:代入得:则系统的状态空间模型为:则系统的状态空间模型为:10,01,011cLbCLLRA05.211604.010.110.16.1011CLLRA0100.1101Lb10cxcxyuxbuAxx 100105 . 2116第二步:第二步:MATLABMATLAB实现。在实现。在MATLABMATLAB命令窗口中输入:命令窗口中输入:A=-16 -1;2

51、5 0; %A=-16 -1;25 0; %给状态矩阵给状态矩阵A A赋值赋值B=1;0; %B=1;0; %给输入矩阵给输入矩阵B B赋值赋值C=0 1; %C=0 1; %给输出矩阵给输出矩阵C C赋值赋值D=0; %D=0; %给前馈矩阵给前馈矩阵D D赋值赋值G=G=ss(A,B,C,Dss(A,B,C,D) %) %输入并显示系统状态空间模型输入并显示系统状态空间模型执行后得到如下结果:执行后得到如下结果:a = a = x1 x2 x1 x2 x1 -16 -1 x1 -16 -1 x2 25 0 x2 25 0 b = b = u1 u1 x1 1 x1 1 x2 0 x2 0c

52、 = c = x1 x2 x1 x2 y1 0 1 y1 0 1d = d = u1 u1 y1 0 y1 0Continuous-time model.Continuous-time model.例例2-11 将如下系统的状态空间模型输入到将如下系统的状态空间模型输入到MATLAB工作空间中。工作空间中。 解:在解:在MATLAB命令窗口中输入:命令窗口中输入:A=6 5 4;1 0 0;0 1 0; B=1;0;0; C=0 6 7; D=0; G=ss(A,B,C,D) %输入并显示系统状态空间模型输入并显示系统状态空间模型)(001)(010001456)(tutxtx)(760)(t

53、xty 则执行后得到如下结果:则执行后得到如下结果:a = x1 x2 x3 x1 6 5 4 x2 1 0 0 x3 0 1 0b = u1 x1 1 x2 0 x3 0c = x1 x2 x3 y1 0 6 7d = u1 y1 0Continuous-time model.例例2-12 2-12 将如下一个两输入两输出系统的状态空间模型输入到将如下一个两输入两输出系统的状态空间模型输入到MATLABMATLAB工作空间中,并求其系统参数。工作空间中,并求其系统参数。 解:首先,在解:首先,在MATLABMATLAB命令窗口中输入以下程序,将状态空间模型输入命令窗口中输入以下程序,将状态空

54、间模型输入到到MATLABMATLAB工作空间:工作空间:A=1 6 9 10; 3 12 6 8; 4 7 9 11; 5 12 13 14;A=1 6 9 10; 3 12 6 8; 4 7 9 11; 5 12 13 14;B=4 6; 2 4; 2 2; 1 0;C=0 0 2 1; 8 0 2 2; B=4 6; 2 4; 2 2; 1 0;C=0 0 2 1; 8 0 2 2; D=zeros(2,2); %DD=zeros(2,2); %D为一个为一个2 22 2的零方阵的零方阵GssGss= =ss(A,B,C,Dss(A,B,C,D) %) %得到系统状态空间模型得到系统状态

55、空间模型uxx012242641413125119748612310961xy22081200 程序执行后结果如下:程序执行后结果如下:a = a = x1 x2 x3 x4 x1 x2 x3 x4 x1 1 6 9 10 x1 1 6 9 10 x2 3 12 6 8 x2 3 12 6 8 x3 4 7 9 11 x3 4 7 9 11 x4 5 12 13 14 x4 5 12 13 14 b = b = u1 u2 u1 u2 x1 4 6 x1 4 6 x2 2 4 x2 2 4 x3 2 2 x3 2 2 x4 1 0 x4 1 0 c = c = x1 x2 x3 x4 x1 x

56、2 x3 x4 y1 0 0 2 1 y1 0 0 2 1 y2 8 0 2 2 y2 8 0 2 2d = d = u1 u2 u1 u2 y1 0 0 y1 0 0 y2 0 0 y2 0 0 Continuous-time model. Continuous-time model.然后在然后在MATLABMATLAB命令窗口输入以下语句,可获取系统模型参数:命令窗口输入以下语句,可获取系统模型参数:A,B,C,D=A,B,C,D=ssdata(Gssssdata(Gss) ) 执行后结果如下:执行后结果如下:A =A = 1 6 9 10 1 6 9 10 3 12 6 8 3 12 6

57、 8 4 7 9 11 4 7 9 11 5 12 13 14 5 12 13 14B =B = 4 6 4 6 2 4 2 4 2 2 2 2 1 0 1 0C =C = 0 0 2 1 0 0 2 1 8 0 2 2 8 0 2 2D =D = 0 0 0 0 0 0 0 0在在MATLAB命令窗口中输入以下语句还可获得所有参数的属性值:命令窗口中输入以下语句还可获得所有参数的属性值:get(Gss) 执行后结果如下:执行后结果如下: a: 4x4 double b: 4x2 double c: 2x4 double d: 2x2 double e: StateName: 4x1 cell

58、 InternalDelay: 0 x1 double Ts: 0 InputDelay: 2x1 double OutputDelay: 2x1 double InputName: 2x1 cell OutputName: 2x1 cell InputGroup: 1x1 struct OutputGroup: 1x1 struct Name: Notes: UserData: 2.22.2控制系统模型的转换及连接控制系统模型的转换及连接2.2.1 2.2.1 模型转换函数模型转换函数在实际工程中,要解决自动控制问题所需用的数学模型与该问题所给在实际工程中,要解决自动控制问题所需用的数学模型

59、与该问题所给定的已知数学模型往往不一致,或者要解决问题最简单而又最方便的定的已知数学模型往往不一致,或者要解决问题最简单而又最方便的方法所用到的数学模型与该问题所给定的已知数学模型不同,此时,方法所用到的数学模型与该问题所给定的已知数学模型不同,此时,就要对控制系统的数学模型进行转换。就要对控制系统的数学模型进行转换。 同一个控制系统都可用传递函数模型、零极点模型和状态空间模型中同一个控制系统都可用传递函数模型、零极点模型和状态空间模型中的一种表示,这三种模型之间也可以进行相互转换,的一种表示,这三种模型之间也可以进行相互转换,MATLABMATLAB的信号处的信号处理和控制系统工具箱中,提供

60、了模型转换的函数:理和控制系统工具箱中,提供了模型转换的函数:ss2tfss2tf、ss2zpss2zp、tf2sstf2ss、tf2zptf2zp、zp2sszp2ss、zp2tfzp2tf,它们的关系可用图,它们的关系可用图2-42-4所示的结构来所示的结构来表示,模型转换函数的具体功能见表表示,模型转换函数的具体功能见表2-42-4所示。所示。表表2-4 2-4 数学模型转换函数及其功能数学模型转换函数及其功能函数名函数名函数功能说明函数功能说明ss2tf将系统状态空间模型转换为传递函数模型将系统状态空间模型转换为传递函数模型ss2zp将系统状态空间模型转换为零极点增益模型将系统状态空间

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论