余尤好
(莆田學(xué)院電子信息工程系,福建 莆田 351100)
通信系統(tǒng)聲學(xué)回音包括直接回音和間接回音.直接回音是指由說話者發(fā)出的聲音經(jīng)過不同路徑一次或多次反射后進入麥克風(fēng)所產(chǎn)生的回音,常見情況是受話方將聽到一前一后兩個聲音.間接回音是指聲音由遠端受話方的揚聲器播出后進入對方麥克風(fēng)傳遞回來,說話方將聽到對方聲音和自己延時的聲音.為控制回音的影響,人們先后提出網(wǎng)絡(luò)衰減法和回音抑制器技術(shù),但是它們都存在較大缺陷和局限性.網(wǎng)絡(luò)衰減法在發(fā)送端和接收端都裝有衰減器,但是隨著傳輸距離變長,話音電平衰減太大.回音抑制器在發(fā)送端說話時,打開發(fā)送路徑,而在接收端關(guān)閉發(fā)送路徑,它采用非線性回音控制方法,容易引起揚聲器聲音斷斷續(xù)續(xù),回聲消除效果不好,具體實現(xiàn)時比較困難.回音對消的核心技術(shù)就是采用自適應(yīng)算法的濾波器,自適應(yīng)神經(jīng)網(wǎng)絡(luò)具有自學(xué)習(xí)能力,采用均方誤差最小的學(xué)習(xí)規(guī)則自動調(diào)整網(wǎng)絡(luò)權(quán)值和閾值,收斂速度快、穩(wěn)定性高、易于實現(xiàn),非常適合用于各類信號的分析處理,尤其是信號處理中的非線性問題.神經(jīng)網(wǎng)絡(luò)在通信系統(tǒng)、自適應(yīng)濾波、弱信號檢測等方面得以廣泛應(yīng)用.
自適應(yīng)線性神經(jīng)元(Adaptive Linear Neuron,以下簡稱:ADALINE)是線性神經(jīng)網(wǎng)絡(luò)最早的典型代表,它采用最小均方誤差(Least Mean Squares,以下簡稱:LMS)算法,由其訓(xùn)練的網(wǎng)絡(luò)判決邊界距離分類模式較遠,網(wǎng)絡(luò)抗干擾能力較強,可以實現(xiàn)高性能自適應(yīng)濾波器的設(shè)計.
ADALINE是一個自適應(yīng)可調(diào)的網(wǎng)絡(luò),廣泛應(yīng)用于信號處理中的自適應(yīng)濾波、預(yù)測和模型識別.ADALINE模型如圖1所示,它的傳輸函數(shù)為線性函數(shù),線性神經(jīng)網(wǎng)絡(luò)的輸出為:
a=purelin(Wp+b)=Wp+b
(1)
式(1)中:a為模擬量,代表神經(jīng)網(wǎng)絡(luò)的實際輸出;purelin表示線性傳輸函數(shù);W表示由權(quán)值w1,w2,…,wm構(gòu)成的矩陣;b代表閾值向量;p是系統(tǒng)的輸入向量.有些情況下自適應(yīng)線性神經(jīng)網(wǎng)絡(luò)的輸出不是取自線性神經(jīng)元的輸出,而是將目標(biāo)響應(yīng)t(即神經(jīng)元輸出的期望值)與模擬輸出量a相減,得到誤差信號e作為輸出[1].
圖1 自適應(yīng)線性神經(jīng)元模型Fig.1 Model of adaptive linear neuron
對于線性神經(jīng)網(wǎng)絡(luò)可以直接求網(wǎng)絡(luò)的W和b而不需要訓(xùn)練,若網(wǎng)絡(luò)不止一個零誤差解,可以取誤差最小一組的閾值和權(quán)值向量.如果網(wǎng)絡(luò)零誤差解不存在,那么可以取誤差平方和最小那組的閾值和權(quán)值.由于線性系統(tǒng)有唯一誤差最小值,所以根據(jù)給定的一組輸入向量和目標(biāo)向量,可以算出實際輸出向量和目標(biāo)向量的誤差最小值.若無法直接求出W和b,ADALINE神經(jīng)網(wǎng)絡(luò)可以采用LMS算法來調(diào)整W和b,這種方法是沿誤差最陡下降方向?qū)ι弦徊降玫降臋?quán)值向量進行修正[2].
對多組訓(xùn)練樣本{p1,t1},{p2,t2},…,{pQ,tQ},LMS算法的目的是尋找最佳的W、b,使各神經(jīng)元輸出的均方誤差最小.神經(jīng)元輸出的均方誤差為:
(2)
式(2)中:mse為神經(jīng)元的均方誤差;Q為訓(xùn)練樣本個數(shù);a為神經(jīng)元輸出的實際值;t為神經(jīng)元輸出的期望值.
為了尋找最佳的W、b使每個神經(jīng)元輸出的均方誤差最小,將mse分別對W和b求偏導(dǎo)數(shù),令其等于0,聯(lián)立方程組即可求得mse的極值點.由于mse只能是正值,所以極值點必為極小值.當(dāng)輸入向量的維數(shù)較高時,計算很麻煩.通常采用搜索優(yōu)化法,假設(shè)獲得的第k次訓(xùn)練結(jié)果為W(k)和b(k),找出曲面上該點最陡下降方向,沿這個方向?qū)λM行修正.求解均方誤差的梯度運算量較大,可以用誤差平方的梯度來近似表示:
(3)
(4)
由公式(3)和(4)得到自適應(yīng)線性神經(jīng)網(wǎng)絡(luò)W和b的調(diào)整公式為:
W(k+1)=W(k)+2βe(k)pT
,
(5)
b(k+1)=b(k)+2βe(k)
.
(6)
式(5)、(6)中:β為學(xué)習(xí)速率,是決定W和b的收斂速度和穩(wěn)定性的參數(shù).β取值越大,學(xué)習(xí)速度就越快,但是如果取太大將會造成修正過度,系統(tǒng)變得不穩(wěn)定,產(chǎn)生更大的誤差[3].
應(yīng)用ADALINE神經(jīng)網(wǎng)絡(luò)消除回音的原理框圖如圖2所示.圖2中:s表示原始輸入信號,即通話時希望聽到的對方語音信號;n1表示通信系統(tǒng)的回音信號,即需要消除的噪聲信號;n0為與回音信號n1相關(guān)的參考輸入信號,也就是n1在傳輸過程發(fā)生非線性變換后得到的信號;s+n0作為ADALINE神經(jīng)元的期望輸出信號;y為回音信號經(jīng)過ADALINE神經(jīng)元自適應(yīng)調(diào)節(jié)后得到的實際輸出,接近于n0;期望輸出信號與實際輸出信號通過減法器后得到誤差信號,作為系統(tǒng)的輸出以ε表示,即ε=s+n0-y.則有
E(ε2)=E[(s+n0-y)2]=
E(s2)+2E[s·(n0-y)]+E[(n0-y)2]
.
通過自適應(yīng)線性神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)步長和訓(xùn)練次數(shù)的調(diào)節(jié),使誤差信號最小,得到
Emin(ε2)=Emin(s2)+2Emin[s·(n0-y)]+
Emin[(n0-y)2]
,
(7)
式(7)中:當(dāng)y接近于n0時,其輸出ε與信號源輸入s差值約等于0,此時回音信號被消除[4].特別是對于間接回音信號的消除,此時信號源信號與回音信號線性無關(guān),從而E[s·(n0-y)]=0,運算過程較為簡便.
圖2 回音對消原理圖Fig.2 Principle diagram of echo cancellation
根據(jù)國際電報電話咨詢委員會(International Telegraph and Telephone Consultative Committee,簡稱:CCITT)的長途通信協(xié)議標(biāo)準(zhǔn),目前各國一般采用的話音采樣頻率為8 kHz.當(dāng)聲音延遲達到50 ms而且衰減較小時,人耳可以感覺到清晰的回音.仿真時錄制一段話音作為原始語音信號,采樣頻率為8 kHz,延時1 s并把幅度降低到原來的60%作為回音信號.將回音信號作為自適應(yīng)線性神經(jīng)元的輸入向量n1,原始語音信號與回音之和作為神經(jīng)元的目標(biāo)向量,通過回音對消后,系統(tǒng)可以得到較為清晰的自身話音信號,通過話筒傳遞到對方,受話人不會感覺到回音.
MATLAB軟件是面對科學(xué)計算、可視化以及交互式程序設(shè)計的計算環(huán)境,利用它可以構(gòu)建仿真系統(tǒng),并繪制出話音信號的頻譜圖、語譜圖.圖3為直接回音消除時域、頻域波形圖,疊加回音信號后,時域中話音信號時間長度增加了,頻域中各頻率分量幅度變?yōu)樵鹊?.6倍.利用自適應(yīng)線性神經(jīng)網(wǎng)絡(luò)實現(xiàn)回音對消后,時域、頻域波形基本與原語音信號一致.把回音視為噪聲,經(jīng)過計算得出濾波前帶回音信號信噪比約為4.437 0分貝,濾波后信噪比達到20.717 7分貝[5].
圖3 直接回音消除時域、頻域波形Fig.3 Waveform of direct echo cancellation in time and frequency domain
圖4為直接回音消除語音信號的語譜圖,原語音信號大約3.7 s,后面黑色部分為靜音.疊加回音信號后,條紋變長了,而且信號持續(xù)時間變長.經(jīng)過神經(jīng)網(wǎng)絡(luò)回音對消后,聲紋重新變短,有用信號末尾的回音基本消失.
圖4 直接回音消除語譜圖Fig.4 Spectrogram of direct echo cancellation
以采樣頻率8 kHz錄制兩段話音,其中一個為男性聲音,另一個為女性聲音.為了實驗方便,假設(shè)女性聲音為電話遠端即受話人發(fā)出的聲音.將男性聲音作為回音信號n1輸入到ADALINE系統(tǒng)中,疊加上對方聲音的信號作為目標(biāo)響應(yīng),通過回音對消系統(tǒng)可以獲得清晰的來自對方的語音信號.
圖5為間接回音消除時域、頻域波形圖.兩個聲音相加,頻譜混疊在一起,通過經(jīng)典濾波器、譜減法或小波變換等很難把有用的信號提取出來[6].經(jīng)過自適應(yīng)線性神經(jīng)網(wǎng)絡(luò)回音對消后,可以較好地還原出所需要的話音信號,濾波前信號信噪比約為3.659 2分貝,濾波后信噪比達到20.479 3分貝.
圖5 間接回音消除時域、頻域波形Fig.5 Waveform of indirect echo cancellation in time and frequency domain
圖6為間接回音消除語譜圖,兩者聲音疊加后,聲紋較為紊亂.經(jīng)過自適應(yīng)線性神經(jīng)網(wǎng)絡(luò)回音對消后,語譜圖特征與受話端發(fā)出的語音信號特征基本一致,回音信號基本消除.這樣就可以清楚地聽到對方說話,而不會受到自己說話回音的干擾.
圖6 間接回音消除語譜圖Fig.6 Spectrogram of indirect echo cancellation
通過實驗發(fā)現(xiàn),應(yīng)當(dāng)多次調(diào)整學(xué)習(xí)速率,太大不行,太小也不行.太小了學(xué)習(xí)過程變得漫長,而且回音信號并沒有被削弱,效果不理想.太大了學(xué)習(xí)過程將不穩(wěn)定,雖然程序運行時間較短,但是存在很大的誤差,得到錯誤結(jié)果.特別在直接回音信號消除過程中,回音信號不同于其它噪聲,它與信號源存在相關(guān)性,容易把自身信號當(dāng)作噪聲一并消除而使系統(tǒng)輸出結(jié)果趨于零.仿真過程神經(jīng)網(wǎng)絡(luò)訓(xùn)練值重復(fù)次數(shù)要設(shè)置得比較大,否則無法有效消除回音,即使這樣人耳還是可以感受到微弱的回音.不過在實驗過程中電話回音幅度設(shè)置較大,實際情況下回音經(jīng)過反射物后能量受到較大削弱,經(jīng)過自適應(yīng)線性神經(jīng)網(wǎng)絡(luò)對消后基本可以忽略,通話者感覺不到回音存在.
把自適應(yīng)線性神經(jīng)網(wǎng)絡(luò)應(yīng)用于通信系統(tǒng)回音消除,成功實現(xiàn)了電話回音的對消,獲得較高的信噪比.在回音對消過程中,根據(jù)實際情況,還可以從一些地方加以改善,比如參數(shù)的合理選擇、如何更好地解決收斂速度和穩(wěn)態(tài)殘留誤差之間的矛盾.實現(xiàn)理想穩(wěn)定的回音對消效果還存在一些難點,需要在實踐過程中不斷地完善算法.
參考文獻:
[1] 周開利,康耀紅. 神經(jīng)網(wǎng)絡(luò)模型及其MATLAB仿真程序設(shè)計[M]. 北京:清華大學(xué)出版社,2005.
[2] 郭峰,任興民,劉婷婷. 基于神經(jīng)網(wǎng)絡(luò)消噪的獨立成分分析方法研究[J]. 機械科學(xué)與技術(shù),2010,29(12):1678-1682.
[3] 張帆. Adaline神經(jīng)網(wǎng)絡(luò)隨機逼近LMS算法的仿真研究[J]. 電子設(shè)計工程,2009,17(9):88-90.
[4] 董翠英,周長英. 基于RBF神經(jīng)網(wǎng)絡(luò)的語音信號的噪聲消除[J]. 制造業(yè)自動化,2010,32(5):228-230.
[5] 高寧,鄭恩讓,馬令坤,等. 基于神經(jīng)元網(wǎng)絡(luò)的自適應(yīng)噪聲抵消系統(tǒng)研究與實現(xiàn)[J].計算機測量與控制,2010,18(1):133-135.
[6] 李政洋. 基于AD神經(jīng)網(wǎng)絡(luò)的語音增強[D]. 蘇州:蘇州大學(xué),2008.