,,,
(蘭州大學 信息科學與工程學院,蘭州 730000)
本文需要設計并制作一個自適應濾波器,用來濾除特定的干擾信號。自適應濾波器工作頻率為 10~100 kHz。系統主要由電源模塊、加法器模塊、移相器模塊和自適應濾波器模塊4部分組成。
采用RC阻容網絡一般是將RC運算放大器(以下簡稱運放)聯系起來組成有源的移相電路。優點是電路調節方便,細節清晰,可以實現相位連續可調。
自適應算法主要有兩類思路,分別是遞推最小二乘法(Recursive Least Square,RLS)和最小均方算法(Least mean square,LMS),近幾年也有許多基于這兩類算法的優化方法被提出。
方案一:RLS算法
RLS算法是基于最小二乘準則的精確方法,它的收斂速度快,穩定性強, 因此常被應用于實時系統識別和快速啟動的信道均衡,但其算法復雜度較高,算法結構較為復雜。
方案二:LMS算法
LMS算法優點是結構簡單,算法復雜度低,易于實現,穩定性好,便于硬件實現。當今,在FPGA上的實現算法已經趨于成熟,而且修改方便靈活,同時具備良好的性能。
綜合考慮以上兩種方案,本文選擇方案二。
自適應濾波器在時刻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)是誤差信號,也是系統輸出值,μ是權矢量更新時的步長因子,μ值越大,則算法收斂越快。由維納-霍夫方程可知,最小均方誤差為:


通過梯度下降法:
Wj+1=Wj+2μejXj
算法步驟如下:
① 迭代計算:n=1,2,3,…;

圖4 移相器電路圖
② 濾波輸出:y(n)=WT(n)X(n);
③ 誤差估計:e(n)=d(n)-y(n);
④ 權向量自適應:W(n+1)=W(n)+2μe*(n)X(n)。
其中μ是用來控制穩定性和收斂速度的步長參數,μ(μ<1)為2的整數次冪分之一。
一般將RC與運放聯系起來組成有源的移相電路。移相電路如圖1所示。

圖1 RC移相電路
圖1電路調節的范圍局限在90°以內,要使其調節的范圍增大,可以采用多個移相電路級聯的方案。理論上單個移相電路能移相的范圍為0°~90°,所以為確保移相的連續性和較好的電壓傳輸特性,采用三級RC網絡級聯的方法實現0°~180°移相。
系統總體框圖如圖2所示。

圖2 系統總體框圖
加法器電路采用運算放大器,電路結構如圖3所示。

圖3 加法器電路圖
通過前面的分析,移相電路如圖4所示。
電源為整個系統提供±5 V電壓,確保電路的正常穩定工作。這部分電路比較簡單,采用市售開關電源模塊實現。
在QuartusII下設計的電路如圖5所示。
(1)LMS算法模塊內部信號
系統時鐘:10 MHz(50 MHz FPGA系統時鐘經PLL模塊5分頻得到)。
輸入位寬:12位(適配參數為12位65 MSPS的A/D模塊,芯片為AD926)。
輸出位寬:14位(適配參數為14位125 MSPS的A/D模塊,芯片為AD9767)。
濾波器階數:7階(受芯片內部集成乘法器數量的限制無法做到更多階數,經驗證,在收斂結果上4階以上的濾波效果改進相比投入的邏輯資源收效甚微,理論上4階就已足夠)。
(2)邏輯資源消耗分析
每階濾波器消耗的乘法器為4個,而EP4CE6芯片內部集成的乘法器只有30個,這是制約無法做出更多階數濾波器的原因。而該芯片共有6 272個LE,此7階濾波器只使用了337個LE。
用MATLAB仿真結果如圖6所示,很好地恢復出了原始信號。

圖5 QuartusII下系統整體原理圖

圖6 MATLAB仿真結果

[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自適應濾波算法及分析[J].電子學報,2001,29(8):1094-1097.
[8] 胡廣書.數字信號處理:理論,算法與實現[M].北京:清華大學出版社,2003.
[9] 趙文兵,楊建寧.FIR 濾波器的FPGA實現及其仿真研究[J].微計算機信息,2005,21(6Z):108-109.
[10] 夏宇聞.Verilog 數字系統設計教程[J].單片機與嵌入式系統應用,2003(6):51.
湯書森(高級實驗師),研究方向為嵌入式系統及其應用。