摘 要:針對高速高靈敏度數(shù)字信號處理時對于自適應(yīng)濾波器的數(shù)值特性和實時性的要求,在一種自適應(yīng)格型聯(lián)合濾波器的基礎(chǔ)上提出算法改進,采用馳豫超前流水線技術(shù)和時序重構(gòu)技術(shù),在損失較小濾波性能的情況下,在FPGA中實現(xiàn)算法并可以達到較高的工作頻率。
關(guān)鍵詞:自適應(yīng)濾波器; FPGA; 梯度格型濾波器; 流水線; 時序重構(gòu)
中圖分類號:TN713-34 文獻標識碼:A
文章編號:1004-373X(2011)17-0113-03
Implementation of High Speed Gradient Adaptive Lattice Filter Based on FPGA
CHENG Wen-fan, DAI Zai-ping
(Institute of Information Science and Engineering, Huaqiao University, Xiamen 361021, China)
Abstract: Considering numerical characteristics and real-time performance requirements of adaptive filters for the high sensitivity and high speed digital signal processing, a pipeline optimization approach based on the technology of delay leading transfer and retiming is proposed to improve GALJP algorithm. The new algorithm implemented in the FPGA can achieve high operating frequencies with small loss of the filtering performance.
Keywords: adaptive filter; FPGA; gradient adaptive lattice filter; pipeline; retiming
0 引 言
在處理微弱信號的時候自適應(yīng)濾波器所處的環(huán)境可能是非平穩(wěn)的,輸入信號的自相關(guān)矩陣和互相關(guān)向量等算法參量將隨時間變化,會對濾波器的收斂跟蹤性能造成較大影響。現(xiàn)代通信系統(tǒng)發(fā)展到3G,4G后,幾十甚至上百兆比特每秒的數(shù)據(jù)傳輸速率對自適應(yīng)處理技術(shù)是個極大的挑戰(zhàn)。如何在這類高速環(huán)境中運用自適應(yīng)算法處理高靈敏度信號并使算法保持較低的復(fù)雜度以利于實現(xiàn),是工程應(yīng)用中必須解決的問題。
由Levinson-Durbin遞推公式得到的自適應(yīng)格型結(jié)構(gòu)以其反射系數(shù)收斂快,對輸入信號自相關(guān)矩陣的特征值擴散相對惰性,是解決此類問題的一個優(yōu)良選擇。GALJP(Gradient Adaptive Lattice Joint Processing)是一種梯度自適應(yīng)格型結(jié)構(gòu)和LMS結(jié)構(gòu)組成的聯(lián)合濾波器,由格型結(jié)構(gòu)對輸入信號進行迅速解耦,用LMS結(jié)構(gòu)進行自適應(yīng)處理[1-2]。考慮到實時處理的要求,采用高度并行的FPGA進行算法實現(xiàn)是一個很好的選擇。但是由于GALJP的結(jié)構(gòu)相對復(fù)雜,導(dǎo)致其在FPGA中實現(xiàn)的工作頻率不高。本文以自適應(yīng)噪聲對消為模型,采用流水線技術(shù)和時序重構(gòu)技術(shù)對GALJP算法結(jié)構(gòu)進行改進優(yōu)化,提出一種改進型RD-GALJP結(jié)構(gòu)。在算法性能影響不大的情況下,在FPGA中能實現(xiàn)達到167.53 MHz采樣吞吐率,適合于高速自適應(yīng)應(yīng)用的場合。
1 梯度自適應(yīng)聯(lián)合濾波算法(GALJP)
格型濾波器具有快速解耦的性質(zhì),利用這個特性,結(jié)合基本LMS算法得到的一種實用的聯(lián)合處理結(jié)構(gòu)GALJP,如圖1所示。這種聯(lián)合濾波器由多級格型預(yù)測器和LMS期望響應(yīng)估計器組合而成,它可以先將信號輸入進行快速Gram-Schmidt正交化,并由后續(xù)的自適應(yīng)期望響應(yīng)估計器的LMS算法對去耦信號進行自適應(yīng)濾波,以改善輸入信號特征值擴散對傳統(tǒng)LMS算法性能的影響。這種結(jié)構(gòu)具有很大的優(yōu)點,如調(diào)節(jié)濾波器的階數(shù)十分方便,增減節(jié)數(shù)不會影響到系統(tǒng)全局的優(yōu)化,改變某一節(jié)不需要對整個系統(tǒng)進行調(diào)節(jié)[3]。
GALJP的基本算法如下:
式中:m=2,3,…,M+1,不同于傳統(tǒng)的單個誤差e調(diào)節(jié)各級濾波器權(quán)向量更新,上面的GALJP算法是把各節(jié)誤差信號em(n)的均方值由單節(jié)計算,采用多級單LMS結(jié)構(gòu),并分別指導(dǎo)各級權(quán)向量更新。
2 改進型RD-GALJP算法
由于GALJP的算法相對復(fù)雜,正常情況下的硬件實現(xiàn)不能達到高速信號處理的要求。在此,結(jié)合馳豫超前流水線技術(shù)和時序重構(gòu)技術(shù)對算法進行優(yōu)化改進,以便在對濾波性能沒有很大影響的情況下能有效地切割關(guān)鍵路徑,提高系統(tǒng)運行頻率。
2.1 馳豫超前流水線優(yōu)化
流水線技術(shù)是構(gòu)造高速運行系統(tǒng)的一種實用技術(shù)。在硬件實現(xiàn)中,通過插入流水寄存器,可以斬斷系統(tǒng)關(guān)鍵路徑的長度,提高系統(tǒng)的運行頻率。單向前饋割集表示能夠斬斷同向信號流,使系統(tǒng)成為完全不相連兩個部分的分割形式。本文對于單向前饋割集路徑插入一級流水寄存器,這里會使輸出增加一個時鐘滯后,但可以在不影響系統(tǒng)算法性能的情況下切割路徑,提高系統(tǒng)頻率。
馳豫技術(shù)也是一種可以構(gòu)造實現(xiàn)流水線的方式,它通過近似的方式改變算法,在系統(tǒng)可以良好穩(wěn)定運行的情況下得到適合流水實現(xiàn)的拓撲結(jié)構(gòu)。對于GALJP算法,考慮到其中有多個環(huán)路迭代計算,無法使用前饋割集插入流水線的方式改進。對此,通過馳豫超前技術(shù),提出的改進部分如下,對于格型預(yù)測器有:
當系統(tǒng)處于收斂時段,恰當選取較小的β值時,式(15)的遞推也是合理的,對比改變前的式(14),只是更新部分數(shù)值變大。這里可以看到,對于反射系數(shù)的馳豫,其算法收斂步長的區(qū)間將變得相對嚴格。類似的,對于期望響應(yīng)估計器,對bm和Wm的馳豫變換在恰當選取稍小的μ的情況下也是合理的,同樣的,會造成步長收斂區(qū)間變得相對狹窄。觀察改進后的拓撲結(jié)構(gòu),對于期望響應(yīng)估計器,改進后的誤差更新和權(quán)系數(shù)更新可以同時流水進行,提高了模塊速度,對于格型預(yù)測器,雖然改進方案沒有使其能夠流水線化,不能實質(zhì)地提高系統(tǒng)頻率,但是提供了馳豫寄存器,為后續(xù)優(yōu)化做了準備。在這里,馳豫寄存器m1,m2的個數(shù)需要根據(jù)要求仔細選取。
2.2 時序重構(gòu)優(yōu)化
時序重構(gòu)又稱重定時,是一種在保持系統(tǒng)功能不變的前提下,改變系統(tǒng)的延遲數(shù)目和分布的方法。它在同步電路中有許多應(yīng)用,如縮短系統(tǒng)時鐘周期,減少系統(tǒng)寄存器數(shù)目,降低系統(tǒng)的功耗和邏輯綜合的規(guī)模[4]。對于時序不變系統(tǒng),通過時序重構(gòu)技術(shù),可以在不改變算法功能的情況下,有效地切割關(guān)鍵路徑,從而提高系統(tǒng)工作頻率。時序重構(gòu)的映射等式定義為:
式中:Wr(e)表示重構(gòu)映射后的路徑e的延時;W(e)表示重構(gòu)映射前的路徑e的延時;r(V)表示路徑e的前端處理單元V的重構(gòu)參數(shù);r(U)代表路徑e的后端處理單元U的重構(gòu)參數(shù)。通過合理地選取重構(gòu)映射參數(shù),可以得到合法的重構(gòu)映射結(jié)構(gòu)。
環(huán)路邊界的定義為tl/wl,其中tl是環(huán)路l的運算時間;wl是環(huán)路l的延遲數(shù)目;迭代邊界是環(huán)路結(jié)構(gòu)的環(huán)路邊界的最大值,定義為maxtlwl,迭代邊界反映了一個反饋算法環(huán)路部分通過時序重構(gòu)技術(shù)能達到的極限關(guān)鍵路徑的大小[4]。在此認為加法器和乘法器都是一個處理時間,考慮期望響應(yīng)估計器模塊的環(huán)路部分,如圖2所示。
根據(jù)定義可以知道,迭代邊界為4/(1+m2),使其迭代邊界最小化,等于1,得到馳豫寄存器的數(shù)目m2=3。采用時序重構(gòu)映射,根據(jù)式(16)得到重構(gòu)后的算法結(jié)構(gòu),重構(gòu)參數(shù)及重構(gòu)結(jié)果如圖3所示。
由于重構(gòu)后每個信號路徑上都沒有負延時情況,根據(jù)時序重構(gòu)原理的性質(zhì),則這個重構(gòu)映射是合理的,重構(gòu)后的算法結(jié)構(gòu)是合理的,穩(wěn)定的[4]。可以看到,合理地選取映射規(guī)則對電路進行時序重構(gòu),可以合理地斬斷關(guān)鍵路徑,提高系統(tǒng)運行速度。在這里,重構(gòu)后的關(guān)鍵路徑為一個處理單位。同理,可以對多級格型預(yù)測器模塊進行時序重構(gòu)。同樣的,重構(gòu)后格型預(yù)測器電路的關(guān)鍵路徑也為一個處理單元。這樣,整個改進后的RD-GALJP(Retimed Delay-GALJP)系統(tǒng)結(jié)構(gòu)的關(guān)鍵路徑就縮短為1個處理單元。
3 基于FPGA的算法的實現(xiàn)與仿真
以自適應(yīng)噪聲對消為模型進行仿真驗證,設(shè)格型預(yù)測器的反射系數(shù)收斂因子為0.008,期望響應(yīng)估計器的收斂因子為0.002。在Matlab中對改進前和改進后的算法進行仿真,測試信號為隨機2FSK+高斯白噪聲,SNR=-9 dB,得到的收斂曲線如圖4所示。
可以看到,改進后的算法在收斂性能和穩(wěn)態(tài)表現(xiàn)都有些許下降,但是降低的幅度很小,在可接受的范圍內(nèi)。利用DSP-builder進行FPGA算法建模,實現(xiàn)4階16位定點格式的格型濾波結(jié)構(gòu),并在Modelsim中進行RTL級仿真,得到的改進算法濾波效果如圖5所示。
在EP2C70F896C6芯片上進行代碼的綜合,得到的結(jié)果為:改進前系統(tǒng)的最高工作頻率為2399 MHz,改進后系統(tǒng)的最高工作頻率為167.53 MHz。顯然,系統(tǒng)頻率在算法結(jié)構(gòu)改進后有很大的提高。最后,利用DDS技術(shù)產(chǎn)生需要的測試信號和噪聲(測試頻率為100 MHz),將相應(yīng)的HDL代碼綜合布線后下載到FPGA芯片中,利用Signaltap內(nèi)嵌邏輯分析儀進行板級功能測試,結(jié)果如圖6所示。
實驗結(jié)果表明,該模塊可以很好地運行在100 MHz以上,適用于高速自適應(yīng)處理的場合。
4 結(jié) 語
FPGA以其高效的硬件特性在信號處理方面有著越來越多的應(yīng)用。本文結(jié)合馳豫超前流水線和時序重構(gòu)技術(shù),提出一種RD-GALJP算法結(jié)構(gòu),并以自適應(yīng)噪聲對消為模型進行算法仿真。算法仿真的結(jié)果表明,改進算法結(jié)構(gòu)相比改進前的算法在濾波性能上只有些許下降,但是卻能夠很好地切割關(guān)鍵路徑,以利于流水實現(xiàn)。最后以4階16位定點格式為背景在FPGA中對算法進行實現(xiàn)和板級功能測試,綜合布線后得到167.53 MHz采樣吞吐率的運算性能, 比較于改進前的23.99 MHz的工作頻率表明,工作頻率的改善顯著。實驗結(jié)果表明,改進算法結(jié)構(gòu)可以很好地應(yīng)用于對輸入自相關(guān)矩陣特征值擴散敏感的高速高靈敏度的自適應(yīng)信號處理場合。
參 考 文 獻
[1]HAYKIN S. Adaptive filter theory [M]. 4th ed. NJ: Prentice Hall, 2002.
[2]丁玉美,闊永紅,高新波.數(shù)字信號處理:離散隨機信號處理[M].西安:西安電子科技大學出版社,2002.
[3]何振亞.自適應(yīng)信號處理[M].北京:科學出版社,2002.
[4]PARHI K K.VLSI數(shù)字信號處理系統(tǒng):設(shè)計與實現(xiàn)[M].陳弘毅,白國強,吳行軍,等譯.北京:機械工業(yè)出版社,2004.
[5]BERNARD W, SAMUEL D S.自適應(yīng)信號處理[M].王永德,龍憲惠,譯.北京:機械工業(yè)出版社,2008.
[6]齊海兵.自適應(yīng)濾波器算法設(shè)計及其FPGA實現(xiàn)的應(yīng)用研究[D].長沙:中南大學,2006.
[7]齊海兵.流水線自適應(yīng)格型聯(lián)合處理器的FPGA設(shè)計[J].微電子學與計算機,2010(7):49-52,56.
[8]齊海兵,孫松.梯度自適應(yīng)格型濾波聯(lián)合算法的性能分析[J].探測與控制學報,2009,31(2):37-40.
[9]YI Y, WOODS R, TING L K, et al. High speed FPGA-based implementation of delayed-LMS filters [J]. Netherland:Journal of VLSI Signal Processing, 2005, 39: 113-131.
[10]MEYER-BAESE U.數(shù)字信號處理的FPGA實現(xiàn)[M].劉凌,譯.2版.北京:清華大學出版社,2006.
作者簡介:
程文帆 男,1987年出生,福建三明人,碩士研究生。主要研究方向為數(shù)字信號處理與嵌入式技術(shù)。
戴在平 男,1960年出生,福建泉州人,副教授。主要研究方向為電路與系統(tǒng)及信號處理。