《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > Kaiman濾波算法在FPGA上的設計與實現
Kaiman濾波算法在FPGA上的設計與實現
摘要: 本文對FPGA技術和Kalman濾波算法進行結合研究,探索Kalman濾波算法在FPGA中的實現方式并進行性能驗證,以對基于FPGA的Kalman濾波算法的工程實現提供參考。
關鍵詞: FPGA Kaiman濾波
Abstract:
Key words :

Kalman濾波理論在20世紀60年代一經提出,便得到了軍事、控制、通信等領域的極廣泛的應用。它可以實現隨機干擾下的線性動態系統的最優估計,目前Kalman濾波器的實現方式主要有兩種,一是在PC機上實現,可以同時滿足計算精度和實時性的要求,但是PC機體積大,質量重,成本高;二是通過DSP等芯片來實現,用這種方式實現的Kalman濾波器雖然體積小,質量輕,但是因其指令順序執行的CPU架構,在系統復雜時無法滿足系統的實時性要求。隨著控制系統的復雜性的提高,系統的階次變大,如組合導航系統的濾波,其濾波的階次一般都要18階,如果對系統進一步細化建模或增加其復雜性,其濾波階次可以達到幾十階。因此,Kalman濾波器在工程應用中的實現遇到了系統體積、重量、成本和系統精度、速度等性能不能兼顧的問題。隨著現代電子技術的發展,FPGA具有系統結構和邏輯單元靈活、集成度高以及適用范圍寬等特點,可以很好地解決這個難題。因為FPGA采用的是硬件并行算法,能很好的解決速度和實時性的問題,并且其具有靈活的可配置特性和優良的抗干擾能力,使得FPGA構成的數字信號處理系統非常易于修改、測試及硬件升級。隨著FPGA技術的不斷成熟,其內嵌資源不斷豐富,硬核乘法器和塊RAM的數目不斷增長,使得FPGA實現復雜的數字信號處理算法變得更為簡單和快速。因此,本文對FPGA技術和Kalman濾波算法進行結合研究,探索Kalman濾波算法在FPGA中的實現方式并進行性能驗證,以對基于FPGA的Kalman濾波算法的工程實現提供參考。

1 Kalman濾波算法理論

Kalman濾波是在時域內以信號的一、二階統計特性已知為前提、以均方誤差極小為判據,能自動跟蹤信號統計性質的非平穩變化,具有遞歸性質的一種算法。它處理的對象是隨機系統,并能正確估計出有用信號。設離散系統差分方程如下:



則Kalman濾波方程組如下:

狀態一步預測方程:



從式(1)~(6)可知,若利用傳統的處理器實現Kalman濾波算法,由于其指令執行的順序性,至少需要分為5步來實現,其中每一步還都需要進行至少1次的加法和乘法等運算,每次運算都要順序執行,其執行速度和效率很低;如果利用FPGA來進行Kalman濾波,根據其各步的邏輯關系,可以分為3步來實現,即第一步計算狀態一步預測值和一步預測均方誤差Pk+1/k,第二步計算濾波增益Kk+1,第三步計算狀態最優估值和估計均方誤差Pk+1/k+1。由此可知,利用FPGA技術可以實現Kalman濾波的并行計算,壓縮計算時間,提高解算速度。因此,對FPGA的Kalman濾波進行研究開發,可實現基于FPGA的快速Kalman濾波解算,滿足在對實時性要求更高的環境中使用。

2 在FPGA中實現Kalman濾波算法研究

由于FPGA實現Kalman濾波解算速度非常快,若利用FPGA的串行口依次輸入觀測值,由于數據串行輸入的特點,會使FPGA的解算部分等待數據接收完畢才能執行濾波解算,導致整體的解算時間過長。為檢驗FPGA實現Kalman濾波器的計算性能,本文預先將觀測值輸入并保存于FPGA內的ROM中,以使FPGA可以連續地進行濾波解算,實現方案原理如圖1所示。



圖1中,Kalman濾波解算在FPGA內完成,RAM和ROM使用FPGA內嵌的硬件RAM存儲器,其中RAM暫存每步的中間結果,ROM存放濾波中的固定系數,如觀測矩陣、噪聲系數陣等。Kalman濾波的解算過程主要利用內嵌的硬核乘法器等資源來完成。因解算速度較快,解算結果暫存于一個稍大的存儲器內,同時通過串行口輸出到PC機上保存用于分析。該方案的關鍵問題是在FPGA中實現Kalman濾波算法。

FPGA實現Kalman濾波器,其實質就是控制數據的轉移和存儲并實現矩陣的相乘、加、減、求逆等運算。其中,數據的轉移控制需要有限狀態機(FSM)來完成,同時FPGA設計中,不可避免的會遇到資源與速度的問題。因此,需要對上述各關鍵技術進行研究和實現。

2.1 矩陣相乘在FPGA中的實現

Kalman濾波計算中最基本的步驟就是矩陣相乘。對于其中最常見的D=A×B×C型的矩陣相乘,有兩種實現方式:方式一,分步相乘;方式二,直接相乘。事先將矩陣A,B,C分別存入ROM1,ROM2,ROM3中,方式一中,首先進行兩個矩陣的相乘,多路選擇開關MUX選通ROM1和ROM2,依次讀取其中的數據進行乘加,完成前面兩個矩陣的相乘,結果存入ROMTEMP中;然后,MUX選通ROMTEMP和ROM3,利用前面同樣的資源,完成三個矩陣的連乘。方式二中,ROM1,ROM2,ROM3同時輸出數據,MUX根據解算需要配置乘法器和加法器的輸入,所有的過程同時進行。從上面的執行過程可知,方式一的執行需要占用更多的時間,而方式二的執行會占用更多的資源。對于上述N階的3個矩陣相乘,其占用資源和所需時間如表1所示。



由表1可知,對于維數越大的矩陣相乘,需要的浮點加法器越多。由于浮點加法器的生成利用FPGA內的基本邏輯單元——可配置邏輯塊(CLB),所以其占用的CLB等資源也越多。這種現象在上述方式二中尤為突出。本文中研究擬先實現二階Kalman濾波器,階次較低,資源相對充足,為檢驗FPGA實現Kalman濾波器的快速性,選用第二種方式進行矩陣相乘,以得到最快的解算速度。

2.2 有限狀態機的運用

有限狀態機是一種用來進行對象行為建模的工具,其作用主要是描述對象在它的生命周期內所經歷的狀態序列,以及如何響應來自外界的各種事件。Kalman濾波中,由于解算過程中的邏輯關系,需要分步進行,所以需要用有限狀態機來控制各步的轉移。根據各步間的邏輯關系,可以將其大致分為4個狀態:S0,S1,S2和S3狀態。其中,S0為初始化狀態,之后進入S1狀態,計算和Pk+1/k,然后進入S2狀態,計算Kk+1,最后計算解算結果和Pk+1/k+1。計算Kk+1時,也需要將其分步實現。若將各步的解算歸于同一個狀態機內,則顯得邏輯復雜。為使得各步的邏輯更加清晰,并且增加狀態機的穩定性和安全性,使用交互狀態機,如圖2所示。



圖2中,狀態機的交互過程中,沒置標志信號enble和finish分別用于啟動和終止計算K值的狀態,初始化時其值均為0。當計算完第一步進入S2時,enble置為1,啟動計算K值的狀態;當K值計算完成時,finish置為1,進入S3,enble和finish置為初值0,為下次狀態交互做準備。進入原狀態機繼續進行下面的計算。

書寫狀態機時,采用三段式寫法,一個模塊采用同步時序描述狀態轉移,另一個模塊采用組合邏輯判斷轉移條件并進行狀態轉移,第三個模塊實現同步輸出。三段式描述方法的狀態機,做到了同步寄存器輸出,消除了組合邏輯輸出的不穩定和毛刺現象,而且更利于時序路徑分組,綜合與布局布線效果更佳。

2.3 資源分時復用

FPGA設計中,資源與速度是個矛盾體。FPGA中的資源是有限的,所以必須考慮資源的節省問題。由于Kalman濾波可以分3步進行,所以每一步可以利用其它步中相同的資源。此種方法可以在不降低總體速度的情況下,減少資源利用量;而對于階次較高的Kalman濾波,此方法可以最大限度的增加并行性,提高速度。該設計中用到大量的乘法器、加法器以及CLB等資源,計算第一步時用到的資源會在第二步和第三步中用到,即同一資源被用到3次。以其中用到的某乘法器的分時復用為例,其輸入端口在不同的時刻可以有不同的賦值,實現語句如下:



3 性能對比及分析

為驗證本文研究利用FPGA實現Kalman濾波算法的性能,采用二階Kalman濾波器進行實際性能對比測試。建立數學模型如下:選取狀態轉移矩陣,無控制量,即控制陣Uk=0,噪聲系數矩陣,Wk是系統動態噪聲,是均值為0、方差陣為的白噪聲隨機序列

對于該濾波器分別利用三種方式實現:采用Matlab在PC機上實現、利用DSP實現和利用FPGA實現。其中,PC機為DELL Dimension4700臺式機,安裝Matlab 7.0軟件;DSP選用雙精度浮點型TMS320C6713型號的芯片;FPGA型號為XC2VP30,主頻100 MHz,內嵌多達136個硬核乘法器和2 MB硬件RAM。為得到更準確合理的結果,分別截取第1~3次、11~13次、21~23次的計算結果來對比。因為在PC機上利用Matlab實現的Kalman濾波器通過軟件設置可以達到很高的計算精度,所以將其得到的結果作為標準值(真值),分別用FPGA實現和DSP實現的結果與其進行對比分析。選取估計均方誤差陣Pk+1/k+1的第一個元素來進行對比分析各實現方式的性能,其解算結果對比如表2和表3所示。



由表2可知,利用FPGA實現的濾波結果,其精度與用Matlab實現的精度相差無幾,且略高于利用DSP實現的單精度的結果。由表3可知,在解算時間方面,利用FPGA實現方式的快速性遠遠高于利用其他兩種方式。而且,對于階次越高的Kalman濾波器的實現,傳統處理器所需的時間越長,利用FPGA實現方式的時間的優越性越顯著。

4 結語

針對Kalman濾波的傳統實現方法的不足,本文提出利用具有可并行計算特點的FPGA來實現Kalman濾波的方案,并對FPGA實現Kalman濾波的三種方式進行了研究,確定了利用IP核作為主要計算元件的實現方式。對Kalman濾波實現過程中的關鍵問題進行了研究和實現。通過對PC機、DSP和FPGA三種實現方式的結果對比,驗證了利用FGPA實現的Kalman濾波器具有較高的精度和極高的實時性。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美国产亚洲视频| 国产亚洲成年网址在线观看| 久久高清国产| 亚洲欧美日韩在线播放| 亚洲一区bb| 亚洲色在线视频| 亚洲午夜在线| 中国女人久久久| 亚洲视频在线观看网站| 在线一区视频| 亚洲视频视频在线| 亚洲午夜免费福利视频| 亚洲视频免费在线观看| 亚洲一区二区成人在线观看| 亚洲综合99| 午夜精品视频在线| 欧美在线综合| 久久综合伊人77777尤物| 裸体女人亚洲精品一区| 美女视频黄a大片欧美| 免费在线观看一区二区| 欧美激情综合在线| 欧美日韩免费在线视频| 欧美视频手机在线| 国产精品人人做人人爽人人添| 国产精品免费观看视频| 国产麻豆综合| 黄色成人av| 亚洲国产一区二区三区高清| 亚洲精品免费在线播放| 99在线热播精品免费99热| 亚洲午夜在线观看| 欧美一区二区性| 亚洲国产成人av在线| 91久久久久| 一本一本大道香蕉久在线精品| 亚洲婷婷免费| 久久aⅴ乱码一区二区三区| 老色鬼精品视频在线观看播放| 欧美成人精品在线| 欧美日韩一区二| 国产女人aaa级久久久级| 狠狠色狠狠色综合日日五| 亚洲激情中文1区| 亚洲午夜一区二区| 久久精品亚洲国产奇米99| 亚洲精品在线视频观看| 亚洲视频一区| 久久激情中文| 欧美精彩视频一区二区三区| 国产精品ⅴa在线观看h| 国内成+人亚洲| 亚洲精品美女在线| 亚洲欧美精品在线| 91久久夜色精品国产九色| 亚洲视频在线观看| 久久久91精品国产一区二区三区| 免费永久网站黄欧美| 国产精品国产自产拍高清av| 国内精品福利| 一区二区三区四区国产精品| 久久av资源网站| 宅男噜噜噜66一区二区66| 久久精品在线| 欧美日韩岛国| 国产一区二区三区四区在线观看 | 亚洲欧美日韩人成在线播放| 久久精品在线免费观看| 欧美日韩一区二区高清| 激情国产一区| 亚洲午夜av| 亚洲精品孕妇| 久久久久高清| 欧美四级在线| 在线精品视频一区二区三四| 亚洲视频在线看| 亚洲精品美女| 久久精品水蜜桃av综合天堂| 欧美日韩国产丝袜另类| 韩国精品主播一区二区在线观看| av成人手机在线| 亚洲激情网站免费观看| 久久精品国产亚洲精品| 欧美日韩亚洲一区二区三区四区| 伊人精品视频| 午夜日韩福利| 宅男噜噜噜66一区二区| 欧美成人伊人久久综合网| 国产精品一区免费视频| 一本色道久久综合狠狠躁篇的优点 | 亚洲大片一区二区三区| 午夜精品美女久久久久av福利| 亚洲视频一二| 欧美日韩999| 亚洲国内在线| 亚洲激情第一页| 久久久福利视频| 国产欧美一区二区三区在线看蜜臀 | 欧美一级在线亚洲天堂| 欧美日韩在线视频一区二区| 亚洲国产天堂久久综合网| 久久gogo国模裸体人体| 久久se精品一区精品二区| 国产精品久久久久影院色老大 | 久久综合伊人77777麻豆| 国产亚洲欧美一区二区三区| 亚洲欧美日韩另类| 午夜在线精品| 国产精品美女主播在线观看纯欲| 99av国产精品欲麻豆| 亚洲精品视频在线| 欧美成人第一页| 亚洲国产婷婷香蕉久久久久久99| 亚洲国产视频一区| 另类亚洲自拍| 亚洲电影天堂av| 亚洲欧洲日产国产综合网| 欧美成人免费观看| 最新精品在线| 中日韩在线视频| 欧美日韩综合精品| 亚洲视频免费在线| 午夜精品久久久久久久99水蜜桃| 国产精品理论片在线观看| 在线亚洲欧美视频| 欧美亚洲一区| 国产日韩欧美综合一区| 欧美专区在线| 蜜臀av在线播放一区二区三区| 亚洲成人资源| aa日韩免费精品视频一| 欧美日韩综合视频| 亚洲在线观看| 久久久久国产精品一区| 精品成人一区二区三区| 亚洲欧洲中文日韩久久av乱码| 欧美精品色网| 亚洲无线视频| 久久久97精品| 亚洲片在线资源| 亚洲一卡久久| 国产视频一区二区在线观看| 久久精品国产2020观看福利| 欧美xxx在线观看| 日韩午夜精品| 欧美一区二区在线看| 黄色成人免费观看| 一本久久综合| 国产欧美日韩另类一区 | 亚洲最新合集| 国产精品丝袜91| 久久电影一区| 欧美日韩性生活视频| 亚洲综合999| 美国成人直播| 一本久久知道综合久久| 久久精品一区二区国产| 91久久综合| 午夜视频久久久久久| 国内自拍亚洲| 在线亚洲+欧美+日本专区| 国产精品入口日韩视频大尺度| 欧美在线高清视频| 欧美久久久久久久久| 亚洲欧美日韩综合国产aⅴ| 玖玖精品视频| 一区二区三区av| 久久米奇亚洲| 99热这里只有成人精品国产| 久久岛国电影| 亚洲人成网站777色婷婷| 欧美制服第一页| 亚洲精品中文字幕在线| 久久久精品国产99久久精品芒果| 亚洲人成77777在线观看网| 欧美在线资源| 亚洲最新在线视频| 麻豆成人在线| 亚洲免费中文| 欧美日本三区| 亚洲福利视频网站| 国产精品毛片| 99re热这里只有精品视频| 国产日韩欧美另类| 在线一区欧美| 亚洲国产精品欧美一二99| 欧美一区二视频| 日韩视频专区| 男女激情久久| 欧美一区精品| 欧美性开放视频| 91久久在线播放| 国产一区二区三区久久| 亚洲自拍偷拍一区| 91久久线看在观草草青青| 久久婷婷国产麻豆91天堂| 亚洲一区免费观看| 欧美精品播放| 亚洲黄色在线观看| 国产一区二区主播在线 |