8.5.4 如何判断单个状态的能控性和能观性
一、温故知新:坐标系要求与约旦阵拓扑结构
1. 单个状态变量属性判断的前提条件
2. 约旦标准型系统的分块拓扑结构
考虑已化为约旦标准型的连续系统状态空间表达式:
x˙=Jx+Bu,y=Cx
其中状态转移矩阵 J 由若干个约旦块(含对角元)沿对角线排列构成,输入矩阵 B(或向量 b)和输出矩阵 C(或向量 c)按对应约旦块的阶数进行分块:
J=λ101λ100⋱⋱01λ1λm001λm0⋱⋱01λmλm+1000⋱0λn,B=b1b2⋮bmbm+1⋮blbl+1⋮bn
C=[c1c2⋯cmcm+1⋯clcl+1⋯cn]
- 每一个独立的约旦块 Jk 对应一组具有相同特征值的耦合状态变量(例如 x1∼xm);
- 一阶约旦块即对角元素(例如 xm+1∼xn),对应完全解耦的一维模态。
二、核心法则与内在物理传导机理
1. 约旦块单个状态判定黄金法则
2. 深度机理解剖:为什么是“非零行及以上能控,非零列及以右能观”?
许多同学在考场上容易将“上”与“下”、“左”与“右”混淆,甚至觉得这个结论非常反直觉。其根本原因在于:数学家在用矩阵排版时,把物理现实中信号流动的“上游”与“下游”在视觉上写反了!
只要建立起控制工程中最经典的**三级串联水箱(单向重力级联系统)**物理模型,所有结论便如水到渠成、终生不忘。
(1)物理原型:三级串联水箱模型(变量耦合的物理来源)
💡 【思考与设问】 为什么状态变量之间会存在耦合(+x2,+x3)?
- 对角矩阵(完全解耦):相当于 3 个水箱并排平放在地面上,各自独立进水、出水,各状态互不干涉;
- 约旦块(单向级联耦合):相当于垂直叠放的 3 个漏水水箱,水在重力作用下只能自上而下单向流动,不可逆流!
[ 外部注水管 u(t) ]
↓
┌───────────────┐
│ 3 号水箱 x3 │ (最上游源头:只出不进,自生自灭)
└───┬───────────┘
│ 漏水流入 ~ x3
↓
┌───────────────┐
│ 2 号水箱 x2 │ (中间级:入水取决于 3 号液位)
└───┬───────────┘
│ 漏水流入 ~ x2
↓
┌───────────────┐
│ 1 号水箱 x1 │ (最下游末端:入水取决于 2 号液位)
└───┬───────────┘
│ 最终排空
↓
我们用状态变量 x1,x2,x3 分别表示 3 个水箱的液位蓄水量(储能状态):
- 3 号水箱(最上游源头):自身自发漏水,同时接收注水管 u(t) 输入:
x˙3=λx3+b3u
- 2 号水箱(中间级):自身向外漏水,但其进水流量由 3 号水箱液位直接决定(耦合项 +x3):
x˙2=λx2+x3+b2u
- 1 号水箱(最下游末端):自身向外漏水,但其进水流量由 2 号水箱液位直接决定(耦合项 +x2):
x˙1=λx1+x2+b1u
这就是标准的 3 阶约旦块状态方程:
x˙1x˙2x˙3=λ001λ001λx1x2x3+b1b2b3u,y=[c1c2c3]x1x2x3

(2)能控性机理解析(注水管注入:自下而上回传驱动)
能控性的物理本质:拿着外部注水管 u(t),能否把某个水箱的液位从任意初态操纵到目标值?
假设注水管只插在 2 号水箱中(b3=0,b2=0):
- 看 3 号水箱(上游):
- 微分方程为 x˙3=λx3。
- 水管插在 2 号,重力作用下水绝对无法逆流爬进 3 号水箱!3 号水箱完全不受控,处于自治衰减状态,x3 绝对不能控!
- 看 2 号水箱(本级):
- 水管直接给它注水,直接操纵其液位,x2 能控;
- 看 1 号水箱(下游):
- 2 号水箱的水顺流而下全部排入 1 号。我们只要通过控制 2 号的液位,就能精确调控流入 1 号的流量,进而把 1 号水箱也牢牢控制在目标值,x1 能控!
(3)能观性机理解析(水尺测液位:时域展开与顺藤摸瓜)
能观性的物理本质:在某个水箱插上水尺(传感器),能否从测得的液位数据反推出各水箱的初始存水量?
在零输入自治下,系统的时域状态转移解析解为:
x1(t)x2(t)x3(t)=eJtx(0)=eλt100t102t2t1x1(0)x2(0)x3(0)
代入输出方程 y(t)=c1x1+c2x2+c3x3,整理得到按初值分布的时域输出信号:
y(t)=eλt[c1x1(0)+(c1t+c2)x2(0)+(21c1t2+c2t+c3)x3(0)]
现在对比两种传感器安放位置:
-
场景 A:水尺只插在 3 号水箱(最上游源头)(c1=c2=0,c3=0,非零在第 3 列):
y(t)=c3eλtx3(0)
- 你只能看到 3 号水箱的液位;
- 水流下去之后,下游的 2 号和 1 号水箱里原本有多少初始底水?下层水箱有没有堵塞漏水?你一无所知!
- 输出 y(t) 中根本不含 x1(0) 和 x2(0),故左侧的 x1,x2 绝对不能观!
-
场景 B:水尺插在 1 号水箱(最下游末端)(c1=0,非零在第 1 列):
y(t)=eλt[c1x1(0)+(c1t+c2)x2(0)+(21c1t2+c2t+c3)x3(0)]
- 1 号水箱不仅反映自身底水 x1(0);
- 观察 1 号水位上升的速率(一阶变率 / t 项系数),直接能解出正从 2 号流入的水量,从而求出 x2(0);
- 观察水流加速度(二阶变率 / t2 项系数),又能进一步顺藤摸瓜求出 3 号水箱的水量 x3(0)!
- x1,x2,x3 全部可被唯一重构!
(4)核心物理与数学映射一览表
| 变量 | 矩阵行列位置 | 水箱物理角色 | 水流/信号传递方向 | 能控性(水管注水) | 能观性(水尺量位) |
|---|
| x1 | 第 1 行 / 第 1 列(最上) | 最下游末端(总受纳端) | 汇聚所有上游水流 | 只要上方有注水即受控 | 测这里可顺藤摸瓜反推全部上游 |
| x2 | 第 2 行 / 第 2 列(中间) | 中间水箱 | 接收 3 号,排给 1 号 | 从 2 号注水,控 2 和 1 | 测这里可反推 3 号,不知 1 号底水 |
| x3 | 第 3 行 / 第 3 列(最下) | 最上游源头(始发端) | 自身流出,不纳下级 | 唯有在 3 号注水才控 3 号 | 测这里只知 3 号,对 1、2 号彻底盲区 |
三、状态变量的四类子空间划分(Kalman 结构分解映射)
根据单个状态的能控与能观性,可将整个状态空间精确划分为 4 类互不相交的模态子空间:
| 状态类别 | 符号表示 | 物理特征 | 与系统传递函数 G(s) 的内在联系 |
|---|
| 既能控又能观状态 | xco | 既受输入 u 激励操纵,又能在输出 y 中反映 | 构成传递函数的保留极点(极小实现的基底) |
| 能控但不能观状态 | xcoˉ | 受输入 u 激励操纵,但信号传递不到输出 y | 在求传递函数时因零极点对消而丢失 |
| 不能控但能观状态 | xcˉo | 不受输入 u 激励,但其初始运动可在 y 中测得 | 在求传递函数时因零极点对消而丢失 |
| 既不能控又不能观状态 | xcˉoˉ | 既不受输入影响,又无法通过输出观测 | 在求传递函数时因零极点对消而丢失 |
四、标准解题模板:四步秒杀法
五、经典例题与真题精析(全面覆盖讲义全部算例)
例题 1:五阶双约旦块系统单个状态属性判定(讲义例 3)
例题 2:六阶多输入多输出约旦系统状态属性判定(讲义例 4)
例题 3:四阶对角型系统状态属性分类(讲义例 5)
例题 4:六阶混合约旦系统状态属性判定(讲义例 6)
例题 5:双约旦块输入结构对比分析(讲义第 7 题精解)
六、考场四大易错陷阱与极速避坑指南
Discussion
Comments
Thoughts, corrections, and follow-up notes are welcome here.