張立萍
(赤峰學院 物理與電子信息工程學院,內蒙古 赤峰 024000)
FLMS算法的Matlab設計與仿真
張立萍
(赤峰學院 物理與電子信息工程學院,內蒙古 赤峰 024000)
自適應濾波技術已經被廣泛應用于數字通信、雷達和工業控制等領域.本文以隨機干擾噪聲信號作為研究對象,利用Matlab工具設計了FLMS去噪自適應濾波器的程序,并進行了仿真,為硬件實現提供了有力的參考.
自適應濾波器;LMS算法;FLMS算法
LMS算法是用均方誤差來做為性能指標,也就是使濾波器的期望輸出值和實際輸出值之間的均方誤差(Mean Squared Errer,MSE)達到最小.
設自適應濾波器的輸入矢量為:

加權矢量(即濾波器參數矢量)為:

濾波器的輸出為:

誤差信號e(n)定義為期望輸出d(n)與濾波器實際輸出之間的誤差,即

W(n)是常數矢量的情況下,其均方誤差可表示為

權矢量遞推公式,即LMS算法遞推公式為:

雖然LMS算法計算簡單,但是收斂速度慢.為了克服LMS算法收斂緩慢的問題,實現具有長記憶功能的自適應FIR濾波器,提出了塊LMS處理算法,就是將L個權系數構成一塊.在處理每個塊時,令各權值保持不變,而每個塊處理完后權值才改變.設第k塊處理期間自適應濾波器的輸出為

其中,W(k)=[w0(k),w1(k),…,wL-1(k)T為第k塊處理期間的時域權矢量,其各元素wl(k)(l=0,1,…,L-1)保持為常數.第k塊處理后,權矢量調整的迭代公式為

式中?(k)向量是互相關的.
通過數字信號處理理論可知:快速傅立葉變換(即FFT算法)是實現卷積和相關的快速運算,實現FFT可以采用重疊保留法和重疊相加法,其中重疊保留法較為常用.盡管重疊保留法的重疊部分長度可為任意值,但是運算效率最高的是1/2重疊(即塊的大小等于系數的個數).快速LMS(即FLMS)算法是時域塊處理LMS(BLMS)算法在頻域的快速實現.下面將式(2)的輸出改寫成濾波器輸入與權系數的線性卷積公式如下:

式(4)線性卷積可通過重疊保留法,用FFT實現.由于1/2的數據重疊是最有效的,即在M(M=L)點濾波器抽頭系數后補M個零,再進行N點的FFT,這里N=2M,即:

令X(k)為第k-1塊與第k塊輸入經2M點FFT后所構成的對角陣,即:

這樣,式(4)線性卷積的頻域實現如下式,它為第 塊的濾波輸出值,是 維向量:

因為最前面的M個元素進行循環卷積,式中只需保留最后M個元素即可.
下面考慮式(3)中?(k)的線性相關.對于第k塊,定義M'1期望響應向量:

及相應的M'1誤差信號向量:

如果注意到,在式(7)所述線性卷積實現中,開始的M個元素已從輸出中廢棄掉,則可將誤差信號e(k)向量變換到頻域,得

由于線性相關實際上是與線性卷積相似的一種運算形式,因此可將重疊存儲方法用于矢量?(k)中,則?(k)可用IFFT計算如下:

最后,頻域權矢量調整的迭代公式為:

公式(6)、(7)、(8)、(9)、(10)就是 FLMS 自適應濾波算法,其信號流圖如圖1所示.實際上FLMS算法是一種變換到頻域的快速算法,它與塊LMS算法有相同的收斂特性,而FLMS算法的收斂速率可以在不影響最小均方誤差條件下,通過調節每個可調權值的步長來進行調節和改善.

圖1 FLMS算法的信號流圖
本文利用MATLAB工具箱編寫.M文件FLMS.m對快速塊LMS算法進行設計,并利用繪圖函數得到仿真波形,從而驗證算法的可行性.其中,各參數代表的含義如下:

FLMS算法中權向量{w}的更新表達式在M文件中的實現代碼為:


仿真時,正弦信號為sin(0.01*Pi*t),其中t=1:dian,加入標準白噪聲信號作為干擾信號,在Matlab中運行FLMS.m文件,得到快速塊LMS算法的仿真結果如圖2.

圖2 FLMS算法的輸入和輸出曲線
下面將快速塊LMS(即FLMS)算法與傳統LMS算法的計算復雜性進行比較.由于濾波器的實現快慢主要取決于乘法的次數,下面以塊長度為N時兩種算法需要的總乘法次數進行比較.具有N個抽頭權值(實數)的傳統LMS算法,每計算一個輸出需要N次乘法,同時更新一次權值需要N次乘法,所以每次迭代共要2N次乘法,而對于濾波器的N個輸出值,共需要2N2次乘法.現在分析FLMS算法所需的乘法次數:每個M(M=2N)點快速傅立葉變換(即FFT)需要約Mlog2M次乘法運算,如果要執行5次頻率變換,共要計算5Mlog2M次乘法,計算頻域輸出需要4M次乘法,而且計算互相關(與梯度向量估計有關)運算也需要4M次乘法,快速塊LMS算法總共需要的乘法次數為
5Mlog2M+8M=10Nlog2(2N)+16N=10Nlog2N+26N
如果取抽頭值為1024,傳統LMS算法所需乘法次數大概是200萬次,快速塊LMS算法所需乘法次數大概為12.6萬次,計算速度快了15倍左右.
〔1〕杜培宇.基于自適應濾波器的噪聲抑制技術研究[D].碩士學位論文.山東大學,2005.
〔2〕黃埔堪,陳建文,樓生強.現代數字信號處理[M].北京:電子工業出版社,2003.
〔3〕沈福民.自適應信號處理[M].西安:西安電子科技大學出版社,2001.
〔4〕王建中,羅欣武,劉文江,等.一種改進的DMT系統頻域均衡器[J].計算機工程與應用,2006(24):98-101.
〔5〕齊海兵.基于FPGA的橫向LMS算法的實現[J].國外電子元器件,2007(1):31-34.
TN91
A
1673-260X(2012)11-0038-02