康彩麗
(山西大同大學(xué)渾源師范分校,山西 渾源 037400)
在信號(hào)處理領(lǐng)域中,噪聲的消除是一個(gè)核心問題。常見的最優(yōu)濾波器有維納濾波器、卡爾曼濾波器。這兩種濾波器在進(jìn)行濾波時(shí),都需要預(yù)先知道信號(hào)和噪聲的統(tǒng)計(jì)關(guān)系,但在實(shí)際的噪聲消除中,它們并不可能知道,所以開發(fā)出自適應(yīng)的濾波器。在20世紀(jì)中期,人們研制了第一個(gè)可以自動(dòng)消除噪聲的系統(tǒng)。隨著科學(xué)技術(shù)的飛速發(fā)展,計(jì)算機(jī)技術(shù)快速提高,自適應(yīng)算法也油然而生。在實(shí)際的噪聲抵消的使用上,技術(shù)有所的提高,理論也得到很大的完善。在不知道外部干擾源的特性,傳輸模式的連續(xù)變化,背景噪聲和被測(cè)目標(biāo)的聲波的情況下,使用噪聲自適應(yīng)消除技術(shù)可以非常有效地消除外部噪聲源干擾。這種技術(shù)在信號(hào)處理領(lǐng)域中噪聲的消除具有很大的意義[1-5]。
論文主要是研究基于BP神經(jīng)網(wǎng)絡(luò)的自適應(yīng)噪聲抵消問題,通過BP網(wǎng)絡(luò)的建模對(duì)其進(jìn)行仿真測(cè)試,得出實(shí)驗(yàn)結(jié)論。
神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)是指神經(jīng)元之間的互連結(jié)構(gòu)。BP 神經(jīng)網(wǎng)絡(luò)采用的是并行網(wǎng)格結(jié)構(gòu),包括輸入層、隱含層和輸出層,經(jīng)作用函數(shù)后,再把隱節(jié)點(diǎn)的輸出信號(hào)傳遞到輸出節(jié)點(diǎn),最后給出輸出結(jié)果。
圖1 BP網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖
圖中,X1,X2,…,Xn是BP神經(jīng)網(wǎng)絡(luò)的輸入值,Y1,Y2,…,Ym是BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)值,Wij和Wjk為BP神經(jīng)網(wǎng)絡(luò)權(quán)值。從圖中可以看出,BP神經(jīng)網(wǎng)絡(luò)可以看成一個(gè)非線性函數(shù),網(wǎng)絡(luò)輸入值和預(yù)測(cè)值分別為該函數(shù)的自變量和因變量。當(dāng)輸入節(jié)點(diǎn)數(shù)為n,輸出節(jié)點(diǎn)數(shù)為m時(shí),BP神經(jīng)網(wǎng)絡(luò)就表達(dá)了從n個(gè)自變量到m個(gè)因變量的函數(shù)映射關(guān)系。
進(jìn)行自動(dòng)消除的噪聲時(shí),需要兩個(gè)參數(shù),一個(gè)是原始輸入,另外一個(gè)是參考輸入,它是與原先噪聲所相關(guān)的信號(hào),用來抵消輸入信號(hào)中所包含的噪聲。圖2所描述的,是一個(gè)傳統(tǒng)的自適應(yīng)噪聲抵消器。
圖2 典型的自適應(yīng)噪聲抵消系統(tǒng)
其中,d(k)表示原始的輸入信號(hào),它是s(k)與z(k)的之和,s(k)代表的是信號(hào),而z(k)代表噪聲。x(k)表示信號(hào),是與z(k)相關(guān)的噪聲c(k)。
由圖2可得,濾波器輸出z′(k)為c(k)的過濾信號(hào)。因此,抵消系統(tǒng)輸出y(k)的求解公式為(1)。
y(k)=s(k)+z(k)-z′(k).
(1)
而在公式(2)中,
y2(k)=s2(k)+[z(k)-z′(k)]2+
2s(k)[z(k)-z′(k)]..
(2)
對(duì)上面的公式兩邊取數(shù)學(xué)期望,因?yàn)閟(k)與z(k)以及c(k)都不相關(guān),所以s(k)與z′(k)同時(shí)也不相關(guān),信號(hào)功率E[s2(k)]表達(dá)式見(3)式。
E[y2(k)]=E[s2(k)]+E[(z(k)-z′(k))2].
(3)
無論怎么改變自適應(yīng)濾波器的參數(shù),信號(hào)功率E[s2(k)]也不會(huì)發(fā)生改變,所以,要使E[y2(k)]最小,就必須調(diào)節(jié)E[(z(k)-z′(k))2]達(dá)到最小,E[(y(k)-s(k))2]同時(shí)也調(diào)節(jié)到最小,即輸出的信號(hào)變量y(k)與有用的信號(hào)變量s(k)的均方差值必須達(dá)到最小。
在理想的狀態(tài)下,z(k)=z′(k),則y(k)=s(k)。在這種情況下,自適應(yīng)濾波器可以繼續(xù)地調(diào)節(jié)其本身的脈沖響應(yīng),把c(k)經(jīng)過一系列加工變成z(k),然后與原始d(k)中的信號(hào)z(k)進(jìn)行相減,從而把y(k)中混有的噪聲完全被消除,最后與有用信號(hào)s(k)相等。
由上述可以證明,在自適應(yīng)濾波器中,要把噪聲全部得以消除:信號(hào)x(k)=c(k)必須與要抵消信號(hào)z(k)相關(guān)。
MATLAB的工具箱使用非常方便,提供的函數(shù)十分豐富,本實(shí)驗(yàn)在MATLAB環(huán)境下實(shí)現(xiàn),如圖3是進(jìn)行訓(xùn)練的流程圖。
通過構(gòu)造BP網(wǎng)絡(luò)模型,進(jìn)行多次迭代訓(xùn)練,得出構(gòu)造仿真系統(tǒng)所需的權(quán)值、閾值。通過運(yùn)行,可以得到參考的理想信號(hào)(如圖4)、有噪聲源信號(hào)(如圖5)、噪聲抵消輸出信號(hào)(如圖6)。
通過示波器可以觀察到理想信號(hào)、有噪聲源信號(hào)、經(jīng)過噪聲抵消后的輸出對(duì)比可以看出自適應(yīng)噪聲抵消系統(tǒng)起到了良好的效果。
圖3 BP網(wǎng)絡(luò)訓(xùn)練過程及算法流程
圖4 參考的理想信號(hào)
圖5 有噪聲源信號(hào)
圖6 噪聲抵消輸出信號(hào)
在信號(hào)中噪聲的消除問題在實(shí)際生活中是一個(gè)較為復(fù)雜的問題。本文詳細(xì)介紹了使用MATLAB仿真,使用BP算法代替濾波器中學(xué)習(xí)算法來實(shí)現(xiàn)噪聲的濾除。通過實(shí)驗(yàn)結(jié)果顯示,基于神經(jīng)網(wǎng)絡(luò)的自適應(yīng)濾波器在噪聲消除上有充分的優(yōu)越性。由于ANC方法得到更加廣泛的應(yīng)用,還有一些改進(jìn)的方法。