(華池縣職業(yè)中等專業(yè)學(xué)校,甘肅 華池 745600)
在語(yǔ)音通信、數(shù)據(jù)通信等領(lǐng)域中,都不同程度地存在回波問(wèn)題,回波的存在影響了通信質(zhì)量,嚴(yán)重時(shí)會(huì)使通信系統(tǒng)不能正常工作[1]。因此,必須采取有效措施來(lái)抑制回波,消除其影響?;夭ㄏ峭ǔ2捎玫幕痉椒?,其基本思想是估計(jì)回波路徑的特征參數(shù),產(chǎn)生一個(gè)模擬的回波路徑,得出模擬回波信號(hào),從接收信號(hào)中減去該信號(hào),實(shí)現(xiàn)回波消除[2]。但是,在逼近信號(hào)(語(yǔ)音)活躍的情況下,使用線性回波消除方法來(lái)消除回波是比較困難的。
然而,根據(jù)現(xiàn)有研究現(xiàn)狀,對(duì)于稀疏脈沖響應(yīng)在時(shí)間頻率域中的修正,還沒有相關(guān)的研究工作。因此,在時(shí)頻域中研究稀疏脈沖響應(yīng)的修正,在許多應(yīng)用中具有很好的研究意義[3]。本文提出了適用于頻域痙攣脈沖響應(yīng)的LMS方法。當(dāng)標(biāo)簽信號(hào)處于激活狀態(tài)時(shí),基于LMS的算法的性能會(huì)下降。因此,將該算法與語(yǔ)音活動(dòng)檢測(cè)(VAD)結(jié)合使用,當(dāng)目標(biāo)信號(hào)激活時(shí),LMS的自適應(yīng)停止[4]。另一種解決方案采用盲源分離方法,旨在跟蹤目標(biāo)信號(hào)活動(dòng)在期間H(n)的變化。
在本文中結(jié)合了兩種觀點(diǎn):一種觀點(diǎn)是使用一個(gè)在混合信號(hào)上訓(xùn)練的深神經(jīng)網(wǎng)絡(luò)(DNN)來(lái)執(zhí)行一個(gè)與頻率相關(guān)的VAD;另一種觀點(diǎn)是,在與H(n)相關(guān)的頻域中,只有在目標(biāo)信號(hào)不活躍的頻率箱中才能觀測(cè)到傳輸。因此,本文采用基于DNN的VAD,它決定了目標(biāo)信號(hào)(語(yǔ)音)占主導(dǎo)地位的頻率。然后,將LMS應(yīng)用于只受干擾的頻率,由此得到不完全傳遞函數(shù)(ITF),ITF是使用基于凸重構(gòu)的方法完成。從而實(shí)現(xiàn)基于深神經(jīng)網(wǎng)絡(luò)的線性回波消除,得到基于凸重構(gòu)的不完全傳遞函數(shù)。
為了解決回波消除(AEC)的問(wèn)題,可將該問(wèn)題表述為傳聲器x(n)上的信號(hào)傳播時(shí),對(duì)噪聲參考信號(hào)r(n)與干擾(噪聲)源與傳聲器之間的聲脈沖響應(yīng)h(n)的估計(jì),s(n)可以通過(guò)觀察得到[5]。當(dāng)目標(biāo)源(通常是說(shuō)話人)處于活動(dòng)狀態(tài)時(shí),在間隔期間估計(jì)是較困難,模型在時(shí)間域中,描述為式(1):
(1)
式中,*表示卷積。獲得了h(n)的估計(jì)值,即模擬回波信號(hào),就可以從接收信號(hào)中減去該信號(hào),實(shí)現(xiàn)回波消除。增強(qiáng)型麥克風(fēng)信號(hào)如式(2)、式(3)所示:
(2)
(3)
在上式中,干擾源和麥克風(fēng)可以改變位置。必須對(duì)問(wèn)題進(jìn)行自適應(yīng)處理。為此,在時(shí)間域或頻率域中應(yīng)用自適應(yīng)最小均方算法(LMS)。由于該算法結(jié)構(gòu)簡(jiǎn)單,性能穩(wěn)定,計(jì)算復(fù)雜度低,在回聲消除領(lǐng)域被廣泛應(yīng)用[6]。但是當(dāng)信號(hào)相關(guān)性較大時(shí),LMS算法的收斂性很差。文獻(xiàn)[7]中提出了對(duì)稀疏脈沖響應(yīng)的線性矩陣進(jìn)行時(shí)域修正的方法,如比例歸一化線性矩陣(PNLMS)。PNLMS算法采用不同的步長(zhǎng)與估計(jì)的濾波系數(shù)成比例,具有很快的初始收斂速度。此外,也出現(xiàn)了許多對(duì)PNLMS的改進(jìn),如改進(jìn)的PNLMS(IPNLMS)或重新加權(quán)零校正PNLMS(RA-PNLMS)[8],IPNLMS用于提高PNLMS算法在非稀疏回聲路徑下的性能。
最小均方(LMS)適用于這些問(wèn)題,需要估計(jì)脈沖響應(yīng)的地方[9]。這種計(jì)算的理想條件是目標(biāo)信號(hào)s無(wú)效,然后準(zhǔn)確估計(jì)脈沖響應(yīng)。
可以最小化均方誤差區(qū)間n=n1,…,n2。Jn(h)標(biāo)準(zhǔn)均值可以如式(4)最小化:
(4)
(5)
梯度ΔJn(h)可以表示為式(6),其中Wn,bn分別用式(7)、(8)表示:
ΔJn(h)=-2bn+2Wnh
(6)
(7)
(8)
令ΔJn(h)等于零,則存在Wn的逆矩陣,得到式(9):
(9)
AEC問(wèn)題的時(shí)頻域(FDLMS)中的LMS可表示為式(10):
(10)
其中:Xn,γ與Rn,γ分別是短時(shí)傅里葉變換(STFT)中的混合信號(hào)和參考信號(hào)。下標(biāo)n表示幀號(hào),γ表示頻率倉(cāng)。表達(dá)式(10)中定義的LMS的解可以通過(guò)如下計(jì)算參考信號(hào)和混合信號(hào)之間的相互關(guān)聯(lián)來(lái)完成,如式(11):
(11)
間隔n和頻率倉(cāng)γ上的參考信號(hào)的自相關(guān)系數(shù)由下式給出:
(12)
環(huán)境的傳遞函數(shù)由式(13)給出:
(13)
然而,自適應(yīng)間隔越短,連續(xù)數(shù)據(jù)變化越大。如果塊太短,則W接近單數(shù)。為此,提出了自適應(yīng)LMS算法。自適應(yīng)LMS的目的是用于脈沖響應(yīng)估計(jì),使第n幀中的實(shí)際誤差最小化。
(14)
改進(jìn)自適應(yīng)傳遞函數(shù)為式(15):
(15)
(16)
逼近算法是解決凸問(wèn)題的有力工具[12],如式(16)所示。提出了2種基于逼近算法的改進(jìn)型。算法的投影算子定義為式(17)。
(17)
為了制定逼近梯度法,需要考慮以下分裂問(wèn)題:
(18)
其中:f(x)函數(shù)和g(x)函數(shù)是閉函數(shù),f(x)函數(shù)適當(dāng)?shù)耐购瘮?shù)且可微,f(x)是凸函數(shù)但在某些地方不可微。式(18)的逼近梯度法的一次迭代如式(19):
x=proxλg(x-u▽f(x))
(19)
(20)
其中:參數(shù)λ與式(15)中的a緊密相關(guān)。對(duì)式(16)的逼近梯度算法的改進(jìn)后如式(21)所示:
(21)
綜上,本文提出的梯度算法過(guò)程如下算法1所示:
Algorithm 1:Proposed gradient based method
Input:X,R,O= {r1,…,r|o|},μ,λ,
initialize:H←0,Hold←0
forn=1 toNdo
En,o=Xn,o-Rn,oHold
end
交替方向乘法器(ADMM)是求解凸問(wèn)題的一種快速而魯棒的方法[13]。為了構(gòu)造ADMM,需要將式(18)中定義的拆分問(wèn)題重新表述如式(22)所示:
(22)
其中:f(x)函數(shù)和g(x)函數(shù)是閉函數(shù),f(x)函數(shù)適當(dāng)?shù)耐购瘮?shù)且可微,g(x)是凸函數(shù)但在某些地方不可微。公式(22)的增廣拉格朗日如下:
(23)
其中:u是與等式約束相關(guān)聯(lián)的雙可用性,p是一個(gè)正參數(shù)。ADMM可以用式(23)中固定z值改變x來(lái)表示最小值,反之亦然。因此,ADMM的改進(jìn)順序如下:
x=proxuf(z-u)
z=proxλg(x+u)
u=u+ρ(x-z)
(24)
(25)
其中:μ>0為階梯尺寸參數(shù),λ>0控制解的稀疏度,ρ為0.95。
綜上,本文提出的乘子變換方向法的算法過(guò)程如下算法2所示:
Algorithm 2 Proposed ADMM based method
Input: X, R, O = {r1,…,r|o|},μ,ρ,λ,
initialize: H←0,Hold←0, U←0, Uold←0
for n=1 to N do
En,o=Xn,o-Rn,o(Hold-U)
end
功率譜密度是一種概率統(tǒng)計(jì)方法,是對(duì)隨機(jī)變量均方值的量度[14]。因此,對(duì)于頻域語(yǔ)音活動(dòng)檢測(cè),一個(gè)有效的方法是根據(jù)混合信號(hào)的功率譜密度(PSD)來(lái)檢測(cè)最活躍的頻率[15]。選擇最活躍頻率的分位數(shù),如果所選頻率的百分比設(shè)置為100%,則占用整個(gè)帶寬。如果將其設(shè)置為其他值(如40%),那么整個(gè)帶寬中只有不到一半的頻率箱是最活躍的。
深度神經(jīng)網(wǎng)絡(luò)(DNN),是一種判別模型[16]。即已知變量x,通過(guò)判別模型可以推算出y;深度指的是一系列連續(xù)的表示層,通過(guò)這些層可以對(duì)數(shù)據(jù)進(jìn)行高層次的抽象,其具備至少一個(gè)隱藏層;可以使用反向傳播算法進(jìn)行訓(xùn)練,使用梯度下降求解神經(jīng)元之間的權(quán)重[17]。因此,采用深度神經(jīng)網(wǎng)絡(luò)(DNN)對(duì)信號(hào)噪聲比(SNR)大于5 dB的頻譜倉(cāng)進(jìn)行估計(jì)。漢明窗計(jì)算分析信號(hào)譜圖,相關(guān)信號(hào)信息見表1。訓(xùn)練數(shù)據(jù)包括70 h中央人民廣播電臺(tái)的主持人講話和中國(guó)古典演奏音樂樣本(混合樣本的全球信噪比在-5~10 db之間變化)。編制輸出標(biāo)簽(信噪比小于5 db為0,其余為1),計(jì)算輸入數(shù)據(jù)的零均值和單位方差歸一化統(tǒng)計(jì)。
改進(jìn)的DNN由輸入層(2 049個(gè)神經(jīng)元)、2個(gè)隱藏層(4 000和3 000個(gè)神經(jīng)元的寬度)和輸出層(2 049個(gè)神經(jīng)元)組成。層間的激活函數(shù)采用ReLU;輸出層包含Sigmoid激活函數(shù)。優(yōu)化標(biāo)準(zhǔn)為MSE,批量為1 024個(gè)樣品,傾斜率為0.015。
在AEC環(huán)境下評(píng)估所提出算法性能的仿真結(jié)果。在實(shí)驗(yàn)中,模擬了目標(biāo)信號(hào)s(n),其來(lái)源是一個(gè)連續(xù)的女性語(yǔ)音作為逼近,而r(n)是音樂或白噪聲,代表遠(yuǎn)端信號(hào)。具體實(shí)驗(yàn)信號(hào)配置如表1所示。
表1 信號(hào)基本信息
脈沖響應(yīng)由房間尺寸為5 m×4 m×6 m的房間脈沖響應(yīng)(RIR)發(fā)生器生成。源位置設(shè)置為[2,2.5,2]m,麥克風(fēng)位于[2,3.5,2]m。每個(gè)生成的脈沖響應(yīng)的長(zhǎng)度h(n)為4 096個(gè)樣本。脈沖響應(yīng)稀疏產(chǎn)生,因此其他參數(shù)設(shè)置如表2所示。
表2 脈沖響應(yīng)參數(shù)設(shè)置
第一個(gè)實(shí)驗(yàn)使用4個(gè)語(yǔ)音進(jìn)行,第二個(gè)實(shí)驗(yàn)是對(duì)20種語(yǔ)言和音樂的混合進(jìn)行評(píng)估,兩個(gè)實(shí)驗(yàn)的結(jié)果均在混合物上取平均值。我們將提出的算法與其他已知算法(IPNLMS和FDLMS)的收斂速度進(jìn)行了比較。通過(guò)歸一化偏差測(cè)量收斂速度,其定義如下:
(26)
其中:n是幀索引。在實(shí)驗(yàn)中,通過(guò)將第60幀處估計(jì)的脈沖響應(yīng)歸零來(lái)模擬脈沖響應(yīng)的變化。
2.2.1 白高斯噪聲實(shí)驗(yàn)
白高斯噪聲,幅度分布服從高斯分布,功率譜密度服從均勻分布,即任意時(shí)刻的噪聲值都是隨機(jī)的,在時(shí)間軸的某點(diǎn)上,噪聲孤立,不受前后點(diǎn)噪聲幅值影響[18]。圖1展示了白高斯噪聲的功率分布情況,從圖中可以看出其功率譜密度服從均勻分布,符合上述實(shí)驗(yàn)需求。
圖1 白高斯噪聲功率譜
同時(shí),對(duì)白高斯噪聲下的LMS進(jìn)行測(cè)試,觀察算法迭代次數(shù)對(duì)結(jié)果的影響。
圖2 白高斯噪聲下的LMS
從圖2中可以看出,隨著算法迭代次數(shù)的增加,均方誤差(MSE)遞減,表示算法估計(jì)值與真值之差平方的期望值。這說(shuō)明高迭代計(jì)算中,LMS算法的學(xué)習(xí)效果更好。因此,后續(xù)試驗(yàn)設(shè)置迭代次數(shù)為600,以保證實(shí)驗(yàn)精確性。
基于白高斯噪聲對(duì)多種算法進(jìn)行比較,算法比較的詳細(xì)設(shè)置如表3所示。本實(shí)驗(yàn)進(jìn)行了3種變體,表3為白噪聲實(shí)驗(yàn)中的算法設(shè)置。
在每種變體中,考慮了不同百分比的活躍頻率值,即40%、60%和80%,其中IPNLMS算法使用100%。
表3 白噪聲實(shí)驗(yàn)中的算法設(shè)置
其中40%的頻率箱用于FDLMS和改進(jìn)算法,圖3表明,IPNLMS的收斂速度比所改進(jìn)的方法快40%左右。在圖4中,當(dāng)使用的頻率箱數(shù)為60%時(shí),所改進(jìn)算法收斂更快,并且它們收斂到與IPNLMS相同的解;在圖5中展示了頻率箱數(shù)為80%的收斂結(jié)果。通過(guò)實(shí)驗(yàn)可以得出,在活躍頻率為80%時(shí),本文算法取得較好的效果。
圖3 40%頻率箱條件下不同算法收斂速度比較
圖4 60%頻率箱條件下不同算法收斂速度比較
圖5 80%頻率箱條件下不同算法收斂速度比較
2.2.2 語(yǔ)音實(shí)驗(yàn)
對(duì)20種語(yǔ)言和音樂的混合語(yǔ)音信號(hào)進(jìn)行實(shí)驗(yàn),詳細(xì)實(shí)驗(yàn)設(shè)置如表4所示。
表4 音樂實(shí)驗(yàn)中的算法設(shè)置
圖6 使用DNN的收斂速度
從圖6中可知,因?yàn)镮PNLMS無(wú)法估計(jì)存在串?dāng)_時(shí)的脈沖響應(yīng),因此獲得最差的收斂性能。FDLMS也會(huì)緩慢收斂,而且不能達(dá)到很好的精度。相比之下,本文提出的算法收斂速度快,且實(shí)現(xiàn)的精度高。
2.2.3 計(jì)算時(shí)間
表5顯示了每個(gè)算法處理混合聲音所花費(fèi)的平均時(shí)間,值為兩個(gè)實(shí)驗(yàn)的平均值。實(shí)驗(yàn)使用Matlab 2016b軟件,在基于Intel核心IS-4440的PC機(jī)上進(jìn)行。
表5 不同算法的花費(fèi)時(shí)間 s
本文基于深度神經(jīng)網(wǎng)絡(luò)的特性,提出了兩種解決問(wèn)題的新算法:一種基于逼近梯度法,另一種基于交替方向乘法器。同時(shí),本文方法基于不完全自適應(yīng)LMS和逼近算法的范數(shù)重構(gòu)實(shí)現(xiàn),用于解決線性回波消除問(wèn)題?;诟咚拱自肼暭岸嘁粼椿旌险Z(yǔ)音信號(hào)進(jìn)行算法驗(yàn)證。結(jié)果表明,對(duì)于用于不完全傳遞函數(shù)估計(jì)的合適頻率段百分比,該方法比其他常用算法收斂速度更快;同時(shí),本文所提出的方法所需的平均計(jì)算時(shí)間也比其他常用方法要短。為語(yǔ)音傳輸業(yè)務(wù)中存在回聲消除問(wèn)題提供了新思路。