陸悠南崔 杰 肖 靈
(1中國科學(xué)院聲學(xué)研究所 北京100190)
(2中國科學(xué)院大學(xué)電子電氣與通信工程學(xué)院 北京100049)
對于大多數(shù)配戴助聽器滿意度不高的聽障患者,嘯叫現(xiàn)象是最主要的原因之一[1]。嘯叫是聲反饋達(dá)到一定條件時引起的刺耳聲音,它不僅影響助聽器的音質(zhì)和佩戴舒適度,更限制了助聽器的有效增益。因此如何抑制聲反饋,提高助聽器的有效增益是當(dāng)前助聽器設(shè)計所面臨的關(guān)鍵問題。嘯叫形成需要同時滿足兩個條件,第一個是增益條件,反饋路徑和前向路徑的增益乘積大于1;第二個是相位條件,兩個路徑的相位滿足相差2π的倍數(shù)。
針對嘯叫的問題,很多學(xué)者進(jìn)行了研究。Patronis[2]提出了自動增益降低法,當(dāng)檢測到嘯叫即將產(chǎn)生時,降低前向路徑的全頻帶增益,從而快速抑制嘯叫,抑制方法簡單且有效,但忽略了降低增益會限制佩戴者的聽覺效果這一問題。Schroeder[3]提出了基于頻移來進(jìn)行聲反饋抑制,通過移動頻率來平滑閉環(huán)系統(tǒng)的增益頻譜,信號在同頻率處的幅度值不會循環(huán)疊加,從而破壞聲反饋形成的條件,但是對輸入信號移頻易造成失真現(xiàn)象,對信號的音質(zhì)損傷較大,具有一定的局限性。基于陷波器的嘯叫抑制法采用陷波濾波器對發(fā)生嘯叫的頻率段進(jìn)行濾波,從而抑制嘯叫,在嘯叫頻率檢測點(diǎn)準(zhǔn)確的情況下對輸入信號其他頻率的影響很小,一般與其他方法結(jié)合使用[4]?;谧赃m應(yīng)濾波器的聲反饋方法可以動態(tài)地估計聲反饋路徑,產(chǎn)生一個聲反饋的估計信號來抵消聲反饋信號,實時地抑制聲反饋形成的條件,從而達(dá)到抑制反饋、提升系統(tǒng)增益的效果。助聽器體積和功耗的特殊性,使得它無法使用復(fù)雜度很高的自適應(yīng)算法且對自適應(yīng)濾波器的階數(shù)有限制,因此以最小均方(Least mean square,LMS)為基礎(chǔ)的自適應(yīng)濾波算法為助聽器反饋抑制領(lǐng)域的研究重點(diǎn)。Kates[5]提出了LMS算法更新自適應(yīng)濾波器模擬反饋路徑,通過斷開前向路徑,在驗配階段輸入白噪聲更新靜態(tài)濾波器,將靜態(tài)濾波器與動態(tài)濾波器結(jié)合,從而達(dá)到反饋抑制的效果。LMS算法步長固定,在實際使用中雖然簡單且易于實現(xiàn),但不能同時獲得較快的收斂速度和良好的穩(wěn)定性能。Slock驗證了歸一化最小均方(Normalized least mean square,NLMS)算法對輸入信號為語聲信號時相比LMS算法有更好的收斂性能[6]。LMS和NLMS算法因其簡單高效,被廣泛應(yīng)用于信號處理領(lǐng)域,同時基于LMS和NLMS的優(yōu)化也有很多優(yōu)秀的研究成果[7-14]。針對脈沖響應(yīng)稀疏性的特點(diǎn),Duttweiler[9]提出了系數(shù)成比例的NLMS算法,即PNLMS算法,通過比例分配濾波器的權(quán)值增量,從而提升算法的收斂速度。Khoubrouy[15]將一種無延時的子帶濾波技術(shù)應(yīng)用在數(shù)字助聽器聲反饋消除中,使濾波器每個頻帶獨(dú)立,解決了數(shù)據(jù)路徑延遲和信號失真的問題。
在電話系統(tǒng)中同樣存在回聲消除的問題,其對回聲的延時要求限制于150 ms,遠(yuǎn)遠(yuǎn)大于助聽器的10 ms限制要求,因此電話系統(tǒng)的回聲語聲信號的相關(guān)性遠(yuǎn)遠(yuǎn)弱于助聽器,這就使電話系統(tǒng)與助聽器的回聲消除算法存在一定區(qū)別。同時由于電話系統(tǒng)的長回聲路徑,濾波器建模需要較高的階數(shù),計算復(fù)雜度也就越大[16-17],而助聽器體積小功耗小,無法使用復(fù)雜度高的算法,這也是電話系統(tǒng)回聲消除算法無法直接應(yīng)用于助聽器的原因。由于助聽器傳聲器與受話器的距離較小,語聲信號具由較強(qiáng)的相關(guān)性,在收斂過程中會加大失調(diào)量,依然存在收斂速度與失調(diào)量的折衷問題。本文針對數(shù)字助聽器的反饋抑制中語聲的相關(guān)性問題,提出了一種基于信噪比的自適應(yīng)濾波算法以解決強(qiáng)語聲相關(guān)性引起的失調(diào)量增大問題。
自適應(yīng)濾波助聽器反饋抑制系統(tǒng)框圖如圖1所示,系統(tǒng)主要由反饋路徑、前向路徑及自適應(yīng)濾波模擬反饋路徑3部分構(gòu)成。
圖1 自適應(yīng)濾波助聽器反饋抑制系統(tǒng)框圖Fig.1 Block diagram of feedback cancellation system in hearing aids based on adaptive filter
傳聲器實際輸入信號x′(n)由環(huán)境輸入信號x(n)和反饋信號f(n)疊加組成,
其中,反饋信號f(n)由受話器輸出信號y(n)經(jīng)反饋路徑H(z)產(chǎn)生,則f(n)=h(n)*y(n),*表示卷積,h(n)表示H(z)的單位脈沖響。自適應(yīng)濾波器的輸出為模擬反饋信號f′(n),
其中,w(n)為自適應(yīng)濾波器的系數(shù)向量,w(n)=[w0(n),w1(n),K,w(n)L-1]T,L為濾波器的長度。自適應(yīng)濾波器系數(shù)w(n)由延時后的受話器輸出信號d(n)和誤差信號e(n)自適應(yīng)更新。傳聲器接收到的信號是環(huán)境輸入信號和反饋信號混合而成,誤差信號e(n)表示為傳聲器實際輸入信號與模擬反饋信號的差,
等同于e(n)=x(n)+f(n)-f′(n),即反饋路徑與模擬反饋路徑的誤差信號與語聲輸入信號的和,因此自適應(yīng)濾波器的性能決定了反饋抑制系統(tǒng)的性能。受話器實際輸出信號y(n)為反饋抑制后的信號e(n)經(jīng)前向路徑G(z)后的增益放大信號,
其中,g(n)為G(z)的時域表現(xiàn)形式。定義系統(tǒng)函數(shù)為C(z),
NLMS對于輸入矢量的平方歐式范數(shù)進(jìn)行歸一化,從而相對于LMS算法獲得更快的收斂速度和更好的穩(wěn)定性能[18],其更新公式如下:
于是,從w中減去式(6)的等式兩端,則可得到
假設(shè)n時刻達(dá)到濾波器收斂的最優(yōu)狀態(tài),則ε(n)為最小值εmin,則式(8)可轉(zhuǎn)換為
由式(9)可明顯看出,當(dāng)步長μ值越大的時候,濾波器穩(wěn)態(tài)時的失調(diào)也隨之越大。當(dāng)d(n)e(n)之間的相關(guān)性增加時隨之增大,同時濾波器穩(wěn)態(tài)時的失調(diào)也越大。在助聽器的反饋抑制中NLMS算法相較于LMS算法雖具有良好的收斂性能,但由于助聽器的反饋信號與輸入語聲信號具有極大的相關(guān)性,依然存在穩(wěn)態(tài)失調(diào)受語聲相關(guān)性影響增大的問題。
隨著助聽器技術(shù)的發(fā)展,助聽器的體積越來越小,傳聲器和受話器的距離越發(fā)靠近,隨之而來的是語聲信號的相關(guān)性越來越強(qiáng)。當(dāng)語聲信號相關(guān)性越強(qiáng)時,濾波器的誤差則越大且穩(wěn)態(tài)失調(diào)量也隨之越大。為了解決語聲信號相關(guān)性帶來的失調(diào)量增大問題,本文引入信噪比控制步長,優(yōu)化自適應(yīng)系統(tǒng)的性能,從而提高反饋抑制系統(tǒng)的有效增益。由于純凈語聲的相關(guān)性更強(qiáng),當(dāng)純凈語聲占信號的主要部分即信噪比越高時,自適應(yīng)濾波器的更新誤差增大,因此需要在信噪比高的情況下,限制自適應(yīng)算法的步長,減緩自適應(yīng)濾波器的收斂速度,從而減小更新誤差。同理,在信噪比越低的情況下,噪聲占信號的主要部分,由于噪聲的相關(guān)性較小,因此增加算法步長,加快自適應(yīng)濾波器的收斂速度。
基于信噪比的NLMS算法框圖如圖2所示,采用最小值統(tǒng)計法估計出誤差信號的噪聲能量,從而估計誤差信號e(n)的信噪比控制NLMS算法中的步長μ,關(guān)系可表示為式(10):
圖2 基于信噪比的NLMS算法框圖Fig.2 Block diagram of NLMS algorithm on SNR
要估計誤差信號的信噪比,需要先估計出誤差信號的噪聲能量,本文采用最小值統(tǒng)計法估計噪聲能量,最小值統(tǒng)計法是Martin[19]基于含噪語聲功率譜密度的最小統(tǒng)計和最優(yōu)平滑理論提出的,通過跟蹤帶噪信號能量的最小值估計噪聲能量,其實現(xiàn)步驟如下:
先對帶噪語聲e(n)進(jìn)行希爾伯特變換,求得帶噪語聲的能量,假設(shè)為Y(n)。對Y(n)進(jìn)行平滑得到平滑能量P(n),P(n)的計算采用一階遞歸的形式,即
其中,P(n-1)為上一時刻的平滑能量,α為平滑參數(shù),0<α<1。然后,在長度為D的窗內(nèi)搜索最小能量,設(shè)置臨時變量Ptemp,Ptemp(1)=Y(1)。如果當(dāng)前時刻可被D整除,則能量最小值Pmin、Ptmp分別依照式(12)和式(13)更新:
如果不可被D整除,則Pmin、Ptemp分別依照式(14)和式(15)更新:
因為在估計噪聲能量中取的是能量的最小值,所以需要對噪聲能量進(jìn)行偏差補(bǔ)償,補(bǔ)償因子設(shè)為omin,由式(16)可得估計的噪聲能量
由計算得到的含噪語聲能量Y(n)和噪聲能量可計算得純凈語聲信號能量那么依式(17)可計算得信噪比:
根據(jù)計算得到的輸入信號信噪比,由式(18)的步長與信噪比的對應(yīng)關(guān)系計算出自適應(yīng)算法的步長。當(dāng)輸入信號信噪比越高時,語聲成分在信號中占比越大,由于語聲信號的強(qiáng)相關(guān)性會增加自適應(yīng)濾波器的更新誤差,因此使更新步長越?。划?dāng)信噪比超過最大值SNRmax時,步長固定為步長最小值μmin。同理,當(dāng)輸入信號信噪比越低時,噪聲成分在信號中占比越大,噪聲信號具有弱相關(guān)性,不會增加自適應(yīng)濾波器的更新誤差,因此使更新步長越大,加快自適應(yīng)算法的收斂速度;當(dāng)信噪比小于最小值SNRmin時,步長固定為步長最大值μmax。
其中,β和η由當(dāng)信噪比等于SNRmax時步長為μmin和當(dāng)信噪比等于SNRmin時步長為μmax的兩組數(shù)據(jù)代入求得,即解式(19)可得:
在實際助聽器應(yīng)用過程中,系統(tǒng)的降噪模塊包含信噪比估計部分,因此在實際應(yīng)用過程中,可以借助降噪模塊計算得到的信噪比來避免信噪比估計所產(chǎn)生的計算復(fù)雜度,因此在計算基于信噪比的NLMS算法的復(fù)雜度過程中忽略了信噪比估計過程的復(fù)雜度。
一幀信號的長度為N,自適應(yīng)濾波器長度為M,按照文獻(xiàn)[20]的計算復(fù)雜度的方法將分為4個部分,則算法的計算復(fù)雜度如下:
(1)信噪比步長更新,乘法次數(shù)為N/N;
(2)計算‖d(n)‖2,乘法次數(shù)為N/N;
(3)經(jīng)過自適應(yīng)濾波器計算模擬反饋信號,乘法次數(shù)為M×N/N;
(4)計算自適應(yīng)濾波器系數(shù),乘法次數(shù)為(M×N+N)/N。
因此,綜上所述基于信噪比的NLMS算法的計算復(fù)雜度約為2M+3,比NLMS算法的計算復(fù)雜度略高一點(diǎn),但在反饋抑制性能方面具有更好的效果,LMS算法、NLMS算法、PNLMS算法及相關(guān)復(fù)雜度如表1所示。
表1 算法復(fù)雜度對比Table 1 Algorithm complexity comparison
對提出的基于信噪比的自適應(yīng)算法進(jìn)行仿真實驗,并且對比不同類型算法驗證算法的性能。仿真實驗給出一個反饋路徑濾波器,記為f,其階數(shù)為120,其單位脈沖響應(yīng)如圖3所示。
圖3 反饋路徑的脈沖響應(yīng)Fig.3 Impulse response of the feedback path
為了驗證算法的反饋抑制性能,采用語聲信號作為輸入信號,采樣頻率為16 kHz,如圖4所示。
圖4 語聲信號Fig.4 Voice signal
3.2.1 噪聲估計結(jié)果
首先測試噪聲估計的性能,對輸入語聲信號分別加入1 dB和10 dB的白噪聲測試噪聲估計性能,如圖5所示,估計的噪聲能量與實際噪聲能量曲線基本吻合,由于通過信噪比來控制自適應(yīng)算法的步長,在有語聲輸入時存在的細(xì)微誤差,在計算信噪比和步長過程中可忽略不計。
圖5 噪聲能量估計Fig.5 Noise energy estimation
3.2.2 自適應(yīng)算法性能分析
為了評估自適應(yīng)算法的性能,使用自適應(yīng)濾波法的失調(diào)量(Misalignment,MIS)作為算法的性能指標(biāo)[21]。其表達(dá)式為
其中,f和?w分別為仿真反饋路徑和自適應(yīng)濾波器脈沖響應(yīng)的權(quán)值向量。當(dāng)失調(diào)量的值下降得越快說明收斂速度越快,就能越快地估計出反饋路徑。當(dāng)穩(wěn)態(tài)的失調(diào)量越小,說明穩(wěn)態(tài)失調(diào)越小,估計的反饋路徑越逼近真實值。
在本次實驗中,在不同增益的情況下對比了LMS算法、NLMS算法、PNLMS算法[9]及基于信噪比的NLMS算法,4種算法的參數(shù)取相近收斂速度的情況下觀測系統(tǒng)的失調(diào)性能,算法的復(fù)雜度由小到大按順序分別為LMS算法、NLMS算法、基于信噪比的NLMS算法、PNLMS算法。4種算法的步長更新公式及參數(shù)取值如表2所示。
表2 算法參數(shù)Table 2 Algorithm parameters
取表1參數(shù)值,當(dāng)增益為36.9 dB時,不同算法的失調(diào)量如圖6所示。
圖6 不同算法的失調(diào)量Fig.6 Normalized maladjustment of different algorithms
在同一種自適應(yīng)濾波算法中,步長越大,收斂速度越快,與之同時失調(diào)量則越大。如圖6所示,可明顯看出算法收斂速度由慢至快的順序為NLMS、PNLMS、LMS、基于信噪比的NLMS算法。圖7為4種算法在穩(wěn)態(tài)范圍的失調(diào)量,可明顯看出基于信噪比的NLMS算法的穩(wěn)態(tài)失調(diào)量具有一定的優(yōu)勢,不僅具有更低的平均穩(wěn)態(tài)失調(diào)量,同時穩(wěn)態(tài)失調(diào)量的動態(tài)范圍也更小。同時,本文提出的算法更多的是對有語聲信號時的失調(diào)量起伏范圍具有參考意義,在信噪比低的時候其性能是和NLMS算法接近的,而在信噪比高的時候,觀察圖6可明顯發(fā)現(xiàn)其他算法在語聲出現(xiàn)時都會出現(xiàn)高的失調(diào)量,而本文算法在語聲出現(xiàn)時減小了語聲相關(guān)性引起的失調(diào)量增大問題,提升了算法的性能。
圖7 不同算法的穩(wěn)態(tài)失調(diào)量Fig.7 Steady-state maladjustment of different algorithms
根據(jù)圖6可得到達(dá)穩(wěn)態(tài)的收斂速度由快至慢的算法分別為基于信噪比的NLMS算法、LMS算法、PNLMS算法和NLMS算法,并可明顯得出基于信噪比的NLMS算法的收斂速度具有明顯的優(yōu)勢,能夠更快地到達(dá)穩(wěn)態(tài)階段,當(dāng)助聽器使用者佩戴助聽器的佩戴條件發(fā)生改變時,濾波器重新開始收斂。當(dāng)算法收斂速度越快時,濾波器收斂到條件改變后的新穩(wěn)態(tài)狀態(tài)速度越快,即算法的魯棒性越好。
實驗仿真了不同增益下收斂速度相似的情況下,分別取增益G為30、50、70和90,即G為29.54 dB、33.98 dB、36.9 dB和39.08 dB,以平均穩(wěn)態(tài)失調(diào)量和穩(wěn)態(tài)失調(diào)范圍作為指標(biāo)衡量反饋抑制在穩(wěn)態(tài)下的性能,具體數(shù)值見表3和表4。其中平均穩(wěn)態(tài)失調(diào)量指穩(wěn)態(tài)狀態(tài)下失調(diào)量的平均值,穩(wěn)態(tài)失調(diào)范圍指穩(wěn)態(tài)狀態(tài)下失調(diào)量最大值與最小值的差的平均值。平均穩(wěn)態(tài)失調(diào)量越小,穩(wěn)態(tài)失調(diào)范圍越小,助聽器反饋抑制系統(tǒng)的性能越好。
表3 平均穩(wěn)態(tài)失調(diào)量Table 3 Mean steady state misalignment(單位:dB)
表4 穩(wěn)態(tài)失調(diào)范圍Table 4 Range of steady state misalignment(單位:dB)
從表3和表4可以明顯觀察到,隨著前向增益的增大,4種算法的平均穩(wěn)態(tài)失調(diào)量都隨之減小,這是因為前向增益越大,受話器發(fā)出的信號也越大,從反饋路徑傳回傳聲器的反饋信號也隨之增大,反饋信號在傳聲器處接收的信號幅度越大,而語聲輸入信號不變,反饋信號占比則越大,此時自適應(yīng)濾波器對反饋路徑的模擬則越準(zhǔn)確,因此,平均穩(wěn)態(tài)失調(diào)量隨增益增大而減小。隨著前向增益的增大,LMS算法的穩(wěn)態(tài)失調(diào)范圍增大,其他3種算法的穩(wěn)態(tài)失調(diào)范圍減小,這是因為除LMS外的3種的算法的步長都有對信號能量的歸一化,而LMS算法的步長固定,當(dāng)達(dá)到穩(wěn)態(tài)的情況下,增益越大,則會使更新濾波器的信號越大,穩(wěn)態(tài)失調(diào)范圍也就隨之增大。而其余3種算法因為對能量的歸一化處理抵消了信號能量增大帶來的影響,穩(wěn)態(tài)失調(diào)范圍與平均穩(wěn)態(tài)失調(diào)量都隨增益減小。在對比的幾種算法中,除LMS算法外,在不同增益的情況下,基于信噪比的NLMS算法不論在平均穩(wěn)態(tài)失調(diào)量還是穩(wěn)態(tài)失調(diào)范圍,都具有最優(yōu)的性能。其中,基于信噪比的NLMS算法的平均穩(wěn)態(tài)失調(diào)量和穩(wěn)態(tài)失調(diào)范圍性能分別較NLMS算法低約1 dB和2 dB,較PNLMS算法分別低約1.5 dB和2~3 dB。而LMS算法較為特殊,平均穩(wěn)態(tài)失調(diào)量過高,性能最差,即使穩(wěn)態(tài)失調(diào)范圍較小,整體依然是具有最差的性能。
為進(jìn)一步驗證算法的性能,添加一組測試數(shù)據(jù),在參數(shù)未進(jìn)行變動的前提下,取增益G=36.9 dB的情況下4種算法的失調(diào)量數(shù)據(jù),以平均穩(wěn)態(tài)失調(diào)量和穩(wěn)態(tài)失調(diào)范圍作為指標(biāo)衡量反饋抑制在穩(wěn)態(tài)下的性能,具體數(shù)值見表5,可進(jìn)一步驗證基于信噪比的NLMS算法對平均穩(wěn)態(tài)失調(diào)量和穩(wěn)態(tài)失調(diào)范圍的性能的提升。
表5 測試數(shù)據(jù)的穩(wěn)態(tài)失調(diào)Table 5 State misalignment of test data
3.2.3 反饋抑制效果評估
對聲反饋抑制方法研究的目的是增加系統(tǒng)所能達(dá)到的最大穩(wěn)態(tài)增益(Maximum stable gain,MSG),因此使用MSG作為衡量反饋抑制性能的標(biāo)準(zhǔn)。MSG表示的是系統(tǒng)能正常工作達(dá)到穩(wěn)態(tài)的最大增益,其數(shù)值越大意味著助聽器可調(diào)的增益范圍越大,對聽力受損越嚴(yán)重的佩戴者越有優(yōu)勢,同時在更大的范圍的增益下能夠達(dá)到穩(wěn)態(tài),算法的魯棒性也越強(qiáng)。表6記錄了在穩(wěn)態(tài)失調(diào)范圍相似的情況下不同算法的MSG。由此可見,基于信噪比的NLMS算法較無反饋抑制時提高了20 dB的增益,較LMS算法、NLMS算法及PNLMS算法分別提高了約12 dB、4 dB和3 dB的增益。
表6 最大穩(wěn)態(tài)增益Table 6 Maximum stable gain
本文針對助聽器反饋抑制領(lǐng)域提出了一種基于信噪比的自適應(yīng)濾波算法,以解決語聲信號的相關(guān)性較大,容易使自適應(yīng)濾波器出現(xiàn)較大失調(diào)的問題。當(dāng)信噪比高時,將自適應(yīng)濾波算法步長控制在一個較小值,減少算法失調(diào);當(dāng)信噪比低時,將自適應(yīng)濾波算法步長控制在一個較大值,加快收斂速度。通過實驗仿真,本文提出的基于信噪比的NLMS算法較傳統(tǒng)的NLMS算法在性能上分別降低約1 dB的平均穩(wěn)態(tài)失調(diào)量、2 dB的穩(wěn)態(tài)失調(diào)范圍,提高了4 dB的最大穩(wěn)態(tài)增益,同時具有更快的收斂速度,實現(xiàn)了傳統(tǒng)NLMS算法的優(yōu)化。對比本文所提出的算法與其他參考算法,驗證了本文提出的優(yōu)化算法具有較低的失調(diào)量、較快的收斂速度,同時能夠達(dá)到較高的增益,均優(yōu)于其他3種算法。