现代控制理论 ——02 控制系统的状态空间描述
# 控制系统的状态空间描述
# 基本概念
# 系统的状态空间模型
- 线性时变系统的状态空间模型:系数矩阵与时间无关。
{x˙=Ax+Buy=Cx+Du(1)
其中,u=Rr 为输入向量;y=Rm 为输出向量;x∈Rn 为状态向量。A,B,C,D 为系数矩阵。
- 线性时不变系统的状态空间模型:系数矩阵与时间有关。
{x˙=A(t)x+B(t)uy=C(t)x+D(t)u(2)
- 离散线性系统的状态空间模型。
{x(k+1)=A(k)x(k)+B(k)u(k)y(k)=C(k)x(k)+D(k)u(k)(3)
# 状态空间描述的特点
- 系统的状态变量的个数 = 系统中包含的独立储能元件的个数 = 系统的阶数。
- 在给定的系统中,状态变量的选择不唯一,但是状态变量的个数是一致的。
- 基于状态变量选取的不同,同一系统可以用不同的动态方程来描述。
证明
对于一个状态方程{x˙=Ax+Buy=Cx,选择非奇异矩阵P∈Rn×n 作为变换阵,有x=Px,那么此时状态方程可表示为:
x˙=P−1x˙=P−1[Ax+Bu]=P−1APx+P−1Bu=Ax+Bu(4)
y=Cx=CP\overline{x}=\overline{C}\overline{x} \tag{5}$$、】 4 其中,$\overline{A}=P^{-1}AP,\overline{B}=P^{-1}B,\overline{C}=CP$。 因此当状态变量 $x$ 改变时,一定存在变换矩阵 $P$ 使得状态方程发生变化。
# 状态空间模型的建立步骤
- 选择状态变量。
- 根据物体或其他机理列写微分方程。
- 转化为矩阵形式,得到状态空间模型。
# 状态空间表达式的系统方框图
公式(1)是线性时不变系统状态空间表达式的一般形式。其系统方框图可表示如下:
![]()
# 状态空间表达式的状态变量图
- 状态变量图的基本元素符号
![]()
- 绘制步骤
- 绘制积分器 积分器数量等于状态变量数目。
- 由状态方程和输出方程绘制加法器和放大器
- 连接各元件
例题
设有三阶系统状态空间表达式如下,试绘制其状态变量图。
⎩⎪⎪⎪⎨⎪⎪⎪⎧x˙1=x2x˙2=x3x˙3=−6x1−3x2−2x3+uy=x1+x2
其状态变量图可绘制如下:
![]()
# 传递函数和传递函数矩阵
# 单输入单输出系统
对于单输入单输出系统{x˙=Ax+Buy=Cx+Du,在零初始条件下其传递函数可表示为:
g(s)=U(s)Y(s)=C(sI−A)−1B+D(6)
推导
在系统{x˙=Ax+Buy=Cx+Du 中,在零初始条件下取拉氏变换有:{sX(s)=AX(s)+BU(s)Y(s)=CX(s)+DU(s),整理得到{X(s)=(sI−A)−1BU(s)Y(s)=C(sI−A)−1BU(s)+DU(s),故g(s)=U(s)Y(s)=C(sI−A)−1B+D
在 D=0 时,g(s)=U(s)Y(s)=C(sI−A)−1B=∣sI−A∣Cadj(sI−A)B,其中adj(sI−A) 表示矩阵sI−A 的伴随矩阵。
对比自控原理中传递函数的表达式:g(s)=sn+a1sn−1+⋯+an−1s+anb0sn+b1sn−1+⋯+bn−1s+bn,可知:
- 系统矩阵A 的特征多项式等同于传递函数的分母多项式。
- 传递函数的极点就是系统矩阵A 的特征值。
- 传递函数的不变性 同一系统的状态空间描述不唯一,但传递函数是唯一的。
证明:同一系统的不同状态空间描述具有相同的特征值。
对于同一系统,选择两个不同的状态向量 x∈Rn 和 x∈Rn 分别得到不同的状态空间描述:
{x˙=Ax+Buy=Cx+Du{x˙=Ax+Buy=Cx+Du
两种状态变量一定存在着可逆变化关系:x=Px,故:
{x˙=Ax+Buy=Cx+Du⇒{Px˙=APx+Buy=CPx+Du⇒{x˙=P−1APx+P−1Buy=CPx+Du
故 A=P−1AP,所以矩阵 A 与矩阵 A 相似,故特征值相同。
# 多输入多输出系统
对于多输入多输出系统,输入向量u=[u1⋯up]T,输出向量y=[y1…yq]T。我们把第i 个输出yi 和第j 个输入uj 间的传递函数定义为:gij(s)=Uj(s)Yi(s)。故系统的输入输出关系可表示为:
⎣⎢⎢⎢⎢⎡Y1(s)Y2(s)⋮Yq(s)⎦⎥⎥⎥⎥⎤=⎣⎢⎢⎢⎢⎡g11(s)g21(s)⋮gq1(s)g12(s)g22(s)⋮gq2(s)⋯⋯⋱⋯g1p(s)g2p(s)⋮gqp(s)⎦⎥⎥⎥⎥⎤⎣⎢⎢⎢⎢⎡U1(s)U2(s)⋮Uq(s)⎦⎥⎥⎥⎥⎤
以矩阵的形式表示:Y(s)=G(s)U(s),其中 G(s) 称为传递函数矩阵。
对于多输入多输出系统{x˙=Ax+Buy=Cx+Du,同样传递函数矩阵为:
G(s)=C(sI−A)−1B+D=∣sI−A∣Cadj(sI−A)B+D∣sI−A∣
例题
已知系统动态方程为[x˙1x˙2]=[001−2][x1x2]+[1001][u1u2],[y1y2]=[1001][x1x2],试求系统的传递函数矩阵。
由题,G(s)=C(sI−A)−1B+D=[1001][s10s(s+2)1s+21][1001]=[s10s(s+2)1s+21]。
# 建立状态空间表达式
# 高阶微分方程化为状态空间描述
在单输入单输出线性时不变系统中,系统的输出与输入的关系可用如下高阶微分方程描述:
y(n)+a1y(n−1)+⋯+an−1y˙+any=b0u(m)+b1u(m−1)+⋯+bm−1u˙+bmu(7)
其中,m≤n。根据微分方程右侧是否含有输入函数的导数(即m 是否等于 0)分两种情况讨论。
# 常微分方程中不含输入函数的导数
若常微分方程中不含有输入函数的导数,即:y(n)+a1y(n−1)+⋯+an−1y˙+any=bmu。
那么可以选取状态变量:
x1=bm1y,x2=bm1y˙,⋯xn=bm1y(n−1)(8)
那么就可以得到状态方程(前n−1 条通过求导获得,最后一条通过原微分方程获得):
⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧x˙1=x2x˙2=x3⋮x˙n=y(n)=−anx1−an−1x2−⋯−a1xn+u
输出方程为:y=bmx1。
以矩阵的形式可表示为:
x˙=⎣⎢⎢⎢⎢⎡0⋮0−an1⋮0−an−1⋯⋱⋯⋯0⋮1−a1⎦⎥⎥⎥⎥⎤x+⎣⎢⎢⎢⎢⎡00⋮1⎦⎥⎥⎥⎥⎤u(9)
y=[10⋯0]x(10)
能控标准型
形如公式(9)的状态空间模型称为能控标准型。即A 与b 可用以下形式表示:
A=⎣⎢⎢⎢⎢⎡0⋮0−an1⋮0−an−1⋯⋱⋯⋯0⋮1−a1⎦⎥⎥⎥⎥⎤,b=⎣⎢⎢⎢⎢⎡00⋮1⎦⎥⎥⎥⎥⎤
例题
设系统的运动方程为:y(3)+5y¨+8y˙+6y=3u,试求其状态空间表达式。
选取状态变量x1=y,x2=y˙,x3=y¨,则有状态方程:
⎩⎪⎨⎪⎧x˙1=x2x˙2=x3x˙3=y(3)=−6x1−8x2−5x3+3u
输出方程为y=x1。
故状态空间表达式为:
x˙=⎣⎢⎡00−610−801−5⎦⎥⎤x+⎣⎢⎡003⎦⎥⎤u
y=[100]x
# 常微分方程中含有输入函数的导数
若常微分方程中含有输入函数的导数,即:y(n)+a1y(n−1)+⋯+an−1y˙+any=b0u(m)+b1u(m−1)+⋯+bm−1u˙+bmu。
选择状态变量:
⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧x1=y−β0ux2=x˙1−β1u=y˙−β0u˙−β1ux3=x˙2−β2u=y¨−β0u¨−β1u˙−β2u⋮xn=x˙n−1−βn−1u=y(n)−β0u(n−1)−β1u(n−2)−⋯−βn−2u˙−βn−1u(11)
其中参数β0,β1,⋯,βn 由下式决定:
⎣⎢⎢⎢⎢⎢⎢⎡β0β1β2⋮βn⎦⎥⎥⎥⎥⎥⎥⎤=⎣⎢⎢⎢⎢⎢⎢⎡1a1⋮an−1an01⋮an−2an−1⋯⋯⋱⋯⋯00⋮1a100⋮01⎦⎥⎥⎥⎥⎥⎥⎤⎣⎢⎢⎢⎢⎢⎢⎡b0b1b2⋮bn⎦⎥⎥⎥⎥⎥⎥⎤(12)
由(11)可得到状态方程:⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧x˙1=x2+β1ux˙2=x3+β2u⋮x˙n−1=xn+βn−1ux˙n=y(n)−β0u(u)−β1u(n−1)−⋯−βn−2u¨−βn−1u˙=−anx1−an−1x2−⋯−a1xn+βnu。
最后一个等式怎么化简得到的?
因此,状态空间表达式为:
x˙=⎣⎢⎢⎢⎢⎢⎢⎡00⋮0−an10⋮0−an−101⋮0−an−2⋯⋯⋱⋯⋯00⋮1−a1⎦⎥⎥⎥⎥⎥⎥⎤x+⎣⎢⎢⎢⎢⎢⎢⎡β0β1⋮βn−1βn⎦⎥⎥⎥⎥⎥⎥⎤u(13)
y=[10⋯0]x+β0u
# 通过传递函数建立状态空间描述
后续的方法我们讨论的传递函数的分子多项式次数均小于分母多项式次数。因为对于实际系统,分子多项式次数总是小于或等于分母多项式次数,在次数相等时可以通过化简的方法转化为分子多项式次数小于分母多项式次数。
推导
若传递函数的分子多项式次数等于分母多项式次数,即
g(s)=sn+a1sn−1+⋯+an−1s+anb0sm+b1sm−1+⋯+bm−1s+bm,m=n
它总是可以化简为:
g(s)=sn+a1sn−1+⋯+an−1s+anb1sm−1+⋯+bm−1s+bm=g(s)+b0,m=n
其中 g(s) 为分子多项式次数小于分母多项式次数的传递函数,b0 为常数,整体视为两者的并联结构。
# 直接分解法
对于n 阶传递函数:g(s)=U(s)Y(s)=sn+a1sn−1+⋯+an−1s+anb1sn−1+⋯+bn−1s+bn。
同时除以sn 有:Y(s)=U(s)1+a1s−1+⋯+an−1s−(n−1)+ans−nb1s−1+⋯+bn−1s−(n−1)+bns−n。
令中间变量E(s)=U(s)1+a1s−1+⋯+an−1s−(n−1)+ans−n1,即E(s)=U(s)−a1s−1E(s)−⋯−an−1s−(n−1)E(s)−ans−nE(s)。
则输入U(s)、中间变量E(s) 和输出Y(s) 的关系流程图如下:
则Y(s)=b1s−1E(s)+b2s−2E(s)+⋯+bn−1s−(n−1)E(s)+bns−nE(s)。
令xn,xn−1,⋯,x1 为s−1E(s),s−2E(s),⋯,s−nE(s) 的拉氏逆变换,那么就可以绘制状态变量图并得到系统的状态空间表达式(能控标准型)。
x˙=⎣⎢⎢⎢⎢⎡0⋮0−an1⋮0−an−1⋯⋱⋯⋯0⋮1−a1⎦⎥⎥⎥⎥⎤x+⎣⎢⎢⎢⎢⎡0⋮01⎦⎥⎥⎥⎥⎤u(14)
y=[bnbn−1⋯b1]x
补充
如果该n 阶系统传递函数的分子多项式次数等于分母多项式次数(在通过传递函数建立状态空间描述中讨论过该情况)即 g(s)=sn+a1sn−1+⋯+an−1s+anb1sm−1+⋯+bm−1s+bm=g(s)+b0,m=n,那么先算出 g(s) 后在输入到输出之间直接连接一个比例环节即可。
# 串联分解法
该方法适用于传递函数可分解为因式相乘的形式,即g(s)=(s−p1)(s−p2)…(s−pn)b1(s−z1)(s−z2)⋯(s−zn−1)。
以一个三阶系统进行说明:g(s)=(s−p1)(s−p2)(s−p3)b1(s−z1)(s−z2)。
上式中可分为两种:s−p1=1−s1ps1,s−ps−z=1+s−pp−z=1+(p−z)1−s1ps1。
因此系统可视为三个一阶系统串联而成,结构图如下:
取每个积分器的输出为状态变量,那么可以得到状态空间表达式如下:
⎩⎪⎪⎪⎨⎪⎪⎪⎧x˙1=p1x1+b1ux˙2=x1+p2x2x˙3=x1+(p2−z2)x2+p3x3y=x1+(p2−z2)x2+(p3−z3)x3
写成向量的形式为:
x˙=⎣⎢⎡p1110p2p2−z200p3⎦⎥⎤x+⎣⎢⎡b100⎦⎥⎤u(15)
y=[1p2−z2p3−z3]x
# 并联分解法
- 若传递函数的极点两两相异。
传递函数极点两两相异,则g(s)=(s−p1)(s−p2)…(s−pn)N(s)=s−p1c1+s−p2c2+⋯+s−pncn,其中ci=lims→pi(s−pi)g(s)。
选取状态变量 xi(s)=s−pi1U(s),即 sxi(s)=pixi(s)+u(s),做拉氏逆变换有:
x˙i(t)=pixi(t)+u(t)
输出 y(s)=g(s)u(s)=∑i=1ns−piciui(s)=∑i=1ncixi(s),做拉氏逆变换有:
y(t)=i=1∑ncixi(t)
写成向量的形式为:
x˙=⎣⎢⎢⎢⎢⎡p10⋮00p2⋮0⋯⋯⋱⋯000pn⎦⎥⎥⎥⎥⎤x+⎣⎢⎢⎢⎢⎡11⋮1⎦⎥⎥⎥⎥⎤u(16)
y=[c1c2⋯cn]x
上式为对角标准型
对于系统 {x˙=Ax+Buy=Cx ,若A 为对角阵且各元素为传递函数的极点,B 为全 1 矩阵,C 内各元素为对应极点的留数,那么称该矩阵表达式为对角标准型。
- 若传递函数具有重极点。
先考虑只有一个重极点和若干个单极点,重数为r,g(s)=(s−p1)rc11+(s−p1)r−1c12+⋯+(s−p1)c1r+s−pr+1cr+1+⋯+s−pncn,其中对于单极点仍有:ci=lims→pi(s−pi)g(s),而对于重极点则有:c1j=(j−1)!1lims→p1dsj−1dj−1[(s−p1)g(s)],j=1,2,⋯,r。
选取状态变量,化简求拉氏逆变换得到状态方程:
⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧x1(s)=(s−p1)rU(s)x2(s)=(s−p1)r−1U(s)⋮xr(s)=(s−p1)U(s)xr+1(s)=s−pr+1U(s)⋮x1(s)=s−pnU(s)⇒⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧x1(s)=s−p11x2(s)x2(s)=s−p11x3(s)⋮xr(s)=s−p11U(s)xr+1(s)=s−pr+11U(s)⋮xn(s)=s−pn1U(s)⇒L−1⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧x˙1(t)=p1x1+x2x˙2(t)=p1x2+x3⋮x˙r(t)=p1xr+ux˙r+1(t)=pr+1xx+1+u⋮x˙n(t)=pnxn+u
输出方程的拉氏变换为:
Y(s)=c11x1(s)+c12x2(s)+⋯+c1rxr(s)+cr+1xr+1(s)+⋯+cnxn(s)
求拉氏逆变换有:
y(t)=c11x1(t)+c12x2(t)+⋯+c1rxr(t)+cr+1xr+1(t)+⋯+cnxn(t)
得到状态空间表达式为:
⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡x1˙x2˙⋮xr˙xr+1˙⋮xn˙⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡p11p10⋱⋱1p1pr+10⋱pn⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡x1x2⋮xrxr+1⋮xn⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤+⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡00⋮11⋮1⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤u(17)
y=[c11c12⋯c1rcr+1⋯cn]⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡x1x2⋮xrxr+1⋮xn⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤
对于重根部分,矩阵A 中对应的是若尔当块,B 中为一个只有末行是 1 其余行为 0 的矩阵,C 中对应元素为r 重极点对应的留数。而对于其中的单极点部分,形式与无重根时一致。
拓展到具有多个重极点的情况。矩阵A 中在对角上补充对应的若尔当块,B 中对应补充只有末行是 1 其余行为 0 的矩阵,C 中补充对应元素为r 重极点对应的留数。
# 组合系统
# 并联联结
在n 个子系统并联的并联系统中,组合系统的传递函数矩阵等于子系统传递函数矩阵的和。
G(s)=G1(s)+G2(s)+⋯+Gn(s)(18)
# 串联联结
在n 个子系统串联的串联系统中,组合系统的传递函数矩阵等于子系统传递函数矩阵的积。
G(s)=Gn(s)⋯G2(s)G1(s)(19)
# 反馈联结
对于系统 G1(s),若添加反馈环节(动态反馈G2(s) 或常数反馈H),则可得到组合系统的传递函数矩阵:
- 动态反馈 反馈子系统为动态系统G2(s)。
组合系统的传递函数矩阵为:
G(s)=[I+G2(s)G1(s)]−1G1(s)(20)
- 常数反馈 反馈环节为常数矩阵H。
组合系统的传递函数矩阵为:
G(s)=[I+HG1(s)]−1G1(s)(21)
# 线性变换
# 系统状态的线性变换
对于一个状态方程{x˙=Ax+Buy=Cx+Du,选择非奇异矩阵P∈Rn×n 作为变换阵,有x=Px,那么此时状态方程可表示为:
x˙=P−1x˙=P−1[Ax+Bu]=P−1APx+P−1Bu=Ax+Bu(22)
y=Cx=CPx=Cx(23)
其中,A=P−1AP,B=P−1B,C=CP,D=D。
该方法通常用于将非对角阵A 转化为对角阵A,从而实现状态变量的解耦。
线性定常系统的系统矩阵 A 的特征值是表征系统的动力学特性的重要参量。系统的状态方程可通过适当的线性非奇异变换化为由特征值表征的标准形,对分析系统的结构特性非常直观。
- 特征值互异时,标准形为对角阵。
- 特征值非互异时,标准形一般为约当阵。
# 状态方程转化为对角标准型
# 状态方程转化为若尔当标准型
# 状态变换后特征值及传递函数矩阵的不变形