,,,
(蘭州大學(xué) 信息科學(xué)與工程學(xué)院,蘭州 730000)
本文需要設(shè)計并制作一個自適應(yīng)濾波器,用來濾除特定的干擾信號。自適應(yīng)濾波器工作頻率為 10~100 kHz。系統(tǒng)主要由電源模塊、加法器模塊、移相器模塊和自適應(yīng)濾波器模塊4部分組成。
采用RC阻容網(wǎng)絡(luò)一般是將RC運算放大器(以下簡稱運放)聯(lián)系起來組成有源的移相電路。優(yōu)點是電路調(diào)節(jié)方便,細節(jié)清晰,可以實現(xiàn)相位連續(xù)可調(diào)。
自適應(yīng)算法主要有兩類思路,分別是遞推最小二乘法(Recursive Least Square,RLS)和最小均方算法(Least mean square,LMS),近幾年也有許多基于這兩類算法的優(yōu)化方法被提出。
方案一:RLS算法
RLS算法是基于最小二乘準(zhǔn)則的精確方法,它的收斂速度快,穩(wěn)定性強, 因此常被應(yīng)用于實時系統(tǒng)識別和快速啟動的信道均衡,但其算法復(fù)雜度較高,算法結(jié)構(gòu)較為復(fù)雜。
方案二:LMS算法
LMS算法優(yōu)點是結(jié)構(gòu)簡單,算法復(fù)雜度低,易于實現(xiàn),穩(wěn)定性好,便于硬件實現(xiàn)。當(dāng)今,在FPGA上的實現(xiàn)算法已經(jīng)趨于成熟,而且修改方便靈活,同時具備良好的性能。
綜合考慮以上兩種方案,本文選擇方案二。
自適應(yīng)濾波器在時刻n的向量如下:
抽頭權(quán)向量:
W(n)=[b0(n),b1(n),…,bM-1(n)]T
參考輸入向量:
X(n)=[x(n),x(n-1),…,x(n-M+1)]T
LMS算法可以用下面一組遞推公式來表示,即
y(n)=WH(n)X(n)
e(n)=d(n)-y(n)
W(n+1)=W(n)+2μX(n)e(n)
y(n)是輸出信號,d(n)是期望輸出值,e(n)是誤差信號,也是系統(tǒng)輸出值,μ是權(quán)矢量更新時的步長因子,μ值越大,則算法收斂越快。由維納-霍夫方程可知,最小均方誤差為:
通過梯度下降法:
Wj+1=Wj+2μejXj
算法步驟如下:
① 迭代計算:n=1,2,3,…;
圖4 移相器電路圖
② 濾波輸出:y(n)=WT(n)X(n);
③ 誤差估計:e(n)=d(n)-y(n);
④ 權(quán)向量自適應(yīng):W(n+1)=W(n)+2μe*(n)X(n)。
其中μ是用來控制穩(wěn)定性和收斂速度的步長參數(shù),μ(μ<1)為2的整數(shù)次冪分之一。
一般將RC與運放聯(lián)系起來組成有源的移相電路。移相電路如圖1所示。
圖1 RC移相電路
圖1電路調(diào)節(jié)的范圍局限在90°以內(nèi),要使其調(diào)節(jié)的范圍增大,可以采用多個移相電路級聯(lián)的方案。理論上單個移相電路能移相的范圍為0°~90°,所以為確保移相的連續(xù)性和較好的電壓傳輸特性,采用三級RC網(wǎng)絡(luò)級聯(lián)的方法實現(xiàn)0°~180°移相。
系統(tǒng)總體框圖如圖2所示。
圖2 系統(tǒng)總體框圖
加法器電路采用運算放大器,電路結(jié)構(gòu)如圖3所示。
圖3 加法器電路圖
通過前面的分析,移相電路如圖4所示。
電源為整個系統(tǒng)提供±5 V電壓,確保電路的正常穩(wěn)定工作。這部分電路比較簡單,采用市售開關(guān)電源模塊實現(xiàn)。
在QuartusII下設(shè)計的電路如圖5所示。
(1)LMS算法模塊內(nèi)部信號
系統(tǒng)時鐘:10 MHz(50 MHz FPGA系統(tǒng)時鐘經(jīng)PLL模塊5分頻得到)。
輸入位寬:12位(適配參數(shù)為12位65 MSPS的A/D模塊,芯片為AD926)。
輸出位寬:14位(適配參數(shù)為14位125 MSPS的A/D模塊,芯片為AD9767)。
濾波器階數(shù):7階(受芯片內(nèi)部集成乘法器數(shù)量的限制無法做到更多階數(shù),經(jīng)驗證,在收斂結(jié)果上4階以上的濾波效果改進相比投入的邏輯資源收效甚微,理論上4階就已足夠)。
(2)邏輯資源消耗分析
每階濾波器消耗的乘法器為4個,而EP4CE6芯片內(nèi)部集成的乘法器只有30個,這是制約無法做出更多階數(shù)濾波器的原因。而該芯片共有6 272個LE,此7階濾波器只使用了337個LE。
用MATLAB仿真結(jié)果如圖6所示,很好地恢復(fù)出了原始信號。
圖5 QuartusII下系統(tǒng)整體原理圖
圖6 MATLAB仿真結(jié)果
[1] Thomas D,Moorby P.The Verilog Hardware Description Language[M].New York:Springer Science&Business Media,2008.
[2] Meyer-Baese U,Meyer-Baese U.Digital signal processing with field programmable gate arrays[M].Berlin:springer,2007.
[3] Widrow B,McCool J M,Larimore M G,et al.Stationary and nonstationary learning characteristics of the LMS adaptive filter[J].Proceedings of the IEEE,1976,64(8):1151-1162.
[4] Haykin S S.Adaptive filter theory[M].New York:Pearson Education,2008.
[5] Kwong R H,Johnston E W.A variable step size LMS algorithm[J].IEEE Transactions on signal processing,1992,40(7):1633-1642.
[6] Chou C J,Mohanakrishnan S,Evans J B.FPGA implementation of digital filters[C]//Proc.Icspat,1993.
[7] 高鷹,謝勝利.一種變步長LMS自適應(yīng)濾波算法及分析[J].電子學(xué)報,2001,29(8):1094-1097.
[8] 胡廣書.數(shù)字信號處理:理論,算法與實現(xiàn)[M].北京:清華大學(xué)出版社,2003.
[9] 趙文兵,楊建寧.FIR 濾波器的FPGA實現(xiàn)及其仿真研究[J].微計算機信息,2005,21(6Z):108-109.
[10] 夏宇聞.Verilog 數(shù)字系統(tǒng)設(shè)計教程[J].單片機與嵌入式系統(tǒng)應(yīng)用,2003(6):51.
湯書森(高級實驗師),研究方向為嵌入式系統(tǒng)及其應(yīng)用。