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