摘 要:設計了一種適于FPGA實現的圓陣數字自適應波束形成系統結構,系統采用FIR架構及延遲最小均方算法(DLMS),其中復數乘加模塊采用循環移位乘加算法,自適應模塊采用并行乘法器及時更新權系數。仿真結果表明基于FPGA芯片實現數字自適應波束形成(DABF)具有實時性好,結構簡單,易于實現等優點。
關鍵詞:數字自適應波束形成;延時最小均方算法;流水乘加器;FIR
中圖分類號:TP23 文獻標識碼:B
文章編號:1004-373X(2008)09-067-03
Design of Ultrasonic Array Adaptive Beam-Formed Base on FPGA
YAN Hai,ZHUANG Shengxian,YANG Shuo,ZHUANG Xiaoming
(School of Electrical Engineering,Southwest Jiaotong University,Chengdu,610031,China)
Abstract:This paper describes the design of a digital Adaptive Beam Forming(ABF) system architecture base on FPGA.The ABF system uses FIR structure and Delayed Least Mean Square (DLMS) in which multiply-add module is designed by the method of cycledisplacement pipeling MAC.The methodmeets the requirements of computational speed of the plural operation to save a lot of resources,adaptive parallel multiplier module is used to update the weights.Simulation results show the Digital Adaptive Beam Forming (DABF) based on FPGA chip has the advantages of time-efficiency,simple and easy to realize etc.
Keywords:digital adaptive beam forming;delay LMS;displacement pipeling MAC;FIR
在雷達及聲納信號處理系統中,波束形成算法通常采用DSP軟件編程實現,控制邏輯電路采用CPLD來完成[1,2],這種方法具有軟件編程靈活、功能易于擴展的優點,但對于實時性能要求很高的系統,如雷達、聲納探測和超聲成像等系統中為了提高對目標變化實時跟蹤和測量,就必須盡量縮短信號處理的時間,過長的運算處理時間會對水下目標的探測性能產生較大的影響。聲納工作環境中總存在著各種干擾(例如本艦輻射噪聲、近場其他船只的干擾等)[3],普通波束形成系統是一種預形成波束系統,當他處在各向同性、均勻的噪聲場時,可能具有相當好的檢測能力,但是出現近場干擾,或者背景噪聲有某種不平穩性,聲納的檢測能力就會迅速下降,以至完全失去檢測能力,而自適應波束形成技術(ABF)就是聲納能夠根據周圍環境噪聲場的變化,不斷地自動調節本身的參數以適應周圍環境,抑制干擾并檢出有用信號。因此采用FPGA來實現自適應波束形成算法是滿足復雜海洋環境超聲陣列波束形成的較好途徑。
最小均方自適應算法(Least Mean Square,LMS)較其他自適應算法具有結構簡單,計算量小,易于實現等特點。FPGA實現LMS自適應波束形成算法[4-6]比采用現有DSP來實現可以明顯提高信號的處理速度,節約資源,能更好地滿足復雜多變的海洋環境,具有廣泛的實用價值。
波束形成系統相當于一個時空濾波器,自適應波束形成系統可采用IIR和FIR兩種結構。與IIR濾波器相比,FIR濾波器具有以下優點:可得到嚴格的線性相位;主要采用非遞歸結構,從理論上以及從實際的有限精度運算中,都是穩定的;由于沖激響應是有限長度的,因此可以用快速傅里葉變換算法,運算速度快;FIR濾波器設計方法靈活[3]。
本文采用自適應的FIR濾波器結構,結合時延最小均方(DLMS)算法,充分利用FPGA芯片運算速度快,存儲資源豐富等優點設計和實現了基于FIR超聲陣列自適應波束形成。主動聲納信號為窄帶信號,通常采用復數形式表示,在空間濾波器模塊采用了循環移位流水乘加器,使復數乘加運算節約了大量資源,同時用并行乘法器完成了DLMS算法,并給出了系統軟、硬件模塊和仿真分析。
2 超聲陣列波束形成系統模型及原理
2.1 系統架構及原理
自適應波束形成又稱自適應空域濾波,他是通過對各陣元加權進行空域濾波,來達到增強有用信號、抑制干擾的目的,而且他可以根據信號環境的變化,來改變各陣元的加權因子。在理想的條件下,自適應波束形成技術可以有效地抑制干擾而保留期望(有用)信號,從而使陣列的輸出信號干擾噪聲比(SINR)達到最大。自適應過程的實現可以采用任何一種適用于橫向結構濾波器的自適應迭代算法,比如Wiener濾波器,或者最小均方(LMS)算法。本設計采用最小均方(LMS)算法,系統結構原理如圖1所示。
圖1 基于FIR架構自適應波束形成原理
基于FIR自適應波束形成系統過程如下:一方面,輸入信號與表示在n時刻的值可調節權系數ω1(n),ω2(n),…,ωm(n)相乘后相加得到輸出;另一方面,將輸出信號與期望信號進行對比,所得的誤差值通過一定的DLMS自適應控制算法再用來調整權值,以保證空間濾波器處在最佳狀態,實現濾波的目的。
在延時LMS算法(the Delayed LMS Algoritms,DLMS)中,將系數更新延遲幾個采樣周期,只要延遲小于系統階數,也就是濾波器長度,則誤差梯度[n]=e[n]x[n],也就是[n]≈[n-D],但對于由FPGA實現的乘法器和系數更新需要額外的流水線級,如果引入一個延遲因子D,μ為步長因子,LMS算法就變成:
y[n]=∑L0x[n]w[n]
e[n]=d[n]-y[n]
w[n+1]=w[n]+2μe[n-D]x[n-D]
2.2 系統FPGA軟件模塊設計
根據數字自適應波束形成的原理和數學模型,本文設計的基于FPGA數字波束形成系統結構如圖2所示。8路輸入信號x(n)經過前端信號處理,A/D轉換后,在總控模塊的控制下進入輸入數據存儲模塊雙口RAM,自適應波束形成的具體實現步驟如下:
第一步:由式(1)得,實際輸入的x(n)和調整后的權值w(n)各分量相乘之后累加得到輸出y(n);
第二步:由式(2)得,實際輸出的y(n)與期望d(n)相減得到調整誤差e( n) ;
第三步:由式(3)得,延時后的調整誤差e(n)跟步長的2倍相乘,再和延時的輸入x(n-D)相乘得到的積與延時的權值相加,得到新的權值向量。
第四步:新的權值向量再與新的輸入向量循環進行第一到第三步實現自適應。
由此,我們可以將系統分為五大模塊:主控模塊:主要產生時鐘信號,給各模塊提供時序信號觸發各模塊的啟動和初始化;雙口存儲模塊(包括輸入數據存儲模塊、權值存儲模塊、誤差信號存儲模塊等):存儲各功能模塊所需的數據和參數;自適應權值計算模塊,誤差計算模塊:這兩個模塊可以合在一起,用于系數更新的自適應算法;空間濾波器乘加模塊:完成濾波運算,得到輸出結果。
圖2 FPGA信號自適應處理系統
2.2.1 控制模塊
控制模塊是整個系統完成功能的控制部件,主要協調各功能模塊順利實現功能,由系統時鐘產生時鐘脈沖,設計中用分頻和有限狀態機描述來產生存儲器讀寫信號、濾波運算所用到的控制時鐘和復數運算。
輸入信號和權值是8位的復數數據,通過控制模塊選擇乘法操作的操作數,兩個復數信號相乘的4種組合00,11,01,10可以完成實部和虛部之間4個乘法運算,四種情況控制模塊輸出的控制信號分別為ST0,ST1,ST2,ST3。
其中,clk_regbt用來控制乘法器完成乘法,counter_bt用來控制乘數的位選,clk_reg用來控制運算新數的進入、上次計算的完畢和結果的輸出。
2.2.2 存儲模塊
存儲模塊采用8位和16位雙口RAM(如圖3所示)作為信號數據和權值數據的存入和讀取存儲器,分別用來存放輸入信號x、權值w和誤差e,分別由控制信號clk_regbt,clk_regw和clk_rege來控制信號的寫入和讀出。其中x_ram用來存放輸入信號;w_ram存放權值,其輸入為系數更新模塊的輸出,輸出為更新后的權值。
2.2.3 自適應處理及復數乘加器模塊
數字波束形成器是通過加權因子對空間不同陣元接收信號的加權求和而成的。由于加權因子相當于濾波器系數,而輸入的信號為空間位置不同的陣元的接收信號。所以可將數字波束形成器等同于一個空域濾波器來實現。
圖3 雙端口RAM
乘加模塊的數學模型為:
y(n)=∑N-1m=0w(m)x(n-m)
若直接采用此模型并行處理8路8位整形信號則需要8個8×8 位乘法器,而復信號則需用8×4=32個乘法器和30個加法器,雖然速度快可是耗用資源太大,可將此模型進行改進,因w(n)可以寫成w(n)=∑k-1i=02iw(n)i,w(n)i表示第n個權值的第i位,k表示數據的位數,原模型可以改寫為:
y(n)=∑k-1i=02i∑N-1m=0w(m)ix(n-m)
變換后可以用串行時序來實現∑k-1i=0,用左移位寄存器來實現2i,而可以用位選1×k bit乘法器來實現w(m)ix(n-m),用串并結合方式實現∑N-1m=0,乘加器的輸入為8位x和8位w,輸出為16位,輸出先后順序為Rx*Rw ,Ix*Iw ,Rx*Iw,Ix*Rw,前兩項為最終結果的實數值,后兩項為虛數值。4項依順序存放到兩個16位的鎖存器,進行加減運算。圖4 乘加模塊復數乘法運算只需要一個移位流水乘加器,循環進行4次乘加,可以節約大量硬件資源。
圖4 乘加模塊
3 系統仿真與驗證
本文設計的核心部分是基于Stratix系列 EP1S10芯片設計的分別對I/Q兩路原始數據進行DLMS自適應算法和復數乘加運算,在Quartus Ⅱ環境下用VHDL語言編寫了各功能模塊,并進行了仿真,共占用了2 703個邏輯單元,同時應用Matlab對數字結果進行波形仿真,以下為仿真驗證的結果。
圖5為主控模塊的仿真波形,其中ST0,ST1,ST2,ST3為復數乘法的4種組合,clk_regbt用來控制乘法器完成乘法,counter_bt用來控制乘數的位選,clk_reg用來控制運算新數的進入、上次計算的完畢和結果的輸出。
圖5 控制模塊功能仿真
圖6為復數乘加模塊功能仿真結果,dc_out,ds_out,xc_out,xs_out分別是輸入信號和期望信號的實部和虛部,ec_out,es_out,yc_out,ys_out分別為誤差和濾波輸出的實部和虛部。
圖6 復數乘加模塊功能仿真
圖7為系統仿真測試結果:系統預形成波束方向為0°方向,干擾從45°傳來,通過仿真結果可以看出,主波束在0°方向形成,和預形成主波束吻合,在45°干擾方向形成零陷,并且提高了主波束的增益,滿足系統的設計要求。
圖7 預形成0°方向的波束圖
4 結 語
自適應DBF是現代聲納陣列信號處理的關鍵技術之一,本文介紹了利用FPGA芯片實現的自適應BDF結構,給出了相應的硬件設計和仿真驗證,采用FPGA結構,硬件成本低,在自適應陣列信號處理系統中具有很好的應用前景。
參 考 文 獻
[1]劉千里,苑秉成.基于DSP的聲納波束形成系統設計\\[J\\].電子器件,2006,26(3):794-797,801.
[2]范西昆,王永良,陳輝,等.并行實現空時自適應算法\\[J\\].電子學報,2005,33(12):2 222-2 225.
[3]Groen J,Beerens S P.Adaptive Port-Starboard Beamforming of Triplet Sonar Arrays\\[J\\].IEEE Journal of Oceanic Engineering,2005,30(2):348-359.
[4]畢永年.基于FPGA的數字波束合成器設計\\[J\\].電子技術,2003,30(8):56-57.
[5]Ou J,Prasanna V K.Paprameterized and Energy Efficient Adaptive Beamforming on FPGAs Using Matlab/Simulink.Acoustics,Speech,and Signal Processing,2004,5:181-184.
[6]Paul Graham,Brent Nelson.FPGA-Based Sonar Processing.Department of Electrical and Computer Engineering ,Brigham Young University,Provo,UT,1998:201-208.
作者簡介 顏 海 男,1980年出生,碩士研究生。研究方向為DSP數字信號處理技術及應用,EDA技術。
莊圣賢 男,1964年出生,教授,博士生導師。研究方向為大功率變流與交流變頻調速技術、風力發電系統及控制、數字及模擬信號處理與集成電路設計等。
楊 碩 男,1982年出生,微電子學與固體電子學,碩士研究生。研究方向為集成電路。
莊曉明 男,1980年出生,碩士研究生。研究方向為DSP算法及應用。
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。