通信信號自適應濾波處理仿真研究(一)
丁杰
論文關鍵詞:自適應信號處理 自適應濾波器
論文摘要:近幾十年里,數(shù)字信號處理技術取得了飛速發(fā)展,特別是在自適應信號處理方面,通過內(nèi)部參數(shù)的最優(yōu)化來自動調(diào)節(jié)系統(tǒng)特性并以其計算簡單,收斂速度快等許多優(yōu)點而被廣泛使用。本文主要介紹了幾種常用的自適應算法,如:LMS,RLS,NLMS等。分別就幾種算法在算法原理,算法性能分析和計算機仿真等方面來說明各種算法的優(yōu)越性。通過圍繞算法的優(yōu)缺點進行比較,得出一些重要結論。最后對自適應信號處理的一些應用作了介紹和分析,并對其進行了仿真。
Abstract:In recent decades, digital signal processing technology has made rapid development, especially in adaptive signal processing. The adaptive signal processing algorithm can adjust the internal parameters of filters to optimize system characteristics automatically. For its simple computational complexity, fast convergence speed and many other advantages, adaptive filer has been widely used.
This paper introduces several commonly used algorithms, such as: LMS, RLS, NLMS, etc.. Through the principle of adaptive algorithm analysis and simulation, we illustrate the various aspects of the adaptive algorithm’s superiority. And through the comparing of their advantages and disadvantages, we could draw some important conclusions for different algorithm.
Keywords: Adaptive signal processing, Adaptive filter
1引言
自適應信號處理是信號處理領域的一個非常重要的分支。作為自適應信號處理基礎的自適應濾波理論是對信號處理研究的一個重要方法,本文亦將它作為研究的手段。自適應信號處理經(jīng)過近40年來的發(fā)展,隨著人們在該領域研究的不斷深入,其理論和技術已經(jīng)日趨完善。尤其是近年來,隨著超大規(guī)模集成電路技術和計算機技術的迅速發(fā)展,出現(xiàn)了許多性能優(yōu)異的高速信號處理專用芯片和高性能的通用計算機,為信號處理,特別是自適應信號處理的發(fā)展和應用提供了重要的物質(zhì)基礎。另一方面,信號處理理論和應用的發(fā)展,也為自適應信號處理的進一步發(fā)展提供了必要的理論基礎。自適應信號處理已經(jīng)在諸如噪聲對消,信道均衡,線形預測等方面得到廣泛的應用。
本文主要研究的是自適應信號處理中一些基本的算法,如:LMS,RLS,NLMS等。在學習和總結前人工作的基礎上,對各種算法進行了詳細的推導,分析了它們的特點及性能,諸如穩(wěn)態(tài)特性,收斂條件及參數(shù)的取值。對其中的兩個基本算法LMS和RLS算法在收斂性和穩(wěn)定性進行了分析比較,并用matlab仿真得到驗證。最后對自適應處理的一些應用作了簡要說明,如:噪聲對消,信道均衡,線性預測及陷波器等,并對其進行了仿真。
1.1 研究的目的和意義
常規(guī)的信號處理系統(tǒng),利用自身的傳輸特性來抑制信號中的干擾成分,對不同頻率的信號有不同的增益,通過放大某些頻率的信號,而使另一些頻率的信號得到抑制。由于其內(nèi)部參數(shù)的固定性,消除干擾的效果受到很大的限制。通常許多情況下,并不能得到信道中有用信號和干擾信號的特性或者它們隨時間變化,采用固定參數(shù)的濾波器往往無法達到最優(yōu)濾波效果。在這種情況下,可以用自適應處理系統(tǒng),來跟蹤信號和噪聲的變化。
自適應系統(tǒng)可以利用前一時刻已經(jīng)獲得的濾波器參數(shù)等結果,自動的調(diào)節(jié)現(xiàn)時刻的濾波器參數(shù),以適應信號和干擾未知的或隨時間變化的統(tǒng)計特性,從而實現(xiàn)最優(yōu)濾波。正是由于它在設計時需要很少或者無需任何關于信號和干擾的先驗知識就可以完成的優(yōu)點,所以發(fā)展很快,并得到廣泛的應用。 1.2 自適應系統(tǒng)的組成
自適應系統(tǒng)和常規(guī)系統(tǒng)類似,可以分為開環(huán)自適應和閉環(huán)自適應兩種類型。開環(huán)自適應系統(tǒng)主要是對輸入信號或信號環(huán)境進行測量,并用測量得到的信息形成公式或算法,用以調(diào)整自適應系統(tǒng)自身;而閉環(huán)自適應系統(tǒng)還利用系統(tǒng)調(diào)整得到的結果的有關知識去優(yōu)化系統(tǒng)的某種性能,即是一種帶“性能反饋”的自適應系統(tǒng)。
下圖a表示一個開環(huán)自適應系統(tǒng),控制該系統(tǒng)的自適應算法僅由輸入確定。圖b則表示一個閉環(huán)自適應系統(tǒng),控制該系統(tǒng)響應的自適應算法除了取決于輸入外,還依賴系統(tǒng)輸出的結果。
1.3基本自適應算法
這里主要介紹LMS,RLS,NLMS三種基本算法。
LMS算法是最被廣泛應用的濾波器演算法,最大的特點就是計算量小,易于實現(xiàn)。基于最小均方誤差準則,LMS算法使濾波器的輸出信號與期望輸出信號之間的均方誤差最小。運算過程不需要對相關函數(shù)及復雜的反矩陣做運算,所以經(jīng)常拿來用作比較的基準。
LMS算法為了便于其實現(xiàn),采用誤差輸出模的瞬時平方值(即瞬時功率) 的梯度來近似代替均方誤差 的梯度。實際上我們可以直接考察一個由平穩(wěn)信號輸入的自適應系統(tǒng)在一段時間內(nèi)輸出誤差信號的平均功率,即把平均功率達到最小作為測量自適應系統(tǒng)性能的準則,這就是RLS算法。換句話說,LMS算法是將輸出誤差信號的平均平方值 最小化,而RLS算法是將輸出誤差信號平方值總和最小化。雖然RLS算法復雜度和階數(shù)平方成正比,但是由于它的收斂速度快,所以仍然受到廣泛的應用。
為克服常規(guī)的固定步長LMS自適應算法在收斂速率,跟蹤速率與權失調(diào)噪聲之間的要求上存在的較大矛盾,許多學者提出了各種各樣的改進型LMS算法。比如歸一化LMS,基于瞬變步長LMS以及基于離散小波變換的LMS自適應濾波算法。這里我們討論歸一化的LMS算法,即NLMS算法。
以上這些算法主要特點是不需要離線方式的梯度估值或者重復使用樣本數(shù)據(jù),而只需在每次迭代時對數(shù)據(jù)作“瞬時”梯度估計。因此自適應過程中的迭代比較簡單,收斂速度比較快。
1.4 Matlab語言介紹
本文的算法仿真采用了MATLAB語言。MATLAB是Mathworks公司于20世紀80年代推出的數(shù)值計算軟件,近些年來得到了廣泛的應用。MATLAB的全稱是Matrix Laboratory,意思是矩陣實驗室。它是以矩陣運算為基礎的新一代程序語言。與Fortran和C相比,MATLAB語句顯得簡單明了,更加符合人們平常的思維習慣。同時,MATLABB有著良好的數(shù)據(jù)可視化功能,能將數(shù)字結果以圖形的方式表現(xiàn)出來,讓人們一目了然。這些特點使得MATLAB從眾多數(shù)值計算語言中脫穎而出,并正以相當快的速度在科學研究和工程計算中得到應用和普及。
MATLAB有著非常強大的數(shù)值計算能力,它以矩陣為基本單位進行計算,數(shù)域擴展到復數(shù),這一特點決定了MATLAB有著非凡的解決數(shù)值問題的能力。繪圖方面,MATLAB的繪圖語句簡單明了,功能齊全。它能夠在不同坐標系里繪制二維、三維圖形,并能夠用不同顏色和線型來描繪曲線。正是由于MATLAB這些特點,從而使它適合與進行自適應算法仿真。 2 基本自適應算法的分析與Matlab仿真
2.1最小均方誤差(LMS)自適應算法
2.1.1LMS自適應濾波器基本原理
SHAPE \* MERGEFORMAT
圖2.1.1 LMS自適應濾波器原理框圖
圖2.1.1中, 表示時刻 的輸入信號, 表示時刻 的輸出信號, 表示時刻 的參考信號或期望響應信號, 表示時刻 的誤差信號。誤差信號為期望響應信號 與輸出信號 之差,記為 。自適應濾波器的系統(tǒng)參數(shù)受誤差信號控制,并根據(jù) 的值而自動調(diào)整,使之適合下一時刻 的輸入 ,以使輸出信號 更加接近期望信號 ,并使誤差信號 進一步減小。當均方誤差 達到最小值時, 最佳地逼近 ,系統(tǒng)已經(jīng)適應了外界環(huán)境。
2.1.2E[e2(n)]與權值W的關系
LMS自適應濾波器通過算法,當 最小時,濾波器已經(jīng)調(diào)節(jié)出適合現(xiàn)在外部環(huán)境的濾波器權值W。
(1)我們可以先推導出 與加權系數(shù)W的關系式。
可以從上式看出均方誤差 是加權系數(shù) 的二次函數(shù),它是一個中間上凹的超拋物形曲面,是具有唯一最小值的函數(shù)。即 與 的關系在幾何上是一個“碗形”的多維曲面。為了簡單,設 是一維的,則與 的關系成為一個拋物線。調(diào)節(jié)加權系數(shù) 使均方誤差最小,相當于沿超拋物形曲面下降到最小值。連續(xù)地調(diào)節(jié)加權系數(shù)使均方誤差最小,即尋找“碗”的底點。碗底: ,即 點。
2.1.3 LMS算法推導
最小均方差(LMS)算法,即權系數(shù)遞推修正達到最佳權系數(shù) 是依據(jù)最小均方算法。最陡下降法(Steepest Descent Method)是LMS算法的基礎,即下一時刻權系數(shù)矢量 應該等于“現(xiàn)時刻”權系數(shù)矢量 加上一項比例為負的均方誤差函數(shù)的梯度 ,即
式(2.1.3.1)
其中 為
式(2.1.3.2)
為控制收斂速度與穩(wěn)定性的數(shù)量常數(shù),稱為收斂因子或自適應常數(shù)。式(2.1.3.1)中第二項前的負號表示當梯度值為正時,則權系數(shù)應該小,以使 下降。根據(jù)式(2.1.3.1)的遞推算法,當權系數(shù)達到穩(wěn)定時,一定有 ,即均方誤差達到極小,這時權系數(shù)一定達到所要求的最佳權系數(shù) 。LMS算法有兩個關鍵:梯度 的計算以及收斂因子 的選擇。按(2.1.3.2)計算 時,要用到統(tǒng)計量G,P,因此有很大困難,故通常用一種粗糙,但卻有效的方法,就是 用 代替,即
式(2.1.3.3)
式(2.1.2.3)的含義是指單個誤差樣本的平方 作為均方誤差 的估計值,從而使計算量大大減少。從而最終可以推出權系數(shù)迭代的LMS算法為:
式(2.1.3.4)
為輸入樣本向量,只要給定系數(shù)迭代的初值 ,根據(jù)上式可以逐步遞推得到最佳權系數(shù),并計算出濾波器誤差輸出。下圖為LMS算法的流程圖:
SHAPE \* MERGEFORMAT
2.1.4 LMS算法的參數(shù)分析
LMS算法所用到計算式如下:
系統(tǒng)輸出:
誤差估計:
權值更新:
其中 為信號輸出, 為輸入向量, 為誤差值, 為權值向量, 為期望值, 為步長。在LMS算法中步長值 的取舍問題非常重要,直接影響了算法的收斂速度。 值是用來調(diào)整加權參數(shù)的修正速度,若 值取的過小,收斂速度就會過于緩慢,當取的過大時,又會造成系統(tǒng)收斂的不穩(wěn)定,導致發(fā)散。所以選取最佳的 值是LMS算法中一個重要的問題。具體收斂條件可由下面的式子分析得出:
可以以得出收斂條件 及
其中 是輸入相關矩陣 的最大特征值。
2.1.5 LMS算法的仿真分析
圖(2.1.5.1)
上面為輸入信號與輸出信號圖示。輸入信號采用正態(tài)隨機信號加上高斯白噪聲。可以看出輸出信號經(jīng)過一段時間基本達到跟蹤,濾波的效果。
圖(2.1.5.2)
圖(2.1.5.3)
上面兩圖分別是誤差曲線和誤差平方均值曲線,可以看出信號經(jīng)過自適應濾波器后經(jīng)過一段訓練時間誤差基本趨于收斂,即外界信號已經(jīng)完成自適應過程,濾波器已經(jīng)將權值調(diào)節(jié)至最佳,可以輸出得到所期望的有用信號。
前面已經(jīng)討論過步長 值對系統(tǒng)收斂的影響,下面分別取 =0.001和 =0.005用matlab仿真來觀察它們各自收斂情況。系統(tǒng)采用同一輸入信號和噪聲,信噪比SNR=5。