<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

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

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

          本文引用地址:http://www.ex-cimer.com/article/191740.htm

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

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

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

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


          上一頁 1 2 3 4 下一頁

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

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();