基于SOPC的高精度超聲波雷達測距系統(tǒng)設計
摘要:本文基于NIOS II軟核處理器和卡爾曼濾波算法,利用FPGA平臺,超聲波傳感器和LCD液晶顯示系統(tǒng),設計了一種高精度超聲波雷達測距系統(tǒng)。以這種方法設計的SOPC系統(tǒng),克服了傳統(tǒng)超聲波雷達測距系統(tǒng)噪聲干擾過大的問題,提高了測距系統(tǒng)的測量精度。
本文引用地址:http://cafeforensic.com/article/281893.htm引言
傳統(tǒng)的超聲波雷達測距系統(tǒng)面臨噪聲過大、測量精度不夠高的問題,卡爾曼濾波算法是一種最優(yōu)化自回歸數(shù)據(jù)處理算法,在雷達測距和目標跟蹤等領域有廣泛應用,可以用來提高測距系統(tǒng)的精度。但是卡爾曼濾波算法的實現(xiàn)需要用到大量的浮點數(shù)矩陣運算,軟件實現(xiàn)方式通常很難滿足系統(tǒng)對于高實時性的要求,硬件雖然可以保證系統(tǒng)的高實時性,但是硬件無法直接處理浮點數(shù),并且硬件開發(fā)周期過長,成本過高,這都限制了卡爾曼濾波算法的應用。
NIOS II處理器是可編程邏輯器件的軟核處理器,可以和存儲器、I/O接口等外設嵌入到FPGA中,組成一個靈活、高效的可編程單芯片系統(tǒng)(SOPC),大大降低了系統(tǒng)的成本、體積和功耗,適合網(wǎng)絡、電信、數(shù)據(jù)通信、嵌入式和消費市場等各種嵌入式應用場合[1-3]。
本文基于FPGA平臺,采用NIOS II軟核處理器,利用卡爾曼濾波算法對系統(tǒng)測量值進行濾波處理,設計了一種SOPC系統(tǒng),以這種方法設計的測距系統(tǒng)綜合利用了軟件編程靈活的優(yōu)點以及硬件并行處理、速度較快的特點,運用軟硬件協(xié)同設計方法保證系統(tǒng)的整體性能最優(yōu)[4],從而大大提高了測距系統(tǒng)的性能和精度。
1 卡爾曼濾波理論
對于卡爾曼濾波器,首先我們需要引入一個系統(tǒng)方程:
系統(tǒng)的測量方程為:
對于系統(tǒng)方程,矩陣A稱為轉(zhuǎn)換矩陣,矩陣B稱為控制矩陣,矩陣C稱為測量矩陣,u是控制量,A、B、C、u由實際濾波模型決定,均為已知,上述參數(shù)可以是恒定的,也可以是隨時間變化的[5]。w是系統(tǒng)噪聲,v是測量噪聲。
卡爾曼濾波算法由五條濾波公式組成:
公式一:狀態(tài)預測方程
公式二:誤差預測方程
公式三:卡爾曼增益方程
公式四:濾波估計方程
公式五:誤差更新方程
卡爾曼濾波算法如圖1所示。濾波算法用反饋控制的方法估計過程狀態(tài),濾波器首先預測過程某一時刻的狀態(tài),然后通過測量值對預測值進行反饋和校正,其中公式一和公式二組成預測方程,產(chǎn)生先驗估計,公式三、公式四和公式五組成校正方程,將先驗估計和測量值結合構造改進的后驗估計,即用測量值對預測值進行校正,卡爾曼濾波器就是通過這樣一個不斷的“預測(先驗)—測量—校正(后驗)”的過程,使得最優(yōu)估計的誤差隨時間以指數(shù)衰減,從而使得數(shù)據(jù)逐漸“收斂”,以此來達濾波的目的[6 。
2 系統(tǒng)硬件設計
如圖2所示,系統(tǒng)的硬件部分由超聲波傳感器,F(xiàn)PGA開發(fā)板以及LCD液晶屏組成。系統(tǒng)工作時,F(xiàn)PGA通過超聲波傳感器的驅(qū)動模塊來讀取傳感器采集的實時測量數(shù)據(jù),這些數(shù)據(jù)經(jīng)過卡爾曼濾波算法進行濾波和去噪處理后,再通過LCD驅(qū)動模塊控制LCD液晶屏進行數(shù)據(jù)的實時展示。
在該系統(tǒng)中,超聲波傳感器驅(qū)動和LCD驅(qū)動采用Verilog HDL設計,卡爾曼濾波模塊通過NIOS II軟核中的C語言實現(xiàn)。這樣既可以發(fā)揮硬件處理速度快的特點,又可以很好的發(fā)揮C語言處理浮點數(shù)運算和編程靈活的特點,從而保證系統(tǒng)性能最優(yōu)。
系統(tǒng)采用的LCD液晶屏的尺寸是320*240。圖3是LCD屏幕的分區(qū)顯示效果圖,液晶屏最上部顯示運動狀態(tài)檢測結果,下部顯示實時數(shù)據(jù),其中左側顯示實時波形曲線,右側顯示實時數(shù)值數(shù)據(jù)。
3 系統(tǒng)軟件設計
該系統(tǒng)的軟件算法流程如圖4所示,F(xiàn)PGA通過超聲波傳感器采集距離信息,并進行距離信息的存儲以完成被檢測物體的運動狀態(tài)判斷,當物體處于靜止狀態(tài)時則使用一維卡爾曼濾波算法對含噪聲的距離測量值進行濾波去噪;當物體處于運動狀態(tài)時,則使用二維卡爾曼濾波算法對含噪聲的距離測量值進行去噪和優(yōu)化處理,并可以利用關系矩陣和濾波算法得到運動物體的速度值。
評論