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

控制系统的数学描述与建模_图文

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

第一节

系统的分类

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

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

例 电学系统: 其中:电阻为R,电感为L,电容为C。
+ ur(t) - i + uc(t) -

微分定理 假设: 则有:
L[ f (t )] = F (s)
df ( t ) L = sF ( s ) f ( 0 ) dt
= s 2 F ( s ) sf ( 0 ) f ' ( 0 )

同样,可得出f(t)的各阶导数的拉氏变换:
d 2 f (t ) L 2 dt

d 3 f (t ) 3 2 ' '' L = s F ( s ) s f (0) sf (0) f (0) 3 dt
d n f (t ) L = s n F ( s ) s n 1 f ' (0) s n 2 f (0) L f ( n 1) (0) dt n

积分定理 假设: 则有: (在
f
L

L

[f

(t )]= F ( s )

[∫

F (s) 1 f ( t ) dt = + f s s

]

( 1)

(0 )

( 1)

(0 ) =



f ( t ) dt

t=0处的值)

f(t)多重积分的拉氏变换为:
F (s) 1 n L L f (t ) dt = n + n f s s 123 n

∫ ∫

( 1)

1 (0) + L + f s

(n)

(0)

如果初始值都为零,则:
L f ' ( t ) = sF ( s )
'' 2

[ ] L [ f (t ) ] = s F ( s ) L [f (t ) ] = s F ( s )
''' 3

L

[∫

f ( t ) dt

]
2

1 = F (s) s

L

[∫∫

f ( t ) dt

] = s1
n

2

F (s)


L L f ( t ) dt 123 n


L f

[

(n)

(t ) = s n F ( s )

]

∫ ∫

F (s) = sn

解:系统的微分方程如下
1 di (t ) L + Ri + ∫ idt = U r (t ) dt C
1 ∫ idt = U c (t ) C

拉氏变换(零初始条件下) :
LsI ( s ) + RI ( s ) + I (s) = U c (S ) Cs 1 I (S ) = U r (s) C s

简化
( LCs + RCs + 1)U c ( s ) = U r ( s )
2

U c ( s) 1 = 2 U r ( s ) ( LCs + RCs + 1)

例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 )

质量-阻尼器系统 例:弹簧-质量 阻尼器系统 弹簧 质量 输入-外力 输入 外力F 外力 输出-质量块位移 质量块位移y 输出 质量块位移 f-粘性摩擦系数 粘性摩擦系数, 粘性摩擦系数 因 故 K-弹性系数 弹性系数 F K M y f

mα = ∑ F
d y dy m 2 =F f ky dt dt
2



ms Y ( s ) = F ( s ) fsY ( s ) KY ( s )
2

于是, 于是,可得

Y (s) 1 G (s) = = 2 F ( s ) ms + fs + k

例:直流电动机:

ωm (θ m )

dωm Tm + ωm = K mua dt
m (s) Km = U a ( s ) Tm s + 1

例:串联元件的动态数学模型

1 ui = ∫ (i1 i2 )dt + R1i1 C1 1 1 ∫ (i2 i1 )dt + R2i2 + C2 ∫ i2 dt = 0 C1 1 ∫ i2 dt = uc C2

1 ∫ (i1 i2 )dt + R1i1 C1 1 1 (i2 i1 )dt + R2i2 + ∫ ∫ i2 dt = 0 C1 C2 1 ∫ i2 dt = uc C2 ui =

1 U i ( s) = [ I1 ( s ) I 2 ( s )] + R1 I1 ( s ) C1s 1 1 [ I 2 ( s ) I1 ( s )] + R2 I 2 ( s ) + I 2 (s) = 0 C1s C2 s 1 I 2 (s) = U C (s) C2 s

U c ( s) 1 = U i ( s ) R1R2C1C2 S 2 + ( R1C1 + R1C2 + R2C2 ) s + 1

U c ( s) K = U i ( s ) ( R1C1s + 1)( R2C2 s + 1)



试证明(a)、(b)所示的机、电系统是相似系统(即两

系统具有相同的数学模型)。

解: 对机械网络:输入为Xr, 输出为Xc,根据力平衡,可 列出其运动方程式
K1 (Xr - Xc ) + B1 (Xr - Xc ) = K 2 Xc + B2 Xc


对电气网络(b),列写电路 方程如下:
R2i + 1 1 idt + R1i + ∫ ∫ idt = U r C2 C1
C 1U c1 = C 2U c2
U c = R1 i + U c1


③ ④

( B1 + B 2 ) X c + ( K 1 + K 2 ) X c = B1 X r + K 1 X r





(R 1 + R 2 )i + U c1 + U c2 = U r

利用②、③、④求出
C1 Ur (1 + )Uc C2 i= C1 R1 + R 2 (1 + ) R1 C2

代入①将①两边微分得
1 1 1 ( R1 + R 2 ) U c + ( + )U c = R1 U r + Ur C1 C 2 C1

力-电压相似
机械 电气 电阻 R1 阻尼 B1 电阻 R2 阻尼 B2 弹性系数 弹性系数 K1 K2 1/C1 1/C2

机系统(a)和电系统(b)具有相同的数学模型,故这些物理 系统为相似系统。(即电系统为即系统的等效网络) 相似系统揭示了不同物理现象之间的相似关系。 为我们利用简单易实现的系统(如电的系统)去研究机械系统。 因为一般来说,电的或电子的系统更容易,通过试验进行研究。

例:比例-微分调节器 比例 微分调节器 设运算放大器为理想 组件, 组件,则有
R1

R 2 Y (s) R3
1

C1

X (s)

+

Y (S )

Q I R1 ( s ) = I R2 ( s ) , I R2 ( s ) = I c1 ( s ) + I R3 ( s )



Y1 ( s ) X (s) I R1 ( s ) = , I R2 ( s ) = R1 R2 Y1 ( s ) I C1 ( s ) = , 1 / c1 s Y1 ( s ) Y ( s ) I R3 ( s ) = R3

将以上四式代入前两式,联立求解,即得 将以上四式代入前两式,联立求解,

Y (s) ∴ G (s) = = K C (1 + Td s ) X (s)
其中: 其中:

R2 + R3 KC = R1
R2 R3 Td = C1 R2 + R3

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

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 0 x + 1 u 2

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) G 3)系统的零极点增益模型: ( 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 注意余式一定要与极点相对应。

二、模型的连接
1、并联:parallel 格式: [a,b,c,d]=parallel(a1,b1,c1,d1,a2,b2,c2,d2) %并联连接两个状态空间系统。 [a,b,c,d]=parallel(a1,b1,c1,d1,a2,b2,c2,d2,inp1,inp2,out1,out2) %inp1和inp2分别指定两系统中要连接在一起的输入端编号,从 u1,u2,…,un依次编号为1,2,…,n; out1 out2 u1,u2,…,un 1,2,…,n out1和out2分别指定要作相加的 输出端编号,编号方式与输入类似。inp1和inp2既可以是标量也可 以是向量。out1和out2用法与之相同。如inp1=1,inp2=3表示系统1 的第一个输入端与系统2的第三个输入端相连接。 若inp1=[1 3],inp2=[2 1]则表示系统1的第一个输入与系统2的第二个 输入连接,以及系统1的第三个输入与系统2的第一个输入连接。 [num,den]=parallel(num1,den1,num2,den2) %将并联连接的传递函数进行相加。

2、串联:series 格式: [a,b,c,d]=series(a1,b1,c1,d1,a2,b2,c2,d2) %串联连接两个状态空间系统。 [a,b,c,d]=series(a1,b1,c1,d1,a2,b2,c2,d2,out1,in2) %out1和in2分别指定系统1的部分输出和系统2的部分输 入进行连接。 [num,den]=series(num1,den1,num2,den2) %将串联连接的传递函数进行相乘。

3、反馈:feedback
格式: [a,b,c,d]=feedback(a1,b1,c1,d1,a2,b2,c2,d2) %将两个系统按反馈方式连接,一般而言,系统1为对象,系统2 为反馈控制器。 [a,b,c,d]=feedback(a1,b1,c1,d1,a2,b2,c2,d2,sign) %系统1的所有输出连接到系统2的输入,系统2的所有输出连接到 系统1的输入,sign用来指示系统2输出到系统1输入的连接符号, sign缺省时,默认为负,即sign= -1。总系统的输入/输出数等同于 系统1。 [a,b,c,d]=feedback(a1,b1,c1,d1,a2,b2,c2,d2,inp1,out1) %部分反馈连接,将系统1的指定输出out1连接到系统2的输入, 系统2的输出连接到系统1的指定输入inp1,以此构成 闭环系统。 [num,den]=feedback(num1,den1,num2,den2,sign) %可以得到类似的连接,只是子系统和闭环系统均以传递函数的 形式表示。sign的含义与前述相同。

4、闭环:cloop(单位反馈) 格式: [ac,bc,cc,dc]=cloop(a,b,c,d,sign) %通过将所有的输出反馈到输入,从而产生闭环系统的状态 空间模型。当sign=1时采用正反馈;当sign= -1时采用负反 馈;sign缺省时,默认为负反馈。 [ac,bc,cc,dc]=cloop(a,b,c,d,outputs,inputs) %表示将指定的输出outputs反馈到指定的输入inputs,以此 构成闭环系统的状态空间模型。一般为正反馈,形成负反馈 时应在inputs中采用负值。 [numc,denc]=cloop(num,den,sign) %表示由传递函数表示的开环系统构成闭环系统,sign意义 与上述相同。

举例应用: 1)exp3_2.m 系统1为: 系统2为:

1 0 0 & x1 = x1 + 1 u1 1 2 y1 = [1 3]x1 + u1

1 0 0 & x2 = x2 + 1u2 1 3 y2 = [1 4]x2

求按串联、并联、正反馈、负反馈连接时的系统状态方程及 系统1按单位负反馈连接时的状态方程。

2)exp3_3.m
& x 11 1 x = 2 & 12 x 13 3 & 4 2

系统1、系统2方程如下所示。
1 0 0 0 u 11 0 u 12 1 u 13

4 x 11 0 1 x 12 + 1 6 2 x 13 0 x 11 y 11 0 0 1 + 0 y = 0 1 1 x 12 1 12 x 13 & x 21 1 1 0 x 21 1 x = 3 2 1 x + 0 & 22 22 x 23 1 1 x 23 0 6 & x 21 y 21 0 1 0 1 1 y = 1 0 1 x 22 + 1 0 22 x 23

u 11 1 0 u 12 0 1 u 13 0 0 u 21 1 0 u 22 0 1 u 23
u 21 0 u 22 1 u 23

求部分并 联后的状 态空间, 要求u11 与u22连 接,u13 与u23连 接,y11 与y21连 接。

三、模型的属性
ctrb和obsv函数可以求出状态空间系统的可控性和可观 性矩阵。 格式:co=ctrb(a,b) ob=obsv(a,c) 对于n×n矩阵a,n×m矩阵b和p×n矩阵c ctrb(a,b)可以得到n×nm的可控性矩阵 co=[b ab a2b … an-1b] obsv(a,c)可以得到nm×n的可观性矩阵 ob=[c ca ca2 … can-1]’ 当co的秩为n时,系统可控;当ob的秩为n时,系统可 观。exp3_4.m

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