卡曼濾波器跟踪系統嘅估計狀態,以及估計方差 或者話嘸確定性。更新估計使用到狀態轉換 模型同測量。
x
^
k
∣
k
−
1
{\displaystyle {\hat {x}}_{k\mid k-1}}
表示個齋斷估值畀時間𨂾 k處個系統狀態,喺未考慮第 k個測量值yk 之前嘅;
P
k
∣
k
−
1
{\displaystyle P_{k\mid k-1}}
表示佢對應嘅嘸確定性。
卡曼濾波器 (英文 :Kalman filter ), 又叫卡曼濾波 ,亦都叫做線性二次估計 (英文 :linear quadratic estimation ,LQE ),係一種統計 同控制理論 算法 ,針對啲線性 、理應係高斯 誤差嘅系統嘅;而非線性系統 就需要用到擴展卡曼濾波器 嚟線性化過佢。卡曼濾波器跟住時間推移,攞到啲一系列嘅觀測值同埋好多時仲有系統斷估值、啲值包含有統計噪音 同其他嘸准確性嘅,並根據每橛時間範圍內啲變數嘅聯合概率分佈 嚟改善啲對未知變數嘅估計;好多時噉樣互相更新嘅估計值係準確過基於單個測量做嘅估計。個濾波器得名自Rudolf E. Kálmán,佢係個理論嘅主要開發者之一。
卡曼濾波算法分兩重工作。喺預測步驟 裏便,卡曼濾波器產生啲對當前狀態變數及佢個嘸確定性嘅估計。一旦觀察到 下一次測量嘅嗰個結果、個值梗會因一定量嘅誤差包括隨機噪音而有啲走趲嘅,就使用加權平均值 (「卡曼增益」,英文 :Kalman gain )嚟更新過呢啲估計值,並為具有確定性高啲嘅估計值畀多啲權重。呢個算法係遞歸 嘅,佢可以實時 運行得,僅使用到當前嘅輸入測量值同先前計算有嘅狀態,以及佢個嘸確定性矩陣,而嘸需要額外嘅過去信息。
卡曼濾波器嘅最佳性係假設個誤差係高斯類型 。用 Rudolf E. Kálmán嘅話嚟講:「總而言之,以下假設係作畀啲隨機過程嘅:物理隨機現象可能可以認為係由於啲主要隨機源(primary random sources)激發咗啲動態系統。假設啲主要隨機源係有零平均值嘅獨立高斯隨機過程;噉啲動態系統就會係線性嘅。」 [ 1] 即管戥高斯無關,若果個過程同埋啲測量協方差係已知嘅,噉個卡曼濾波器係喺最細均方誤差 意義上最佳嘅線性 估計器。[ 2]
參睇線性系統嘅狀態空間方程,有:
x
t
+
1
=
A
t
x
t
+
B
t
u
t
+
w
t
{\displaystyle \mathbf {x} _{t+1}=\mathbf {A} _{t}\mathbf {x} _{t}+\mathbf {B} _{t}\mathbf {u} _{t}+\mathbf {w} _{t}}
z
t
+
1
=
C
t
x
t
+
v
t
{\displaystyle \mathbf {z} _{t+1}=\mathbf {C} _{t}\mathbf {x} _{t}+\mathbf {v} _{t}}
其中啲關鍵嘅:
w
t
,
v
t
{\displaystyle \mathbf {w} _{t},\mathbf {v} _{t}}
分別係過程噪音同埋測量噪音,服從到啲平均值零嘅高斯分佈 ,即
w
t
∼
N
(
0
,
Q
t
)
,
v
t
∼
N
(
0
,
R
t
)
{\textstyle \mathbf {w} _{t}\sim N(0,\mathbf {Q_{t}} ),\mathbf {v} _{t}\sim N(0,\mathbf {R_{t}} )}
;
z
t
+
1
{\displaystyle \mathbf {z} _{t+1}}
係輸出值,呢度係觀測模型個測量值。
A
t
{\displaystyle \mathbf {A} _{t}}
係系統矩陣,亦即係狀態矩陣;
B
t
{\displaystyle \mathbf {B} _{t}}
係輸入矩陣;
C
t
{\displaystyle \mathbf {C} _{t}}
係觀測矩陣。
喺以下啲式當中,設卡曼濾波係一𨂾𨂾噉做,所以用
k
{\displaystyle {k}}
表示啲時間步;而卡曼濾波器當中個狀態轉移矩陣同埋觀測矩陣就分別爲
F
t
{\displaystyle \mathbf {F} _{t}}
同
H
t
{\displaystyle \mathbf {H} _{t}}
,而且係隔開個噪音,所以有:
x
^
k
+
1
|
k
−
=
F
k
x
^
k
|
k
+
B
k
u
k
{\displaystyle {\widehat {\mathbf {x} }}_{k+1|k}^{-}=\mathbf {F} _{k}{\widehat {\mathbf {x} }}_{k|k}+\mathbf {B} _{k}\mathbf {u} _{k}}
(預測方程)
z
^
k
+
1
=
H
k
+
1
x
^
k
+
1
|
k
−
{\displaystyle {\widehat {\mathbf {z} }}_{k+1}=\mathbf {H} _{k+1}{\widehat {\mathbf {x} }}_{k+1|k}^{-}}
(觀測方程)
設喺
k
{\displaystyle {k}}
嗰陣攞到最佳值即送去做預測,得到到一隻先驗 斷估值同埋佢個協方差 :
x
^
k
+
1
|
k
−
=
F
k
x
^
k
|
k
+
B
k
u
k
{\displaystyle {\widehat {\mathbf {x} }}_{k+1|k}^{-}=\mathbf {F} _{k}{\widehat {\mathbf {x} }}_{k|k}+\mathbf {B} _{k}\mathbf {u} _{k}}
P
k
+
1
|
k
−
=
F
k
P
k
|
k
F
k
T
+
Q
k
{\displaystyle \mathbf {P} _{k+1|k}^{-}=\mathbf {F} _{k}\mathbf {P} _{k|k}\mathbf {F} _{k}^{\mathrm {T} }+\mathbf {Q} _{k}}
其中協方差表示個斷估值喺噪音影響下有幾大嘅範圍。
過唨一𨂾時間𨂾之後,卡曼濾波器攞到新嘅測量資訊
z
k
{\displaystyle \mathbf {z} _{k}}
,戥個「擬測量值」
H
k
+
1
x
^
k
+
1
|
k
−
{\displaystyle \mathbf {H} _{k+1}{\widehat {\mathbf {x} }}_{k+1|k}^{-}}
求差、個由斷估值轉成嘅,可以求得到個新息 值(英文 :innovation ,即測量值多出擬測量值嘅部分)同埋佢個協方差:
y
^
k
+
1
=
z
k
+
1
−
H
k
+
1
x
^
k
+
1
|
k
−
{\displaystyle {\widehat {\mathbf {y} }}_{k+1}=\mathbf {z} _{k+1}-\mathbf {H} _{k+1}{\widehat {\mathbf {x} }}_{k+1|k}^{-}}
S
k
+
1
=
H
k
+
1
P
k
+
1
|
k
−
H
k
+
1
T
+
R
k
+
1
{\displaystyle \mathbf {S} _{k+1}=\mathbf {H} _{k+1}\mathbf {P} _{k+1|k}^{-}\mathbf {H} _{k+1}^{\mathrm {T} }+\mathbf {R} _{k+1}}
注意到由於卡曼濾波器嘸帶噪音,所以個觀測模型
H
k
+
1
{\displaystyle \mathbf {H} _{k+1}}
夠勁嘅話
y
^
k
+
1
{\displaystyle {\widehat {\mathbf {y} }}_{k+1}}
理應畀到似
v
t
{\displaystyle \mathbf {v} _{t}}
噉嘅噪音。
係噉攞得到所謂嘅卡曼增益 :
K
k
+
1
=
P
k
+
1
|
k
−
H
k
+
1
S
k
+
1
−
1
{\displaystyle \mathbf {K} _{k+1}=\mathbf {P} _{k+1|k}^{-}\mathbf {H} _{k+1}\mathbf {S} _{k+1}^{-1}}
藉由呢個卡曼增益即更新得原本個斷估值成好啲嘅估計值,同埋更新埋個協方差:
x
^
k
+
1
|
k
+
1
=
x
^
k
+
1
|
k
−
+
K
k
+
1
y
^
k
+
1
{\displaystyle {\widehat {\mathbf {x} }}_{k+1|k+1}={\widehat {\mathbf {x} }}_{k+1|k}^{-}+\mathbf {K} _{k+1}{\widehat {\mathbf {y} }}_{k+1}}
P
k
+
1
|
k
+
1
=
(
I
−
K
k
+
1
H
k
+
1
)
P
k
+
1
|
k
−
{\displaystyle \mathbf {P} _{k+1|k+1}=(\mathbf {I} -\mathbf {K} _{k+1}\mathbf {H} _{k+1})\mathbf {P} _{k+1|k}^{-}}
,或者
P
k
+
1
|
k
+
1
=
P
k
+
1
|
k
−
−
K
k
+
1
S
k
+
1
K
k
+
1
T
{\displaystyle \mathbf {P} _{k+1|k+1}=\mathbf {P} _{k+1|k}^{-}-\mathbf {K} _{k+1}\mathbf {S} _{k+1}\mathbf {K} _{k+1}^{\mathrm {T} }}
係噉,又可以即刻返到預測嗰匹繼續做落去。
下低係分𨂾總覽示意圖,橢圓啲係多變數高斯分佈 ,所有啲符號喺上高都得到解釋過。
直接輸出預測值嘅話,相當於喺
H
=
1
{\displaystyle \mathbf {H} =1}
場景下,係有返啲簡啲嘅式:
y
^
k
+
1
=
z
k
+
1
−
x
^
k
+
1
|
k
−
{\displaystyle {\widehat {\mathbf {y} }}_{k+1}=\mathbf {z} _{k+1}-{\widehat {\mathbf {x} }}_{k+1|k}^{-}}
S
k
+
1
=
P
k
+
1
|
k
−
+
R
k
+
1
{\displaystyle \mathbf {S} _{k+1}=\mathbf {P} _{k+1|k}^{-}+\mathbf {R} _{k+1}}
K
k
+
1
=
P
k
+
1
|
k
−
S
k
+
1
−
1
=
P
k
+
1
|
k
−
P
k
+
1
|
k
−
+
R
k
+
1
{\displaystyle \mathbf {K} _{k+1}=\mathbf {P} _{k+1|k}^{-}\mathbf {S} _{k+1}^{-1}={\dfrac {\mathbf {P} _{k+1|k}^{-}}{\mathbf {P} _{k+1|k}^{-}+\mathbf {R} _{k+1}}}}
P
k
+
1
|
k
+
1
=
P
k
+
1
|
k
−
−
K
k
+
1
P
k
+
1
|
k
−
{\displaystyle \mathbf {P} _{k+1|k+1}=\mathbf {P} _{k+1|k}^{-}-\mathbf {K} _{k+1}\mathbf {P} _{k+1|k}^{-}}
參睇卡曼增益同埋估計更新:
x
^
k
+
1
|
k
+
1
=
x
^
k
+
1
|
k
−
+
K
k
+
1
y
^
k
+
1
{\displaystyle {\widehat {\mathbf {x} }}_{k+1|k+1}={\widehat {\mathbf {x} }}_{k+1|k}^{-}+\mathbf {K} _{k+1}{\widehat {\mathbf {y} }}_{k+1}}
通過校個卡曼增益大細可以校得到個比例(加權重),想倚賴模型嘅斷估值多啲定倚賴帶觀測嘅新息值多啲。
考慮卡曼增益嘅式:
K
k
+
1
=
P
k
+
1
|
k
−
H
k
+
1
S
k
+
1
−
1
{\displaystyle \mathbf {K} _{k+1}=\mathbf {P} _{k+1|k}^{-}\mathbf {H} _{k+1}\mathbf {S} _{k+1}^{-1}}
捉啲
P
k
+
1
|
k
−
{\displaystyle \mathbf {P} _{k+1|k}^{-}}
、
S
k
+
1
{\displaystyle \mathbf {S} _{k+1}}
換齊成
P
k
|
k
{\displaystyle \mathbf {P} _{k|k}}
,可以有一樸樚式:
K
k
+
1
=
F
k
P
k
|
k
F
k
T
+
Q
k
H
k
+
1
(
F
k
P
k
|
k
F
k
T
+
Q
k
)
H
k
+
1
T
+
R
k
+
1
{\displaystyle \mathbf {K} _{k+1}={\dfrac {\mathbf {F} _{k}\mathbf {P} _{k|k}\mathbf {F} _{k}^{\mathrm {T} }+\mathbf {Q} _{k}}{\mathbf {H} _{k+1}(\mathbf {F} _{k}\mathbf {P} _{k|k}\mathbf {F} _{k}^{\mathrm {T} }+\mathbf {Q} _{k})\mathbf {H} _{k+1}^{\mathrm {T} }+\mathbf {R} _{k+1}}}}
注意到裏便有
Q
k
,
R
k
+
1
{\displaystyle \mathbf {Q} _{k},\mathbf {R} _{k+1}}
,可以考慮模型嘅過程噪音、傳感器 嘅觀測噪音嚟設置。喺簡易場景下(
F
=
1
{\displaystyle \mathbf {F} =1}
同
H
=
1
{\displaystyle \mathbf {H} =1}
),可以有下式:
K
k
+
1
=
P
k
|
k
+
Q
k
P
k
|
k
+
Q
k
+
R
k
+
1
{\displaystyle \mathbf {K} _{k+1}={\dfrac {\mathbf {P} _{k|k}+\mathbf {Q} _{k}}{\mathbf {P} _{k|k}\mathbf {+} \mathbf {Q} _{k}+\mathbf {R} _{k+1}}}}
可以直觀噉睇得到
Q
k
,
R
k
+
1
{\displaystyle \mathbf {Q} _{k},\mathbf {R} _{k+1}}
嘅設置係點影響返卡曼增益嘅大細。
卡曼濾波方法嘅擴展同廣義化 都得到咗開發,譬如非線性系統 適用嘅擴展卡曼濾波器 同無跡卡曼濾波器 。底層模型係一個隱馬可夫模型 ,其中啲潛在變數 個狀態空間 係連續嘅,而且所有啲潛在同觀察到嘅變數都具有高斯分佈。另外,卡曼濾波器都已成功噉用喺多傳感器融合 [ 3] 同分佈式傳感器網絡 ,嚟開發分佈式或者共識 卡曼濾波器。[ 4]
卡曼濾波器喺技術上有好多應用。一個常見嘅應用係攞嚟引導、導航同控制 啲載具,特別係飛機、航天器同動態定位 嘅船舶。[ 5] 另外,卡曼濾波器係喺時間序列 分析裏便廣泛應用開嘅概念,用喺訊號處理 同計量經濟學 等啲領域。卡曼濾波器亦都係喺機械人運動規劃 同控制 個領域嘅主要課題之一,用喺軌跡優化 都得。[ 6] 卡曼濾波器仲有用喺模擬中樞神經系統 對運動嘅控制。由於發出運動命令同接收感官回輸 之間存在有時間延遲,使用卡曼濾波器嘅話即支持返一種現實模型,可以估計得運動系統嘅當前狀態而且發出啲更新命令。[ 7]
↑ Kalman, R. E. (1960). "A New Approach to Linear Filtering and Prediction Problems" . Journal of Basic Engineering . 82 : 35–45. doi :10.1115/1.3662552 .
↑ Humpherys, Jeffrey (2012). "A Fresh Look at the Kalman Filter". Society for Industrial and Applied Mathematics . 54 (4): 801–823. doi :10.1137/100799666 .
↑ Li, Wangyan; Wang, Zidong; Wei, Guoliang; Ma, Lifeng; Hu, Jun; Ding, Derui (2015). "A Survey on Multisensor Fusion and Consensus Filtering for Sensor Networks" . Discrete Dynamics in Nature and Society (英文). 2015 : 1–12. doi :10.1155/2015/683701 . ISSN 1026-0226 .
↑ Li, Wangyan; Wang, Zidong; Ho, Daniel W. C.; Wei, Guoliang (2019). "On Boundedness of Error Covariances for Kalman Consensus Filtering Problems". IEEE Transactions on Automatic Control . 65 (6): 2654–2661. doi :10.1109/TAC.2019.2942826 . ISSN 0018-9286 .
↑ Paul Zarchan; Howard Musoff (2000). Fundamentals of Kalman Filtering: A Practical Approach . American Institute of Aeronautics and Astronautics, Incorporated. ISBN 978-1-56347-455-2 .
↑ Ghysels, Eric; Marcellino, Massimiliano (2018). Applied Economic Forecasting using Time Series Methods . New York, NY: Oxford University Press. p. 419. ISBN 978-0-19-062201-5 . OCLC 1010658777 .
↑ Wolpert, Daniel; Ghahramani, Zoubin (2000). "Computational principles of movement neuroscience". Nature Neuroscience . 3 : 1212–7. doi :10.1038/81497 . PMID 11127840 .