0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

經(jīng)典卡爾曼濾波算法步驟

FPGA之家 ? 來(lái)源:FPGA之家 ? 作者:FPGA之家 ? 2021-01-07 10:08 ? 次閱讀

卡爾曼濾波實(shí)質(zhì)上就是基于觀(guān)測(cè)值以及估計(jì)值二者的數(shù)據(jù)對(duì)真實(shí)值進(jìn)行估計(jì)的過(guò)程。預(yù)測(cè)步驟如圖1所示:

圖1 卡爾曼濾波原理流程圖

假設(shè)我們能夠得到被測(cè)物體的位置和速度的測(cè)量值04e04082-507a-11eb-8b86-12bb97331649.png,在已知上一時(shí)刻的最優(yōu)估計(jì)值051226a6-507a-11eb-8b86-12bb97331649.png以及它的協(xié)方差矩陣0535ab80-507a-11eb-8b86-12bb97331649.png的條件下(初始值可以隨意取,但協(xié)方差矩陣應(yīng)為非0矩陣),則有05510588-507a-11eb-8b86-12bb97331649.png,057d8324-507a-11eb-8b86-12bb97331649.png,即:

059a407c-507a-11eb-8b86-12bb97331649.png

而此時(shí),

05e0f79c-507a-11eb-8b86-12bb97331649.png

如果我們加入額外的控制量,比如加速度060bca6c-507a-11eb-8b86-12bb97331649.png,此時(shí)063a5c56-507a-11eb-8b86-12bb97331649.png,06581d68-507a-11eb-8b86-12bb97331649.png,則此時(shí):

067349e4-507a-11eb-8b86-12bb97331649.png

同時(shí),我們認(rèn)為我們對(duì)系統(tǒng)的估計(jì)值并非完全準(zhǔn)確,比如運(yùn)動(dòng)物體會(huì)突然打滑之類(lèi)的,即存在一個(gè)協(xié)方差為068fa4cc-507a-11eb-8b86-12bb97331649.png的噪聲干擾。因此,我們需要對(duì)06b3c1a4-507a-11eb-8b86-12bb97331649.png加上系統(tǒng)噪聲06e66e4c-507a-11eb-8b86-12bb97331649.png來(lái)保證描述的完備性。綜上,預(yù)測(cè)步驟的表達(dá)如下所示:

07053ee4-507a-11eb-8b86-12bb97331649.png

073d2ade-507a-11eb-8b86-12bb97331649.png

由于誤差累積的作用,單純對(duì)系統(tǒng)進(jìn)行估計(jì)會(huì)導(dǎo)致估計(jì)值越來(lái)越離譜,因此我們以傳感器的觀(guān)測(cè)數(shù)據(jù)對(duì)我們的估計(jì)進(jìn)行修正。我們可以用與預(yù)測(cè)步驟類(lèi)似的方法將估計(jì)值空間映射至觀(guān)測(cè)值空間,如下式所示:

0769792c-507a-11eb-8b86-12bb97331649.png

07865100-507a-11eb-8b86-12bb97331649.png

我們假設(shè)觀(guān)測(cè)值為079fb15e-507a-11eb-8b86-12bb97331649.png。同時(shí)由于觀(guān)測(cè)數(shù)據(jù)同樣會(huì)存在噪聲干擾問(wèn)題,比如傳感器噪聲等,我們將這種噪聲的分布用協(xié)方差07be8c0a-507a-11eb-8b86-12bb97331649.png表示。此時(shí),觀(guān)測(cè)值07f1e406-507a-11eb-8b86-12bb97331649.png與估計(jì)值081663c6-507a-11eb-8b86-12bb97331649.png處于相同的狀態(tài)空間,但具有不同的概率分布,如圖2所示:

083c33a8-507a-11eb-8b86-12bb97331649.jpg

圖2 估計(jì)值與觀(guān)測(cè)值概率分布示意圖

我們可以認(rèn)為,這兩個(gè)概率分布的重疊部分,會(huì)更加趨近系統(tǒng)的真實(shí)數(shù)據(jù),即有更高的置信度,比如我們估計(jì)汽車(chē)速度是5~10km/h,傳感器反饋的速度是8~12km/h,那我們有理由認(rèn)為汽車(chē)的實(shí)際速度更趨近于8~10km/h這個(gè)區(qū)間。

這里將觀(guān)測(cè)值與估計(jì)值兩個(gè)分布的高斯分布相乘,其結(jié)果的高斯分布描述如下:

0886fcbc-507a-11eb-8b86-12bb97331649.png

08b0cdbc-507a-11eb-8b86-12bb97331649.png? ? ??

08e1e000-507a-11eb-8b86-12bb97331649.png

式中:08fdc04a-507a-11eb-8b86-12bb97331649.png描述高斯分布的協(xié)方差,092d918a-507a-11eb-8b86-12bb97331649.png表示高斯分布的均值,矩陣0954485c-507a-11eb-8b86-12bb97331649.png稱(chēng)為卡爾曼增益矩陣。

那么,將估計(jì)值097719f4-507a-11eb-8b86-12bb97331649.png以及觀(guān)測(cè)值09a08a82-507a-11eb-8b86-12bb97331649.png代入式(8)至式(10),可以得到:

09b2d0d4-507a-11eb-8b86-12bb97331649.png

09dc3e88-507a-11eb-8b86-12bb97331649.png

09f6da7c-507a-11eb-8b86-12bb97331649.png

式中,0954485c-507a-11eb-8b86-12bb97331649.png稱(chēng)為卡爾曼增益。

將式(11)至式(13)中約去0a5650f6-507a-11eb-8b86-12bb97331649.png,并化簡(jiǎn)可得:

0a761f44-507a-11eb-8b86-12bb97331649.png

0a8f45f0-507a-11eb-8b86-12bb97331649.png

0aaaf21e-507a-11eb-8b86-12bb97331649.png

0abdb552-507a-11eb-8b86-12bb97331649.png即為我們所得到的最優(yōu)估計(jì)值,同時(shí)0adca610-507a-11eb-8b86-12bb97331649.png為其對(duì)應(yīng)的協(xié)方差矩陣。在實(shí)際應(yīng)用中,只需要使用式(4)、式(5)以及式(14)至式(16)這5個(gè)方程即可實(shí)現(xiàn)完整的卡爾曼濾波過(guò)程。

在對(duì)單一信號(hào)源濾波的場(chǎng)合,由于測(cè)量值與估計(jì)值具備幾乎完全相同的概率分布,為了更好的實(shí)現(xiàn)去噪效果,在假定被測(cè)對(duì)象變化不顯著的情況下,可以將之前(1~N)個(gè)時(shí)間節(jié)點(diǎn)的測(cè)量值隨機(jī)作為當(dāng)前時(shí)間節(jié)點(diǎn)的測(cè)量值,以實(shí)現(xiàn)更好的去噪效果。原則上,N取值越大濾波效果越好,但也會(huì)導(dǎo)致濾波結(jié)果滯后越嚴(yán)重。

2. 算法實(shí)現(xiàn)

function output = kalmanFilter(data, Q, R, N) if ~exist('Q', 'var') Q = 0.01; end if ~exist('R', 'var') R = 1; end if ~exist('N', 'var') N = 0; end X = 0; P = 1; A = 1; H = 1; output = zeros(size(data)); for ii = N + 1 : length(data) X_k = A * X; P_k = A * P * A' + Q; Kg = P_k * H' / (H * P_k * H' + R); z_k = data(ii - round(rand() * N)); X = X_k + Kg * (z_k - H * X_k); P = (1 - Kg*H) * P_k; output(ii) = X; end end

3. 算法分析

采用經(jīng)典卡爾曼濾波對(duì)虛擬信號(hào)及真實(shí)信號(hào)進(jìn)行濾波,結(jié)果如下圖所示:

0b4eaae4-507a-11eb-8b86-12bb97331649.jpg

圖3 經(jīng)典卡爾曼濾波對(duì)虛擬信號(hào)濾波結(jié)果

0b7593ca-507a-11eb-8b86-12bb97331649.jpg

圖4 經(jīng)典卡爾曼濾波對(duì)真實(shí)信號(hào)濾波結(jié)果

從濾波結(jié)果中可以看出,經(jīng)典卡爾曼對(duì)信號(hào)的濾波效果較為優(yōu)秀,實(shí)時(shí)性相對(duì)較好,計(jì)算量需求極小,能夠有效去除高斯噪聲以及非高斯噪聲,基本不受脈沖信號(hào)影響。在對(duì)被測(cè)系統(tǒng)的建模較為精確的條件下,其性能還能夠進(jìn)一步提升。其缺點(diǎn)主要在于需人為給定系統(tǒng)模型,當(dāng)系統(tǒng)模型不精確時(shí)濾波效果會(huì)有所下降,但可以通過(guò)增加采樣頻率解決此問(wèn)題。

建議應(yīng)用場(chǎng)合:輸入信號(hào)相對(duì)平穩(wěn)或已知被測(cè)系統(tǒng)運(yùn)動(dòng)學(xué)模型,同時(shí)要求運(yùn)算量極小的場(chǎng)合。

責(zé)任編輯:xj

原文標(biāo)題:濾波算法:經(jīng)典卡爾曼濾波

文章出處:【微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 濾波
    +關(guān)注

    關(guān)注

    10

    文章

    669

    瀏覽量

    56711
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4625

    瀏覽量

    93142
  • 卡爾曼濾波
    +關(guān)注

    關(guān)注

    3

    文章

    166

    瀏覽量

    24670

原文標(biāo)題:濾波算法:經(jīng)典卡爾曼濾波

文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    卡爾濾波基礎(chǔ)知識(shí)

    ,給出當(dāng)前狀態(tài)的最優(yōu)估計(jì),該算法涉及的核心方程有: 其中,xt為系統(tǒng)狀態(tài)矩陣;zt為系統(tǒng)觀(guān)測(cè)矩陣(實(shí)驗(yàn)結(jié)果);A為狀態(tài)轉(zhuǎn)移矩陣;B為控制輸入矩陣;H為狀態(tài)觀(guān)測(cè)矩陣。 附2、卡爾濾波應(yīng)
    的頭像 發(fā)表于 01-08 10:26 ?114次閱讀
    <b class='flag-5'>卡爾</b><b class='flag-5'>曼</b><b class='flag-5'>濾波</b>基礎(chǔ)知識(shí)

    卡爾濾波在信號(hào)處理中的應(yīng)用分析

    卡爾濾波在信號(hào)處理中的應(yīng)用十分廣泛,其強(qiáng)大的濾波和預(yù)測(cè)能力使其成為信號(hào)處理領(lǐng)域的一種重要工具。以下是對(duì)卡爾
    的頭像 發(fā)表于 12-16 09:14 ?1263次閱讀

    卡爾濾波在圖像處理中的應(yīng)用實(shí)例 如何調(diào)優(yōu)卡爾濾波參數(shù)

    卡爾濾波在圖像處理中的應(yīng)用實(shí)例 卡爾濾波在圖像處理中主要應(yīng)用于目標(biāo)跟蹤、噪聲消除和圖像恢復(fù)等
    的頭像 發(fā)表于 12-16 09:11 ?480次閱讀

    卡爾濾波在機(jī)器人導(dǎo)航中的應(yīng)用

    卡爾濾波的基本原理 卡爾濾波是一種基于貝葉斯濾波
    的頭像 發(fā)表于 12-16 09:08 ?342次閱讀

    【「從算法到電路—數(shù)字芯片算法的電路實(shí)現(xiàn)」閱讀體驗(yàn)】+閱讀濾波器章節(jié)部分筆記

    器,包括卡爾濾波器(Kalman Filter)、最小均方濾波器(Least Mean Square,LMS Filter)等。它們并不按照頻率來(lái)決定信號(hào)是否通過(guò),而是將輸入信號(hào)按照
    發(fā)表于 12-02 21:43

    模擬濾波器到數(shù)字濾波器的轉(zhuǎn)換步驟

    將模擬濾波器轉(zhuǎn)換為數(shù)字濾波器是一個(gè)涉及多個(gè)步驟的過(guò)程,旨在保持濾波器性能的同時(shí),適應(yīng)數(shù)字信號(hào)處理的需求。以下是將模擬濾波器轉(zhuǎn)換為數(shù)字
    的頭像 發(fā)表于 11-26 10:03 ?983次閱讀

    經(jīng)典濾波器的設(shè)計(jì)說(shuō)明

    摘要 經(jīng)典濾波器的濾波思路是從頻率域上將噪聲濾掉,關(guān)鍵是設(shè)計(jì)相應(yīng)的濾波器傳遞函數(shù)H(s)、H(z),分別對(duì)應(yīng)著模擬濾波器和數(shù)字
    的頭像 發(fā)表于 11-15 12:38 ?1454次閱讀
    <b class='flag-5'>經(jīng)典</b><b class='flag-5'>濾波</b>器的設(shè)計(jì)說(shuō)明

    卡爾濾波器的特性及仿真

    我們前一篇關(guān)于人物識(shí)別跟蹤的文章《視頻連續(xù)目標(biāo)跟蹤實(shí)現(xiàn)的兩種方法和示例(更新)》里講到,視頻圖像中物體的識(shí)別和跟蹤用到了卡爾濾波器(KF)。這里對(duì)這個(gè)話(huà)題我們稍微對(duì)這個(gè)卡爾
    的頭像 發(fā)表于 11-04 11:36 ?443次閱讀
    <b class='flag-5'>卡爾</b><b class='flag-5'>曼</b><b class='flag-5'>濾波</b>器的特性及仿真

    常用的ADC濾波算法有哪些

    ADC(模數(shù)轉(zhuǎn)換器)濾波算法在信號(hào)處理中起著至關(guān)重要的作用,它們能夠幫助我們提取出有用的信號(hào),同時(shí)濾除噪聲和干擾。以下是常用的ADC濾波算法詳解,這些
    的頭像 發(fā)表于 10-08 14:35 ?470次閱讀

    算法角度看 SLAM(第 2 部分)

    ,分別是基于濾波器的 SLAM、基于圖形的 SLAM 和基于深度學(xué)習(xí)的 SLAM。 基于濾波器的 SLAM 將 SLAM 視為狀態(tài)估計(jì)問(wèn)題。在這種 SLAM 中,通常使用擴(kuò)展卡爾
    的頭像 發(fā)表于 10-02 16:39 ?373次閱讀
    從<b class='flag-5'>算法</b>角度看 SLAM(第 2 部分)

    貝葉斯濾波卡爾濾波的區(qū)別

    貝葉斯濾波卡爾濾波是兩種常用的濾波方法,它們?cè)谛盘?hào)處理、導(dǎo)航、機(jī)器人定位等領(lǐng)域有著廣泛的應(yīng)用。 貝葉斯
    的頭像 發(fā)表于 08-01 15:25 ?755次閱讀

    卡爾濾波的優(yōu)缺點(diǎn)有哪些

    卡爾濾波(Kalman Filter)是一種線(xiàn)性動(dòng)態(tài)系統(tǒng)的狀態(tài)估計(jì)算法,廣泛應(yīng)用于信號(hào)處理、導(dǎo)航、控制等領(lǐng)域。 卡爾
    的頭像 發(fā)表于 08-01 15:24 ?2056次閱讀

    機(jī)器學(xué)習(xí)的經(jīng)典算法與應(yīng)用

    關(guān)于數(shù)據(jù)機(jī)器學(xué)習(xí)就是喂入算法和數(shù)據(jù),讓算法從數(shù)據(jù)中尋找一種相應(yīng)的關(guān)系。Iris鳶尾花數(shù)據(jù)集是一個(gè)經(jīng)典數(shù)據(jù)集,在統(tǒng)計(jì)學(xué)習(xí)和機(jī)器學(xué)習(xí)領(lǐng)域都經(jīng)常被用作示例。數(shù)據(jù)集內(nèi)包含3類(lèi)共150條記錄,每類(lèi)各50個(gè)數(shù)
    的頭像 發(fā)表于 06-27 08:27 ?1701次閱讀
    機(jī)器學(xué)習(xí)的<b class='flag-5'>經(jīng)典</b><b class='flag-5'>算法</b>與應(yīng)用

    卡爾濾波是什么 卡爾濾波與目標(biāo)追蹤技術(shù)分析

    卡爾濾波以及其擴(kuò)展算法能夠應(yīng)用于目標(biāo)狀態(tài)估計(jì),如果這個(gè)目標(biāo)是行人,那么就是行人狀態(tài)估計(jì)(或者說(shuō)行人追蹤),如果這個(gè)目標(biāo)是自身,那么就是車(chē)輛自身的追蹤(結(jié)合一些地圖的先驗(yàn),GPS等數(shù)據(jù)
    的頭像 發(fā)表于 04-29 09:46 ?1235次閱讀
    <b class='flag-5'>卡爾</b><b class='flag-5'>曼</b><b class='flag-5'>濾波</b>是什么 <b class='flag-5'>卡爾</b><b class='flag-5'>曼</b><b class='flag-5'>濾波</b>與目標(biāo)追蹤技術(shù)分析

    STM32F103RCT6使用HAL庫(kù)通過(guò)I2C1讀取MPU6050模塊原始數(shù)據(jù),卡爾濾波滯后很?chē)?yán)重的原因?

    STM32F103RCT6使用HAL庫(kù)通過(guò)I2C1讀取MPU6050模塊原始數(shù)據(jù),卡爾濾波進(jìn)行數(shù)據(jù)融合。卡爾
    發(fā)表于 04-22 06:11