《3-卡爾曼濾波-1詳解》由會(huì)員分享,可在線閱讀,更多相關(guān)《3-卡爾曼濾波-1詳解(35頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,*,卡爾曼濾波,Kalman Filtering,背景介紹:,Kalman,匈牙利數(shù)學(xué)家。,卡爾曼濾波器源于他的博士論,文和1960年發(fā)表的論文A New,Approach to Linear Filtering,and Prediction Problems線,性濾波與猜測(cè)問(wèn)題的新方法。,估量原理和卡爾曼濾波,1.狀態(tài)估量原理,2.為什么要用狀態(tài)估量理論,3.經(jīng)典把握理論與現(xiàn)代把握理論,4.什么是卡爾曼濾波,5.卡
2、爾曼濾波器的軟硬件實(shí)現(xiàn),6.卡爾曼濾波器的應(yīng)用,1.狀態(tài)估量原理,狀態(tài)估量是卡爾曼濾波的重要組成局部。一般來(lái)說(shuō),依據(jù)觀測(cè)數(shù)據(jù)對(duì)隨機(jī)量進(jìn)展定量推斷就是估量問(wèn)題,特殊是對(duì)動(dòng)態(tài)行為的狀態(tài)估量,它能實(shí)現(xiàn)實(shí)時(shí)運(yùn)行狀態(tài)的估量和猜測(cè)功能。比方對(duì)飛行器狀態(tài)估量。,狀態(tài)估量對(duì)于了解和把握一個(gè)系統(tǒng)具有重要意義,所應(yīng)用的方法屬于統(tǒng)計(jì)學(xué)中的估量理論。最常用的是最小二乘估量,線性最小方差估量、最小方差估量、遞推最小二乘估量等。其他如風(fēng)險(xiǎn)準(zhǔn)則的貝葉斯估量、最大似然估量、隨機(jī)靠近等方法也都有應(yīng)用。,受噪聲干擾的狀態(tài)量是個(gè)隨機(jī)量,不行能測(cè)得準(zhǔn)確值,但可對(duì)它進(jìn)展一系列觀測(cè),并依據(jù)一組觀測(cè)值,按某種統(tǒng)計(jì)觀點(diǎn)對(duì)它進(jìn)展估量。使估量值
3、盡可能準(zhǔn)確地接近真實(shí)值,這就是最優(yōu)估量。真實(shí)值與估量值之差稱為估量誤差。假設(shè)估量值的數(shù)學(xué)期望與真實(shí)值相等,這種估量稱為無(wú)偏估量。,卡爾曼提出的遞推最優(yōu)估量理論,承受狀態(tài)空間描述法,算法承受遞推形式,卡爾曼濾波能處理多維和非平穩(wěn)的隨機(jī)過(guò)程??柭鼮V波理論的提出,抑制了威納濾波理論的局限性,使其在工程上得到了廣泛的應(yīng)用,尤其在把握、制導(dǎo)、導(dǎo)航、通訊等現(xiàn)代工程方面。,關(guān)于維納濾波和卡爾曼濾維納濾波和卡爾曼濾波都是解決線性濾波和猜測(cè)問(wèn)題的方法,并且都是以均方誤差最小為準(zhǔn)則的,在平穩(wěn)條件下兩者的穩(wěn)態(tài)結(jié)果是全都的。但是它們解決問(wèn)題的方法有很大區(qū)分。1.維納濾波是依據(jù)全部過(guò)去觀測(cè)值和當(dāng)前觀測(cè)值來(lái)估量信號(hào)的當(dāng)
4、前值,因此它的解形式是系統(tǒng)的傳遞函數(shù)H(z)或單位脈沖響應(yīng)h(n),因此更常稱這種系統(tǒng)為最正確線性過(guò)濾器或?yàn)V波器;卡爾曼濾波是用當(dāng)前一個(gè)估量值和最近一個(gè)觀測(cè)值來(lái)估量信號(hào)的當(dāng)前值,它是用狀態(tài)方程和遞推的方法進(jìn)展估量的,它的解形式是以估量值(常常是狀態(tài)變量值。因此更常稱這種系統(tǒng)為線性最優(yōu)估量器或?yàn)V波器。2.維納濾波只適用于平穩(wěn)隨機(jī)過(guò)程,卡爾曼濾波就沒(méi)有這個(gè)限制。,3.維納過(guò)濾中信號(hào)和噪聲是用相關(guān)函數(shù)表示的,因此設(shè)計(jì)維納濾波器要求信號(hào)和噪聲的相關(guān)函數(shù)。卡爾曼過(guò)濾中信號(hào)和噪聲是狀態(tài)方程和量測(cè)方程表示的,因此設(shè)計(jì)卡爾曼濾波器要求狀態(tài)方程和量測(cè)方程(固然,相關(guān)函數(shù)與狀態(tài)方程和量測(cè)方程之間會(huì)存在確定的關(guān)系)
5、??柭^(guò)濾方法看來(lái)似乎比維納過(guò)濾方法優(yōu)越,它用遞推法計(jì)算,不需要知道全部過(guò)去的數(shù)據(jù),從而運(yùn)用計(jì)算機(jī)計(jì)算便利,而且它可用于平穩(wěn)和不平穩(wěn)的隨機(jī)過(guò)程(信號(hào)),非時(shí)變和時(shí)變的系統(tǒng)。,但從進(jìn)展歷史上來(lái)看維納濾波的思想是40年月初提出來(lái)的,1949年正式以書(shū)的形式出版。卡爾曼濾波到60年月初才提出來(lái),它是在維納濾波的根底上進(jìn)展起來(lái)的,雖然如上所述它比維納濾波方法有不少優(yōu)越的地方,但是最正確線性濾波問(wèn)題是由維納濾波首先解決的,維納濾波的物理概念比較清晰,也可以認(rèn)為卡爾曼濾波僅僅是對(duì)最正確線性過(guò)濾問(wèn)題提出的一種新的算法。,當(dāng)被估量的狀態(tài)變量很多時(shí),卡爾曼濾波運(yùn)算量以及存儲(chǔ)量將會(huì)變得很大,由于需要存儲(chǔ)和更新?tīng)?/p>
6、態(tài)猜測(cè)誤差的自相關(guān)矩陣。這也是他的缺點(diǎn)。,wiener濾波用于標(biāo)量濾波,而kalman濾波可用于矢量濾波,所以應(yīng)用也更廣些。,2為什么要用狀態(tài)估量理論 在很多實(shí)際問(wèn)題中,由于隨機(jī)過(guò)程的存在,常常不能直接獲得系統(tǒng)的狀態(tài)參數(shù),需要從夾雜著隨機(jī)干擾的觀測(cè)信號(hào)中分別出系統(tǒng)的狀態(tài)參數(shù)。例如,飛機(jī)在飛行過(guò)程中所處的位置、速度等狀態(tài)參數(shù)需要通過(guò)雷達(dá)或其它測(cè)量裝置進(jìn)展觀測(cè),而雷達(dá)等測(cè)量裝置也存在隨機(jī)干擾,因此在觀測(cè)到飛機(jī)的位置、速度等信號(hào)中就夾雜著隨機(jī)干擾,要想正確地得到飛機(jī)的狀態(tài)參數(shù)是不行能的,只能依據(jù)觀測(cè)到的信號(hào)來(lái)估量和猜測(cè)飛機(jī)的狀態(tài),這就是估量問(wèn)題。,從觀測(cè)到的信號(hào)中估量出狀態(tài)的估值,并且希望估值與狀態(tài)
7、的真值越小越好,即要求有:成立;因此存在最優(yōu)估量問(wèn)題,這就是卡爾曼濾波??柭鼮V波的最優(yōu)估量需滿足以下三個(gè)條件:無(wú)偏性,即估量值的均值等于狀態(tài)的真值;估量的方差最小;實(shí)時(shí)性。,從以上分析可以看出卡爾曼濾波就是在有隨機(jī)干擾和噪聲的狀況下,以線性最小方差估量方法給出狀態(tài)的最優(yōu)估量值,卡爾曼濾波是在統(tǒng)計(jì)的意義上給出最接近狀態(tài)真值的估量值。因此,卡爾曼濾波在空間技術(shù)、測(cè)軌、導(dǎo)航、攔截與通訊等方面獲得了廣泛的應(yīng)用。,3經(jīng)典把握理論與現(xiàn)代把握理論 經(jīng)典把握理論只適應(yīng)與單輸入單輸出的線性定常系統(tǒng),爭(zhēng)論方法是傳遞函數(shù)。傳遞函數(shù)在本質(zhì)上是一種頻率法,要靠各個(gè)頻率重量描述信號(hào)。因此,頻率法限制了系統(tǒng)對(duì)整個(gè)過(guò)程在時(shí)
8、間域內(nèi)進(jìn)展把握的力氣,所以經(jīng)典把握理論很難實(shí)現(xiàn)實(shí)時(shí)把握。同時(shí),經(jīng)典把握理論也很難實(shí)現(xiàn)最優(yōu)把握。,經(jīng)典把握系統(tǒng)的組成,由于經(jīng)典把握理論的上述局限性,隨著科學(xué)技術(shù)的進(jìn)展,特殊是空間技術(shù)和各類(lèi)高速飛行器的快速進(jìn)展,要求把握高速度、高精度的受控對(duì)象,把握系統(tǒng)更加簡(jiǎn)潔,要求把握理論解決多輸入多輸出、非線性以及最優(yōu)把握等設(shè)計(jì)問(wèn)題。這些新的把握要求經(jīng)典把握理論是無(wú)法解決的。,現(xiàn)代把握理論是建立在狀態(tài)空間根底上的,它不用傳遞函數(shù),而是用狀態(tài)向量方程作為根本工具,因此可以用來(lái)分析多輸入多輸出、非線性以準(zhǔn)時(shí)變簡(jiǎn)潔系統(tǒng)的爭(zhēng)論?,F(xiàn)代把握理論本質(zhì)上是時(shí)域法,信號(hào)的描述和傳遞都是在時(shí)間域進(jìn)展,所以現(xiàn)代把握理論具有實(shí)現(xiàn)實(shí)時(shí)
9、把握的力氣。由于承受了狀態(tài)空間法,現(xiàn)代把握理論有利于設(shè)計(jì)人員依據(jù)給定的性能指標(biāo)設(shè)計(jì)出最優(yōu)的把握系統(tǒng)。,卡爾曼濾波把握系統(tǒng)構(gòu)造圖 由于系統(tǒng)的狀態(tài)x是不確定的,卡爾曼濾波器的任務(wù)就是在有隨機(jī)干擾w和噪聲v的狀況下給出系統(tǒng)狀態(tài)x的最優(yōu)估算值 ,它在統(tǒng)計(jì)意義下最接近狀態(tài)的真值x,從而實(shí)現(xiàn)最優(yōu)把握u()的目的。,4.什么是卡爾曼濾波:卡爾曼濾波是在線性最小方差估量的根底上,提出的在數(shù)學(xué)構(gòu)造上比較簡(jiǎn)潔的而且是最優(yōu)線性遞推濾波方法,具有計(jì)算量小、存儲(chǔ)量低,實(shí)時(shí)性高的優(yōu)點(diǎn)。特殊是對(duì)經(jīng)受了初始濾波后的過(guò)渡狀態(tài),濾波效果特殊好。,假設(shè)系統(tǒng)是高斯的,卡爾曼濾波是最優(yōu)的最小均方誤差估量;假設(shè)系統(tǒng)不是高斯的,卡爾曼濾波
10、是線性最小均方誤差估量,是最優(yōu)的線性估量器??柭鼮V波是以最小均方誤差為估量的最正確準(zhǔn)則,來(lái)尋求一套遞推估量的算法。,根本思想是:承受信號(hào)與噪聲的狀態(tài)空間模型,利用前一時(shí)刻的估量值和現(xiàn)時(shí)刻的觀測(cè)值來(lái)更新對(duì)狀態(tài)變量的估量,求現(xiàn)在時(shí)刻的估量值。它適合于實(shí)時(shí)處理和計(jì)算機(jī)運(yùn)算。,卡爾曼濾波的實(shí)質(zhì)是由量測(cè)值重構(gòu)系統(tǒng)的狀態(tài)向量。它以“猜測(cè)實(shí)測(cè)修正”的挨次遞推,依據(jù)系統(tǒng)的量測(cè)值來(lái)消退隨機(jī)干擾,再現(xiàn)系統(tǒng)的狀態(tài),或依據(jù)系統(tǒng)的量測(cè)值從被污染的系統(tǒng)中恢復(fù)系統(tǒng)的原來(lái)面目。,卡爾曼濾波特點(diǎn):卡爾曼濾波是解決狀態(tài)空間模型估量與猜測(cè)的有力工具之一,它不需存儲(chǔ)歷史數(shù)據(jù),就能夠從一系列的不完全以及包含噪聲的測(cè)量中,估量動(dòng)態(tài)系統(tǒng)
11、的狀態(tài)??柭鼮V波是一種遞歸的估量,即只要獲知上一時(shí)刻狀態(tài)的估量值以及當(dāng)前狀態(tài)的觀測(cè)值就可以計(jì)算出當(dāng)前狀態(tài)的估量值,因此不需要記錄觀測(cè)或者估量的歷史信息。,卡爾曼濾波器與大多數(shù)我們常用的濾波器不同之處,在于它是一種純粹的,時(shí)域,濾波器,不需要像,低通濾波器,等,頻域,濾波器那樣,需要在頻域設(shè)計(jì)再轉(zhuǎn)換到時(shí)域?qū)崿F(xiàn)。,5.卡爾曼濾波器的軟硬件實(shí)現(xiàn) 目前,卡爾曼濾波器已經(jīng)有很多不同的實(shí)現(xiàn)形式??柭畛跆岢龅男问浆F(xiàn)在一般稱為簡(jiǎn)潔卡爾曼濾波器。除此以外,還有施密特?cái)U(kuò)展卡爾曼濾波器,信息濾波器以及平方根濾波器。最常見(jiàn)的卡爾曼濾波器是鎖相環(huán),承受FPGA硬件可以實(shí)現(xiàn)卡爾曼濾波器。,硬件實(shí)現(xiàn)卡爾曼濾波器有良好
12、的濾波效果,但由于其計(jì)算量大,當(dāng)采樣率高時(shí),一個(gè)采樣周期內(nèi)難以完成計(jì)算,且計(jì)算機(jī)的字長(zhǎng)有限,使計(jì)算中舍入誤差和截?cái)嗾`差積存、傳遞,造成數(shù)值不穩(wěn)定,因此用MCU和DSP難以實(shí)現(xiàn)。FPGA可以實(shí)現(xiàn)并行計(jì)算,它有多個(gè)乘法器和累加器并行處理數(shù)據(jù),承受FPGA實(shí)現(xiàn)的卡爾曼濾波器,由于輸入和輸出數(shù)據(jù)計(jì)算同時(shí)進(jìn)展,因此可以大大提高濾波速度。,一般,數(shù)字濾波器的FPGA實(shí)現(xiàn)是用VHDL或Verilog HDL等硬件描述語(yǔ)言通過(guò)編寫(xiě)底層代碼實(shí)現(xiàn)。這種編程方式效率低,難度大。利用Altera公司FPGA的DSP開(kāi)發(fā)工具DSP Builder設(shè)計(jì)卡爾曼濾波器,比基于硬件描述語(yǔ)言的設(shè)計(jì),周期更短,設(shè)計(jì)更簡(jiǎn)潔。,基于現(xiàn)
13、場(chǎng)可編程規(guī)律門(mén)陣列FPGA器件和模數(shù)轉(zhuǎn)換器設(shè)計(jì)的數(shù)據(jù)采集系統(tǒng)為硬件平臺(tái),進(jìn)展算法設(shè)計(jì)?;谀K化設(shè)計(jì)思想,設(shè)計(jì)時(shí)鐘分頻模塊、AD轉(zhuǎn)換芯片的FPGA把握模塊和卡爾曼濾波模塊。卡爾曼濾波模塊承受DSP Builder設(shè)計(jì),轉(zhuǎn)換成硬件描述語(yǔ)言VHDL后,應(yīng)用軟件Modelsim、QuartusII進(jìn)展仿真并完成硬件驗(yàn)證。,軟件實(shí)現(xiàn) 很多物理進(jìn)程,如路上行駛的車(chē)輛、圍繞地球軌道運(yùn)轉(zhuǎn)的衛(wèi)星、由繞組電流驅(qū)動(dòng)的電機(jī)軸或正弦射頻載波信號(hào),均可用線性系統(tǒng)來(lái)近似。線性系統(tǒng)是指能用如下兩個(gè)方程描述的簡(jiǎn)潔進(jìn)程:,狀態(tài)方程:輸出方程:在上述方程中,A、B和C均為矩陣,k是時(shí)間系數(shù),x稱為系統(tǒng)狀態(tài),u是系統(tǒng)的輸入,y是所
14、測(cè)量的輸出。w和z表示噪音,其中變量w稱為進(jìn)程噪音,z稱為測(cè)量噪音,它們都是向量。,卡爾曼濾波的算法流程為:1.預(yù)估量X(k)=F(k,k-1)X(k-1)2.計(jì)算預(yù)估量協(xié)方差矩陣3.C(k)=F(k,k-1)C(k)F(k,k-1)”+T(k,k-1)Q(k)T(k,k-1)”4.Q(k)=U(k)U(k)”5.計(jì)算卡爾曼增益矩陣6.K(k)=C(k)H(k)”H(k)C(k)H(k)”+R(k)(-1)7.R(k)=N(k)N(k)”,8.更新估量 9.X(k)=X(k)+K(k)Y(k)-H(k)X(k)10.計(jì)算更新后估量協(xié)防差矩陣11.C(k)=I-K(k)H(k)C(k)I-K(k
15、)H(k)+K(k)R(k)K(k)12.X(k+1)=X(k)13.C(k+1)=C(k)14.重復(fù)以上步驟該算法可用C語(yǔ)言編程,在計(jì)算機(jī)上實(shí)現(xiàn)。,卡卡爾曼濾波的一個(gè)循環(huán),6.卡爾曼濾波器的應(yīng)用 卡爾曼濾波器最初是專為飛行器導(dǎo)航而研發(fā)的,目前已成功應(yīng)用在許多領(lǐng)域中??柭鼮V波器主要用來(lái)預(yù)估那些只能被系統(tǒng)本身間接或不精確觀測(cè)的系統(tǒng)狀態(tài)。許多工程系統(tǒng)和嵌入式系統(tǒng)都需要卡爾曼濾波。,比方,在雷達(dá)中,人們感興趣的是跟蹤目標(biāo),但目標(biāo)的位置,速度,加速度的測(cè)量值往往在任何時(shí)候都有噪聲??柭鼮V波利用目標(biāo)的動(dòng)態(tài)信息,設(shè)法去掉噪聲的影響,得到一個(gè)關(guān)于目標(biāo)位置的好的估量。這個(gè)估量可以是對(duì)當(dāng)前目標(biāo)位置的估量(濾波),也可以是對(duì)于將來(lái)位置的估量(猜測(cè)),也可以是對(duì)過(guò)去位置的估量。,卡爾曼濾波器應(yīng)用領(lǐng)域:自動(dòng)駕駛儀 動(dòng)態(tài)定位系統(tǒng) 經(jīng)濟(jì)學(xué),特殊是宏觀經(jīng)濟(jì)學(xué),時(shí)間序列模型,以及 計(jì)量經(jīng)濟(jì)學(xué) 慣性引導(dǎo)系統(tǒng) 雷達(dá)跟蹤器 衛(wèi)星導(dǎo)航系統(tǒng),