研讨会系列 · KF L15 · 第二部分
Kalman 增益与后验协方差推导
利用新息正交性推导状态更新等式、Kalman 增益的几何解释,以及后验协方差更新公式的完整推导
📅 2026-05-17
🧩 Kalman 增益
📐 后验协方差
🔄 几何投影
🎯 学完本节,你应能
掌握后验协方差的完整测量更新推导过程
📖 前置知识
建议先完成前面的课程,或具备线性代数与概率论基础。
🎯 本讲目标
延续上一讲的新息成果,完成 KF 测量更新剩余三个等式的严格证明:③状态更新、④Kalman 增益、⑤后验协方差更新公式。
🔑 核心思想
将状态 $x_{k}$ 投影到 $\mathcal{L}_k$ 上,利用 $\mathcal{L}_k = \mathcal{L}_{k-1} \oplus \text{span}\{e_{k}\}$ 的直和分解,将投影分解为历史投影 + 新息方向上的修正。
1. 回顾:新息与新息协方差
上一讲我们证明了前两个等式,现在快速回顾:
① 新息
$$
e_{k} = y_{k} - C \hat x_{k|k-1}
$$
测量中的全新信息,正交于 $\mathcal{L}_{k-1}$
② 新息协方差
$$
R_{e,k} = C P_{k|k-1} C' + R
$$
预测不确定性 + 测量噪声
本讲的目标是利用这两个结果,推导剩余的③④⑤三个等式。
2. ③ - ④ 状态更新与 Kalman 增益证明
我们要证明的两个等式:
$$
\boxed{\hat x_{k|k} = \hat x_{k|k-1} + K_{k} e_k}, \qquad
\boxed{K_{k} = P_{k|k-1} C' R_{e,k}^{-1}}
$$
核心思想:直和分解
新息 $e_{k}$ 与 $\mathcal{L}_{k-1}$ 正交,所以测量空间可以分解为直和:
$$
\mathcal{L}_k = \mathcal{L}_{k-1} \oplus \text{span}\{e_{k}\}
$$
这意味着更新后的估计(投影到 $\mathcal{L}_k$ 上)可以拆成两部分之和:
$$
\hat x_{k|k} = \underbrace{\text{proj}\{x_{k} \mid \mathcal{L}_{k-1}\}}_{\hat x_{k|k-1}} + \underbrace{\text{proj}\{x_{k} \mid \text{span}\{e_{k}\}\}}_{\text{新息修正}}
$$
🧠 直觉
更新 = 之前的预测 + 基于新信息的修正。这个结构太自然了——你之前有一个预测,然后新测量来了,你根据"新息"的大小来调整预测。
3. 交叉协方差 $\langle x_{k}, e_{k} \rangle$ 的计算
为了计算 $x_{k}$ 在 $e_{k}$ 方向上的投影,我们需要知道 $x_{k}$ 与 $e_{k}$ 的交叉协方差:
$$
\begin{aligned}
\langle x_{k}, e_{k} \rangle &= \langle x_{k},\\; y_{k} - C \hat x_{k|k-1} \rangle \\
&= \langle x_{k},\\; C \tilde x_{k|k-1} + v_{k} \rangle \\
&= \langle x_{k}, C \tilde x_{k|k-1} \rangle + \cancel{\langle x_{k}, v_{k} \rangle}
\end{aligned}
$$
将 $x_{k} = \hat x_{k|k-1} + \tilde x_{k|k-1}$ 代入:
$$
\begin{aligned}
\langle x_{k}, e_{k} \rangle &= \langle \hat x_{k|k-1} + \tilde x_{k|k-1},\\; C \tilde x_{k|k-1} \rangle \\
&= \cancel{\langle \hat x_{k|k-1}, C \tilde x_{k|k-1} \rangle} + \langle \tilde x_{k|k-1}, C \tilde x_{k|k-1} \rangle
\end{aligned}
$$
其中 $\langle \hat x_{k|k-1}, \tilde x_{k|k-1} \rangle = 0$ 正是正交原理(Orthogonality Principle)——最优线性估计的误差与估计本身正交。
$$
\boxed{\langle x_{k}, e_{k} \rangle = P_{k|k-1} C'}
$$
这个结果很优美:状态与新息的交叉协方差 = 预测协方差 × 观测矩阵的转置。
4. Kalman 增益的几何解释
现在将 $x_{k}$ 投影到 $\mathcal{L}_k$ 上:
$$
\begin{aligned}
\hat x_{k|k} &= \text{proj}\{x_{k} \mid \mathcal{L}_k\} \\
&= \sum_{j=0}^{k} \langle x_{k}, e_{j} \rangle \\|e_{j}\\|^{-2} e_{j} \\
&= \underbrace{\sum_{j=0}^{k-1} \langle x_{k}, e_{j} \rangle \\|e_{j}\\|^{-2} e_j}_{\hat x_{k|k-1}} + \langle x_{k}, e_{k} \rangle \\|e_{k}\\|^{-2} e_{k} \\
&= \hat x_{k|k-1} + P_{k|k-1} C' \cdot R_{e,k}^{-1} \cdot e_{k}
\end{aligned}
$$
定义 Kalman 增益:
$$
\boxed{K_{k} \triangleq P_{k|k-1} C' R_{e,k}^{-1}}
$$
得到状态更新等式:
$$
\boxed{\hat x_{k|k} = \hat x_{k|k-1} + K_{k} e_k}
$$
增益的直观解释
📈 增益大(信任测量)
- 预测不准($P_{k|k-1}$ 大)→ 增益大
- 测量噪声小($R$ 小)→ 增益大
- 新息被充分吸收进状态更新
📉 增益小(信任预测)
- 预测很准($P_{k|k-1}$ 小)→ 增益小
- 测量噪声大($R$ 大)→ 增益小
- 新息被抑制,状态几乎不变
🧠 几何解释
$K_{k} = P_{k|k-1} C' R_{e,k}^{-1}$ 的几何意义:增益 = 状态与"新息方向"的相关性($P_{k|k-1} C'$)除以新息的"长度"($R_{e,k}$)。相关性越大,这个方向对状态的修正就越大。
5. ⑤ 后验协方差更新公式推导
最后,我们推导更新后的误差协方差 $P_{k|k}$:
$$
P_{k|k} = P_{k|k-1} - P_{k|k-1} C' R_{e,k}^{-1} C P_{k|k-1}
$$
步骤 1:写出估计误差
$$
\tilde x_{k|k} = x_{k} - \hat x_{k|k}
= x_{k} - (\hat x_{k|k-1} + K_{k} e_{k})
= \tilde x_{k|k-1} - K_{k} e_{k}
$$
步骤 2:计算内积
$$
\begin{aligned}
P_{k|k} &= \langle \tilde x_{k|k},\\; \tilde x_{k|k} \rangle \\
&= \langle \tilde x_{k|k-1} - K_{k} e_{k},\\; \tilde x_{k|k-1} - K_{k} e_{k} \rangle \\
&= P_{k|k-1} - K_{k} \langle e_{k}, \tilde x_{k|k-1} \rangle - \langle \tilde x_{k|k-1}, e_{k} \rangle K_{k}' + K_{k} \langle e_{k}, e_{k} \rangle K_{k}'
\end{aligned}
$$
步骤 3:计算交叉项
$$
\begin{aligned}
\langle \tilde x_{k|k-1}, e_{k} \rangle &= \langle \tilde x_{k|k-1},\\; C \tilde x_{k|k-1} + v_{k} \rangle = P_{k|k-1} C' \\
\langle e_{k}, \tilde x_{k|k-1} \rangle &= C P_{k|k-1}
\end{aligned}
$$
步骤 4:代入并化简
$$
\begin{aligned}
P_{k|k} &= P_{k|k-1} - K_{k} \cdot C P_{k|k-1} - P_{k|k-1} C' \cdot K_{k}' + K_{k} \cdot R_{e,k} \cdot K_{k}' \\
&= P_{k|k-1} - P_{k|k-1} C' R_{e,k}^{-1} C P_{k|k-1} - P_{k|k-1} C' R_{e,k}^{-1} C P_{k|k-1} \\
&\quad + P_{k|k-1} C' R_{e,k}^{-1} \cdot R_{e,k} \cdot R_{e,k}^{-1} C P_{k|k-1} \\
&= P_{k|k-1} - P_{k|k-1} C' R_{e,k}^{-1} C P_{k|k-1}
\end{aligned}
$$
🎯 关键认识
后验协方差 = 先验协方差 - 新信息带来的"不确定性降低量"。这个降低量正是 $K_{k} R_{e,k} K_{k}'$。每个新息都让我们对状态的了解更加精确。
6. 后验协方差的紧凑形式
后验协方差还可以写成几种等价形式,在不同场景下各有用途:
$$
\begin{aligned}
P_{k|k} &= P_{k|k-1} - K_{k} C P_{k|k-1} \\
&= (I - K_{k} C) P_{k|k-1} \\
&= P_{k|k-1} - P_{k|k-1} C' [C P_{k|k-1} C' + R]^{-1} C P_{k|k-1}
\end{aligned}
$$
$P_{k|k} = (I - K_{k} C) P_{k|k-1}$
最简洁的形式。直观上,$K_{k} C$ 度量了测量更新移除的不确定性比例。
$P_{k|k}^{-1} = P_{k|k-1}^{-1} + C' R^{-1} C$
信息形式的更新(通过矩阵求逆引理得到)。每个传感器独立贡献信息。
💡 重要性质
注意 $P_{k|k}$ 的更新与测量值 $y_{k}$ 完全无关!它只依赖于系统参数 $(A, C, Q, R)$ 和上一步的协方差。这意味着我们可以离线预先计算所有 $P_{k|k}$ 和 $K_{k}$,在线运行时只需要进行简单的向量运算。
7. 完整测量更新回顾
至此我们完成了全部五个等式的几何证明。整个证明过程的脉络:
新息定义 ① → 新息协方差 ② → 交叉协方差 $\langle x_{k}, e_{k} \rangle$ → Kalman 增益 ④ → 状态更新 ③ → 后验协方差 ⑤
完整的 KF 测量更新流程:
① 新息
$$
e_{k} = y_{k} - C \hat x_{k|k-1}
$$
② 新息协方差
$$
R_{e,k} = C P_{k|k-1} C' + R
$$
③ Kalman 增益
$$
K_{k} = P_{k|k-1} C' R_{e,k}^{-1}
$$
④ 状态更新
$$
\hat x_{k|k} = \hat x_{k|k-1} + K_{k} e_{k}
$$
⑤ 协方差更新
$$
P_{k|k} = (I - K_{k} C) P_{k|k-1}
$$
在证明过程中,我们反复用到了以下技巧:
- 分解技巧:将状态拆成预测 + 预测误差,利用正交原理消掉交叉项
- 空间论证:利用 $v_{k} \perp \mathcal{L}_{k-1}$ 消去含 $v_{k}$ 的交叉项
- 投影展开:将 $\mathcal{L}_k$ 上的投影拆成 $\mathcal{L}_{k-1}$ 投影 + 新息方向投影
🔭 下讲预告
测量更新完备之后,我们将进入 Time Update(时间更新)的推导,然后讨论 $P_{k|k}$ 的收敛性、固定增益估计器以及传感器融合。
📝 自测题
问题 1
为什么 $\langle \hat x_{k|k-1}, \tilde x_{k|k-1} \rangle = 0$?
点击查看答案
这是正交原理的体现:最优线性估计的误差与估计本身正交。$\hat x_{k|k-1}$ 是 $x_{k}$ 在 $\mathcal{L}_{k-1}$ 上的投影,而 $\tilde x_{k|k-1}$ 是投影残差,二者必然正交。
问题 2
如果测量噪声协方差 $R \to 0$,Kalman 增益 $K_{k}$ 会怎样?后验协方差 $P_{k|k}$ 呢?
问题 3
为什么 $P_{k|k}$ 的更新与测量值 $y_{k}$ 无关?
点击查看答案
$P_{k|k}$ 的更新只依赖于 $P_{k|k-1}$、$C$ 和 $R$,这些都不包含 $y_{k}$。测量值只影响状态估计 $\hat x_{k|k}$ 的轨迹,不影响不确定性。这种可离线计算特性是 KF 工程实用性的关键之一。