唐加能,顾天宾,吴 哲,王 侠,周 琳,赵 力
(1.华侨大学工学院,福建 泉州 362021;2.东南大学水声信号处理教育部重点实验室,南京 210096)
基于嵌入式的助听器回波算法研究与实现*
唐加能1*,顾天宾2,吴 哲1,王 侠2,周 琳2,赵 力2
(1.华侨大学工学院,福建 泉州 362021;2.东南大学水声信号处理教育部重点实验室,南京 210096)
回声会导致助听器产生啸叫,损坏助听器设备,破坏患者的残余听力。为此,本文在助听器回声抵消模型的基础上,针对输入信号的能量变化,研究了基于归一化最小均方NLMS(Normalized Least Mean Squares)的自适应助听器回声抵消算法。通过对比LMS和NLMS两种算法的MSE,ERLE等性能,研究发现NLMS算法在数字助听器模型中有更好的回声抵消性能。此外,将NLMS算法移植到嵌入式平台中,并通过实验对比算法的性能。因此,本研究对于助听器的回声抵消算法设计具有很强的实用价值。
数字助听器;回声抵消;LMS;NLMS
目前,随着社会老龄化速度的加快以及对耳聋问题的日益关注,助听器的研制与发展逐渐受到人们的重视。对于听力损失患者而言,最普遍的选择便是佩戴助听器[1]。在助听器的使用中,回声问题是使用者抱怨频率最高的问题之一。助听器的回声中最普遍的是声学回声,即接收器的输出通过耳道、气孔以及助听器耳模与耳道的间隙泄露出的声音被麦克风捕获放大产生的声音。
传统的去回声思路往往是通过降低前向增益或是提高反馈路径的衰减(减小通气孔),这就带来了放大不足或者堵耳效应这样的问题。新一代的自适应回声抵消算法包括自适应增益控制、自适应陷波滤波器、自适应相位消除[2-3]。严格意义上前两种只能称作反馈抑制,而相位消除具有独特的优势,该方法能够采用自适应滤波器来估计回声信号并将其与麦克风输出相减,从而达到回声抵消的目的。其中,最常用的有LMS类算法,包括LMS、NLMS等,本文将对这两种算法进行比较研究,并探讨系统延迟对算法的影响。
数字助听器中的回声抵消模型如图1所示。图1中G(Z)为助听器前向路径,通常用来进行信号的放大处理[4]。H*(Z)表示真实的回声信道,这往往由助听器和用户的特性决定。H(Z)是自适应估计的回声信道,由助听器采用的回声估计算法确定。X(n)为外部语音输入,X(n)和f(n)一起组成麦克风输入信号;e(n)为麦克风输入信号d(n)减去v(n)后的残差信号,并用e(n)来调整H(z)的参数。
图1 助听器回声抵消系统模型
2.1 基本LMS算法
LMS(Least Mean Square)算法即采用最小均方误差作为准则的自适应滤波算法。在算法迭代的过程中,通过不断更新滤波器的参数,使得实际的输出与期望值之间的均方误差最小。
图2为自适应滤波结构的一般形式,图2中x(n)为输入信号,通过参数可调的数字滤波器后产生输出信号y(n),将输出信号y(n)与或为期望信号d(n)进行比较,得到误差信号e(n)。e(n)和x(n)通过自适应算法对滤波器的参数进行调整,使得误差信号e(n)最小
图2 自适应滤波器
滤波器输出信号为:
(1)
式中:T表示转置矩阵,P代表滤波器阶数,y(n)相对于期望信号d(n)的误差序列为:
(2)
LMS过程即使如下的最小均方误差最小:
ε=E{e2(n)}=E{[d(n)-y(n)]2}
(3)
自适应滤波的最速下降法得权矢量的修正公式:
wn+1=wn+uE{e(n)x(n)*}
(4)
在基本LMS算法中,我们用样本来估计E{e(n)x(n)*},权矢量修正式就变成最简单的形式:
wn+1=wn+ue(n)x*(n-k)
(5)
式中:u为步长,影响算法的收敛性,e(n)为误差。当0
最终基本LMS算法过程如下:
1 初始化自适应滤波器阶数p和抽头系数Wn,步长u;
2 计算输入序列经滤波器后的实际输出值:
y(n)=WnT(n)X(n);
3 计算误差:e(n)=d(n)-y(n);
4 滤波器抽头系数更新:Wn+1=Wn+*u*e(n)*X(n);
5 返回步骤2。
在助听器的实际应用中期望信号d(n)不能获得,所有采用带有参考信号的自适应滤波,如图3所示。从麦克风输入信号x(n)=d(n)+v1(n)中估计信号d(n),给定参考信号v2(n),它与信号v1(n)相关,则可以用v2(n)估计v1(n),然后减去该噪声估计就得到d(n)的估计。
图3 带参考信号的LMS模型
2.2NLMS算法
LMS算法设计的难点是步长u的选择,若0
(6)
本文数字助听器系统软件部分包括助听系统软件(又称为下位机软件)以及PC端的上位机软件,硬件包括运行助听器软件的嵌入式平台与PC机。下面详细介绍本系统的软硬件平台搭建过程。
3.1 硬件平台搭建
本文数字助听器系统硬件平台如图4所示。
图4 嵌入式助听器硬件平台基本框图
下面就本平台的主要组成部分进行简要描述:
(1)麦克风/扬声器:采用驻极体麦克风/耳机接口,用于常规语音信号采集、播放;
(2)语音编解码芯片:采用WM8960音频编解码芯片,该芯片是欧胜微电子推出的一款低功耗、高质量立体声编解码芯片,最高能提供立体声24bitsigma-delta模数转换以及数模转换能力;
(3)Cortex-A8处理器:采用由Samsung推出的S5PV210为主处理器,主频为1GHz,ARM7指令集,512kbyte的二级缓存,512MbyteDDR2内存,可实现最多2000DMIPS的高性能运算能力。S5PV210具有低功耗的音频子系统以及带有32位宽度、64位深度,支持5.1版本的IIS协议和128kbyte音频播放输出缓冲器以及硬件音频混合器同时具有多种音频接口,可以便捷的对音频进行各种复杂的高速运算处理,为用户提供性能优异的音频解决方案;
(4)计算机:运行上位机软件,采用串口与嵌入式平台进行通信;
(5)RAM/FLASH:参数以及音频存储。
3.2 软件平台搭建
本文数字助听器系统采用嵌入式Linux作为嵌入式操作系统。Linux是一个免费使用和自由传播的类Unix操作系统,最早由LinusTorvalds在1991年设计编写而成。经过数十年的发展,如今Linux的各种发行版本已经深入到我们的生活之中。Linux系统不仅kernal免费,很多软件也都是自由软件可以免费获取。也正是由于Linux的开放性,任何人都可以获取并进行剪裁,用以开发自己的产品,其系统内核最小只有134kbyte,并且稳定性好。
Linux体系结构可分为用户空间与内核空间两大部分。数字助听器算法的移植,主要是在用户空间的应用层进行程序的编写,但需要调用各种设备,所以仍然需要内核空间设备驱动的支持才能够最终完成对诸如麦克风,扬声器这样的设备的使用。
本系统采用Linux-ARM的交叉开发方式,PC端linux为Redhat5.1,嵌入式平台为3.1中描述的硬件结构。首先在linux下完成代码的编写,然后通过交叉编译得到可在嵌入式平台上运行的可执行文件。
软件环境搭建的主要步骤包括:
(1)交叉编译环境搭建;
(2)用于嵌入式平台的Linux内核编译;
(3)嵌入式平台ALSA驱动移植;
图5 Linux体系结构图
图6 反馈路径冲击响应
为了检验LMS和NLMS种算法的性能,并对助听器系统的参数进行研究。实验采用的反馈路径g(图6)由下式给出
(7)
式中:q(n)为均值为0,方差为0.5的高斯白噪声。之所以采用这种反馈路径是因为它非常类似于助听器扬声器经通气孔及助听器与耳道的间隙泄露到麦克风的真实测量反馈路径[6]。
实验采用两种类型的助听器输入信号,第1种采用一段高斯白噪声作为输入信号,第2种采用一段录制好的语音信号作为输入,其采样率为8kHz,总采样点数为27 000。波形图如图7所示。
图7 实验语音波形
实验系统为如图1所示的助听器模型,并具有一个延迟单元,其传递函数为G(Z)=G0Z-n。实验暂不考虑前向增益的影响(G=1)。通常我们采用两种参数来描述回声抵消效果,一是MSE(MeanSquareError),其定义为误差的期望,MSE越小表示算法的效果越好。其定义为
MSE=E{e2(k)}
(8)
二是回声衰减增益(ERLE),其定义如下:
(9)
式中:r(n)表示的是助听器的输出,r(n)-r1(n)表示回声残留信号。ERLE值越大,则表明回声抵消效果越好,一般要求ERLE>6dB。
4.1MATLAB仿真实现对比LMS和NLMS
仿真1 输入一段20 000点的高斯白噪声,固定前向增益,delay=10。步长unlms=0.001、ulms=0.001,图8和图9分别是两种算法的MSE和ERLE性能对比。
图8 MSE对比
仿真2 使用如图4所示的语音进行作为输入信号,自适应滤波器阶数为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发现在MSE的比较中,NLMS比LMS的平均低8.2dB,ERLE高5.6dB。NLMS在语音输入的情况下同样保持了更好的回声抵消性能。在实际应用,NLMS继承了LMS算法简单,稳定性高的特点,而且由于其自适应步长的特性,被广泛应用。
4.2 嵌入式平台实时性能测试
为检验NLMS算法的有效性,在不同步长下比较开启自适应滤波后的最大增益(不产生啸叫情况下的最大增益)提升量,并将输出语音保存,因真实回波路径无从得知,故无法通过失调和ERLE判断算法的具体性能,因此主要通过最大增益的提高量以及语音主观评价来评价自适应算法的有效性。本次实验中不开启自适应滤波的最大前向增益为3,实验采用MOS(Meanofscore)得分评价输出语音质量,MOS得分范围为0~5,数值越大表示音质越好。
从表1的结果中可以发现,步长大于0.01时,开启自适应算法后的最大增益都有一定的提高,证明自适应回波抵消算法在提高前向增益上有一定效果。
表1 开启自适应滤波的最大增益和MOS得分情况
仔细分析表1中各步长下的MOS得分,发现步长较大时语音质量不佳(MOS得分低),在步长较小时,不产生啸叫情况下的增益提高量十分有限。出现这种情况的主要原因是助听器的实际使用中其真实回波路径数各抽头上的值较小,因此需要的自适应滤波算法步长较小,能在保持较好音质的同时抵消回声,而本实验测试环境为开放环境,真实回波路径系数各抽头上的值较大,若想不产生啸叫则必须使用较大的步长,而大步长时语音质量必然受影响。
本文采用LMS、NLMS算法来进行回声抵消实验,从实验结果可以看出NLMS算法具有更好的回声抵消效果。LMS类算法作为一种相关性滤波,是基于参考信号与估计信号的相关性的,但是往往我们需要的期望和反馈回来的信号也具有一定的相关性,这也在一定出现上影响了算法的效果。本文采用实验验证了1ms左右的延迟给算法效果带来的提升。最后通过NLMS算法的嵌入式平台的移植来验证其在实际应用中的可行性。总之,NLMS算法继承了NLMS易于实现、效果优良的优势,同时有具有自适应步长的特点,对助听器的回波抵消模块的设计具有实际意义。将其与其他算法(如自适应陷波器)的搭配是目前助听器中解决声反馈问题的一个最有力的途径。
[1] 肖宪波,王宁宇,胡广书. 数字助听器中若干主要算法的发展和现状[J]. 生物医学工程学杂志,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] 王侠,梁瑞宇,王青云,等. 一种应用于助听器的变步长归一化子带自适应声反馈抑制算法[J]. 东南大学学报(自然科学版),2015,45(3):417-422.
[4] 梁瑞宇,赵力,王青云,等. 数字助听器的并行梯度投影回声抵消[J]. 应用科学报,2012,30(3):256-262.
[5] 杨绿溪. 现代数字信号处理[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