余尤好,沈文龍,黃春先,陳 瑋
(莆田學(xué)院電子信息工程系,福建 莆田 351100)
自從人類發(fā)明電話以后,電話成為人類溝通的橋梁,是日常生活中必不可少的通訊工具.電磁污染是直接威脅電子通訊設(shè)備安全經(jīng)濟運行,威脅人類身心健康的三大污染源之一,已引起國際社會的高度重視.電流噪聲不但影響了話音質(zhì)量,也給通話雙方帶來了煩惱和不便.電話去噪的主要目的有兩個:一是改進聽筒話音質(zhì)量,消除背景噪聲,使聽者沒有疲勞感,樂于接受;二是提高話音的可懂度.神經(jīng)網(wǎng)絡(luò)的自適應(yīng)能力使它成為各類信號加工處理的重要工具,在自適應(yīng)濾波、信號檢測、移動通信等方面得到較為廣泛的應(yīng)用.
自適應(yīng)線性神經(jīng)元ADALINE(Adaptive Linear Neuron)是19世紀60年代美國斯坦福大學(xué)兩位教授威德羅和霍夫提出的,采用比感知器更復(fù)雜的學(xué)習(xí)算法,該算法稱為 LMS(least mean squares)算法[1].LMS的學(xué)習(xí)規(guī)則能夠使均方誤差最小,從而使判決邊界盡可能遠離分類模式,增強了網(wǎng)絡(luò)的抗干擾能力,可以實現(xiàn)高性能自適應(yīng)濾波器的設(shè)計[2].
通常情況下,語音通信需要面對復(fù)雜的噪聲環(huán)境,但是在片段區(qū)間內(nèi),引起噪聲的物理環(huán)境在統(tǒng)計特性上不會有顯著的變化,由此產(chǎn)生的噪聲環(huán)境也不會發(fā)生明顯改變,這為線性自適應(yīng)神經(jīng)網(wǎng)絡(luò)應(yīng)用于語音信號消噪處理創(chuàng)造了有利條件[3].ADALINE神經(jīng)網(wǎng)絡(luò)是一個可調(diào)的自適應(yīng)網(wǎng)絡(luò),模型如圖1所示,它的傳輸函數(shù)為線性函數(shù).線性神經(jīng)網(wǎng)絡(luò)層的輸出為
式中a代表神經(jīng)元的實際輸出值,為模擬量;W代表權(quán)值矩陣;b代表閾值向量;p代表輸入向量.在有些應(yīng)用中,系統(tǒng)的輸出不是取自線性神經(jīng)元的輸出,而是把目標響應(yīng)t和模擬輸出量a相減,得到誤差向量 e作為輸出[4].
圖1 ADALINE神經(jīng)網(wǎng)絡(luò)模型
線性系統(tǒng)根據(jù)給定的輸入和目標向量,可以算出輸出和目標向量的最小誤差值.對于自適應(yīng)線性神經(jīng)網(wǎng)絡(luò)可以直接求解網(wǎng)絡(luò)的W和b而不需要訓(xùn)練,當(dāng)網(wǎng)絡(luò)有多個零誤差解的時候,可以取誤差平方和最小的一組W和b.若無法直接求出W和b,ADALINE神經(jīng)網(wǎng)絡(luò)可以采用LMS算法來調(diào)整W和b,這種算法是沿誤差梯度的反方向?qū)ι弦淮蔚募訖?quán)向量進行修正[5].
對于訓(xùn)練樣本{p1,t1},{p2,t2},…,{pQ,tQ},LMS算法的目的是尋找最佳的閾值和權(quán)值,使ADALINE神經(jīng)網(wǎng)絡(luò)的輸出和目標值均方誤差最小.
式中:mse為均方誤差;Q為樣本個數(shù);a為ADALINE的實際輸出值;t為ADALINE輸出的期望值.
為了得到合適的閾值和權(quán)值,使每個神經(jīng)元輸出的均方誤差最小,以x代表閾值或權(quán)值,對(2)式求偏導(dǎo)數(shù)得
令它等于0,可得mse的極點.由于均方誤差只能取正值,所以極值點必為極小值.當(dāng)輸入多維向量時,計算量太大,難以得出正確結(jié)果.通常采用搜索優(yōu)化法,假設(shè)第k次訓(xùn)練獲得相應(yīng)的閾值和權(quán)值,然后找出梯度的反方向,即曲面上該點斜率最大的下降方向,沿此方向?qū)λM行修正,得到線性神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值的調(diào)整公式如下
式中α為學(xué)習(xí)速率,決定權(quán)值和閾值的收斂速度以及穩(wěn)定性[6].α值取得越大,學(xué)習(xí)速度就越快,但學(xué)習(xí)速率取太大反而會出現(xiàn)修正過度,使系統(tǒng)失去穩(wěn)定,最終結(jié)果反而誤差更大[7].仿真過程需要多次對它進行調(diào)整,以期獲得較好結(jié)果.
利用自適應(yīng)線性神經(jīng)網(wǎng)絡(luò)去噪原理如圖2所示.信號源的輸出表示有用信號,n0為與s不相關(guān)的隨機噪聲,n1為與噪音信號n0相關(guān)的參考輸入信號.s+n0為ADALINE神經(jīng)元的期望輸出信號,y為ADALINE神經(jīng)元的實際輸出,兩者通過減法器后得到誤差信號,作為系統(tǒng)的輸出以ε表示.
由于 s和n0,n1沒有相關(guān)性,所以 E[s·(n0-y)]=0,則 E[ε2]=E[s2]+E[(n0-y)2],通過線性神經(jīng)網(wǎng)絡(luò)調(diào)節(jié),得到
式中,Emin[(n0- y)2]當(dāng)趨于0時,即y趨于n0,其輸出ε等于s,此時噪音信號被消除.
圖2 去噪原理
圖3 信號加噪、去噪效果對比
圖4 電話語音信號加噪、去噪后時域、頻域波形
根據(jù)以上分析,假設(shè)噪聲源為一隨機噪聲,把一簡單信號與隨機噪聲之和作為ADALINE神經(jīng)元的目標向量;輸出信號為網(wǎng)絡(luò)調(diào)整過程中的誤差信號.從圖3中可以看出,輸出信號波形與輸入信號波形基本一致,消除了疊加的隨機噪聲.
人類說話的語音頻率范圍一般在300Hz~3400kHz之間,電話所使用的頻率范圍在 0~3500Hz之間,更高的頻率在接入交換機時被低通濾波器過濾掉.根據(jù)國際電報電話咨詢委員會(CCITT)的長途通信協(xié)議標準,目前各國一般采用的聲音采樣頻率為8kHz.在仿真過程中,錄制一段語音信號,采樣頻率為8kHz,疊加上一個隨機噪聲,其幅度是語音信號最大幅度的2倍,如圖4所示.
從時域和頻域觀察,加噪后語音信號完全淹沒在噪聲中.要在這種惡劣條件下對語音信號進行濾波,提取出有用的通話語音信號,經(jīng)典濾波器根本無法實現(xiàn).從圖中可以看到,有用語音信號和噪聲的頻譜完全混疊在一起.當(dāng)噪聲幅度較小信噪比較大時,可以采用小波變換、譜減法等來去噪,但是隨著噪聲幅度增大,效果很不理想,難以有效濾除噪聲、最大限度地恢復(fù)信號.
圖中帶噪語音信號聽起來是非常明亮刺耳的“咝”聲,根本無法察覺話音的存在.采用ADALINE神經(jīng)網(wǎng)絡(luò)去噪處理后,信噪比由負值轉(zhuǎn)為正值,達到21分貝,經(jīng)過人耳實際感官測試,語音質(zhì)量與原始信號幾乎一致,效果令人滿意[8].從頻譜上觀察,去噪后還存在細小高頻噪聲,但不影響電話通話信息的有效傳遞,可以用低通濾波器加以消除.
通過仿真驗證了神經(jīng)網(wǎng)絡(luò)應(yīng)用于電話去噪的有效性,由于采用LMS學(xué)習(xí)算法,誤差與權(quán)值構(gòu)成的拋物面只有一個極小值點,需要多次訓(xùn)練才能獲得較準確的結(jié)果.只有在速率較小的情況下,才能保證學(xué)習(xí)收斂.仿真過程中采用恒定學(xué)習(xí)速率,為了改進算法,可以采用時變的學(xué)習(xí)速率.
[1]李作進.中醫(yī)脈象信號的統(tǒng)計分析[D].重慶:重慶大學(xué),2007:5-6.
[2]周開利,康耀紅.神經(jīng)網(wǎng)絡(luò)模型及其MATLAB仿真程序設(shè)計[M].北京:清華大學(xué)出版社,2005:60-62.
[3]韓玥,張亦軍等.一種基于ADALINE網(wǎng)絡(luò)的自適應(yīng)濾波語音降噪方法[J].鄭州輕工業(yè)學(xué)院學(xué)報,2007,22(2):85-87.
[4]李政洋.基于AD神經(jīng)網(wǎng)絡(luò)的語音增強[D].江蘇:蘇州大學(xué),2008:26-27.
[5]郭峰,任興民等.基于神經(jīng)網(wǎng)絡(luò)消噪的獨立成分分析方法研究[J].機械科學(xué)與技術(shù),2010,29(12):1678-1682.
[6]楊克己.基于神經(jīng)網(wǎng)絡(luò)的自適應(yīng)濾波技術(shù)及其在超聲檢測中的應(yīng)用[J].儀器儀表學(xué)報,2005,26(8):813 -817.
[7]張帆.Adaline神經(jīng)網(wǎng)絡(luò)隨機逼近LMS算法的仿真研究[J].電子設(shè)計工程,2009,17(9):88 -90.
[8]孫靜,陶智等.基于AD神經(jīng)網(wǎng)絡(luò)的耳語音增強的研究[J].計算機工程與應(yīng)用,2007,43(29):242 -244.