柴萬東,張立萍,張 迪(赤峰學院 物理與電子信息工程系,內(nèi)蒙古 赤峰 024000)
?
延遲LMS(DLMS)自適應濾波器的FPGA設計與實現(xiàn)
柴萬東,張立萍,張迪
(赤峰學院物理與電子信息工程系,內(nèi)蒙古赤峰024000)
摘要:自適應技術已經(jīng)被廣泛應用于數(shù)字通信和工業(yè)控制等領域.本文利用基于System Generator系統(tǒng)建模的方法,設計了4階延遲LMS(最小均方誤差算法)(DLMS)自適應濾波器系統(tǒng)模型.實驗結果表明,利用System Generator系統(tǒng)建模的方法設計自適應濾波器,使得設計效率和濾波器運算速度都大大提高,而且在系統(tǒng)中采用流水線技術可以縮短系統(tǒng)的關鍵路徑,提高系統(tǒng)工作頻率.本文在FPGA芯片上最終實現(xiàn)了所設計的自適應濾波器,進行了硬件驗證.
關鍵詞:自適應濾波器;SLMS;DLMS;流水線技術;FPGA
自適應濾波器的算法有RTL(遞歸最小二乘法)和LMS(最小均方算法)等[1],而四階SLMS算法的方框圖表示如圖1所示,其輸入信號為X(k)=[x (k),x(k-1),x(k-2),x(k-3)]T
權系數(shù)為:W(k)=[w0(k),w1(k),w2(k),w3(k)]T
實際輸出為:
y=(k)WT(k)X(k) =w0(k)x(k)+w1(k)x(k-1)+w2(k)x(k-2)+w3(k)x(k-3)
權系數(shù)遞推公式為:W(k+1)=W(k)+μX(k)e(k),
誤差信號e(k)為:e(k)=d(k)-y(k)=d(k)-WT(k)X(k)
圖1 SLMS算法方框圖表示
由于采樣信號是按串行方式處理的,因此這種結構被稱為標準串行LMS(SLMS).加法器鏈的進位遲延會影響系統(tǒng)可能達到的最高運行速度.如何提高速度以滿足信號處理的高效性、實時性一直是人們研究的熱點[2].
LMS算法的運算速度受到計算濾波輸出和更新濾波系數(shù)所花時間的限制.新的采樣只有等到這些操作被執(zhí)行完畢以后才能處理.對于只有一個系數(shù)的SLMS,其方框圖如圖2所示.假定乘法器的傳遞時間為TM秒,加法器的傳遞時間為TA秒.考慮反饋環(huán)中所有的元素,一旦接收到一個新的采樣x (k),計算輸出y (k)并更新系數(shù)的最短時間為3TM+2TA秒,使用該結構意味著采樣周期有一個下界,即最小采樣周期為:TS≥3TM+2TA
如果反饋路徑中具有延遲單元,將導致更高的采樣頻率.解決的辦法是使用流水線結構.流水線結構是通過改變原始結構以便允許處理一個以上的采樣.下面推導具有流水線結構的LMS[3].將具有流水線結構的SLMS稱為PIPLMS,其流圖如圖3所示.注意到反饋環(huán)中引入了一個延遲,如果將前一個例子中的傳播延遲考慮進來,那么可以得到下列結果.當接收到一個新的采樣x(k),將采取下列操作:
路徑1中的運算產(chǎn)生μe(k):這需要2TM+TA秒
路徑2中的運算生成w0(k-1)+μe(k-1)x(k-1):這需要TM+TA秒
注意,路徑2中的運算不需要等到路徑1的運算執(zhí)行完畢,而是一接到輸入采樣x(k),路徑2中的運算就可以執(zhí)行,這是由于反饋路徑中存在的延遲.所以,最小采樣周期TS取決于執(zhí)行路徑1或2中的操作所需的最大時間.在這種情況下,路徑1中的操作限制了最小采樣時間(路徑2中的操作需要更短的時間),其值為:
TS≥2TM+T
圖2 一個系數(shù)的SLMS自適應濾波器
圖3 PIPLMS(具有流水線結構的SLMS)
這意味著DLMS架構比SLMS架構執(zhí)行得快.下面說明如何獲得流水線型LMS濾波器結構.
前瞻技術允許將串行LMS(SLMS)結構轉換為等價的流水線結構.現(xiàn)在考慮僅有的一個系數(shù)的更新:w(k)=w(k-1)+μe(k-1)x(k-1)
由于:w(k-1)=w(k-2)+μe(k-2)x(k-2),
w(k-2)=2(k-3)+μe(k-3)(k-3),
帶入到系數(shù)更新等式中,得:
從而可以推導出任意數(shù)值的采樣“前瞻量”的通用公式.假設前瞻D2個采樣的系數(shù)更新的通用方程是:
類似地,對于一組系數(shù):
其中,D2是權重更新環(huán)路中延時的個數(shù).由于已經(jīng)有了所需要的信息,系數(shù)可以提前D2個采樣得到更新.這種變換在權重更新環(huán)路中產(chǎn)生D2個鎖存器,它們可以通過時序變換對加法操作實現(xiàn)所需要的流水線.但是為了精確的應用前瞻(超前)技術,e(k-i)需要表示成W(k-D2)的函數(shù),總共有D2項e(k-1),e(k-2),…,e(k-D2)需要計算.這將導致所得到的方程很復雜進而大大增加硬件負擔.這種開銷可以通過引入松弛的前瞻(弛豫超前變換)來降低.
這里要考慮兩種簡化(松弛)方法:延遲松弛和求和松弛
2.1延遲松弛
延遲松弛假定了e(k)x(k)項在D1個采樣期間是緩慢變化的,即假設:
e(k)X(k)≈e(k-D1)X(k-D1)
延遲松弛在誤差反饋環(huán)路(EFR)中引入D1個延時,則原來的前瞻系數(shù)更新方程變?yōu)椋貉舆t松弛
延遲松弛通過增加一個額外的、具有D1個采樣的延遲單元減少了與w(k-i-1)相關的項的數(shù)目.
2.2求和松弛
假設e(k)x(k)項是緩慢變化的,求和松弛是為了降低對求和硬件的需求,采用如下的近似求和使求和項的數(shù)目減少.
當LA≤D2時,求和項的數(shù)目將減少.D2/LA項的存在是為了保證平均的輸出輪廓不變.
注意當應用這些松弛方法時,假設e(k)x(k)是緩慢變化的,即對于平穩(wěn)的或緩慢變化的環(huán)境是合理的,盡管LMS算法被修正,但平均輸出輪廓仍保持不變.因此所示架構的瞬時收斂特性將不同于原來的算法,它的有效性需要在特定的應用中進行檢驗.
使用延遲與求和松弛,得到下列修正后的算法,即松弛的前瞻:(1)
注意μ'包括了求和松弛修正因子,并且1≤LA≤D2.現(xiàn)在誤差信號可被表示為
假設μ'足夠小,則誤差信號可被表示為:
圖4 4階流水線LMS(PIPLMS)自適應濾波器方框圖
松弛的前瞻修正算法產(chǎn)生了流水線型LMS (PIPLMS)架構[4].公式(1)和公式(2)完整的描述了流水線LMS濾波器,它的硬件開銷是N(LA-1)個加法器,其中N是濾波器系數(shù)的個數(shù).PIPLMS架構的方框圖如圖4所示.
注意,前面提出的與PIPLMS架構相關的算法并非是標準的LMS算法,因此它將具有不同的收斂特性.由于對PIPLMS的全面分析是極其復雜的.故只能針對特定的情況對實現(xiàn)參數(shù)LA、D1和D2的某些值做深入細致地研究.然而,在通常情況下,PIPLMS比SLMS收斂得更慢.下面將介紹一種流水線結構及其FPGA實現(xiàn).
3.1DLMS算法的方框圖
DLMS自適應濾波器是PIPLMS濾波器的一個特例.也就是說當LA=1,D2=1時,PIPLMS濾波器等價于DLMS濾波器.因此DLMS自適應濾波器可以用公式(3)來描述,其方框圖表示如圖5所示.
圖5 4階DLMS自適應濾波器方框圖
3.2DLMS算法與LMS算法速度[5]比較
圖6 LMS算法與DLMS算法收斂性比較
由公式(3)來理解DLMS濾波算法所表達的意義,即通過D1個時刻以前的誤差輸出信號和D1個時刻以前的輸入信號來估計當前的期望信號.相對地,由LMS濾波算法公式可以理解為用當前的誤差信號和當前的輸入信號來估計當前的期望信號.從時間相關性的角度來看,LMS濾波算法的性能將優(yōu)于DLMS濾波算法的性能.由圖6我們也可以看出DLMS算法的收斂速度較傳統(tǒng)的LMS算法要慢一些,但是二者的穩(wěn)態(tài)特性是一致的.考慮到DLMS算法允許硬件擁有高度并行的處理結構,在收斂速度上的代價依然是值得的.
3.3DLMS架構的模型設計和系統(tǒng)仿真[6]
在Matlab/Simu1ink平臺上,調(diào)用Simu1ink中的IP模塊,得到了圖7所示的4階延遲LMS (DLMS)自適應濾波器的模型圖.
圖7 4階DLMS自適應濾波器模塊圖
在圖中FIR Filter模塊與SLMS模型中的FIR Filter模塊相同,而權重更新模塊如圖8所示.
圖8 權重更新模塊
它是由延遲模塊Delay4~Delay12、加法模塊Add4~Add7、乘法模塊Mult4~Mult7和移位模塊shift組成;為節(jié)省硬件資源,取μ=1/1024,就可以將μe(k)運算轉化為將e(k)向右移位10位,對應的是模型中的移位模塊shift,然后將μe(k)經(jīng)Delay12延遲后反饋給乘法器模塊(Mult4~Mult7),作為乘法器的一個輸入,再與對應的x(k-2)相乘,實現(xiàn)權系數(shù)的更新.
圖9是經(jīng)過模擬仿真后得到的4階DLMS自適應濾波器的仿真結果.示波器的第一個通道是期望信號d(k),第二個通道是帶有噪聲的輸入信號x (k),第三個通道是濾波器的輸出信號y(k),第四個通道是輸出誤差信號e(k),從圖中可以看出,誤差信號e(k)和x(k)中疊加的隨機噪聲成分很接近,這與理論分析相同,可見自適應濾波器的輸出還是比較理想的.
圖9 4階DLMS自適應濾波器的仿真波形圖
3.4聯(lián)合仿真與結果分析
4階模型通過以后,運行System Generator將模型轉化為VHDL語言,并獲得相應的ISE工程文件DLMS_cw.ise,采用ModelSim對生成的RTL級VHDL代碼進行驗證,圖10是4階DLMS自適應濾波器RTL級仿真波形圖.
圖10 4階DLMS自適應濾波器RTL仿真波形圖
3.5硬件協(xié)同仿真
將上述4階DLMS模塊圖保存為DLMS.mdl,利用System Generator可以生成一個新的編譯模塊,復制此模塊到設計中并連接好輸入輸出信號,如圖11所示.
將Vitex-4 ML402電路板連接到電腦上,接通電源以后雙擊硬件協(xié)同仿真模塊即可進行硬件協(xié)同仿真了,硬件仿真波形如圖12所示.從圖中可以觀察到,硬件協(xié)同仿真結果與Simulink中的仿真相似.
圖11 4階DLMS自適應濾波器的硬件協(xié)同仿真模塊圖
圖12 4階DLMS自適應濾波器的硬件協(xié)同仿真波形圖
通過DLMS與SLMS進行對比,結果表明,在系統(tǒng)中采用流水線技術可以縮短系統(tǒng)的關鍵路徑,系統(tǒng)最高工作頻率可以達到58.118MHz,而占用的資源只是略為增加.這是DLMS以犧牲部分收斂速度為代價,獲得的高速并行處理能力.
參考文獻:
〔1〕沈福民.自適應信號處理[M].西安:西安電子科技大學出版社,2001.11-46.
〔2〕黃埔堪,陳建文,樓生強.現(xiàn)代數(shù)字信號處理[M].北京:電子工業(yè)出版社,2003.71-88.
〔3〕付文武,周依林.基于高速流水線乘加器的FIR濾波器設計[J].電子設計應用,2003(9):18-21.
〔4〕齊海兵,梅開鄉(xiāng).基于FPGA的流水線LMS自適應濾波器設計[J].微計算機信息,2007,23(6-2):223-224.
〔5〕John G.Proakis,Dimitris G.Manolakis.現(xiàn)代數(shù)字信號處理[M].北京:電子工業(yè)出版社,2007.702.
〔6〕劉雄飛,高金定,齊海兵.LMS自適應濾波器FPGA實現(xiàn)的新方法[J].壓電與聲光,2007,29 (1):87-89.
基金項目:量子點中電子自旋量子比特的聲子效應研究(11264001)基金項目:國家自然科學基金資助項目
收稿日期:2015年11月5日
中圖分類號:TN713-34
文獻標識碼:A
文章編號:1673-260X(2016)01-0001-04