基于FPGA的Kalman濾波器實現(xiàn)研究
3 性能對比及分析
為驗證本文研究利用FPGA實現(xiàn)Kalman濾波算法的性能,采用二階Kalman濾波器進(jìn)行實際性能對比測試。建立數(shù)學(xué)模型如下:選取狀態(tài)轉(zhuǎn)移矩陣,無控制量,即控制陣Uk=0,噪聲系數(shù)矩陣,Wk是系統(tǒng)動態(tài)噪聲,是均值為0、方差陣為的白噪聲隨機(jī)序列,觀測系數(shù)矩陣Hk+1=[1,0],Vk+1表示觀測噪聲,為均值為0,方差為2的白噪聲;初始狀態(tài)協(xié)方差陣為。
對于該濾波器分別利用三種方式實現(xiàn):采用Matlab在PC機(jī)上實現(xiàn)、利用DSP實現(xiàn)和利用FPGA實現(xiàn)。其中,PC機(jī)為DELL Dimension4700臺式機(jī),安裝Matlab 7.0軟件;DSP選用雙精度浮點(diǎn)型TMS320C6713型號的芯片;FPGA型號為XC2VP30,主頻100 MHz,內(nèi)嵌多達(dá)136個硬核乘法器和2 MB硬件RAM。為得到更準(zhǔn)確合理的結(jié)果,分別截取第1~3次、11~13次、21~23次的計算結(jié)果來對比。因為在PC機(jī)上利用Matlab實現(xiàn)的Kalman濾波器通過軟件設(shè)置可以達(dá)到很高的計算精度,所以將其得到的結(jié)果作為標(biāo)準(zhǔn)值(真值),分別用FPGA實現(xiàn)和DSP實現(xiàn)的結(jié)果與其進(jìn)行對比分析。選取估計均方誤差陣Pk+1/k+1的第一個元素來進(jìn)行對比分析各實現(xiàn)方式的性能,其解算結(jié)果對比如表2和表3所示。本文引用地址:http://m.butianyuan.cn/article/190479.htm
由表2可知,利用FPGA實現(xiàn)的濾波結(jié)果,其精度與用Matlab實現(xiàn)的精度相差無幾,且略高于利用DSP實現(xiàn)的單精度的結(jié)果。由表3可知,在解算時間方面,利用FPGA實現(xiàn)方式的快速性遠(yuǎn)遠(yuǎn)高于利用其他兩種方式。而且,對于階次越高的Kalman濾波器的實現(xiàn),傳統(tǒng)處理器所需的時間越長,利用FPGA實現(xiàn)方式的時間的優(yōu)越性越顯著。
4 結(jié)語
針對Kalman濾波的傳統(tǒng)實現(xiàn)方法的不足,本文提出利用具有可并行計算特點(diǎn)的FPGA來實現(xiàn)Kalman濾波的方案,并對FPGA實現(xiàn)Kalman濾波的三種方式進(jìn)行了研究,確定了利用IP核作為主要計算元件的實現(xiàn)方式。對Kalman濾波實現(xiàn)過程中的關(guān)鍵問題進(jìn)行了研究和實現(xiàn)。通過對PC機(jī)、DSP和FPGA三種實現(xiàn)方式的結(jié)果對比,驗證了利用FGPA實現(xiàn)的Kalman濾波器具有較高的精度和極高的實時性。
評論