当前位置:首页 >> 工学 >>

第三章 控制系统的数学描述与建模(完成)_图文

第三章 控制系统的数学描述与建模
控制系统的数学模型在控制系统的研究中有着相当重要的 地位,要对系统进行仿真处理,首先应当知道系统的数学 模型,然后才可以对系统进行模拟。同样,如果知道了系 统的模型,才可以在此基础上设计一个合适的控制器,使 得系统响应达到预期的效果,从而符合工程实际的需要。 在线性系统理论中,一般常用的数学模型形式有:传递函 数模型(系统的外部模型)、状态方程模型(系统的内部模 型)、零极点增益模型和部分分式模型等。这些模型之间都 有着内在的联系,可以相互进行转换。

第一节

系统的分类

? 按系统性能分:线性系统和非线性系统;连续系统和离散 系统;定常系统和时变系统;确定系统和不确定系统。 1、线性连续系统:用线性微分方程式来描述,如果微分方程 的系数为常数,则为定常系统;如果系数随时间而变化, 则为时变系统。今后我们所讨论的系统主要以线性定常连 续系统为主。 2、线性定常离散系统:离散系统指系统的某处或多处的信号 为脉冲序列或数码形式。这类系统用差分方程来描述。 3、非线性系统:系统中有一个元部件的输入输出特性为非线 性的系统。

第二节 线性定常连续系统的微分方程模型
? 微分方程是控制系统模型的基础,一般来讲,利用 机械学、电学、力学等物理规律,便可以得到控制 系统的动态方程,这些方程对于线性定常连续系统 而言是一种常系数的线性微分方程。 ? 如果已知输入量及变量的初始条件,对微分方程进 行求解,就可以得到系统输出量的表达式,并由此 对系统进行性能分析。 ? 通过拉氏变换和反变换,可以得到线性定常系统的 解析解,这种方法通常只适用于常系数的线性微分 方程,解析解是精确的,然而通常寻找解析解是困 难的。MATLAB提供了ode23、ode45等微分方程 的数值解法函数,不仅适用于线性定常系统,也适 用于非线性及时变系统。

例exp3_1.m
电路图如下,R=1.4欧,L=2亨,C=0.32法,初始 状态:电感电流为零,电容电压为0.5V,t=0时 刻接入1V的电压,求0<t<15s时,i(t),vo(t)的值, 并且画出电流与电容电压的关系曲线。

R t=0 i (t ) ± Vs=1V

L + C vo (t )

第三节 传递函数描述
一、连续系统的传递函数模型
连续系统的传递函数如下:

C ( s ) b1s m + b2 s m ?1 + ... + bn s + bm +1 G( s) = = R( s ) a1s n + a2 s n ?1 + ... + an s + an +1
? 对线性定常系统,式中s的系数均为常数,且a1不等于零, 这时系统在MATLAB中可以方便地由分子和分母系数构 成的两个向量唯一地确定出来,这两个向量分别用num和 den表示。 num=[b1,b2,…,bm,bm+1] den=[a1,a2,…,an,an+1] 注意:它们都是按s的降幂进行排列的。

二、零极点增益模型
? 零极点模型实际上是传递函数模型的另一种表现形式,其 原理是分别对原系统传递函数的分子、分母进行分解因式 处理,以获得系统的零点和极点的表示形式。

( s ? z1 )( s ? z2 )...( s ? zm ) G( s) = K ( s ? p1 )( s ? p2 )...( s ? pn )

K为系统增益,zi为零点,pj为极点 在MATLAB中零极点增益模型用[z,p,K]矢量组表示。即: z=[z1,z2,…,zm] p=[p1,p2,...,pn] K=[k] 函数tf2zp()可以用来求传递函数的零极点和增益。

三、部分分式展开
? 控制系统常用到并联系统,这时就要对系统函数进行分解, 使其表现为一些基本控制单元的和的形式。 ? 函数[r,p,k]=residue(b,a)对两个多项式的比进行部分展开, 以及把传函分解为微分单元的形式。 ? 向量b和a是按s的降幂排列的多项式系数。部分分式展开 后,余数返回到向量r,极点返回到列向量p,常数项返回 到k。 ? [b,a]=residue(r,p,k)可以将部分分式转化为多项式比 p(s)/q(s)。

12 s 3 + 24 s 2 + 20 举例:传递函数描述 1)G ( s ) = 2s 4 + 4s 3 + 6s 2 + 2s + 2
》num=[12,24,0,20];den=[2 4 6 2 2];

4( s + 2)( s 2 + 6 s + 6) 2 2) G ( s ) = s( s + 1)3 ( s 3 + 3s 2 + 2 s + 5)
借助多项式乘法函数conv来处理: 》num=4*conv([1,2],conv([1,6,6],[1,6,6])); 》den=conv([1,0],conv([1,1],conv([1,1],conv([1,1], [1,3,2,5]))));

s 3 + 11s 2 + 30 s 零极点增益模型: G ( s ) = 4 s + 9 s 3 + 45s 2 + 87 s + 50 》num=[1,11,30,0];
》den=[1,9,45,87,50]; [z,p,k]=tf2zp(num,den) 》 z= p= k= 0 -6 -5 -3.0000+4.0000i -3.0000-4.0000i -2.0000 -1.0000 1

s( s + 6)( s + 5) 结果表达式:G ( s ) = ( s + 1)( s + 2)( s + 3 + 4 j )( s + 3 ? 4 j )

部分分式展开: 》num=[2,0,9,1]; 》den=[1,1,4,4]; [r,p,k]=residue(num,den) 》 r= p= 0.0000-0.2500i 0.0000+0.2500i -2.0000

2s 3 + 9s + 1 G( s ) = 3 2 s + s + 4s + 4

k= 2

0.0000+2.0000i 0.0000-2.0000i -1.0000

? 0.25i 0.25i ? 2 + + 结果表达式: G ( s ) = 2 + s ? 2i s + 2i s + 1

第四节

状态空间描述

状态方程与输出方程的组合称为状态空间表达式,又称 为动态方程,经典控制理论用传递函数将输入—输出关 系表达出来,而现代控制理论则用状态方程和输出方程 来表达输入—输出关系,揭示了系统内部状态对系统性 能的影响。

& x = Ax + Bu y = Cx + Du
在MATLAB中,系统状态空间用(A,B,C,D)矩阵组表示。

举例:

?1 6 9 10? ?4 ?3 12 6 8 ? ?2 ?x + ? & x=? ?4 7 9 11? ?2 ? ? ? 5 12 13 14? ? ?1 ?0 0 2 1? y=? ?x ?8 0 2 2?

6? 4? ?u 2? ? 0?

系统为一个两输入两输出系统 》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]; 》D=zeros(2,2);

第五节
一、模型的转换

模型的转换与化简

? 在一些场合下需要用到某种模型,而在另外一些场合下可 能需要另外的模型,这就需要进行模型的转换。 ? 模型转换的函数包括: residue:传递函数模型与部分分式模型互换 ss2tf: 状态空间模型转换为传递函数模型 ss2zp: 状态空间模型转换为零极点增益模型 tf2ss: 传递函数模型转换为状态空间模型 tf2zp: 传递函数模型转换为零极点增益模型 zp2ss: 零极点增益模型转换为状态空间模型 zp2tf: 零极点增益模型转换为传递函数模型

用法举例: ?0 & 1)已知系统状态空间模型为: x = ? ?1

》A=[0 1; -1 -2]; B=[0;1]; 》C=[1,3]; D=[1]; 》[num,den]=ss2tf(A,B,C,D,iu) %iu用来指定第n个输入,当只有一个输入时可忽略。 》num=1 5 2; den=1 2 1; 》[z,p,k]=ss2zp(A,B,C,D,iu) 》z= -4.5616 p= -1 k=1 -0.4384 -1

y = [1 3]x + u

1 ? ?x + ? 2?

?0 ? ?1 ? u ? ?

2)已知一个单输入三输出系统的传递函数模型为:

y1(s) ?2 ? s ?5 G11(s) = = 3 G21(s) = 3 2 u(s) s + 6s +11 + 6 s s + 6s2 +11 + 6 s s + 2s G31(s) = 3 2 s + 6s +11 + 6 s
2

》num=[0 0 -2;0 -1 -5;1 2 0];den=[1 6 11 6]; 》[A,B,C,D]=tf2ss(num,den) 》A= -6 -11 -6 B= 1 C= 0 0 -2 D= 0 1 0 0 0 0 -1 -5 0 0 1 0 0 1 2 0 0

6( s + 3) 3)系统的零极点增益模型:G ( s ) = ( s + 1)( s + 2)( s + 5)
》z=[-3];p=[-1,-2,-5];k=6; 》[num,den]=zp2tf(z,p,k) 》num= 0 0 6 18 den= 1 8 17 10 》[a,b,c,d]=zp2ss(z,p,k) 》a= -1.0000 0 0 b=1 2.0000 -7.0000 -3.1623 1 0 3.1623 0 0 c= 0 0 1.8974 d=0 ? 注意:零极点的输入可以写出行向量,也可以写出列向量。

? 0.25i 0.25i ? 2 + + 4)已知部分分式: G ( s ) = 2 + s ? 2i s + 2i s + 1
》r=[-0.25i,0.25i,-2]; 》p=[2i,-2i,-1];k=2; 》[num,den]=residue(r,p,k) 》num= 2 0 9 1 》den= 1 1 4 4 注意余式一定要与极点相对应。

二、环节方框图模型的化简
系统是受控对象与控制装置组成的,即 系统有多个环节。每个环节又是有多个元件 构成的。环节在MATLAB里又叫模块。自 动控制系统的对象可以是一个元件,一个环 节,也可以是一个模块,甚至是一个系统。 系统方框图模型的化简也适用于环节的、模 块的、装置的方框图模型的化简。

1 环节串联连接的化简
自动控制系统中,环节串联的等效传递函数 为各个串联环节的传递函数的乘积。 当n个模块方框图模型sys1,sys2,…,sysn串联连 接时,其等效方框图模型为: sys=sys1*sys2* …*sysn 例:已知双环调速系统电流环内前向通道三个模块 的传递函数如下,求等效传递函数和空间模型。
2 .5 30 0.0128 s + 1 G3 ( s ) = G2 ( s ) = G1 ( s ) = 0 .0128 s + 1 0.00167 s + 1 0.04 s

求解的MATLAB程序如下: n1=[0.0128 1]; d1=[0.04 0]; sys1=tf(n1,d1); n2=[30]; d2=[0.00167 1]; sys2=tf(n2,d2); n3=[2.5]; d3=[0.0128 1];sys3=tf(n3,d3); s1=ss(sys1);s2=ss(sys2);s3=ss(sys3); sys123=sys1*sys2*sys3 sys=s1*s2*s3

2 环节并联连接的化简
并联环节指多个环节的输入信号相同, 所有环节输出的代数和为其总输出。当n个 模块方框图模型sys1,sys2,…,sysn并联连接 时,其等效方框图模型为: sys=sys1+sys2+ …+sysn 例:已知两子系统传递函数,求两系统并 联连接的等效传递函数的num和den向量。
5 G1 ( s ) = s +1
7s + 8 G2 ( s) = 2 s + 2s + 9

求解的MATLAB程序如下:
num1=[5]; den1=[1,1]; sys1=tf(num1,den1); num2=[7,8]; den2=[1,2,9]; sys2=tf(num2,den2); sys=sys1+sys2 num=sys.num{1} den=sys.den{1}

3 环节反馈连接的化简
MATLAB中的feedback()函数命令可将两个环节反馈 连接后求其等效传递函数。 格式:sys=feedback(sys1,sys2,sign) 环节sys1即G(s)的所有输出均连接到环节sys2即H(s)的 输入,环节sys2的所有输出为反馈信号,sign是反馈极性, sign缺省时,默认为负反馈,即sign=-1;单位负反馈时, sys2=1,不能省略。

例:

则闭环传递函数的MATLAB程序: num1=[5];den1=[1,2,3];sys1=tf(num1,den1); sys=feedback(sys1,1) 若H(s)=0.01178,则 num2=[0.01178];den2=[1];sys2=tf(num2,den2); Sys=feedback(sys1,sys2)

5 G(s) = 2 , H (s) = 1 s + 2s + 3

本章小结
? 在进行控制系统的仿真之前,建立系统的模型表达式是关键 的一步。 ? 对于控制系统,有不同的分类,在本课程中主要讨论的是线 性定常连续系统 ? 系统的描述有不同的方法:微分方程;传递函数;零极点增 益模式;部分分式展开;状态空间模型等。 ? 系统的模型之间可以相互转换,要求熟练掌握各种模型之间 转换的命令。 ? 模型之间可以进行连接,要求掌握环节方框图模型的化简。