<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

MEMS慣性傳感器之卡爾曼濾波

zhc135136 ? 來源:SmartHWFW ? 作者:SmartHWFW ? 2022-12-13 09:36 ? 次閱讀

01 說在前面的話

關于卡爾曼這部分內容,一直思考怎么用通俗易懂的方式來按照自己的理解梳理。但是無奈,總是繞不開用數學的方法表達那 5 個關鍵的公式。不論是在B站,還是各個博客都用很多的講解。直到理解了嚴恭敏老師在講卡爾曼濾波時的一個溫度估算舉例,才斗膽引用下面文章,來填寫卡爾曼濾波這個坑。

一個簡單的應用是估計物體的位置和速度。簡要描述如下:假設我們可以獲取一個物體的包含噪聲的一系列位置觀測數據,我們可以獲得此物體的精確速度和位置連續更新信息。例如,對于雷達來說,我們關心的是跟蹤目標,而目標的位置、速度、加速度的觀測值是時刻含有誤差的,卡爾曼濾波器利用目標的動態信息,去掉噪聲影響,獲取目標此刻好的位置估計(即濾波過程),將來的位置估計(即預測過程),也可以是過去位置估計的(即插值或平滑過程)。

02應用舉例

假設我們要研究的對象是一個房間的溫度。根據你的經驗判斷,這個房間的溫度是恒定的,也就是下一分鐘的溫度等于現在這一分鐘的溫度(假設我們用一分鐘來做時間單位)。 假設你對你的經驗不是絕對相信,可能會有上下偏差幾度。我們把這些偏差看成是高斯白噪聲(White Gaussian Noise,理想情況下我們以高斯噪聲來進行假設估計),也就是這些偏差跟前后時間是沒有關系的而且符合高斯分布(Gaussian Distribution)。 另外,我們在房間里放一個溫度計,但是這個溫度計也不準確的,觀測值會比實際值偏差。我們也把這些偏差看成是高斯白噪聲。好了,現在對于某一分鐘我們有兩個有關于該房間的溫度值:你根據經驗的預測值(系統的預測值)和溫度計的值(觀測值)。下面我們要用這兩個值結合它們各自的噪聲來估算出房間的實際溫度值。 假如我們要估算k時刻的實際溫度值。首先你要根據k?1時刻的溫度值,來預測k時刻的溫度。因為你相信溫度是恒定的,所以你會得到k時刻的溫度預測值是跟k?1時刻一樣的,假設是23度,同時該值的高斯噪聲的偏差是5度(5是這樣得到的:如果k?1時刻估算出的最優溫度值的偏差是3,你對自己預測的不確定度是4度,它們平方相加再開方就是5)。 然后,你從溫度計那里得到了k時刻的溫度值,假設是25度,同時該值的偏差是4度。由于我們用于估算k時刻的實際溫度有兩個溫度值,分別是23度和25度。究竟實際溫度是多少呢?相信自己還是相信溫度計呢?究竟相信誰多一點,我們可以用它們的協方差(covariance)來判斷。因為 Kg^2=5^2/(5^2+4^2),所以Kg=0.78,我們可以估算出k時刻的實際溫度值是:23+0.78?(25?23)=24.56度。

可以看出,因為溫度計的協方差比較小(比較相信溫度計),所以估算出的最優溫度值偏向溫度計的值?,F在我們已經得到k時刻的最優溫度值了,下一步就是要進入k+1時刻,進行新的最優估算。在進入k+1時刻之前,我們還要算出k時刻那個最優值(24.56 度)的偏差。算法如下:

25aff1b4-7a84-11ed-8abf-dac502259ad0.png

這里的5就是上面的k時刻你預測的那個23度溫度值的偏差,得出的2.35就是進入k+1時刻以后k時刻估算出的最優溫度值的偏差(對應于上面的3)。就是這樣,卡爾曼濾波器就不斷的把協方差遞歸,從而估算出最優的溫度值。它運行的很快,而且它只保留了上一時刻的協方差。上面的Kg,就是卡爾曼增益(Kalman Gain),可以隨不同的時刻而改變自己的值。

03卡爾曼濾波器算法

卡爾曼濾波基于時域描述的線性動態系統,它的模型是馬爾科夫鏈(Markov Chain),而馬爾科夫鏈建立在一個被高斯噪聲干擾的線性算子之上。 系統的狀態可以用一個元素為實數的向量表示。隨著離散時間的增加,這個線性算子就會作用到當前狀態之上,產生一個新的狀態,并且會帶入一定的噪聲,同時一些已知的控制信息也會加入。同時,另外一個受噪聲干擾的線性算子將產生這些隱含狀態的可見輸出??柭鼮V波器可以被看作為類隱馬爾科夫模型,它們的顯著不同點在于:

隱狀態變量的取值空間是一個連續的空間,而不是離散的狀態空間;

另外,隱馬爾科夫模型可以描述下一個狀態的一個任意分布,這也與應用于卡爾曼濾波器中的高斯噪聲模型相反。

先看一下動態系統的基本模型。

25ca1e36-7a84-11ed-8abf-dac502259ad0.png

首先,我們先要引入一個離散控制過程的系統。該系統的過程模型可用一個線性隨機微分方程(Linear Stochastic Difference Equation)來描述:

25e02794-7a84-11ed-8abf-dac502259ad0.png

再加上系統觀測模型:

260249dc-7a84-11ed-8abf-dac502259ad0.png

卡爾曼濾波是一種遞歸的估計,即只要獲知上一時刻狀態的估計值以及當前狀態的觀測值就可以計算出當前狀態的估計值,因此不需要記錄觀測或者估計的歷史信息??柭鼮V波器與大多數濾波器不同之處在于:它是一種純粹的時域濾波器,它不需要像低通濾波器等頻域濾波器那樣,需要在頻域設計再轉換到時域實現??柭鼮V波器的操作包括兩個階段:預測與更新:

在預測階段,濾波器使用上一狀態的估計,做出對當前狀態的估計。

在更新階段,濾波器利用對當前狀態的觀測值優化在預測階段獲得的預測值,以獲得一個更精確的新估計值。

03.1 預測階段

對于滿足上面的條件(線性隨機微分系統,過程和觀測都是高斯白噪聲),卡爾曼濾波器是最優的信息處理器。

下面我們來用它們結合它們的協方差來估算系統的最優化輸出(類似上一節那個溫度的例子)。首先,我們要利用系統的過程模型,來預測下一狀態的系統。假設現在的系統狀態是k,根據系統的模型,可以基于系統的上一狀態而預測出現在狀態(稱為預測的狀態估計方程):

263c708a-7a84-11ed-8abf-dac502259ad0.png

到現在為止,我們的系統結果已經更新了,可是,對應于x(k∣k?1)的協方差(covariance)還沒更新。我們用P表示協方差,它實際上描述了預測值的準確程度(稱為預測的協方差矩陣估計方程):

26606b34-7a84-11ed-8abf-dac502259ad0.png

03.2 更新階段

在進行更新之前,我們先計算三個值: 首先是觀測余量(measurement residual):

26898eec-7a84-11ed-8abf-dac502259ad0.png

因為觀測過程中存在一個觀測誤差的協方差矩陣,我們可以給出一個觀測余量的協方差:

269b597e-7a84-11ed-8abf-dac502259ad0.png

接下來給出一個卡爾曼增益(Kalman Gain):

26b2b7e0-7a84-11ed-8abf-dac502259ad0.png

現在我們有了現在狀態的預測結果,然后我們再收集現在狀態的觀測值。結合預測值和觀測值,我們可以得到現在狀態k的最優化估算值x(k|k)(稱為更新的狀態估計方程):

26d44036-7a84-11ed-8abf-dac502259ad0.png

到現在為止,我們已經得到了k狀態下最優的估算值x(k∣k)。但是為了要使得卡爾曼濾波器不斷的運行下去直到系統過程結束,我們還要更新k狀態下x(k∣k)的協方差(稱為更新的協方差矩陣估計方程):

26eea8e0-7a84-11ed-8abf-dac502259ad0.png

其中 I 為單位矩陣,對于單模型單觀測,I=1。當系統進入k+1狀態時,P(k∣k)就是預測方程中的P(k?1∣k?1)。這樣,算法就可以自回歸的運算下去。

03.3 算法流程抽象

1)先決定當前系統的初始狀態,并根據預測方程(過程模型)得到一個下一個時刻預測的狀態;

2)根據預測方程中過程的誤差,得到當前預測的協方差估計;

3)進入更新階段,我們根據目前系統的觀測值和上一個時刻預測的狀態,從轉換方程(觀測模型)入手,得到一個測量余量;

4)根據轉換方程和上個時刻預測的協方差估計,也可以得到一個測量余量的協方差估計;

5)根據 a)測量余量的協方差Sk∣k; b)轉換方程H和 c)上個時刻的預測協方差估計Pk∣k?1,我們得到卡爾曼增益Kk∣k;

6)根據卡爾曼增益和測量余量,我們從預測的狀態中更新優化當前的狀態的值,而這個值可以用來預測下一個時刻的狀態;

7)同樣,我們根據 a)卡爾曼增益Kk∣k 和 b)上個時刻的預測協方差估計Pk∣k?1,我們把當前更新階段的協方差Pk∣k估計也得到,幫助下一時刻的卡爾曼增益計算。

270a71c4-7a84-11ed-8abf-dac502259ad0.png

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 濾波器
    +關注

    關注

    158

    文章

    7382

    瀏覽量

    175191
  • mems
    +關注

    關注

    128

    文章

    3761

    瀏覽量

    189054
  • 慣性傳感器
    +關注

    關注

    2

    文章

    166

    瀏覽量

    27757
  • 卡爾曼
    +關注

    關注

    0

    文章

    21

    瀏覽量

    12139
  • 卡爾曼濾波
    +關注

    關注

    3

    文章

    160

    瀏覽量

    24500

原文標題:MEMS 慣性傳感器07 - 卡爾曼濾波

文章出處:【微信號:SmartHWFW,微信公眾號:SmartHWFW】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    3種算法測試,告訴你為什么四軸飛行上使用卡爾濾波最好?

    對于卡爾濾波的理解說到底,濾波,數據融合什么的就是一個數據修正,那么,如果我使用數字濾波器,將傳感器
    發表于 06-11 16:02

    【心得】分享我對于卡爾濾波用于傳感器融合的見解

    `做四軸飛行有一段時間了,現在分享一些我對于卡爾濾波算法用于兩個傳感器融合的一些心得:卡爾
    發表于 06-12 15:11

    ADIS16480 具有動態方位輸出的10自由度MEMS慣性傳感器

    產品詳情ADIS16480iSensor?器件是一款用于動態方位檢測的完整慣性系統,內置一個三軸陀螺儀、一個三軸加速度計、三軸磁力計、壓力傳感器和一個擴展卡爾
    發表于 12-24 15:44

    10自由度MEMS慣性傳感器ADIS16480

    ADIS16480iSensor?器件是一款用于動態方位檢測的完整慣性系統,內置一個三軸陀螺儀、一個三軸加速度計、三軸磁力計、壓力傳感器和一個擴展卡爾
    發表于 10-15 09:19

    裝配MEMS慣性傳感器的實用方法

    電系統(MEMS慣性傳感器的設計在本質上對運動非常敏感,可有效檢測和處理線性加速、磁航向、海拔和角速率信息。為充分利用慣性傳感器的性能潛力
    發表于 11-12 15:38

    精密MEMS慣性傳感器ADIS16334和ADIS16375的特點與功能框圖

    組合和易用性,能夠在嚴重振動、沖擊和高溫環境中有效工作。其主要特性如下:  -- 陀螺儀偏置穩定性為12度/小時,加速度計偏置穩定性為0.13 mg,從而使傳感器穩定性提高一倍,簡化了系統卡爾
    發表于 12-04 15:25

    項目應用中的卡爾濾波

    卡爾濾波器可以從數據序列中排除干擾噪聲,使用卡爾濾波器可以從不完整的信息給出一個不斷變化中復
    發表于 05-22 07:06

    MEMS慣性傳感器與工業環境

    MS-2163:利用集成式MEMS慣性傳感器改 善工業控制
    發表于 09-03 14:31

    MEMS慣性傳感器的優勢是什么?

    意法半導體公司推出一系列慣性傳感器,極具誘惑力的價格配合卓越的產品性能,讓意法半導體迅速擴大了在消費電子MEMS傳感器市場的份額。公司在MEMS
    發表于 11-05 06:19

    MEMS慣性傳感器的測試及應用領域

    MEMS(Micro-Electro-Mechanical System)是指集機械元素、微型傳感器以及信號處理和控制電路、接口電路、通信和電源于一體的完整微型機電系統。MEMS慣性
    發表于 05-18 06:28

    慣性測量單元3DM-GX5-15 傳感器

    自適應擴展卡爾濾波器為用戶提供高精度的慣性數據和定位、速度等信息。是同等級別產品中體積較小,重量較輕,功耗較低的工業級慣性導航系統。3DM
    發表于 12-07 09:06

    卡爾濾波有哪些應用

    卡爾濾波風力發電機中的風速估計,轉速估計甚至扭矩估計都設計到卡爾濾波,如果只是單一
    發表于 07-12 06:00

    卡爾濾波器的使用原理

    [開發工具] STM32算法的翅膀MATLAB基于加速度計與氣壓計的三階卡爾濾波計算加速度、速度及高度主要介紹了卡爾
    發表于 08-17 07:02

    卡爾濾波器是什么

    用的狀態估計方法。直觀上來講,卡爾濾波器在這里起了數據融合的作用,只需要輸入當前的測量值(多個傳感器數據)和上一個周期的估計值就能估計當前的狀態,這個估計出來的當前狀態綜合考量了
    發表于 11-16 09:10

    有沒有基于9軸傳感器的三階卡爾濾波器算法?

    有沒有基于9軸傳感器的三階卡爾濾波器算法
    發表于 11-06 06:00
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>