楊 東,王建業,蔡 飛
(空軍工程大學導彈學院,陜西三原 713800)
隨著數字超大規模集成(VLSI)技術的發展,自適應信號處理技術在許多領域(例如:數字通信、雷達、生物醫學、地震學、導航系統等)得到了廣泛應用。傳統上自適應信號處理是基于DSP處理器實現的,但其固有的缺點無法滿足高速、實時系統的要求,而利用FPGA實現自適應信號處理能夠很好地解決并行性和速度問題以及改善系統的抗干擾能力。傳統上,自適應濾波器的FPGA實現主要是采用VHDL或者Verilog HDL等硬件描述語言通過編寫代碼來實現的,這種方式開發效率低,難度比較大,也不便于仿真觀察。而DSP Builder工具則能更好地滿足開發要求。
DSP Builder作為Matlab的Simulink工具箱,是基于FPGA的DSP開發工具,它支持系統、算法和硬件設計共享一個公共開發平臺,在算法友好的開發環境中幫助設計人員生成DSP設計硬件表征,從而縮短了 DSP設計周期。設計人員可以使用DSP Builder模塊迅速生成Simulink系統建模硬件。
Altera可編程邏輯器件(PLD)中的DSP系統設計需要高級算法和 HDL開發工具。Altera的DSP Builder將Matlab和Simulink系統級設計工具的算法開發、仿真和驗證功能與QuartusⅡ的綜合、仿真以及Altera開發工具整合在一起,實現了這些工具的集成。
在DSP Builder的開發過程中,可以運用硬件回環(Hardware in the Loop,HIL)仿真,它是將軟硬件技術結合在一起的綜合仿真系統。HIL仿真被證明是一種有效的仿真驗證解決方法,該技術能確保在開發周期早期就完成嵌入式軟件的測試,到系統整合階段開始時,嵌入式軟件測試就要比傳統方法做得更徹底更全面,這樣可以及早地發現問題,因此降低了解決問題的成本。
自適應濾波器經近40年的發展,形成了多種準則下的自適應濾波理論。然而,1969年由Widrow和Hoff提出的LMS算法,因其具有計算量小、易于實現等優點而在實踐中被廣泛采用,并且幾乎適用于所有場合,尤其在回聲抵消、信道均衡、噪聲對消等應用中處于絕對的統治地位。其基本思想是調整濾波器的權值參數,使濾波器的輸出信號與期望信號之間的均方誤差最小。LSM算法通過以下迭代式來描述:

式中,x(k)表示第k時刻輸入信號向量,d(k)為第k時刻的輸入期待信號,即參考輸入,e(k)和y(n)分別為誤差信號和濾波器的輸出,w(k)表示第k時刻權系數向量,N和μ分別為濾波器階數和迭代步長(影響LMS算法失調量和收斂速度的主要參數)[1]。
采用自適應LMS算法濾波器結構如圖1所示。

圖1 LMS自適應FIR濾波器結構Fig.1 The structure of LMSadaptive FIR filter
然而,LMS自適應濾波器的系數更新路徑比較長,從迭代公式和濾波器結構中可以看出權系數更新必須在輸出信號y(k)與誤差信號e(k)計算完畢以后才能進行。換言之,以上步驟含有一種順序關系,權系數的更新與濾波(y(k)的計算)不能同步進行。對于高速信號處理,這種串行的算法不能滿足要求。并行的流水線結構是高速設計中的一種常用手段,這種方法是在時序電路中通過插入寄存器將較長的更新過程劃分成較小模塊,從而實現提高系統工作頻率的目的[2]。
相對于LMS算法,DLMS算法的權系數更新模塊采用延遲了D個節拍的數據來產生下一時鐘周期的權系數,本設計中權系數更新延遲了6個周期。引入延遲的好處在于可以用前一時間的誤差值來實現更新,在時鐘的驅動下,系數更新和誤差計算可以同時進行。DLMS算法權系數更新方程可以用下式表示:

DLMS算法權系數更新中延時D的引入對算法的穩態行為影響不大,關鍵問題是步長因子 μ的選取。DLMS算法的收斂條件相對于LMS算法的收斂條件DLMS算法收斂條件更為苛刻[3]。
DSP Builder是 Altera公司推出的一個面向DSP開發的系統級(或算法級)設計工具,它架構在多個軟件工具之上,并把系統級(算法仿真建模)和RTL(硬件實現)兩個涉及領域的設計工具連接起來,作為Matlab的一個Simulink工具箱出現,可以在Simulink中進行圖形化設計和仿真,同時又通過Signal-Compiler可以把Simulink設計文件(.mdl)轉成相應的硬件描述語言 VHDL(.vhd),DSP Builder可以很方便地幫助設計者完成基于FPGA的DSP系統設計的整個流程[4]。
本文設計了一個16階系統辨識自適應濾波器,輸入信號x(k)、輸出信號y(k)與誤差信號e(k)均用16位二進制符號數表示。圖2給出了16階DLMS自適應FIR系統辨識頂層設計構造圖。
為了構造完整系統,觀察設計效果,此處設計了一個16階直接型FIR低通濾波器作為未知系統(辨識對象)。根據文獻[5]所提出的定點數L階FIR濾波器的動態范圍級數G的最壞情況計算公式:總位寬應是輸入位寬和級數G之和,由此可確定濾波器內部運算位數最少應為16+3共19位。本設計對濾波器輸出信號采用了縮放,采用16位輸出。同時為了減少資源的消耗并提高速度,步長的選擇放棄了乘法器,而是采用移位的方法實現,將誤差信號向右移一位,結合輸出信號的縮放,相當于系統采用模塊化設計,將權系數更新模塊封裝成一個子系統cofe(見圖3),便于調用,結構清晰。

圖2 16階DLMS自適應FIR系統辨識頂層設計Fig.2 Top level design of 16-taps adaptive FIRfilter

圖3 子系統Fig.3 Subsystem
此處,在權系數更新時對輸入信號額外延遲了6個周期,即DLMS權系數更新方程的具體實現。特別要提出的是權系數更新延遲時間的確定是不斷經過試驗得出的,對于濾波器階數不同延遲時間也不同[6]。
硬件回環(HIL)仿真是將軟硬件技術結合在一起的綜合仿真系統,其最大優點在于利用硬件系統能夠提高仿真速度,直接檢測硬件運行效果,并且可以充分利用軟件提供的各種仿真源作為信號源。硬件平臺選擇了Altera公司出品的DE2開發板(CycloneⅡ系列 EP2C35F672C6芯片),通過 USBBlaster下載電纜,以JTAG模式的方式直接下載到開發板中,運行數據又通過JTAG接口返回到計算機顯示,HIL系統結構如圖4所示,信號源選擇了線性調頻信號,這樣低通濾波的效果可以很容易地觀察出來。

圖4 DLMS自適應濾波器HIL結構圖Fig.4 The HIL figure of DLMS adaptive filter
圖5 是經過HIL回環系統的仿真波形圖,圖中第1行為DLMS濾波器輸出,第2行為誤差信號,第3行為輸入線性調頻脈沖壓縮信號,第 4行為FIR低通濾波器輸出。可以清楚看出,經過大概150步(約5μs)以后,誤差信號基本上收斂,而 DLMS自適應濾波器也成功學習FIR低通濾波器,兩者輸出基本一致。

圖5 HIL仿真波形圖Fig.5 The HIL simulation wave figure
系統成功進行仿真以后,運行Singal Compiler創建QuartusⅡ工程,進行綜合、編譯和適配,最終生成編程文件(即.pof文件和.sof文件)下載到FPGA芯片中去。本文為了觀察資源消耗情況,最終在QuartusⅡ中完成綜合、編譯、適配和下載(在QuartusⅡ中仿真結果如圖6所示)。在程序成功仿真以后,在QuartusⅡ仿真資源列表中可以看到:耗費資源為6 301個logic elements,1 576個logic registers,系統最高工作頻率達到82.07 MHz。由此可以看出DLMS自適應濾波器數據吞吐量已經達到較高水平。

圖6 QuartusⅡ仿真結果Fig.6 The simulation results In quartusⅡ
最大限度地提高開發效率和節約成本是開發者不懈追求的事情。本文利用Matlab的Simulink工具箱DSP Builder設計出了基于延時最小均方算法的自適應濾波器,仿真與測試結果表明設計的正確性,并在CycloneⅡ系列FPGA芯片上完成了硬件驗證,濾波器最高頻率達到82.07 MHz,數據吞吐量顯著提高。事實證明,DSP Builder工具箱可以很明顯地提高數字信號處理系統的開發效率,具有較高的應用價值。
[1]Paulo SR diniz.自適應濾波算法與實現(第二版)[M].劉郁林,景曉兵,譚剛兵,等,譯.北京:電子工業出版社,2004.
[2]Ejaz Mahfuz,Wang Chunyan,Omair M.A high-throughput DLMS adaptivealgorithm[J].IEEE Trans on Circuits and Systems,2005,23:871-875.
[3]Long GuoZhe,Ling FuYun.The LMS Aglorithm with Delayed Coef ficient Adaptation[J].IEEE Trans on A-coustics,Speech,and Signal processing,1989,37:1 397-1 405.
[4]潘松,黃繼業,王國棟.現代 DSP技術[M].西安:西安電子科技大學出版社,2003.
[5]Uwe Meyer-Baese.數字信號處理的FPGA實現[M].劉凌,譯.北京:清華大學出版社,2003.
[6]劉雄飛,高金定,齊海兵.LMS自適應濾波器FPGA實現的新方法[J].壓電與聲光,2007(1):23-26.LIU Xiongfei,GAO Jinding,QI Haibing.A new way of theimplementation of LMSadaptive filter based on FPGA[J].Piezoelectrics&Acoustooptics,2007(1):23-26.