唐加能,顧天賓,吳 哲,王 俠,周 琳,趙 力
(1.華僑大學工學院,福建 泉州 362021;2.東南大學水聲信號處理教育部重點實驗室,南京 210096)
基于嵌入式的助聽器回波算法研究與實現(xiàn)*
唐加能1*,顧天賓2,吳 哲1,王 俠2,周 琳2,趙 力2
(1.華僑大學工學院,福建 泉州 362021;2.東南大學水聲信號處理教育部重點實驗室,南京 210096)
回聲會導致助聽器產(chǎn)生嘯叫,損壞助聽器設(shè)備,破壞患者的殘余聽力。為此,本文在助聽器回聲抵消模型的基礎(chǔ)上,針對輸入信號的能量變化,研究了基于歸一化最小均方NLMS(Normalized Least Mean Squares)的自適應(yīng)助聽器回聲抵消算法。通過對比LMS和NLMS兩種算法的MSE,ERLE等性能,研究發(fā)現(xiàn)NLMS算法在數(shù)字助聽器模型中有更好的回聲抵消性能。此外,將NLMS算法移植到嵌入式平臺中,并通過實驗對比算法的性能。因此,本研究對于助聽器的回聲抵消算法設(shè)計具有很強的實用價值。
數(shù)字助聽器;回聲抵消;LMS;NLMS
目前,隨著社會老齡化速度的加快以及對耳聾問題的日益關(guān)注,助聽器的研制與發(fā)展逐漸受到人們的重視。對于聽力損失患者而言,最普遍的選擇便是佩戴助聽器[1]。在助聽器的使用中,回聲問題是使用者抱怨頻率最高的問題之一。助聽器的回聲中最普遍的是聲學回聲,即接收器的輸出通過耳道、氣孔以及助聽器耳模與耳道的間隙泄露出的聲音被麥克風捕獲放大產(chǎn)生的聲音。
傳統(tǒng)的去回聲思路往往是通過降低前向增益或是提高反饋路徑的衰減(減小通氣孔),這就帶來了放大不足或者堵耳效應(yīng)這樣的問題。新一代的自適應(yīng)回聲抵消算法包括自適應(yīng)增益控制、自適應(yīng)陷波濾波器、自適應(yīng)相位消除[2-3]。嚴格意義上前兩種只能稱作反饋抑制,而相位消除具有獨特的優(yōu)勢,該方法能夠采用自適應(yīng)濾波器來估計回聲信號并將其與麥克風輸出相減,從而達到回聲抵消的目的。其中,最常用的有LMS類算法,包括LMS、NLMS等,本文將對這兩種算法進行比較研究,并探討系統(tǒng)延遲對算法的影響。
數(shù)字助聽器中的回聲抵消模型如圖1所示。圖1中G(Z)為助聽器前向路徑,通常用來進行信號的放大處理[4]。H*(Z)表示真實的回聲信道,這往往由助聽器和用戶的特性決定。H(Z)是自適應(yīng)估計的回聲信道,由助聽器采用的回聲估計算法確定。X(n)為外部語音輸入,X(n)和f(n)一起組成麥克風輸入信號;e(n)為麥克風輸入信號d(n)減去v(n)后的殘差信號,并用e(n)來調(diào)整H(z)的參數(shù)。
圖1 助聽器回聲抵消系統(tǒng)模型
2.1 基本LMS算法
LMS(Least Mean Square)算法即采用最小均方誤差作為準則的自適應(yīng)濾波算法。在算法迭代的過程中,通過不斷更新濾波器的參數(shù),使得實際的輸出與期望值之間的均方誤差最小。
圖2為自適應(yīng)濾波結(jié)構(gòu)的一般形式,圖2中x(n)為輸入信號,通過參數(shù)可調(diào)的數(shù)字濾波器后產(chǎn)生輸出信號y(n),將輸出信號y(n)與或為期望信號d(n)進行比較,得到誤差信號e(n)。e(n)和x(n)通過自適應(yīng)算法對濾波器的參數(shù)進行調(diào)整,使得誤差信號e(n)最小
圖2 自適應(yīng)濾波器
濾波器輸出信號為:
(1)
式中:T表示轉(zhuǎn)置矩陣,P代表濾波器階數(shù),y(n)相對于期望信號d(n)的誤差序列為:
(2)
LMS過程即使如下的最小均方誤差最小:
ε=E{e2(n)}=E{[d(n)-y(n)]2}
(3)
自適應(yīng)濾波的最速下降法得權(quán)矢量的修正公式:
wn+1=wn+uE{e(n)x(n)*}
(4)
在基本LMS算法中,我們用樣本來估計E{e(n)x(n)*},權(quán)矢量修正式就變成最簡單的形式:
wn+1=wn+ue(n)x*(n-k)
(5)
式中:u為步長,影響算法的收斂性,e(n)為誤差。當0
最終基本LMS算法過程如下:
1 初始化自適應(yīng)濾波器階數(shù)p和抽頭系數(shù)Wn,步長u;
2 計算輸入序列經(jīng)濾波器后的實際輸出值:
y(n)=WnT(n)X(n);
3 計算誤差:e(n)=d(n)-y(n);
4 濾波器抽頭系數(shù)更新:Wn+1=Wn+*u*e(n)*X(n);
5 返回步驟2。
在助聽器的實際應(yīng)用中期望信號d(n)不能獲得,所有采用帶有參考信號的自適應(yīng)濾波,如圖3所示。從麥克風輸入信號x(n)=d(n)+v1(n)中估計信號d(n),給定參考信號v2(n),它與信號v1(n)相關(guān),則可以用v2(n)估計v1(n),然后減去該噪聲估計就得到d(n)的估計。
圖3 帶參考信號的LMS模型
2.2NLMS算法
LMS算法設(shè)計的難點是步長u的選擇,若0
(6)
本文數(shù)字助聽器系統(tǒng)軟件部分包括助聽系統(tǒng)軟件(又稱為下位機軟件)以及PC端的上位機軟件,硬件包括運行助聽器軟件的嵌入式平臺與PC機。下面詳細介紹本系統(tǒng)的軟硬件平臺搭建過程。
3.1 硬件平臺搭建
本文數(shù)字助聽器系統(tǒng)硬件平臺如圖4所示。
圖4 嵌入式助聽器硬件平臺基本框圖
下面就本平臺的主要組成部分進行簡要描述:
(1)麥克風/揚聲器:采用駐極體麥克風/耳機接口,用于常規(guī)語音信號采集、播放;
(2)語音編解碼芯片:采用WM8960音頻編解碼芯片,該芯片是歐勝微電子推出的一款低功耗、高質(zhì)量立體聲編解碼芯片,最高能提供立體聲24bitsigma-delta模數(shù)轉(zhuǎn)換以及數(shù)模轉(zhuǎn)換能力;
(3)Cortex-A8處理器:采用由Samsung推出的S5PV210為主處理器,主頻為1GHz,ARM7指令集,512kbyte的二級緩存,512MbyteDDR2內(nèi)存,可實現(xiàn)最多2000DMIPS的高性能運算能力。S5PV210具有低功耗的音頻子系統(tǒng)以及帶有32位寬度、64位深度,支持5.1版本的IIS協(xié)議和128kbyte音頻播放輸出緩沖器以及硬件音頻混合器同時具有多種音頻接口,可以便捷的對音頻進行各種復雜的高速運算處理,為用戶提供性能優(yōu)異的音頻解決方案;
(4)計算機:運行上位機軟件,采用串口與嵌入式平臺進行通信;
(5)RAM/FLASH:參數(shù)以及音頻存儲。
3.2 軟件平臺搭建
本文數(shù)字助聽器系統(tǒng)采用嵌入式Linux作為嵌入式操作系統(tǒng)。Linux是一個免費使用和自由傳播的類Unix操作系統(tǒng),最早由LinusTorvalds在1991年設(shè)計編寫而成。經(jīng)過數(shù)十年的發(fā)展,如今Linux的各種發(fā)行版本已經(jīng)深入到我們的生活之中。Linux系統(tǒng)不僅kernal免費,很多軟件也都是自由軟件可以免費獲取。也正是由于Linux的開放性,任何人都可以獲取并進行剪裁,用以開發(fā)自己的產(chǎn)品,其系統(tǒng)內(nèi)核最小只有134kbyte,并且穩(wěn)定性好。
Linux體系結(jié)構(gòu)可分為用戶空間與內(nèi)核空間兩大部分。數(shù)字助聽器算法的移植,主要是在用戶空間的應(yīng)用層進行程序的編寫,但需要調(diào)用各種設(shè)備,所以仍然需要內(nèi)核空間設(shè)備驅(qū)動的支持才能夠最終完成對諸如麥克風,揚聲器這樣的設(shè)備的使用。
本系統(tǒng)采用Linux-ARM的交叉開發(fā)方式,PC端linux為Redhat5.1,嵌入式平臺為3.1中描述的硬件結(jié)構(gòu)。首先在linux下完成代碼的編寫,然后通過交叉編譯得到可在嵌入式平臺上運行的可執(zhí)行文件。
軟件環(huán)境搭建的主要步驟包括:
(1)交叉編譯環(huán)境搭建;
(2)用于嵌入式平臺的Linux內(nèi)核編譯;
(3)嵌入式平臺ALSA驅(qū)動移植;
圖5 Linux體系結(jié)構(gòu)圖
圖6 反饋路徑?jīng)_擊響應(yīng)
為了檢驗LMS和NLMS種算法的性能,并對助聽器系統(tǒng)的參數(shù)進行研究。實驗采用的反饋路徑g(圖6)由下式給出
(7)
式中:q(n)為均值為0,方差為0.5的高斯白噪聲。之所以采用這種反饋路徑是因為它非常類似于助聽器揚聲器經(jīng)通氣孔及助聽器與耳道的間隙泄露到麥克風的真實測量反饋路徑[6]。
實驗采用兩種類型的助聽器輸入信號,第1種采用一段高斯白噪聲作為輸入信號,第2種采用一段錄制好的語音信號作為輸入,其采樣率為8kHz,總采樣點數(shù)為27 000。波形圖如圖7所示。
圖7 實驗語音波形
實驗系統(tǒng)為如圖1所示的助聽器模型,并具有一個延遲單元,其傳遞函數(shù)為G(Z)=G0Z-n。實驗暫不考慮前向增益的影響(G=1)。通常我們采用兩種參數(shù)來描述回聲抵消效果,一是MSE(MeanSquareError),其定義為誤差的期望,MSE越小表示算法的效果越好。其定義為
MSE=E{e2(k)}
(8)
二是回聲衰減增益(ERLE),其定義如下:
(9)
式中:r(n)表示的是助聽器的輸出,r(n)-r1(n)表示回聲殘留信號。ERLE值越大,則表明回聲抵消效果越好,一般要求ERLE>6dB。
4.1MATLAB仿真實現(xiàn)對比LMS和NLMS
仿真1 輸入一段20 000點的高斯白噪聲,固定前向增益,delay=10。步長unlms=0.001、ulms=0.001,圖8和圖9分別是兩種算法的MSE和ERLE性能對比。
圖8 MSE對比
仿真2 使用如圖4所示的語音進行作為輸入信號,自適應(yīng)濾波器階數(shù)為256。圖10顯示的是分別兩種算法的回聲殘留信號對比。圖11為MSE和ERLE的對比。
圖9 ERLE對比
圖10 回聲殘留信號 LMS(a)NLMS(b)
圖11 MSE ERLE對比
在仿真1中,對于白噪聲輸入,NLMS算法在比LMS有更快的收斂速度的同時,具有比LMS算法更小的均方誤差,在MSE的比較中,NLMS比LMS平均低10dB。NLMS的ERLB平均比LMS高5dB,說明在白噪聲輸入下,NLMS具有更好的回聲抵消性能。在語音輸入的情況下,通過比較圖10發(fā)現(xiàn)在MSE的比較中,NLMS比LMS的平均低8.2dB,ERLE高5.6dB。NLMS在語音輸入的情況下同樣保持了更好的回聲抵消性能。在實際應(yīng)用,NLMS繼承了LMS算法簡單,穩(wěn)定性高的特點,而且由于其自適應(yīng)步長的特性,被廣泛應(yīng)用。
4.2 嵌入式平臺實時性能測試
為檢驗NLMS算法的有效性,在不同步長下比較開啟自適應(yīng)濾波后的最大增益(不產(chǎn)生嘯叫情況下的最大增益)提升量,并將輸出語音保存,因真實回波路徑無從得知,故無法通過失調(diào)和ERLE判斷算法的具體性能,因此主要通過最大增益的提高量以及語音主觀評價來評價自適應(yīng)算法的有效性。本次實驗中不開啟自適應(yīng)濾波的最大前向增益為3,實驗采用MOS(Meanofscore)得分評價輸出語音質(zhì)量,MOS得分范圍為0~5,數(shù)值越大表示音質(zhì)越好。
從表1的結(jié)果中可以發(fā)現(xiàn),步長大于0.01時,開啟自適應(yīng)算法后的最大增益都有一定的提高,證明自適應(yīng)回波抵消算法在提高前向增益上有一定效果。
表1 開啟自適應(yīng)濾波的最大增益和MOS得分情況
仔細分析表1中各步長下的MOS得分,發(fā)現(xiàn)步長較大時語音質(zhì)量不佳(MOS得分低),在步長較小時,不產(chǎn)生嘯叫情況下的增益提高量十分有限。出現(xiàn)這種情況的主要原因是助聽器的實際使用中其真實回波路徑數(shù)各抽頭上的值較小,因此需要的自適應(yīng)濾波算法步長較小,能在保持較好音質(zhì)的同時抵消回聲,而本實驗測試環(huán)境為開放環(huán)境,真實回波路徑系數(shù)各抽頭上的值較大,若想不產(chǎn)生嘯叫則必須使用較大的步長,而大步長時語音質(zhì)量必然受影響。
本文采用LMS、NLMS算法來進行回聲抵消實驗,從實驗結(jié)果可以看出NLMS算法具有更好的回聲抵消效果。LMS類算法作為一種相關(guān)性濾波,是基于參考信號與估計信號的相關(guān)性的,但是往往我們需要的期望和反饋回來的信號也具有一定的相關(guān)性,這也在一定出現(xiàn)上影響了算法的效果。本文采用實驗驗證了1ms左右的延遲給算法效果帶來的提升。最后通過NLMS算法的嵌入式平臺的移植來驗證其在實際應(yīng)用中的可行性??傊?NLMS算法繼承了NLMS易于實現(xiàn)、效果優(yōu)良的優(yōu)勢,同時有具有自適應(yīng)步長的特點,對助聽器的回波抵消模塊的設(shè)計具有實際意義。將其與其他算法(如自適應(yīng)陷波器)的搭配是目前助聽器中解決聲反饋問題的一個最有力的途徑。
[1] 肖憲波,王寧宇,胡廣書. 數(shù)字助聽器中若干主要算法的發(fā)展和現(xiàn)狀[J]. 生物醫(yī)學工程學雜志,2004,21(4):694.
[2] Chung King. Challenges and Recent Developments in Hearing Aids Part2. Feedback and Occlusion Effect Reduction Strategies,Laser Shell Manufacturing Processes,and Other Signal Processing Technologies[J]. Trends in Amplification:2004,8(4):125-164.
[3] 王俠,梁瑞宇,王青云,等. 一種應(yīng)用于助聽器的變步長歸一化子帶自適應(yīng)聲反饋抑制算法[J]. 東南大學學報(自然科學版),2015,45(3):417-422.
[4] 梁瑞宇,趙力,王青云,等. 數(shù)字助聽器的并行梯度投影回聲抵消[J]. 應(yīng)用科學報,2012,30(3):256-262.
[5] 楊綠溪. 現(xiàn)代數(shù)字信號處理[M]. 北京:科學出版社,2007:303.
[6] Allen J B,Berkley D A. Image Method for Efficiently Simulating Small-Room Acoustics[J]. Journal of the Acoustical Society of America,1979,65(4):943-950.
Research and Implementation of Echo Cancellation in Hearing Aids Based on Embedded System*
TANGJianeng1*,GUTianbin2,WUZhe1,WANGXia2,ZHOULin2,ZHAOLi2
(1.College of Engineering,Huaqiao University,Quanzhou Fujian 362021,China;2.Key Laboratory of Underwater Acoustic Signal Processing of Ministry of Education,Southeast University,Nanjing 210096,China)
Echo leads to howling in hearing aids,demolishes the hearing device and impairs the residual hearing of the patients. Adaptive echo cancellation in hearing aids based on normalized least mean squares(NLMS)algorithm was studied. By comparing the MSE,ERLE of LMS algorithm and NLMS algorithm,we found that NLMS algorithm has more preferable echo cancellation performance in digital hearing aids. In addition,NLMS algorithm was implanted into embedded platform. Experiments validate the performance of the NLMS algorithm. So it is of important practice value for echo cancellation in hearing aids.
digital hearing aids;echo cancellation;LMS;NLMS
項目來源:國家自然科學基金項目(61301219,61375028,61571106);福建省自然科學基金項目(2015J01260);泉州市科技計劃項目(2014Z103,2014Z113)
2016-03-23 修改日期:2016-04-21
C:7820
10.3969/j.issn.1005-9490.2017.02.030
TN215;TN432
A
1005-9490(2017)02-0410-05