應用與前沿

卡爾曼濾波器(Kalman filter)

/ KAHL-mun /

你的手機用 GPS 追蹤你的位置,但 GPS 抖動,且在隧道裡會斷訊。然而那個藍點卻沿著道路平滑滑行。讓這成真的訣竅——也正是引導阿波羅登月的那一個——就是卡爾曼濾波器:一套追蹤運動系統隱藏狀態的配方,做法是反覆把模型的預測與感測器的量測混合,各依你對它的信任程度加權。

它以無止盡的兩步節奏運行。預測:用系統的模型(車子以它上次的速度持續運動)來預報下一個狀態,並且關鍵地,膨脹你對它的不確定性,因為模型並不完美。更新:當一筆量測到來,計算它與預測之間的差(「創新」),並用那個差的一部分來修正預測。那個比例就是卡爾曼增益,它被算成是最佳的:當感測器相對於預測較精準時它偏向量測,當感測器有雜訊時它偏向預測。濾波器還追蹤一個量化自身不確定性的共變異數矩陣,在一次好量測後縮小它、在預測過程中放大它。對於帶有高斯雜訊的線性系統,這在最小平方意義下可證明是最佳可能估計——它是均方誤差最小化的估計器,不是經驗法則。

凡是必須在雜訊中追蹤運動或訊號之處皆有卡爾曼濾波器:導航、機器人學、太空船、金融,以及作為資料同化的概念核心。兩個誠實的告誡。樸素濾波器假設「線性」模型與高斯雜訊;真實系統往往是非線性的,這就是為何有各種變體存在——擴展與無跡卡爾曼濾波器,以及粒子濾波器——各有自己的近似與失靈方式。而濾波器的準確度完全取決於誠實陳述的雜訊水準:對它謊報你的感測器有多好,它就會自信地追蹤錯誤的東西。

一架無人機把每秒一筆有雜訊的 GPS 讀數,與每秒取樣 200 次的加速度計融合。卡爾曼濾波器在兩次 GPS 定位之間用加速度計預測位置,然後在每筆 GPS 讀數到來時溫和地朝它靠攏——增益在絕對位置上信任 GPS、在平滑的短期運動上信任加速度計,給出遠勝於任一感測器單獨的軌跡。

從模型預測、用感測器修正,依最佳卡爾曼增益加權——永無止盡地重複。

基本卡爾曼濾波器只對帶有高斯雜訊的線性模型才是最佳的。真實系統往往非線性(因而有擴展、無跡與粒子等變體),而餵給濾波器不誠實的雜訊水準會使它自信地出錯。

又稱
Kalman-Bucy filterlinear quadratic estimation卡爾曼濾波卡曼濾波器