柚子快報邀請碼778899分享:大數據 算法 卡爾曼濾波
柚子快報邀請碼778899分享:大數據 算法 卡爾曼濾波
本文參考:從放棄到精通!卡爾曼濾波從理論到實踐~_嗶哩嗶哩_bilibili
目錄
1.卡爾曼濾波入門
2.學卡爾曼濾波的必備知識
2.1.狀態(tài)空間表達式
2.2.高斯分布
2.3.方差
2.4.超參數
2.5.卡爾曼直觀圖解
3.卡爾曼濾波
3.1.卡爾曼公式理解
3.2.調節(jié)超參數
3.2.1.Q和R的取值
3.2.2.P0和X0的取值
3.2.3.卡爾曼濾波的使用
1.卡爾曼濾波入門
卡爾曼濾波的引入:
濾波就是將測量得到的波形中的的噪聲過濾掉,使得到的數據更趨于真實情況,也更加平滑,方便使用。如下圖所示(紅色曲線是測量直接得到的波形,紫色曲線是濾波后得到的平滑曲線)
卡爾曼濾波適用的系統:
卡爾曼濾波適用線性高斯系統
1.線性系統:滿足疊加性和齊次性
疊加性:
齊次性:?
2.高斯系統
高斯:噪聲滿足正態(tài)分布
宏觀意義:
濾波即加權
理想狀態(tài):信號1+噪聲0
卡爾曼濾波:估計值估計值權重+觀測值觀測值權重
2.學卡爾曼濾波的必備知識
2.1.狀態(tài)空間表達式
:當前狀態(tài)的值;
:上一個時刻該狀態(tài)的值;
:輸入,即給到的一個輸入;
:過程噪聲
A:狀態(tài)轉移矩陣,代表當前狀態(tài)上一時刻的值乘上A這種關系,作用在該系統
B:控制矩陣,輸入乘上B這種關系,作用在該系統
舉例:一輛小車以速度v在路上行駛,迎面而來的風速v1
?
?那么狀態(tài)方程與該情形對應關系如下
:當前狀態(tài)的值;
C:乘上某種關系得到要觀測的值
:觀測噪聲,和觀測器的誤差有關
舉例:火爐對水加溫,藍色點是水溫的狀態(tài)值,紅色的點是溫度計,溫度計是一個傳感器得到觀測值
?那么狀態(tài)方程和觀測方程與該情形對應關系如下
?方框圖表示如下所示
2.2.高斯分布
高斯分布直觀圖解:
二維中,所有值投影到x軸或y軸,都是正態(tài)分布
高斯分布參數分析:
?是過程噪聲,符合正太分布,均值為0,方差為
?是觀測噪聲,符合正太分布,均值為0,方差為
?統稱和為高斯白噪聲
舉例1:GPS檢測到小車的位置,檢測到小車開了1000米,但是GPS有精度誤差,因此要加上米的噪聲,該噪聲就是觀測誤差,=。因為是服從正態(tài)分布的,假設其方差為1,則此時=1
?
?舉例2:有一個滑板,滑板前進的速度是5m/s,由于風的作用,因此滑板的速度有一個噪聲,此時滑板的速度為v+,那么=,是符合正太分布的,假設,則=1
2.3.方差
一維方差:
(1)噪聲的方差:前面的和
(2)狀態(tài)的方差:后面會提到狀態(tài)估計值的方差,
舉例:小車實際跑了10米,但是由于噪聲的影響,小車跑的距離是一個范圍,服從正太分布,此時小車跑的距離就是10+(噪聲),該距離符合正態(tài)分布,因此小車跑的距離本身也會有一個方差。
二維協方差:cov(x,y)
一維的狀態(tài)估計值為一個值;
二維的就是一個矢量,有兩個不同的狀態(tài),如下圖所示。這兩個不同的狀態(tài)同時對應著不同的噪聲。
?
對于二維的,其協方差就為
多維協方差矩陣C:
2.4.超參數
實驗中,需要自己調來提高系統性能的參數:
卡爾曼濾波器中:Q(過程噪聲的方差)? R(觀測噪聲的方差)
PID控制器中:P? I? D
2.5.卡爾曼直觀圖解
橫軸為車的位置,豎軸為概率密度。
:狀態(tài)量旁邊沒有橫杠就是最優(yōu)估計值(修正值、后驗估計值)
:狀態(tài)量旁邊有橫杠就是預測值(先驗估計值)
:觀測值,也就是傳感器直接測量得到的值
圖解:
(1)
是上一時刻的最優(yōu)估計值,也就是上一時刻卡爾曼濾波最終輸出的值
(2)和
是基于上一時刻最優(yōu)估計值估計出來的當前時刻的預測值
是當前時刻的觀測值
(3)
是當前時刻的最優(yōu)估計值,通過當前時刻預測值和當前時刻觀測值推出,上圖可以看出方差比較小,是因為經過卡爾曼濾波后,最終推出的效果較好
3.卡爾曼濾波
3.1.卡爾曼公式理解
實現過程:使用上一時刻的最優(yōu)結果預測這一時刻的預測值,同時使用這一時刻觀測值(傳感器測得的數據)修正這一時刻預測值,得到這一時刻的最優(yōu)結果
注:當狀態(tài)值是一維的時候,H和I可以看作是1
預測:
1.上一時刻的最優(yōu)估計值,推出這一時刻的預測值:
2.上一時刻最優(yōu)估計值方差/協方差和超參數Q推出這一時刻預測值方差/協方差
深入理解,Q其實對應的是過程噪聲的方差
更新:
1.這一時刻預測值方差/協方差和超參數R推出卡爾曼增益
為卡爾曼增益
因為是和Q有關的,所以將的公式帶入可以推出卡爾曼增益是和Q和R都有關的
深入理解,R其實對應的是觀測噪聲的方差
2.這一時刻預測值、這一時刻觀測值、卡爾曼增益推出這一時刻最優(yōu)估計值
為這一時刻觀測值
3.這一時刻預測值方差/協方差、卡爾曼增益推出這一時刻最優(yōu)估計值方差/協方差
舉例:
小車有兩個狀態(tài)值,p代表位置,v代表速度。小車處于勻加速直線運動
預測模型:
1.上一時刻的最優(yōu)估計值,推出這一時刻的預測值:
2.上一時刻最優(yōu)估計值方差/協方差和超參數Q推出這一時刻預測值方差/協方差
?
推導:
因為
?所以
其實第一步中這一時刻預測值后面應該還有一個過程噪聲Wt要加上(前面省略了),如下圖所示,這里面Q是前面省略的過程噪聲Wt的方差
測量模型:
GPS測量只能測量小車的位置,不能測量小車的速度,所以
Zp是小車此時的真實位置
Zv是小車此時的真實速度
Pt是測量得到的小車此時的位置
Pt是GPS測量位置的誤差
更新模型:
1.這一時刻預測值方差/協方差和超參數R推出卡爾曼增益
前面測量模型中,因為無法測速度,測量相當于是一維的,一維時H看作為1
2.這一時刻預測值、這一時刻觀測值、卡爾曼增益推出這一時刻最優(yōu)估計值
3.這一時刻預測值方差/協方差、卡爾曼增益推出這一時刻最優(yōu)估計值方差/協方差
預測更新循環(huán)往復,就能得到每一時刻的最優(yōu)估計值
3.2.調節(jié)超參數
3.2.1.Q和R的取值
當F=1且一維的情況H=1,那么
?再結合這一時刻最優(yōu)估計值的公式,如下:
可以得出:
當我們更信任觀測值時,那么應該讓卡爾曼增益K增大;從K的公式中可以看出,R越小K越大,Q越大K越大
當我們更信任模型估計值時,那么應該讓卡爾曼增益K減??;從K的公式中可以看出,R越大K越小,Q越小K越小
結論:
當我們更信任模型估計值時(模型估計基本沒有誤差),那么應該讓K小一點,我們應該將R取大一點,Q取小一點
當我們更信任觀測值時(模型估計誤差較大),那么應該讓K大一點,我們應該將R取小一點,Q取大一點
3.2.2.P0和X0的取值
和的取值其實是比較隨意的,因為經過后面幾輪迭代后,就會很快趨于穩(wěn)定值
3.2.3.卡爾曼濾波的使用
柚子快報邀請碼778899分享:大數據 算法 卡爾曼濾波
推薦鏈接
本文內容根據網絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉載請注明,如有侵權,聯系刪除。