跳轉到

05.3 Kalman 濾波#

本章導讀#

狀態回饋需要知道狀態,但真實感測器有雜訊。 Kalman 濾波是雜訊下的最佳狀態估計器:把模型預測與量測資料做最佳加權融合。 Apollo 登月、飛彈導引、手機導航——全靠它。

淺顯說明#

你在霧裡走路:

  • 模型預測:「我往東走了 10 步,應該在這裡。」
  • 量測:「指南針說我在偏北一點的位置。」(但指南針有誤差)

兩個資訊都不完全可靠,怎麼融合?誰更可靠就多信誰—— 模型誤差小就多信模型,量測誤差小就多信量測。 Kalman 濾波就是把「多信誰」算得嚴格且即時(遞迴更新,每步只存一個估計值)。

正規理論#

系統與雜訊模型#

離散時間系統(含過程雜訊 \(w\) 與量測雜訊 \(v\) ):

\[ x_{k+1} = \Phi x_k + \Gamma u_k + w_k, \qquad y_k = H x_k + v_k \]

雜訊假設為高斯白雜訊:

\[ \mathbb{E}[w_k] = 0,\ \mathbb{E}[w_kw_k^T] = Q; \qquad \mathbb{E}[v_k] = 0,\ \mathbb{E}[v_kv_k^T] = R \]

Kalman 濾波器#

預測步(用模型猜下一刻):

\[ \hat x_{k+1}^- = \Phi \hat x_k + \Gamma u_k, \qquad P_{k+1}^- = \Phi P_k \Phi^T + Q \]

更新步(用量測修正):

\[ K_{k+1} = P_{k+1}^- H^T\left(H P_{k+1}^- H^T + R\right)^{-1} \]
\[ \hat x_{k+1} = \hat x_{k+1}^- + K_{k+1}\left(y_{k+1} - H\hat x_{k+1}^-\right), \qquad P_{k+1} = (I - K_{k+1}H)P_{k+1}^- \]

Kalman 增益的直觀#

增益 \(K\) 是「多信誰」的權重:

  • \(R\) 大(量測很不準) \(\Rightarrow K\) 小 \(\Rightarrow\) 多信模型預測。
  • \(Q\) 大(模型很不準) \(\Rightarrow P^-\) 大 \(\Rightarrow K\) 大 \(\Rightarrow\) 多信量測。

最佳性#

Kalman 濾波是最小變異數估計:在所有線性估計器中, 它使估計誤差共變異矩陣 \(\mathbb{E}[(x - \hat x)(x - \hat x)^T]\) 最小(跡最小)。 高斯情形下,它也是所有估計器(含非線性)中的條件平均 \(\mathbb{E}[x_k \mid y_1,\dots,y_k]\) 。

簡易範例:一維位置估計#

靜止目標( \(\Phi = 1\) , \(Q = 0.01\) ,量測雜訊 \(R = 1\) ),量測值 \(y = 5, 6, 4.5\) :

  • 初始 \(\hat x_0 = 0\) , \(P_0 = 1\) 。
  • 第 1 步: \(P^- = 1 + 0.01 = 1.01\) , \(K = \dfrac{1.01}{1.01 + 1} \approx 0.502\) , \(\hat x_1 = 0 + 0.502 \times 5 \approx 2.51\) , \(P_1 = (1 - 0.502)(1.01) \approx 0.503\) 。
  • 第 2 步: \(K = \dfrac{0.513}{1.513} \approx 0.339\) , \(\hat x_2 = 2.51 + 0.339(6 - 2.51) \approx 3.69\) 。
  • 第 3 步: \(K \approx 0.34\) , \(\hat x_3 \approx 3.69 + 0.34(4.5 - 3.69) \approx 3.97\) 。

估計值收斂到 \(4\) – \(5\) 之間,且 \(P\) 逐步縮小(越來越有信心)。 每一步只加權平均一次——這就是遞迴的力量:不需要儲存全部歷史資料。

歷史典故#

  • 1960 年 Kalman 發表濾波理論,見 1960-Kalman狀態空間與濾波.md—— 隨後數年內被用於 Apollo 軌道估計。
  • 1948 年 Wiener 的《控制論》含早期的 Wiener 濾波(頻域、非遞迴), Kalman 濾波是其時域遞迴後繼者,見 1948-Wiener控制論.md。

習題#

  1. 上例中,若 \(R = 0.01\) (量測很準),第 1 步的 \(K\) 會是多少?說明直觀。
  2. 證明: \(\Phi = 1, Q = 0\) 時, \(P_k \to 0\) 且 \(\hat x_k\) 收斂到量測的平均值。