2013年8月10日 星期六

Kalman Filter

http://4rdp.blogspot.com/2013/08/kalman-filter.html?m=0

更多有關 Applied Optimal Estimation 的事情
Applied Optimal Estimation 這本書是我在研究所讀書時,系統鑑定 (System Identification) 上課時所用的教科書,主要探討 Kalman Filter 的應用,它最早被 NASA 使用在阿波羅太空船軌道預測,如果你不清楚控制系統的數學模型,它可說是一種特殊 IIR 數位濾波器,假若知道系統數學模型,它可以擴展來估測系統參數,例如船舶整體質量無法直接測量,但可以透過航行運動軌跡估算出來,它厲害在能夠動態估測系統並濾除測量雜訊

好不囉嗦,直接看方程式,這裡提供一般性濾波器應用,有興趣的朋友可以利用它去除雜訊,尤其當你遇到控制很不穩定又不清楚系統結構時,仍可使用它濾除大部分雜訊,應用範例可參見薛老師的文章,一般工程師不會想到用它解決問題,因為原理深奧難以理解,需有工程統計學知識,很多人可能沒聽過,或是不懂就不會用。


這裡使用 Discrete Kalman Filter
System Model
Measurement Model
Xk = Ak-1 Xk + Wk-1,   Wk ~ N(0, Qk)
Yk = Hk Xk + Vk,   Vk ~ N(0, Rk)
Initial Condition
Other Assumption
E[X(0)] = X0,  E[(X0X0) (X0 - X0)T] = P0
E[Wk VjT] = 0 for all j, k
State Estimate Extrapolation
Error Covariance Extrapolation
Xk(-) = Ak-1 Xk-1(+)
Pk(-) = Ak-1 Pk-1(+) Ak-1T + Qk-1
Kalman Gain
State Estimate Update
Error Covariance Update
Kk = Pk(-) HkT [Hk Pk(-) HkT + Rk]-1
Xk(+) = Xk(-) + Kk [Yk – Hk Xk(-)]
Pk(+) = [1 – Kk Hk] Pk(-)

模型簡化 A = 1H = 1
System Model
Measurement Model
Xk = Xk + Wk-1,   Wk ~ N(0, q)
Yk = Xk + Vk,   Vk ~ N(0, r)
Initial Condition
Other Assumption
E[X(0)] = X0,  E[(X0X0)2] = P0
E[Wk VjT] = 0 for all j, k
State Estimate Extrapolation
Error Covariance Extrapolation
Xk(-) = Xk-1(+)
Pk(-) = Pk-1(+) + q
Kalman Gain
State Estimate Update
Error Covariance Update
Kk = Pk(-) / [Pk(-) + r]
Xk(+) = Xk(-) + Kk [YkXk(-)]
Pk(+) = [1 – Kk] Pk(-)

Wk ~ N(0, q) 表示 W是一個常態分布的隨機變數,均值為零,變異數 σ2 = q
E[X(0)] = X表示 X(0) 期望值(平均值)為 X0
E[Wk VjT] = 0 for all j, k 表示 Wk V兩隨機變數正交互為獨立

一般而言r<q,Kalman Filter 去除雜訊的效果相當於 FIR,此外特性有點像 Smooth 會慢慢爬升,
r>q可加快收斂速度,但是估測結果會震盪較大可以參考試算表比較。

沒有留言:

張貼留言