1 新來的無損卡爾曼濾波器有什么不一樣呢?
對於非線性模型,比如我們前面使用的CVTR
經過這樣的模型預測出來的狀態就不會是正態分布的了
那么我們就沒法用傳統的卡爾曼濾波器
當然,可以選擇使用擴展卡爾曼濾波,非線性函數,泰勒展開線性化唄
你願意這么做,也可以,但是你就得算雅克比矩陣不是么
新來的無損卡爾曼濾波呢,就讓你不用再算Jacobi矩陣了哦
他就是 處理非線性函數時,他就是進行了無損轉換
怎么說呢?
就是把非線性過程模型的結果,就是這個誰也不知道什么分布的結果
他給轉換成了一個正態分布的結果!!
還能表示一樣的狀態。
那接下來呢??
求一個分布的均值和協方差,接着迭代唄
所以其他部分,和我們的卡爾曼濾波沒啥區別
重點就是,把非線性函數處理來的結果,轉換了
那他到底是怎么轉換的呢??
2 無損卡爾曼濾波器到底是怎么無損轉換的呢??
好的,關鍵詞來了 ----Sigma點----
你好問了,這是什么玩意?
大家都知道,使用非線性函數對整個狀態分布,進行轉換,很有難度
但是啊,你把分布A的某個點,由非線性模型轉換到分布B的某個點,就很簡單。帶進函數求個值就完了
分布A就是我們后驗嘛,就是上一輪迭代出來的。
分布B呢,先驗唄,我們要預測的狀態,但是現在我們還不知道他是個啥
Sigma點是什么呢?
他們分布在狀態均值的周圍,和每一個狀態大小的標准差的和有一定關系
他們就可以代表整個分布。
所以得到當前分布的Sigma點之后,帶進非線性函數,算出一組新的Sigma點。
那么,得到的這組新的Sigma點不就是代表了分布B么
所以求出這組Sigma的均值和方差就可以下一步迭代了
好的,總結一下流程
- 選擇sigma點
- 預測sigma點
- 根據得到的sigma點,計算均值和方差