现代控制理论 ——04 线性系统的能控性和能观测性
# 线性系统的能控性和能观测性
# 能控性
能控性的简单理解为输入能够控制系统的状态变量 x(t) 和输出变量 y(t))。
例子
以下图结构图系统为例,输入 u 只能影响 x1 而不能影响 x2 ,因此可以说该系统中 x2 不可控, x1 可控,系统整体不可控。
![]()
{height="100px" width="400px"}
# 线性定常系统的能控性定义
对于线性定常系统:
x˙=Ax+Bu(1)
如果存在输入控制 u(t) 在有限的时间 [t0,t1] 内能将系统从初始状态 x(t0) 转移到任意的状态 x(t1) 。
# 线性定常系统的能控性判据
- 判据 1(PHB 判据):对于式(1),系统,该系统完全能控的充要条件为能控性矩阵
Uc=[BAB⋯An−1B](2)
的秩为 n ,即 rankUc=n。
- 对于线性系统,经过线性非奇异变换后,状态能控性不变。(即能控性与系统有关,与状态变量的选取无关)
线性定常系统的能控性判据一示例代码 | A = [1,2,1;0,1,0;1,0,3]; |
| B = [1,0;0,1;0,0]; |
| [n, ~] = size(A); |
| Uc = [B]; temp = B; |
| for i = 1:n-1 |
| temp = A*temp; |
| Uc = [Uc,temp]; |
| end |
| disp(rank(Uc)==n); |
例题
考察以下系统的能控性。
⎣⎢⎡x˙1x˙2x˙3⎦⎥⎤=⎣⎢⎡101210103⎦⎥⎤⎣⎢⎡x1x2x3⎦⎥⎤+⎣⎢⎡100010⎦⎥⎤[u1u2]
由题 B=⎣⎢⎡100010⎦⎥⎤, AB=⎣⎢⎡101210103⎦⎥⎤⎣⎢⎡100010⎦⎥⎤=⎣⎢⎡101210⎦⎥⎤,A2B=⎣⎢⎡101210103⎦⎥⎤⎣⎢⎡101210⎦⎥⎤=⎣⎢⎡204412⎦⎥⎤。
故 Uc=⎣⎢⎡100010101210204412⎦⎥⎤,其秩为 3,故该系统可控。
- 判据 2:对于式(1)系统,若系统矩阵 A 具有互不相同的特征值,则系统状态可控的充要条件是,系统经过线性非奇异变换后,矩阵 A 转换为对角标准型,状态方程为 x^˙=⎣⎢⎡λ10⋱0λn⎦⎥⎤x^+B^u,其中 B^ 中不含全为 0 的行。
证明(理解)
我们把上述的对角标准型状态方程 x^˙=⎣⎢⎡λ10⋱0λn⎦⎥⎤x^+B^u 展开:
⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧x^˙1=λ1x^1+b^11u1+b^12u2+⋯+b^1pupx^˙2=λ2x^2+b^21u1+b^22u2+⋯+b^2pup⋮x^˙n=λnx^n+b^n1u1+b^n2u2+⋯+b^npup
从中可以看出状态变量间是解耦的,状态变量间是没有联系的。若 B^ 中存在一行全为 0,那么该行对应的状态变量将不受输入的控制,故系统不可控。
- 为何要转换为对角标准型:若非对角标准型,状态变量间并不是解耦的,那么输入便可通过状态变量间的耦合关系进行控制。
例题
判断以下系统的可控性。
⎣⎢⎡x˙1x˙2x˙3⎦⎥⎤=⎣⎢⎡3000−1000−2⎦⎥⎤⎣⎢⎡x1x2x3⎦⎥⎤+⎣⎢⎡210⎦⎥⎤u
该系统不可控,因为状态变量 x3 不可控。
判断以下系统的可控性。
⎣⎢⎡x˙1x˙2x˙3⎦⎥⎤=⎣⎢⎡−7000−5000−1⎦⎥⎤⎣⎢⎡x1x2x3⎦⎥⎤+⎣⎢⎡047105⎦⎥⎤[u1u2]
该系统可控。
该判据的优点是能够容易判断出能控性,并且能够直接看出不可控的部分,但缺点在于需要等价变换。
注意,上述判据 2 存在不适用情况:
- 若系统矩阵 A 为对角形但含有相同元素;
- 若系统矩阵 A 的若尔当标准型中有两个若尔当块的特征值相同;
例子
对于系统 x˙=[1001]x+[11]u,矩阵 B 中虽然没有全零行,但是矩阵 A 为对角阵且含有相同元素,故该系统不可控。
对于系统 x˙=⎣⎢⎡−1001−4000−4⎦⎥⎤x+⎣⎢⎡012⎦⎥⎤u,虽然所有若尔当块的最后一行均没有全零行,但是矩阵 A 为若尔当标准型且存在两个若尔当块的特征值相同,故该系统不可控。
若系统矩阵 A 具有重特征值 λ1(m1重),λ2(m2重),⋯,λk(mk重) 且每个重特征值只有一个若尔当块时时,则系统状态可控的充要条件是,系统经过线性非奇异变换后,系统转换为若尔当标准型,状态方程为 x^˙=⎣⎢⎢⎢⎢⎡J10⋮00J2⋮0⋯⋯⋱⋯00⋮Jn⎦⎥⎥⎥⎥⎤x^+B^u,其中 B^ 中与每个若尔当块 Ji 最后一行对应的行中各元素不全为 0。
例题
判断以下系统的可控性。
⎣⎢⎡x˙1x˙2x˙3⎦⎥⎤=⎣⎢⎡−3001−30001⎦⎥⎤⎣⎢⎡x1x2x3⎦⎥⎤+⎣⎢⎡0200−13⎦⎥⎤[u1u2]
该系统可控。
判断以下系统的可控性。
⎣⎢⎡x˙1x˙2x˙3⎦⎥⎤=⎣⎢⎡40014000−2⎦⎥⎤⎣⎢⎡x1x2x3⎦⎥⎤+⎣⎢⎡403200⎦⎥⎤[u1u2]
该系统不可控。
# 线性定常系统的输出能控性
很多情况下,被控制量往往是系统的输出而非状态变量,因此还需分析输出能控性。
- 输出能控性的定义:对于线性定常系统: x˙=Ax+Bu, 如果存在输入控制 u(t) 在有限的时间 [t0,t1] 内能将系统从初始状态 y(t0) 转移到任意的状态 y(t1) ,那么可以说明系统是输出的完全可控。
- 输出可控性的判据:系统输出完全可控的充要条件是矩阵 [CBCABCA2B⋯CAn−1B] 的秩等于输出的维数,即矩阵 C 的维数。
输出可控性示例代码 | A = [-4,1;2,-3]; |
| B = [1;2]; |
| C = [1,0]; |
| [n, ~] = size(A); |
| [p, ~] = size(C); |
| Uc = [C*B]; temp = eye(n,n); |
| for i = 1:n-1 |
| temp = temp*A; |
| Uc = [Uc,C*temp*B]; |
| end |
| disp(rank(Uc)==p); |
例题
判断以下系统的状态能控性和输出能控性。
[x˙1x˙2]=[−421−3][x1x2]+[12]uy=[10][x1x2]
系统的状态能控性矩阵:[BAB]=[12−2−4],秩为 1,故系统状态不可控。
系统的输出能控性矩阵:[CBCAB]=[1−2],秩为 1,故系统输出可控。
# 能观测性
能观测性是指通过对输出的测量来确定系统的状态变量,反映了从系统外部观测系统内部的能力。
在前面状态方程的解方面的内容中,我们知道线性时不变系统动态方程(取初态时间 t0=0)的解为:
x(t)=eA(t)x(0)+∫0teA(t−τ)Bu(τ)dτ,t≥0(3)
上式中,系统矩阵 A,B 以及控制输入 u(t) 已知,因此只需要关注初态 x(0) 即可得到 x(t)。
# 线性定常系统的能观性定义
对于线性定常系统:
{x˙y=Ax+Bu=Cx(4)
如果在任意给定的输入 u(t) 下,根据输出 y(t) 在有限的时间 [t0,t1] 内的测量值唯一确定初始状态 x(t0) ,则称系统在 t0 时刻可观测。若在任意时刻都可观测,则该系统是状态完全可观测的。
# 线性定常系统的能观性判据
- 判据 1:对于式(4),系统,该系统完全能控的充要条件为能控性矩阵
Uo=⎣⎢⎢⎢⎢⎡CCA⋮CAn−1⎦⎥⎥⎥⎥⎤(5)
的秩为 n ,即 rankUo=n。
线性定常系统的能观性判据一示例代码 | A = [2,-1;1,-3]; |
| B = [-1;1]; |
| C = [1,0;-1,0]; |
| [n, ~] = size(A); |
| [p, ~] = size(C); |
| Uo = [C]; |
| for i = 1:n-1 |
| Uo = [Uo;Uo(end-p+1:end,:)*A]; |
| end |
| disp(rank(Uo)==p); |
例题
判断以下系统的能观测性
[x1˙x2˙][y1y2]=[21−1−3][x1x2]+[−11]u=[1−100][x1x2]
系统的能观性矩阵 Uo=[CCA]=⎣⎢⎢⎢⎡1−12−200−11⎦⎥⎥⎥⎤ 的秩为 2,故该系统能观测。
- 判据 2:对于式(4)系统,若系统矩阵 A 具有互不相同的特征值,则系统状态可观的充要条件是,系统经过线性非奇异变换后,矩阵 A 转换为对角标准型,状态方程为 ⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧x^˙y=⎣⎢⎡λ10⋱0λn⎦⎥⎤x^=C^x^,其中 C^ 中不含全为 0 的列。
若系统矩阵 A 具有重特征值 λ1(m1重),λ2(m2重),⋯,λk(mk重) 且每个重特征值只有一个若尔当块时时,则系统状态可控的充要条件是,系统经过线性非奇异变换后,系统转换为若尔当标准型,状态方程为 ⎩⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎧x^˙y=⎣⎢⎢⎢⎢⎡J10⋮00J2⋮0⋯⋯⋱⋯00⋮Jn⎦⎥⎥⎥⎥⎤x^=C^x^,其中 C^ 中与每个若尔当块 Ji 第一列对应的行中各元素不全为 0。
例题
判断以下系统的能观测性
x˙y=[−2005]x=[13]x
该系统为对角标准型,不含全为 0 的列,故系统完全可观测。
判断以下系统的能观测性
x˙y=⎣⎢⎢⎢⎡2000120000300013⎦⎥⎥⎥⎤x=[00111101]x
该系统为若尔当标准型,第一个若尔当块第一列全为 0,故系统不可观测。
判断以下系统的能观测性
x˙y=⎣⎢⎡−3001−30001⎦⎥⎤x=[10000−1]x
该系统为若尔当标准型,所有若尔当块的第一列不全为 0,故系统可观测。
# 能控性与能观测性的对偶关系
# 对偶系统
对于两个系统 Σ1:{x˙y=Ax+Bu=Cx , Σ2:{z˙w=ATz+CTv=BTz,其中 x 与 z 的维度相同,u 与 v 的维度相同,y 与 w 的维度相同,这两个系统即是对偶系统。
![]()
{height="150px"}
# 对偶原理
对于上述两个系统 Σ1,Σ2,Σ1 能观 ⇔ Σ2 能控,Σ1 能控 ⇔ Σ2 能观。
证明
证明 Σ1 的能观性矩阵与 Σ2 的能控性矩阵一致, Σ1 的能控性矩阵与 Σ2 的能观性矩阵一致。
进一步分析对偶系统的传递函数可知:GΣ1(s)=[GΣ2(s)]T
# 线性定常系统的结构分解
结构分解就是将系统的可控(可观)和不可控(不可观)的部分分离开,进而理解系统的内部。
对于系统 {x˙y=Ax+Bu=Cx,以下将进行能控性分解、能观性分解和标准分解。
# 能控性分解
假设系统不完全可控,即能控性矩阵的秩为 n1<n。存在非奇异矩阵 Tc 进行状态变换 x=Tcx~ ,使得系统的状态空间方程变换为:{x~˙y=A~x~+B~u=C~x,其中 A~=Tc−1ATc=[A~110A~12A~22],B~=Tc−1B=[B~10],C~=CTc=[C~1C~2],其中 A~11,A~12,A~22 均为分块矩阵,各自的维数为 n1×n1,n1×(n−n1),(n−n1)×(n−n1),B~1 为 n1×p 的分块矩阵,C~1,C~2 为 q×n1,q×(n−n1) 的分块矩阵。
那么系统的 n1 维能控部分可表示为:x~˙=A~11x~1+A~12x~2+B~1u,n−n1 维不可控部分可表示为:x~2=A~22x~2 。
那么变换矩阵 Tc 如何获取呢?
- 从能控性矩阵 Uc=[BAB⋯An−1B] 中选取 n1 个线性无关的列向量作为 Tc 矩阵的前 n1 列。
- 其余 n−n1 列可在保证 Tc 非奇异的条件下任意选取。
例题
对下列系统进行能控性分解。
x˙y=⎣⎢⎡010001−1−3−3⎦⎥⎤x+⎣⎢⎡110⎦⎥⎤u=[01−2]x
- 计算能控性矩阵的秩。rank[bAbA2b]=rank⎣⎢⎡110011−1−3−2⎦⎥⎤=2<3,系统不完全可控。
- 选取两个线性无关的列向量 ⎣⎢⎡110⎦⎥⎤ 和⎣⎢⎡011⎦⎥⎤。再任意选取另外一个线性无关的列向量 ⎣⎢⎡001⎦⎥⎤ 构成变换矩阵 Tc=⎣⎢⎡110011001⎦⎥⎤。
- 求逆:Tc−1=⎣⎢⎡1−1101−1001⎦⎥⎤。
- 利用状态变换 x=Tcx~ ,得到变换后的状态空间表达式:⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧x~˙y=⎣⎢⎡010−1−20−1−2−1⎦⎥⎤x~+⎣⎢⎡100⎦⎥⎤u=[1−1−2]x~。
故可控部分为:⎩⎪⎪⎨⎪⎪⎧x~˙1=[01−1−2]x~1+[10]uy=[1−1]x~1。
# 能观性分解
假设系统不完全能观,即能观性矩阵的秩为 n2<n。存在非奇异矩阵 To 进行状态变换 x=Tox~ ,使得系统的状态空间方程变换为:{x~˙y=A~x~+B~u=C~x,其中 A~=To−1ATo=[A~11A~210A~22],B~=To−1B=[B~1B~2],C~=CTo=[C~10],其中 A~11,A~12,A~22 均为分块矩阵,各自的维数为 n2×n2,(n−n2)×n2,(n−n2)×(n−n2),B~1,B~2 为 n2×p,(n−n2)×p 的分块矩阵,C~1 为 q×n2 的分块矩阵。
那么系统的 n2 维能观部分可表示为:{x~˙=A~11x~1+B~1uy1=C~1x~1,n−n2 维不可观部分可表示为:x~2=A~21x~1+A~22x~2+B~2u 。
能观子系统的传递函数矩阵与原系统的传递函数矩阵相同,因为不能观测的部分不能出现在传递函数矩阵中。
同样关键是变换矩阵 To 如何获取。
- 从能观性矩阵 Uo=⎣⎢⎢⎢⎢⎡CCA⋮CAn−1⎦⎥⎥⎥⎥⎤ 中选取 n2 个线性无关的行向量作为 To−1 矩阵的前 n2 行。
- 其余 n−n2 列可在保证 To−1 非奇异的条件下任意选取。
例题
对下列系统进行能观性分解。
x˙y=⎣⎢⎡010001−1−3−3⎦⎥⎤x+⎣⎢⎡110⎦⎥⎤u=[01−2]x
- 计算能观性矩阵的秩。rank⎣⎢⎡CCACA2⎦⎥⎤=rank⎣⎢⎡01−21−23−23−4⎦⎥⎤=2<3,系统不完全可观。
- 选取两个线性无关的行向量 [01−2] 和[1−23]。再任意选取另外一个线性无关的行向量 [001] 构成变换矩阵 To−1=⎣⎢⎡0101−20−231⎦⎥⎤。
- 求逆:To=⎣⎢⎡210100121⎦⎥⎤。
- 利用状态变换 x=Tox~ ,得到变换后的状态空间表达式:⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧x~˙y=⎣⎢⎡0−111−2000−1⎦⎥⎤x~+⎣⎢⎡1−10⎦⎥⎤u=[100]x~。
故可观部分为:⎩⎪⎪⎨⎪⎪⎧x~˙1=[0−1−1−2]x~1+[1−1]uy=[10]x~1。
# 能控性、能观性与传递函数矩阵的关系
在单输入单输出系统中,系统能控能观的充要条件是传递函数中没有零极点相消的现象。
推论
- 一个系统的传递函数所表示的是该系统既能控又能观的那一部分子系统。
- 一个系统的传递函数若有零、极点对消现象,则视状态变量的选择不同,系统或是不能控的或是不能观的。
# 能控标准型
在单输入单输出系统(x˙=Ax+bu),若系统矩阵 A 和控制矩阵 b 表示如下,那么其为状态空间表达式的能控标准型。
A=⎣⎢⎢⎢⎢⎢⎢⎡00⋮0−an10⋮0−an−101⋮0−an−2⋯⋯⋱⋯⋯00⋮0−a1⎦⎥⎥⎥⎥⎥⎥⎤,b=⎣⎢⎢⎢⎢⎢⎢⎡00⋮01⎦⎥⎥⎥⎥⎥⎥⎤
对于线性定常系统 x˙=Ax+bu,若其能控,那么必定存在非奇异变换 x~=Px 将该系统转换为能控标准型 x~˙=Acx~+bcu(Ac,bc 符合上述能控标准型)。非奇异变换 P=⎣⎢⎢⎢⎢⎡p1P1A⋮p1An−1⎦⎥⎥⎥⎥⎤,其中 p1 由 p1=[000⋯01][bAbA2b⋯An−1b]−1 确定。
例题
将下列线性定常系统化为能控标准型。
x˙=[11−10]x+[11]u
系统的能控性矩阵为:Uc=[bAb]=[1101],求逆得到 Uc−1=[1−101],进而计算 p1=[−11]。则变换矩阵P=[p1p1A]=[−1011],求逆得到 P−1=[−1011]。
则 Ac=PAP−1=[0−111],bc=Pb=[01],则能控标准型表示为:x~˙=[0−111]x~+[01]u。
# 能观测标准型
在单输入单输出系统({x˙=Ax+buy=cx),若系统矩阵 A 和控制矩阵 b 表示如下,那么其为状态空间表达式的能控标准型。
A=⎣⎢⎢⎢⎢⎢⎢⎡010⋮0001⋮0⋯⋯⋯⋱⋯000⋮0−an−an−1−an−2⋮−a1⎦⎥⎥⎥⎥⎥⎥⎤,c=[00⋯01]
对于线性定常系统 {x˙=Ax+buy=cx,若其能观,那么必定存在非奇异变换 x=Tx~ 将该系统转换为能控标准型 {x~˙=Aox~+bouy=cox~(Ao,co 符合上述能观标准型)。非奇异变换 T=[T1AT1⋯An−1T1],其中 T1 由 T1=⎣⎢⎢⎢⎢⎢⎢⎡ccAcA2⋮cAn−1⎦⎥⎥⎥⎥⎥⎥⎤−1⎣⎢⎢⎢⎢⎢⎢⎡00⋮01⎦⎥⎥⎥⎥⎥⎥⎤ 确定。
例题
将下列线性定常系统化为能观标准型。
x˙y=[10−12]x=[−1−21]x
系统的能观性矩阵为:Uo=[ccA]=[−1−1−210],则 T1=[ccA]−1[01]=[−12]。则变换矩阵T=[T1AT1]=[−12−34]。
则能观标准型表示为:⎩⎪⎪⎨⎪⎪⎧x~˙=T−1ATx~=[01−23]x~y=cTx~=[01]x~。