本页目录

现代 I · 状态空间与能控能观

层次:本科核心(现代控制的入口)| 🔗 前置:线性代数(数学站)。 传递函数擅长描述输入输出,但它不保证把内部每个模态都暴露出来。状态空间把内部演化、执行器方向和传感器方向放到同一套矩阵语言里;能控性、能观性以及它们的数值程度,决定后面的极点配置、观测器和最优控制能否落地。

学习层:给双模态定位台布置执行器与传感器

1. 具体工程情境:一个电机和一个编码器,能不能同时管住、看见两个模态?

把一台柔性定位台在一个工作点附近离散成两个状态:\(x_1\) 是慢的位置误差模态,\(x_2\) 是快的柔性/电流模态。一个电机输入 \(u_k\) 通过 \(B\) 推动两个模态,一个编码器输出 \(y_k\) 通过 \(C\) 混合它们:

\[ x_{k+1}=Ax_k+Bu_k,\qquad y_k=Cx_k, \]
\[ A=\begin{bmatrix}0.82&0\\0&0.45\end{bmatrix},\quad B=\begin{bmatrix}1\\b_2\end{bmatrix},\quad C=\begin{bmatrix}1&c_2\end{bmatrix}. \]

默认 \(b_2=0.7,c_2=0.6\)。这里的两个状态是一个选定的实现,不自动宣称它是最小实现:如果某个模态既不被输入激发又不被输出看见,它仍可能存在于内部模型,只是输入输出数据看不到它。

预测门,必须先作答:在打开实验前写下三项预测:

  1. 若 \(\det[B\ AB]\) 接近 0,工程上缺的是哪种能力?
  2. 对二状态系统,若 \(\operatorname{rank}\begin{bmatrix}C\\CA\end{bmatrix}=2\),输出历史能否区分两个状态?
  3. 把状态换成一个可逆但很病态的坐标,物理能控/能观秩会消失,还是数值证书会变脆弱?

2. 正式模型:矩阵秩是二元证书,条件数说明代价

对本页的二状态离散模型,能控性矩阵和能观性矩阵为

\[ \mathcal C=[B\ AB],\qquad \mathcal O=\begin{bmatrix}C\\CA\end{bmatrix}. \]

默认参数下

\[ \mathcal C=\begin{bmatrix}1&0.82\\0.7&0.315\end{bmatrix}, \quad \det\mathcal C=-0.259, \]
\[ \mathcal O=\begin{bmatrix}1&0.6\\0.82&0.27\end{bmatrix}, \quad \det\mathcal O=-0.222. \]

两个行列式都非零,所以两个矩阵都满秩:输入可以在有限步内生成两个独立状态方向,输出历史也能区分两个初始状态。一般地,\(\operatorname{rank}\mathcal C=n\) 是能控证书,\(\operatorname{rank}\mathcal O=n\) 是能观证书;接近奇异时,满秩仍可能成立,但所需输入能量、状态重建误差或有限精度误差会很大。

取可逆坐标变换 \(x=Tz\),则

\[ A_z=T^{-1}AT,\qquad B_z=T^{-1}B,\qquad C_z=CT. \]

本实验用 \(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\) 的特征值是该实现的内部模态;只有在最小实现、没有不可控/不可观模态被约去时,才与输入输出传递函数的极点一致。非最小状态空间可以有多余状态,状态也不必天然是最小集合。
  • 满秩不等于好用:秩判据是二元可行性证书;条件数、格拉姆矩阵特征值和输入能量还要回答“要付出多大代价”。
  • 能控与能观是两件事:能控描述输入能否推动状态方向,能观描述输出历史能否区分状态;一个成立不推出另一个成立。
  • 可镇定/可检测是工程最低条件:不能控的模态若本身稳定,仍可能满足可镇定;不能观的模态若本身稳定,仍可能满足可检测。极点配置或观测器设计应说明采用的是满能控/满能观,还是这两个弱条件。
  • 线性离散模型有边界:采样、饱和、摩擦、时变参数和非线性都会改变实际证书的解释;坐标变换不替你处理这些物理约束。

迁移问题:如果下一版定位台只能增加一个传感器或换一个执行器,你会优先修复能观秩、能控秩,还是降低条件数?请说明你希望从哪一条证书和哪一种能量/噪声证据做决定。

一、状态空间表示

连续时间线性模型写成

\[ \dot{x}=Ax+Bu,\qquad y=Cx+Du, \]

离散时间则写成

\[ x_{k+1}=A_dx_k+B_du_k,\qquad y_k=C_dx_k+D_du_k. \]

\(x\) 是一组足以让模型推进的内部坐标,但“足以”不等于“最小”。同一个输入输出行为可以有很多相似坐标,也可以有包含不可控或不可观内部模态的非最小实现。

对给定实现,

\[ G(s)=C(sI-A)^{-1}B+D. \]

若实现是最小的,\(A\) 的特征值与传递函数的极点一致;若实现非最小,输入输出表达式可能约去某些因子,但被约去的内部模态并没有从物理系统中自动消失。尤其是隐藏的不稳定模态,不能因为传递函数看起来稳定就当作安全。

状态空间的真正价值在于它保留了输入输出之外的结构:多个输入和输出可以直接放进矩阵,时变线性模型可以写成 \(A_k,B_k,C_k\),非线性模型也可以从 \(\dot x=f(x,u,t)\) 的同一视角线性化。

二、能控性:输入能否推动所有方向

连续时间 \(n\) 阶 LTI 系统的 Kalman 能控矩阵为

\[ \mathcal C=[B\ AB\ A^2B\ \cdots\ A^{n-1}B]. \]

满秩时称为能控。离散时间系统使用同样的代数形式;它与有限步输入序列生成状态方向的能力对应。若秩不足,存在某个状态方向不受输入影响,不能靠“把增益再调大”创造出缺失的执行器方向。

能控性是结构性质,不是能量预算。输入矩阵虽然满秩意义下可控,但若 \(\mathcal C\) 近奇异,实际控制可能需要很大的输入。连续稳定系统还可以用能控格拉姆矩阵

\[ W_c=\int_0^\infty e^{At}BB^\mathsf T e^{A^\mathsf Tt}\,dt \]

的最小特征值衡量弱方向;离散时间有对应的求和形式。实际设计还要把饱和和噪声加回去。

三、能观性:输出能否反推出内部状态

能观矩阵为

\[ \mathcal O=\begin{bmatrix}C\\CA\\\vdots\\CA^{n-1}\end{bmatrix}. \]

满秩意味着有限时间输出历史足以唯一确定初始状态。若秩不足,至少有一个状态方向在输出上不可区分;增加计算精度不能替代缺失的传感器方向。

连续稳定系统的能观格拉姆矩阵

\[ W_o=\int_0^\infty e^{A^\mathsf Tt}C^\mathsf TC e^{At}\,dt \]

衡量状态对输出的可见程度。能观性差会让观测器和状态反馈更容易放大测量噪声,工程上常看最小特征值、奇异值或条件数,而不是只写“rank=n”。

四、Kalman 分解与零极点约去

按能控/能观属性,状态空间可以分成能控能观、能控不能观、不能控能观、都不能四个子空间。传递函数主要反映能控且能观的输入输出部分,不能控或不能观的内部模态可能被代数约去。

因此零极点对消是结构警报而不是免费简化:稳定的隐藏模态可能只是失去可见性,不稳定的隐藏模态仍会从初值、扰动或数值误差中增长。状态空间分析先问内部模态,再问外部传递函数,正是为了避免只看约去后的分式。

五、可控、可观与可设计条件

这几个词不能互换。LQR 常用的是 \((A,B)\) 可镇定与 \((Q^{1/2},A)\) 可检测;Kalman 滤波/观测器则对应 \((A,C)\) 的可检测性。条件化程度还会决定数值实现是否真的可靠。

六、优势、代价与降阶

状态空间天然支持 MIMO、时变系统、状态估计和最优控制;代价是需要选择状态、建立模型,并处理不可测状态、坐标尺度和数值条件。大规模柔性结构常用平衡实现/平衡截断,把同时难控又难观的弱状态删去,但删阶前必须在目标频段和扰动范围内验证误差。

状态空间也不是“比传递函数更真实”的魔法。两者是同一线性系统的不同视角:传递函数更直接地描述输入输出,状态空间更明确地保留内部实现、初值和多变量耦合。选择哪一种,取决于要回答的问题。

七、要点


下一页:如果状态能被合理地控制,极点不必靠经验硬猜。LQR 用有限/无限时域的二次代价和 Riccati 方程,把性能—控制能量权衡写成可审计的递推。