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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【UWB】Kalman filter, KF卡尔曼滤波, EKF 扩展卡尔曼滤波

發(fā)布時(shí)間:2025/4/5 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【UWB】Kalman filter, KF卡尔曼滤波, EKF 扩展卡尔曼滤波 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

  • 卡爾曼濾波器
  • 擴(kuò)展卡爾曼濾波器
  • 協(xié)方差
  • Ref:

卡爾曼濾波器

首先從工程上看卡爾曼濾波算法。

引入一個(gè)離散控制過程的系統(tǒng),該系統(tǒng)可用一個(gè)線性隨機(jī)微分方程(linear stochastic difference equation)來描述:
X(k)=A?X(k?1)+B?U(k)+W(k)X(k) = A \cdot X(k-1) + B \cdot U(k) + W(k)X(k)=A?X(k?1)+B?U(k)+W(k)

這里:X(k)X(k)X(k)kkk 時(shí)刻的系統(tǒng)狀態(tài),U(k)U(k)U(k)kkk 時(shí)刻對(duì)系統(tǒng)的控制量。AAABBB 是系統(tǒng)參數(shù),對(duì)于多模系統(tǒng),它們?yōu)榫仃嚒?/p>

再加上系統(tǒng)的測量值:
Z(k)=H?X(k)+V(k)Z(k) = H \cdot X(k) + V(k)Z(k)=H?X(k)+V(k)

這里:Z(k)Z(k)Z(k)kkk 時(shí)刻的測量值,HHH 是測量參數(shù),對(duì)于多模系統(tǒng),HHH 為矩陣。W(k)W(k)W(k)V(k)V(k)V(k) 分別表示過程和測量的噪聲,它們被假設(shè)成高斯白噪聲,它們的 covariance 分別是 Q,RQ, RQ,R

對(duì)于滿足上面條件(線性隨機(jī)微分系統(tǒng),過程和測量都是高斯白噪聲),卡爾曼濾波器是最優(yōu)的信息處理器。


下面介紹卡爾曼濾波器算法流程及核心公式。

首先利用系統(tǒng)過程模型,來預(yù)測下一個(gè)狀態(tài)的系統(tǒng):
X(k∣k?1)=A?X(k?1∣k?1)+B?U(k)(1)X(k | k-1) = A \cdot X(k-1 | k-1) + B \cdot U(k) \tag{1}X(kk?1)=A?X(k?1k?1)+B?U(k)(1)

X(k∣k?1)X(k | k-1)X(kk?1) 是利用上一狀態(tài)預(yù)測的結(jié)果,X(k?1∣k?1)X(k-1 | k-1)X(k?1k?1) 是上一狀態(tài)的最優(yōu)結(jié)果。U(k)U(k)U(k) 為現(xiàn)在狀態(tài)的控制量,若沒有,則為 000

現(xiàn)在更新 X(k∣k?1)X(k | k-1)X(kk?1) 的 covariance,用 PPP 表示:
P(k∣k?1)=A?P(k?1∣k?1)?A′+Q(2)P(k | k-1) = A \cdot P(k-1 | k-1) \cdot A' + Q \tag{2}P(kk?1)=A?P(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) 對(duì)應(yīng)的 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) 對(duì)應(yīng)的 covariance。A′A'A 表示 AAA 的轉(zhuǎn)置,QQQ 是系統(tǒng)的 covariance。

式(1)(2)用來對(duì)系統(tǒng)進(jìn)行預(yù)測。

然后再收集系統(tǒng)的觀測值 Z(k)Z(k)Z(k),則最優(yōu)值:
X(k∣k)=X(k∣k?1)+Kg(k)?(Z(k)?H?X(k∣k?1))(3)X(k | k) = X(k | k-1) + K_g(k) \cdot (Z(k) - H \cdot X(k | k-1)) \tag{3}X(kk)=X(kk?1)+Kg?(k)?(Z(k)?H?X(kk?1))(3)

這里 KgK_gKg? 為卡爾曼增益(Kalman Gain)。

Kg(k)=P(k∣k?1)?H′H?P(k∣k?1)?H′+R(4)K_g(k) = \frac{P(k | k-1) \cdot H'}{H \cdot P(k | k-1) \cdot H' + R} \tag{4}Kg?(k)=H?P(kk?1)?H+RP(kk?1)?H?(4)

到目前為止,已經(jīng)得到 kkk 狀態(tài)下的最優(yōu)估算值 X(k∣k?1)X(k | k-1)X(kk?1)


但是為了要卡爾曼濾波器不斷得運(yùn)行下去直到系統(tǒng)過程結(jié)束,需要更新 kkk 狀態(tài)下 X(k∣k?1)X(k | k-1)X(kk?1) 的 covariance:
P(k∣k)=(I?Kg(k)?H)P(k∣k?1)(5)P(k | k) = (I - K_g(k) \cdot H) P(k | k-1) \tag{5}P(kk)=(I?Kg?(k)?H)P(kk?1)(5)

這里 III111 的矩陣,對(duì)于單模系統(tǒng) I=1I = 1I=1

當(dāng)系統(tǒng)進(jìn)入 k+1k+1k+1 狀態(tài)時(shí),P(k∣k)P(k | k)P(kk) 就是式(2)中的 P(k?1∣k?1)P(k-1 | k-1)P(k?1k?1)。這樣,算法就可以自回歸地運(yùn)算下去。

擴(kuò)展卡爾曼濾波器

由上述的介紹可以得知,卡爾曼濾波器只適用于線性系統(tǒng)模型,然而實(shí)際中的系統(tǒng)往往都是非線性模型。所示必須對(duì)卡爾曼濾波器進(jìn)行修改。

首先要了解一下線性化卡爾曼濾波。它和線性卡爾曼濾波器在濾波器的算法方面有同樣的算法結(jié)構(gòu)。不一樣的地方在于這兩者的系統(tǒng)模型不同。線性卡爾曼濾波器的系統(tǒng)本身就是線性系統(tǒng),而線性化卡爾曼濾波器的系統(tǒng)本身是非線性系統(tǒng),但是機(jī)智的大神們將非線性的系統(tǒng)進(jìn)行了線性化,于是卡爾曼濾波就可以用在非線性系統(tǒng)中了。對(duì)于一個(gè)卡爾曼濾波器的設(shè)計(jì)者,就可以不管模型到底是一開始就是線性系統(tǒng)還是非線性系統(tǒng)線性化得到的線性系統(tǒng),反正只要是線性系統(tǒng)就好了。

但是線性化卡爾曼濾波器會(huì)發(fā)散。為什么會(huì)發(fā)散呢?是這樣,我們?cè)趯?duì)非線性系統(tǒng)進(jìn)行線性化的過程中,只有被線性化的那個(gè)點(diǎn)附近的線性化模型和真實(shí)的模型相近,遠(yuǎn)的誤差就大了,那么這個(gè)時(shí)候卡爾曼濾波器的效果就不好。所以線性化的這個(gè)限制要時(shí)刻考慮,這也就是為什么要把線性卡爾曼濾波器和線性化卡爾曼濾波器區(qū)分開的理由。而決定一個(gè)線性化濾波器成功與否的關(guān)鍵就在于這個(gè)濾波器系統(tǒng)模型線性化得好不好。

EKF 基于線性化系統(tǒng)的思想,將系統(tǒng)函數(shù)的非線性函數(shù)作一階Taylor展開,得到線性化系統(tǒng)方程。擴(kuò)展的卡爾曼濾波器算法就是適用于非線性系統(tǒng)的卡爾曼濾波器。它與經(jīng)典的線性卡爾曼濾波器很相似,算法步驟和結(jié)構(gòu)都相同。不同在于系統(tǒng)模型和矩陣 AAAHHH

協(xié)方差

協(xié)方差(英語:Covariance),在概率論與統(tǒng)計(jì)學(xué)中用于衡量兩個(gè)隨機(jī)變量的聯(lián)合變化程度。

若變量X的較大值主要與另一個(gè)變量Y的較大值相對(duì)應(yīng),而兩者的較小值也相對(duì)應(yīng),則可稱兩變量傾向于表現(xiàn)出相似的行為,協(xié)方差為正。在相反的情況下,當(dāng)一個(gè)變量的較大值主要對(duì)應(yīng)于另一個(gè)變量的較小值時(shí),則兩變量傾向于表現(xiàn)出相反的行為,協(xié)方差為負(fù)。即協(xié)方差之正負(fù)號(hào)顯示著變量的相關(guān)性。

方差為協(xié)方差的一種特殊情況,即該變量與其自身之協(xié)方差。

期望值分別為 E(X)=μE(X) = \muE(X)=μE(Y)=υE(Y) = \upsilonE(Y)=υ 的兩個(gè)具有有限二階矩的實(shí)數(shù)隨機(jī)變量 XXXYYY 之間的協(xié)方差定義為:
cov(X,Y)=E((X?μ)(Y?υ))=E(X?Y)?μυ\text{cov}(X,Y) = E( (X - \mu) (Y - \upsilon) ) = E(X \cdot Y) - \mu \upsiloncov(X,Y)=E((X?μ)(Y?υ))=E(X?Y)?μυ

協(xié)方差表示的是兩個(gè)變量的總體的誤差,這與只表示一個(gè)變量誤差的方差不同。如果兩個(gè)變量的變化趨勢(shì)一致,也就是說如果其中一個(gè)大于自身的期望值,另外一個(gè)也大于自身的期望值,那么兩個(gè)變量之間的協(xié)方差就是正值。如果兩個(gè)變量的變化趨勢(shì)相反,即其中一個(gè)大于自身的期望值,另外一個(gè)卻小于自身的期望值,那么兩個(gè)變量之間的協(xié)方差就是負(fù)值。

Ref:

  • MATLAB實(shí)現(xiàn)卡爾曼濾波器(KF、EKF)
  • 協(xié)方差 - WikiPedia
  • 卡爾曼濾波(Kalman Filter)原理與公式推導(dǎo)
  • 總結(jié)

    以上是生活随笔為你收集整理的【UWB】Kalman filter, KF卡尔曼滤波, EKF 扩展卡尔曼滤波的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。