新聞中心

EEPW首頁 > EDA/PCB > 設計應用 > 基于FPGA的Kalman濾波器的設計

基于FPGA的Kalman濾波器的設計

作者: 時間:2010-04-12 來源:網絡 收藏

由于資源的限制,濾波中的運算過程只能以有限的精度進行,但過低的精度容易引起濾波發(fā)散,同時為了兼顧A/D高達24 bit的分辨率精度,在IEEE754單精度浮點數(shù)格式的基礎上按照浮點表示的原則做了改造,將指數(shù)部分減少到6位,尾數(shù)增加到25位,25位尾數(shù)可以完全表示A/D輸出的24位采樣值,并削弱舍入誤差的影響,其格式如圖7所示。

本文引用地址:http://www.2s4d.com/article/191740.htm


本系統(tǒng)對處理速度的要求并不高,運算部件的設計并不考慮速度優(yōu)化。
加法器按以下通用的規(guī)則設計:
(1)階碼相減:兩個操作數(shù)階碼相減,求得階差d=|Ea-Eb|;
(2)尾數(shù)對齊:階碼小的操作數(shù)的尾數(shù)右移d位;
(3)尾數(shù)相加:完成移位處理后的尾數(shù)相加運算;
(4)轉換:尾數(shù)相加的結果為負數(shù)時,轉換為符號尾數(shù)的表示方式;
(5)前導0/1的判定:判定由于減法結果產生的左移位數(shù),對于加法判定是否右移一位或不移,對前導0/1判定的結果進行編碼以驅動規(guī)格化移位;
(6)規(guī)格化:規(guī)格化有效位并且根據(jù)移位的方向和位數(shù)修改最終的階碼Ef;
(7)舍入:根據(jù)IEEE標準判定最終結果的舍入,如果需要入,則最末有效位加1;如舍入引起溢出,則需要有效位右移1位,同時階碼Ef加1。
乘法器的設計相對簡單,與加法器一樣采用簡單的設計規(guī)則:
(1)指數(shù)相加:完成兩個操作數(shù)的指數(shù)相加運算;
(2)尾數(shù)調整:將尾數(shù)f調整為l/f的補碼格式;
(3)尾數(shù)相乘:完成兩個操作數(shù)的尾數(shù)相乘運算;
(4)規(guī)格化:根據(jù)尾數(shù)運算結果調整指數(shù)位,對尾數(shù)進行舍入截位操作,規(guī)格化輸出結果。
采用Altera提供的IP核,除法器能完成IEEE754單精度除法運算。數(shù)據(jù)進入該除法器前需要將自定義的浮點格式的階碼擴展為8位加上95,尾數(shù)右移兩位,轉換為標準單精度浮點,計算結果再由標準單精度浮點的按相反的方法轉換為自定義浮點。
文中硬件編程語言是用Verilog實現(xiàn)的。

4 實測結果分析與結論
從系統(tǒng)輸出數(shù)據(jù)中隨機抽取一段數(shù)據(jù)用Matlab分析,其結果如圖8所示。實線C表示的是濾波前的噪聲:虛線B表示的是濾波后的噪聲。很容易看出經過濾波后噪聲降低了很多。仿真與實測對比分析如表1所示。

5 結束語
卡爾曼在很多領域具有重要的作用,可以實現(xiàn)數(shù)字信號處理功能,并能滿足實時性的要求。用實現(xiàn)濾波過程,實現(xiàn)簡便、成本較低、濾波效果好,被廣泛應用于圖像視頻、陀螺慣導去噪、電子羅盤、雷達接收機目標跟蹤處理、目標預測等圖像、數(shù)據(jù)采集與處理領域。


上一頁 1 2 3 4 下一頁

關鍵詞: Kalman FPGA 濾波器

評論


相關推薦

技術專區(qū)

關閉