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