一種自適應波束形成算法實(shí)現
1 引 言
本文引用地址:http://dyxdggzs.com/article/150460.htm雷達、聲納探測和超聲成像等系統中為了提高對目標變化實(shí)時(shí)跟蹤和測量,就必須盡量縮短信號處理的時(shí)間,過(guò)長(cháng)的運算處理時(shí)間會(huì )對水下目標的探測性能產(chǎn)生較大的影響。聲納的檢測能力就會(huì )迅速下降,以至完全失去檢測能力,而自適應波束形成技術(shù)(ABF)就是聲納能夠根據周?chē)h(huán)境噪聲場(chǎng)的變化,不斷地自動(dòng)調節本身的參數以適應周?chē)h(huán)境,抑制干擾并檢出有用信號。因此采用FPGA來(lái)實(shí)現自適應波束形成算法是滿(mǎn)足復雜海洋環(huán)境超聲陣列波束形成的較好途徑。
最小均方自適應算法(Least Mean Square,LMS)較其他自適應算法具有結構簡(jiǎn)單,計算量小,易于實(shí)現等特點(diǎn)。FPGA實(shí)現LMS自適應波束形成算法比采用現有DSP來(lái)實(shí)現可以明顯提高信號的處理速度,節約資源,能更好地滿(mǎn)足復雜多變的海洋環(huán)境,具有廣泛的實(shí)用價(jià)值。
波束形成系統相當于一個(gè)時(shí)空濾波器,自適應波束形成系統可采用IIR和FIR兩種結構。與IIR濾波器相比,FIR濾波器具有以下優(yōu)點(diǎn):可得到嚴格的線(xiàn)性相位;主要采用非遞歸結構,從理論上以及從實(shí)際的有限精度運算中,都是穩定的;由于沖激響應是有限長(cháng)度的,因此可以用快速傅里葉變換算法,運算速度快;FIR濾波器設計方法靈活。
本文采用自適應的FIR濾波器結構,結合時(shí)延最小均方(DLMS)算法,充分利用FPGA芯片運算速度快,存儲資源豐富等優(yōu)點(diǎn)設計和實(shí)現了基于FIR超聲陣列自適應波束形成。主動(dòng)聲納信號為窄帶信號,通常采用復數形式表示,在空間濾波器模塊采用了循環(huán)移位流水乘加器,使復數乘加運算節約了大量資源,同時(shí)用并行乘法器完成了DLMS算法,并給出了系統軟、硬件模塊和仿真分析。
2 超聲陣列波束形成系統模型及原理
2.1 系統架構及原理
自適應波束形成又稱(chēng)自適應空域濾波,他是通過(guò)對各陣元加權進(jìn)行空域濾波,來(lái)達到增強有用信號、抑制干擾的目的,而且他可以根據信號環(huán)境的變化,來(lái)改變各陣元的加權因子。在理想的條件下,自適應波束形成技術(shù)可以有效地抑制干擾而保留期望(有用)信號,從而使陣列的輸出信號干擾噪聲比(SINR)達到最大。自適應過(guò)程的實(shí)現可以采用任何一種適用于橫向結構濾波器的自適應迭代算法,比如Wiener濾波器,或者最小均方(LMS)算法。本設計采用最小均方(LMS)算法,系統結構原理如圖1所示。
基于FIR自適應波束形成系統過(guò)程如下:一方面,輸入信號與表示在n時(shí)刻的值可調節權系數ω1(n),ω2(n),…,ωm(n)相乘后相加得到輸出;另一方面,將輸出信號與期望信號進(jìn)行對比,所得的誤差值通過(guò)一定的DLMS自適應控制算法再用來(lái)調整權值,以保證空間濾波器處在最佳狀態(tài),實(shí)現濾波的目的。
FIR由線(xiàn)性系統理論可知,在某種適度條件下,輸入到線(xiàn)性系統的一個(gè)沖擊完全可以表征系統。當我們處理有限的離散數據時(shí),線(xiàn)形系統的響應(包括對沖擊的響應)也是有限的。若線(xiàn)性系統僅是一個(gè)空間濾波器,則通過(guò)簡(jiǎn)單地觀(guān)察它對沖擊的響應,我們就可以完全確定該濾波器。通過(guò)這種方式確定的濾波器稱(chēng)為有限沖擊響應(FIR)濾波器。
FIR濾波器是在數字信號處理(DSP)中經(jīng)常使用的兩種基本的濾波器之一,另一個(gè)為IIR濾波器。IIR濾波器是無(wú)限沖激響應濾波器。
在延時(shí)LMS算法(the Delayed LMS Algoritms,DLMS)中,將系數更新延遲幾個(gè)采樣周期,只要延遲小于系統階數,也就是濾波器長(cháng)度,則誤差梯度[n]=e[n]x[n],也就是[n]≈[n-D],但對于由FPGA實(shí)現的乘法器和系數更新需要額外的流水線(xiàn)級,如果引入一個(gè)延遲因子D,μ為步長(cháng)因子,LMS算法就變成:
2.2 系統FPGA軟件模塊設計
FPGA(Field-Programmable Gate Array),即現場(chǎng)可編程門(mén)陣列,它是在PAL、GAL、CPLD等可編程器件的基礎上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專(zhuān)用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現的,既解決了定制電路的不足,又克服了原有可編程器件門(mén)電路數有限的缺點(diǎn)。
目前以硬件描述語(yǔ)言(Verilog 或 VHDL)所完成的電路設計,可以經(jīng)過(guò)簡(jiǎn)單的綜合與布局,快速的燒錄至 FPGA 上進(jìn)行測試,是現代 IC 設計驗證的技術(shù)主流。這些可編輯元件可以被用來(lái)實(shí)現一些基本的邏輯門(mén)電路(比如AND、OR、XOR、NOT)或者更復雜一些的組合功能比如解碼器或數學(xué)方程式。在大多數的FPGA里面,這些可編輯的元件里也包含記憶元件例如觸發(fā)器(Flip-flop)或者其他更加完整的記憶塊。
系統設計師可以根據需要通過(guò)可編輯的連接把FPGA內部的邏輯塊連接起來(lái),就好像一個(gè)電路試驗板被放在了一個(gè)芯片里。一個(gè)出廠(chǎng)后的成品FPGA的邏輯塊和連接可以按照設計者而改變,所以FPGA可以完成所需要的邏輯功能。
FPGA一般來(lái)說(shuō)比ASIC(專(zhuān)用集成芯片)的速度要慢,無(wú)法完成復雜的設計,而且消耗更多的電能。但是他們也有很多的優(yōu)點(diǎn)比如可以快速成品,可以被修改來(lái)改正程序中的錯誤和更便宜的造價(jià)。廠(chǎng)商也可能會(huì )提供便宜的但是編輯能力差的FPGA。因為這些芯片有比較差的可編輯能力,所以這些設計的開(kāi)發(fā)是在普通的FPGA上完成的,然后將設計轉移到一個(gè)類(lèi)似于A(yíng)SIC的芯片上。另外一種方法是用CPLD(復雜可編程邏輯器件備)。
根據數字自適應波束形成的原理和數學(xué)模型,本文設計的基于FPGA數字波束形成系統結構如圖2所示。8路輸入信號x(n)經(jīng)過(guò)前端信號處理,A/D轉換后,在總控模塊的控制下進(jìn)入輸入數據存儲模塊雙口RAM,自適應波束形成的具體實(shí)現步驟如下:
第一步:由式(1)得,實(shí)際輸入的x(n)和調整后的權值w(n)各分量相乘之后累加得到輸出y(n);
第二步:由式(2)得,實(shí)際輸出的y(n)與期望d(n)相減得到調整誤差e(n);
第三步:由式(3)得,延時(shí)后的調整誤差P(n)跟步長(cháng)的2倍相乘,再和延時(shí)的輸入x(n-D)相乘得到的積與延時(shí)的權值相加,得到新的權值向量。
第四步:新的權值向量再與新的輸入向量循環(huán)進(jìn)行第一到第三步實(shí)現自適應。
由此,我們可以將系統分為五大模塊:主控模塊:主要產(chǎn)生時(shí)鐘信號,給各模塊提供時(shí)序信號觸發(fā)各模塊的啟動(dòng)和初始化;雙口存儲模塊(包括輸入數據存儲模塊、權值存儲模塊、誤差信號存儲模塊等):存儲各功能模塊所需的數據和參數;自適應權值計算模塊,誤差計算模塊:這兩個(gè)模塊可以合在一起,用于系數更新的白適應算法;空間濾波器乘加模塊:完成濾波運算,得到輸出結果。
評論