新聞中心

EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于FPGA的Kalman濾波器的設(shè)計(jì)

基于FPGA的Kalman濾波器的設(shè)計(jì)

作者: 時(shí)間:2010-04-12 來(lái)源:網(wǎng)絡(luò) 收藏

摘要:針對(duì)電路設(shè)計(jì)中經(jīng)常碰到數(shù)據(jù)的噪聲干擾現(xiàn)象,提出了一種濾波的實(shí)現(xiàn)方法。該方法采用了TI公司的高精度模數(shù)轉(zhuǎn)換器ADSl25l以及Altera公司的EPlCl2,首先用卡爾曼濾波算法設(shè)計(jì)了一個(gè),然后將該分解成簡(jiǎn)單的加、減、乘、除運(yùn)算。通過(guò)基于平臺(tái)的硬件與軟件的合理設(shè)計(jì),成功地實(shí)現(xiàn)了數(shù)據(jù)噪聲的濾除設(shè)計(jì),并通過(guò)實(shí)踐仿真計(jì)算,驗(yàn)證了所實(shí)現(xiàn)濾波的有效性。
關(guān)鍵詞:卡爾曼;;最小方差估計(jì)

本文引用地址:http://butianyuan.cn/article/191740.htm

卡爾曼濾波是一個(gè)“Optimal Recursive Data Processing Algorithm(最優(yōu)化自回歸數(shù)據(jù)處理算法)”,對(duì)于解決很大部分的問(wèn)題,是最優(yōu)化的,效率最高甚至是最有用的。傳統(tǒng)的卡爾曼濾波是在DSP上實(shí)現(xiàn)的。但是DSP成本相對(duì)較高,而且指令是串行執(zhí)行的,不能滿足有些要求較高的場(chǎng)合。而FPGA由于其硬件結(jié)構(gòu)決定了它的并行處理方式,無(wú)論在速度還是實(shí)時(shí)性都更勝一籌。文中以基于FPGA器件和A/D轉(zhuǎn)換器的數(shù)據(jù)采集系統(tǒng)為硬件平臺(tái),進(jìn)行了卡爾曼濾波算法設(shè)計(jì),詳述了基于FPGA的卡爾曼的設(shè)計(jì)實(shí)現(xiàn)。

1 卡爾曼濾波算法
工程中,為了了解工程對(duì)象(濾波中稱為系統(tǒng))的各個(gè)物理量(濾波中稱為狀態(tài))的確切數(shù)值,或?yàn)榱诉_(dá)到對(duì)工程對(duì)象進(jìn)行控制的目的,必須利用測(cè)量手段對(duì)系統(tǒng)的各個(gè)狀態(tài)進(jìn)行測(cè)量。但是,量測(cè)值可能僅是系統(tǒng)的部分狀態(tài)或是部分狀態(tài)的線性組合,且量測(cè)值中有隨機(jī)誤差(常稱為量測(cè)噪聲)。最優(yōu)估計(jì)就是針對(duì)上述問(wèn)題的一種解決方法。它能將僅與部分狀態(tài)有關(guān)的測(cè)量進(jìn)行處理,得出從統(tǒng)計(jì)意義上講誤差最小的更多狀態(tài)的估值。誤差最小的標(biāo)準(zhǔn)常稱為估計(jì)準(zhǔn)則,根據(jù)不同的估計(jì)準(zhǔn)則和估計(jì)計(jì)算方法,有各種不同的最優(yōu)估計(jì),卡爾曼濾波是一種遞推線性最小方差估計(jì)的最優(yōu)估計(jì)。
系統(tǒng)的狀態(tài)方程可設(shè)定為

式(3)為系統(tǒng)噪聲。設(shè)設(shè)備的量測(cè)噪聲為Vk,系統(tǒng)得量測(cè)方程為

式中,是利用當(dāng)前狀態(tài)預(yù)測(cè)的結(jié)果,是當(dāng)前狀態(tài)最優(yōu)的結(jié)果,Pk+1/k是*對(duì)應(yīng)的covariance,Rk是對(duì)應(yīng)的covanance,表示A的轉(zhuǎn)置矩陣,Q是系統(tǒng)過(guò)程的covariance。式(1),式(2)就是卡爾曼濾波器5個(gè)公式中的前兩個(gè),也就是對(duì)系統(tǒng)的預(yù)測(cè)。可以得到將來(lái)狀態(tài)k+l的最優(yōu)化估算值。
式(9)中I為單位矩陣,對(duì)于單模型單測(cè)量,I=1。當(dāng)系統(tǒng)進(jìn)入k+2狀態(tài)時(shí),Pk+1就是式(2)的Pk。這樣,算法就可以自回歸的運(yùn)算下去。


上一頁(yè) 1 2 3 4 下一頁(yè)

關(guān)鍵詞: Kalman FPGA 濾波器

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉