本页目录
现代 I · 状态空间与能控能观
层次:本科核心(现代控制的入口)| 🔗 前置:线性代数(数学站)。 传递函数擅长描述输入输出,但它不保证把内部每个模态都暴露出来。状态空间把内部演化、执行器方向和传感器方向放到同一套矩阵语言里;能控性、能观性以及它们的数值程度,决定后面的极点配置、观测器和最优控制能否落地。
学习层:给双模态定位台布置执行器与传感器
1. 具体工程情境:一个电机和一个编码器,能不能同时管住、看见两个模态?
把一台柔性定位台在一个工作点附近离散成两个状态:\(x_1\) 是慢的位置误差模态,\(x_2\) 是快的柔性/电流模态。一个电机输入 \(u_k\) 通过 \(B\) 推动两个模态,一个编码器输出 \(y_k\) 通过 \(C\) 混合它们:
默认 \(b_2=0.7,c_2=0.6\)。这里的两个状态是一个选定的实现,不自动宣称它是最小实现:如果某个模态既不被输入激发又不被输出看见,它仍可能存在于内部模型,只是输入输出数据看不到它。
预测门,必须先作答:在打开实验前写下三项预测:
- 若 \(\det[B\ AB]\) 接近 0,工程上缺的是哪种能力?
- 对二状态系统,若 \(\operatorname{rank}\begin{bmatrix}C\\CA\end{bmatrix}=2\),输出历史能否区分两个状态?
- 把状态换成一个可逆但很病态的坐标,物理能控/能观秩会消失,还是数值证书会变脆弱?
2. 正式模型:矩阵秩是二元证书,条件数说明代价
对本页的二状态离散模型,能控性矩阵和能观性矩阵为
默认参数下
两个行列式都非零,所以两个矩阵都满秩:输入可以在有限步内生成两个独立状态方向,输出历史也能区分两个初始状态。一般地,\(\operatorname{rank}\mathcal C=n\) 是能控证书,\(\operatorname{rank}\mathcal O=n\) 是能观证书;接近奇异时,满秩仍可能成立,但所需输入能量、状态重建误差或有限精度误差会很大。
取可逆坐标变换 \(x=Tz\),则
本实验用 \(T=\begin{bmatrix}1&1\\0&\varepsilon\end{bmatrix}\)。只要 \(\varepsilon\ne0\),秩在数学上不变;但 \(\operatorname{cond}_2(T)\) 随 \(\varepsilon\to0\) 增大,账本中的 \(z=T^{-1}x\) 会放大舍入误差。这是“同一个物理系统、另一套坐标”与“数值实现更难”同时成立的边界。
3. 动手实验:把可达方向、可见方向和坐标病态放在同一张账上
先提交三项预测,再调 \(b_2,c_2,\varepsilon\) 与观测步数。固定输入序列为 \([1,1,1,-0.6,-0.6,-0.6,0.35,0.35,0.35,0.35,0,\ldots]\),因此每次回到同一参数都会得到同一状态轨迹。图中画 \(x_1,x_2,y\);证书区列出 \(\det\mathcal C,\det\mathcal O\)、秩、变换后秩与 \(\operatorname{cond}_2(T)\);逐行 ledger 同时保存 \(u_k,x_k,y_k,z_k\)。
JavaScript 失效时的静态 fallback:取 \(A=\operatorname{diag}(0.82,0.45)\)、\(B=[1,0.7]^\mathsf T\)、\(C=[1,0.6]\)、\(\varepsilon=0.5\)。先审计两张证书:
| 证书 | 矩阵 | 行列式 | 判定 |
|---|---|---|---|
| 能控 | \([B\ AB]=\begin{bmatrix}1&0.82\\0.7&0.315\end{bmatrix}\) | \(-0.259\) | rank 2 |
| 能观 | \([C;CA]=\begin{bmatrix}1&0.6\\0.82&0.27\end{bmatrix}\) | \(-0.222\) | rank 2 |
前三个固定输入采样的账本是:
| \(k\) | \(u_k\) | \(x_1\) | \(x_2\) | \(y=Cx\) |
|---|---|---|---|---|
| 0 | 1 | 0.000 | 0.000 | 0.000 |
| 1 | 1 | 1.000 | 0.700 | 1.420 |
| 2 | 1 | 1.820 | 1.015 | 2.429 |
默认坐标的 \(\operatorname{cond}_2(T)\approx4.266\);把 \(\varepsilon\) 调到 \(0.02\) 时约为 \(100.010\),但只要仍非零,变换后的两个秩证书仍为 2。把 \(b_2=0\) 会使能控秩降为 1,把 \(c_2=0\) 会使能观秩降为 1;这两个边界分别表示第二模态不可由当前输入激发、或不可由当前输出历史区分。这里的“能控/能观”不包含饱和、噪声和模型失配下的性能保证。
4. 误区与模型边界
- “\(A\) 的所有特征值都等于传递函数极点”不总是对的:\(A\) 的特征值是该实现的内部模态;只有在最小实现、没有不可控/不可观模态被约去时,才与输入输出传递函数的极点一致。非最小状态空间可以有多余状态,状态也不必天然是最小集合。
- 满秩不等于好用:秩判据是二元可行性证书;条件数、格拉姆矩阵特征值和输入能量还要回答“要付出多大代价”。
- 能控与能观是两件事:能控描述输入能否推动状态方向,能观描述输出历史能否区分状态;一个成立不推出另一个成立。
- 可镇定/可检测是工程最低条件:不能控的模态若本身稳定,仍可能满足可镇定;不能观的模态若本身稳定,仍可能满足可检测。极点配置或观测器设计应说明采用的是满能控/满能观,还是这两个弱条件。
- 线性离散模型有边界:采样、饱和、摩擦、时变参数和非线性都会改变实际证书的解释;坐标变换不替你处理这些物理约束。
迁移问题:如果下一版定位台只能增加一个传感器或换一个执行器,你会优先修复能观秩、能控秩,还是降低条件数?请说明你希望从哪一条证书和哪一种能量/噪声证据做决定。
一、状态空间表示
连续时间线性模型写成
离散时间则写成
\(x\) 是一组足以让模型推进的内部坐标,但“足以”不等于“最小”。同一个输入输出行为可以有很多相似坐标,也可以有包含不可控或不可观内部模态的非最小实现。
对给定实现,
若实现是最小的,\(A\) 的特征值与传递函数的极点一致;若实现非最小,输入输出表达式可能约去某些因子,但被约去的内部模态并没有从物理系统中自动消失。尤其是隐藏的不稳定模态,不能因为传递函数看起来稳定就当作安全。
状态空间的真正价值在于它保留了输入输出之外的结构:多个输入和输出可以直接放进矩阵,时变线性模型可以写成 \(A_k,B_k,C_k\),非线性模型也可以从 \(\dot x=f(x,u,t)\) 的同一视角线性化。
二、能控性:输入能否推动所有方向
连续时间 \(n\) 阶 LTI 系统的 Kalman 能控矩阵为
满秩时称为能控。离散时间系统使用同样的代数形式;它与有限步输入序列生成状态方向的能力对应。若秩不足,存在某个状态方向不受输入影响,不能靠“把增益再调大”创造出缺失的执行器方向。
能控性是结构性质,不是能量预算。输入矩阵虽然满秩意义下可控,但若 \(\mathcal C\) 近奇异,实际控制可能需要很大的输入。连续稳定系统还可以用能控格拉姆矩阵
的最小特征值衡量弱方向;离散时间有对应的求和形式。实际设计还要把饱和和噪声加回去。
三、能观性:输出能否反推出内部状态
能观矩阵为
满秩意味着有限时间输出历史足以唯一确定初始状态。若秩不足,至少有一个状态方向在输出上不可区分;增加计算精度不能替代缺失的传感器方向。
连续稳定系统的能观格拉姆矩阵
衡量状态对输出的可见程度。能观性差会让观测器和状态反馈更容易放大测量噪声,工程上常看最小特征值、奇异值或条件数,而不是只写“rank=n”。
四、Kalman 分解与零极点约去
按能控/能观属性,状态空间可以分成能控能观、能控不能观、不能控能观、都不能四个子空间。传递函数主要反映能控且能观的输入输出部分,不能控或不能观的内部模态可能被代数约去。
因此零极点对消是结构警报而不是免费简化:稳定的隐藏模态可能只是失去可见性,不稳定的隐藏模态仍会从初值、扰动或数值误差中增长。状态空间分析先问内部模态,再问外部传递函数,正是为了避免只看约去后的分式。
五、可控、可观与可设计条件
- 能控允许在理想线性模型中任意配置闭环极点;对极点配置只需要可控子空间满足相应条件。
- 可镇定只要求所有不能控模态稳定,足以把可控部分配置到稳定区域。
- 能观允许设计观测器使估计误差按期望动态衰减;可检测只要求不能观模态稳定。
这几个词不能互换。LQR 常用的是 \((A,B)\) 可镇定与 \((Q^{1/2},A)\) 可检测;Kalman 滤波/观测器则对应 \((A,C)\) 的可检测性。条件化程度还会决定数值实现是否真的可靠。
六、优势、代价与降阶
状态空间天然支持 MIMO、时变系统、状态估计和最优控制;代价是需要选择状态、建立模型,并处理不可测状态、坐标尺度和数值条件。大规模柔性结构常用平衡实现/平衡截断,把同时难控又难观的弱状态删去,但删阶前必须在目标频段和扰动范围内验证误差。
状态空间也不是“比传递函数更真实”的魔法。两者是同一线性系统的不同视角:传递函数更直接地描述输入输出,状态空间更明确地保留内部实现、初值和多变量耦合。选择哪一种,取决于要回答的问题。
七、要点
- 状态是选定实现中足以推进模型的内部坐标,不必天然最小;
- \(A\) 的特征值是内部模态,只有最小实现中才可直接与传递函数极点对应;
- 能控矩阵和能观矩阵给出可行性证书,条件数/格拉姆矩阵给出工程代价;
- 可镇定与可检测是很多设计的最低条件,不能被“满能控/满能观”混用;
- 状态空间把多变量、观测器和 LQR 接到同一套矩阵语言上,但模型边界仍需实测验证。
下一页:如果状态能被合理地控制,极点不必靠经验硬猜。LQR 用有限/无限时域的二次代价和 Riccati 方程,把性能—控制能量权衡写成可审计的递推。