日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

卡尔玛滤波的原理说明

發布時間:2023/12/10 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 卡尔玛滤波的原理说明 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

卡爾瑪濾波的原理說明

  • 卡爾曼濾波的原理說明
    • 卡爾曼濾波的介紹
    • 卡爾曼濾波算法

卡爾曼濾波的原理說明

簡單來說,卡爾曼濾波器是一個“optimal recursive data processing algorithm(最優化自回歸數據處理算法)”。對于解決很大部分的問題,它是最優、效率最高甚至是最有用的。

卡爾曼濾波的介紹

這里先根據下面的例子對卡爾曼濾波的5條公式進行一步一步地探索。
假設我們要研究的對象是一個房間的溫度。根據你的經驗判斷,這個房間的溫度是恒定的,也就是下一分鐘的溫度等于現在這一分鐘的溫度(假設我們用一分鐘來做時間單位)。假設你對你的經驗不是100%的相信,可能會有上下偏差幾度。我們把這些偏差看成是高斯白噪聲,也就是這些偏差跟前后時間是沒有關系的而且符合高斯分配。另外,我們在房間里放一個溫度計,但這個溫度計也是不準確的,測量值會比實際值偏差。我們也把這些偏差看成是高斯白噪聲。
好了,現在對于謀一分鐘我們有兩個關于該房間的溫度值:你根據經驗的預測值(系統的預測值)和溫度計的值(測量值)。下面要用這兩個值結合它們各自的噪聲來估算出房間的實際溫度值。
假如我們要估算kkk時刻的實際溫度值。首先你要根據kkk-1時刻的溫度值,來預測kkk時刻的溫度。因為你相信溫度是恒定的,所以你會得到kkk時刻的溫度預測值是跟kkk-1時刻一樣的,假設是23度,同時該值的高斯噪聲的偏差是5度(5是這樣得到的:如果kkk-1時刻估算出的最優溫度值的偏差是3,你對自己預測的不確定度是4,它們的平方相加再開方,就是5)。然后,你從溫度計那里得到了kkk時刻的溫度值,假設是25度,同時該值的偏差是4度。
由于我們用于估算kkk時刻的實際溫度有兩個溫度值,分別是23度和25度。究竟實際溫度是多少呢?相信自己還是相信溫度計?究竟相信誰多一點,我們可以用它們的covariance來判斷。因為Kg2=52/(52+42)Kg^2=5^2/(5^2+4^2)Kg2=52/(52+42),所以KgKgKg=0.78,我們可以估算出kkk時刻的實際溫度值是:23+0.78?(25?23)=24.5623+0.78*(25-23)=24.5623+0.78?(25?23)=24.56度。可以看出,因為溫度計的covariance比較小(比較相信溫度計),所以估算出的最優溫度值偏向溫度計的值。
現在我們可以得到kkk時刻的最優溫度值了,下一步就是要進入kkk+1時刻,進行新的最優估算。到現在為止,好像還沒看到什么自回歸的東西出現。對了,在進入kkk+1時刻之前,我們還要算出kkk時刻那個最優值(24.56度)的偏差。算法如下:((1?Kg)?52)0.5=2.35((1-Kg)\ast5^2)^{0.5}=2.35((1?Kg)?52)0.5=2.35。這里的5 就是上面的kkk時刻你預測的那個23度溫度值的偏差,得出的2.35就是進入kkk+1時刻以后kkk時刻估算出的最優值的偏差(對應于上面的3)。
就是這樣,卡爾曼濾波就不斷地把covariance地柜,從而估算出最優的溫度值。它運行的很快,而且它只保留了上一時刻的covariance。上面的KgKgKg,就是卡爾曼增益。它可以隨不同的時刻改變它自己的值。

卡爾曼濾波算法

首先,我們先要引入一個離散控制過程的系統。該系統可用一個線性隨機微分方程來描述:
X(k)=AX(k?1)+BU(k)+W(k)X(k)=AX(k-1)+BU(k)+W(k) X(k)=AX(k?1)+BU(k)+W(k)
再加上系統的測量值:
Z(k)=HX(k)+V(k)Z(k)=HX(k)+V(k) Z(k)=HX(k)+V(k)
上兩式中,X(k)X(k)X(k)kkk時刻的系統狀態,U(k)U(k)U(k)kkk時刻對系統的控制量。AAABBB是系統參數,對于多模型系統,它們為矩陣。Z(k)Z(k)Z(k)kkk時刻的測量值,HHH是測量系統的參數,對于多測量系統,HHH為矩陣。W(k)W(k)W(k)V(k)V(k)V(k)分別表示過程和測量的噪聲。它們被假設成高斯白噪聲,它們的covariance分別是QQQRRR(這里我們假設它們不隨系統狀態變化而變化)。
對于滿足上面的條件(線性隨機微分系統,過程和測量都是高斯白噪聲),卡爾曼濾波是最優的信息處理器。下面我們來用它們的covariances來估算系統的最優化輸出。
首先我們要利用系統的過程模型,來預測下一狀態的系統。假設現在的系統狀態是kkk,根據系統的模型,可以基于系統的上一狀態而預測出現在狀態:
(1)X(k∣k?1)=AX(k?1∣k?1)+BU(k)X(k|k-1)=AX(k-1|k-1)+BU(k) \tag{1} X(kk?1)=AX(k?1k?1)+BU(k)(1)
上式中,X(k∣k?1)X(k|k-1)X(kk?1)是利用上一狀態預測的結果,X(k?1∣k?1)X(k-1|k-1)X(k?1k?1)是上一狀態最優的結果,U(k)U(k)U(k)為現在狀態的控制量,如果沒有控制量,它可以為0.
到現在為止我們的系統結果已經更新了,可是,對應于X(k∣k?1)X(k|k-1)X(kk?1)的covariance還沒更新。我們用PPP表示covariance:
(2)P(k∣k?1)=AP(k?1∣k?1)A′+QP(k|k-1)=AP(k-1|k-1)A'+Q \tag{2} P(kk?1)=AP(k?1k?1)A+Q(2)
上式中,P(k∣k?1)P(k|k-1)P(kk?1)X(k∣k?1)X(k|k-1)X(kk?1)對應的covariance,P(k?1∣k?1)P(k-1|k-1)P(k?1k?1)X(k?1∣k?1)X(k-1|k-1)X(k?1k?1)對應covariance,A′A'A表示AAA的轉置矩陣,QQQ是系統過程的covariance。式子1,2就是卡爾曼濾波5個公式中的前兩個,也就是對系統的預測。
現在我們有了現在狀態的預測結果,然后我們再收集現在狀態的測量值。結合預測值和測量值,我們可以得到現在狀態(k)(k)(k)和最優化估算值X(k∣k)X(k|k)X(kk)
(3)X(k∣k)=X(k∣k?1)+Kg(k)(Z(k)?HX(k∣k?1))X(k|k)=X(k|k-1)+Kg(k)(Z(k)-HX(k|k-1)) \tag{3} X(kk)=X(kk?1)+Kg(k)(Z(k)?HX(kk?1))(3)
其中KgKgKg為卡爾曼增益:
(4)Kg(k)=P(k∣k?1)H′/(HP(k∣k?1)H′+R)Kg(k)=P(k|k-1)H'/(HP(k|k-1)H'+R) \tag{4} Kg(k)=P(kk?1)H/(HP(kk?1)H+R)(4)
到現在為止,我們已經得到了kkk狀態下最優的估算值X(k∣k)X(k|k)X(kk)。但是為了要卡爾曼濾波器不斷地運行下去知道系統過程結束,我們還要更新kkk狀態下X(k∣k)X(k|k)X(kk)的covariance:
(5)P(k∣k)=(I?Kg(k)H)P(k∣k?1)P(k|k)=(I-Kg(k)H)P(k|k-1) \tag{5} P(kk)=(I?Kg(k)H)P(kk?1) (5)
其中III為單位矩陣,對于單模型單測量,I=1I=1I=1。當系統進入kkk+1狀態時,P(k∣k)P(k|k)P(kk)就是式2的P(k?1∣k?1)P(k-1|k-1)P(k?1k?1)。這樣,算法就可以自回歸的運算下去.
卡爾曼濾波器的原理基本描述了,式子1,2,3,4和5就是它的5個基本公式。根據這5個公式,可以很容易地實現計算機的程序。

總結

以上是生活随笔為你收集整理的卡尔玛滤波的原理说明的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。