于新穎
(山西大學(xué)商務(wù)學(xué)院 信息學(xué)院,山西 太原 030031)
噪聲可以說無時無刻不存在于我們的生產(chǎn)和生活環(huán)境中,對有用信號構(gòu)成了干擾,尤其是在醫(yī)學(xué)有用信號的提取及軍事通訊等領(lǐng)域中,其噪聲更是存在著巨大的干擾甚至危害[1]。故,關(guān)于用來抑制噪聲甚至消除噪聲的自適應(yīng)的噪聲抵消系統(tǒng)的研究慢慢地變成了熱點話題[2]。目前,對于自適應(yīng)的噪聲抵消系統(tǒng)的探討包括算法的改進、濾波器結(jié)構(gòu)的完善以及參考信號的獲取等方面[3]。本文嘗試采用基本的LMS算法,在模擬輸入信號及干擾噪聲的條件下,觀察設(shè)計的自適應(yīng)噪聲抵消系統(tǒng)對于輸入信號的噪聲抵消效果,從而體現(xiàn)其在消噪方面的作用。
為了直觀地觀測到輸出波形曲線的變化情況,并減少大量語言編程的工作量,本文采用目前信號處理方面經(jīng)常應(yīng)用的MATLAB軟件,用其來進行自適應(yīng)噪聲抵消系統(tǒng)的仿真與分析。MATLAB軟件是由MathWorks公司研究生產(chǎn)的商業(yè)數(shù)學(xué)應(yīng)用軟件,其主要包含的兩大功能部件一是Simulink,可完成的功能主要包括動態(tài)創(chuàng)建及更改系統(tǒng)模型,模型的仿真驗證及系統(tǒng)的功能分析等;另一功能部件是編程界面,可完成信號算法的編程設(shè)計并自帶圖形仿真功能,能直觀地看到信號的曲線變化情況。MATLAB經(jīng)常應(yīng)用的場合包括嵌入式的系統(tǒng)設(shè)計、信號的分析和處理、線性及非線性的系統(tǒng)控制等領(lǐng)域。具有應(yīng)用領(lǐng)域廣泛、界面簡潔及上手容易等優(yōu)勢。
所以,借助MATLAB中的編程界面來完成LMS自適應(yīng)噪聲抵消系統(tǒng)的建立及仿真分析[4],設(shè)計者能通過較簡單的算法編程實現(xiàn)所設(shè)計的電路、并能形象地看到此系統(tǒng)對于信號的處理前后效果對比圖,這也比較符合當(dāng)前電路設(shè)計的基本趨勢。
當(dāng)輸入信號的部分或全部特性存在未知分量時,可根據(jù)某種制定好的優(yōu)化規(guī)則,從濾波器最初設(shè)定的濾波器系數(shù)開始完成濾波操作。在濾波的過程中,這種濾波器的參數(shù)并非是一成不變的,而是在每一個時刻都會按照設(shè)定好的噪聲抵消算法進行更新,直至到達規(guī)定好的遞推次數(shù)之后,最終根據(jù)統(tǒng)計學(xué)規(guī)律收斂于某一逼近值。所以說,自適應(yīng)噪聲抵消系統(tǒng)具有較強的自我更新和調(diào)節(jié)能力[5]。而這種能夠動態(tài)且自動地改善自身的濾波器參數(shù)、從而達到最佳濾波的特性,對于輸入信號隨時變化、周圍干擾未知性強的場合,其處理結(jié)果經(jīng)常能達到較好的效果。圖1為自適應(yīng)噪聲抵消器結(jié)構(gòu)圖。
圖1 自適噪聲抵消器的結(jié)構(gòu)圖
在本文中,自適應(yīng)濾波器的參數(shù)更迭的規(guī)律由最小均方誤差LMS算法控制。這種算法最早由Widrow以及Hoff提出,它的基本思想是將誤差信號的每次迭代更新的瞬時平方值代替其均方值,從而以求降低運算的工作量和復(fù)雜度。LMS算法的主要遞推公式如下所示:
e(m)=d(m)-WT(m)X(m).
(1)
W(m+1)=W(m)+2·μ·e(m)·X(m).
(2)
其中,X(m)=[x(m),x(m-1),…x(m-M+1)T]為輸入信號變量在不同時刻下的取值情況;y(m)為自適應(yīng)濾波器的輸出;d(m)為要逼近的期望信號;e(m)為誤差信號,由期望信號和濾波器的輸出信號求差產(chǎn)生;μ代表更新的步長,影響著整體噪聲抵消效果的收斂速率及最終的穩(wěn)定性。
在設(shè)計基于LMS算法的自適應(yīng)噪聲抵消系統(tǒng)時,主要設(shè)計思路可歸納為:依據(jù)LMS自適應(yīng)噪聲抵消器的結(jié)構(gòu)框圖和算法原理,利用MATLAB的編程界面完成輸入信號和噪聲信號的類型及頻率的選定,LMS算法的遞推編程以及輸出曲線的區(qū)域布置等。
圖2 自適應(yīng)噪聲抵消系統(tǒng)的部分算法
圖2是有用信號為正弦信號,參考輸入端的干擾信號為隨機信號時,基于LMS算法的自適應(yīng)噪聲抵消系統(tǒng)在MATLAB中編程的部分算法文件。
設(shè)一純凈的未受噪聲干擾的有用信號為一頻率為1000 Hz的正弦信號(圖3左),噪聲信號干擾后波形發(fā)生了變化(圖3右),噪聲干擾前后的信號對比圖如圖3所示。
圖3 純凈的有用信號與受噪聲干擾的原始輸入信號對比圖
將圖3中受噪聲干擾的信號經(jīng)過本文設(shè)計的自適應(yīng)噪聲抵消系統(tǒng)之后,處理前后的信號對比圖如圖4所示(圖4左為噪聲抵消器輸入端信號,圖4右為噪聲抵消器輸出端信號)。
圖4 自適應(yīng)噪聲抵消器處理前的原始輸入信號與處理后的誤差信號對比圖
為了更明確地看到被噪聲污染的有用信號被噪聲抵消器處理之后的還原情況,本文將未被噪聲干擾的有用信號(圖5左)和雖然被噪聲干擾但是經(jīng)自適應(yīng)噪聲抵消器處理之后的信號(圖5右)進行了如圖5的對比。
為了便于進一步細致觀察噪聲抵消的效果,本文將經(jīng)自適應(yīng)噪聲抵消系統(tǒng)處理之后的信號的曲線圖進行了局部放大,如圖6所示。
圖5 純凈的有用信號與抵消器輸出的誤差信號對比圖
圖6 自適應(yīng)噪聲抵消器處理后的信號局部放大圖
由圖3可知,有用信號被噪聲干擾后發(fā)生了較大的變化,有進行消噪的必要;由圖4可知,信號經(jīng)自適應(yīng)噪聲抵消系統(tǒng)處理之后,發(fā)生了明顯變化,且由圖5可知,這種變化的趨勢是噪聲抵消系統(tǒng)處理之后的信號更接近純凈的未受噪聲干擾的有用信號了,即消噪效果顯著。這種改善效果通過圖6的局部放大圖,可進一步得到確認(rèn)。說明編程設(shè)計的自適應(yīng)噪聲抵消系統(tǒng)可達到消噪的目的。
本文通過在MATLAB中編程設(shè)計基于LMS算法的自適應(yīng)噪聲抵消系統(tǒng),并對其噪聲抵消效果進行了干擾信號的仿真驗證,結(jié)果說明此自適應(yīng)噪聲抵消系統(tǒng)雖然算法較簡單,但是也能達到較好的消噪效果,為進一步的算法改進奠定了基礎(chǔ)。