Page 23 - 《应用声学》2022年第6期
P. 23
第 41 卷 第 6 期 陆悠南等: 应用于助听器反馈抑制的信噪比自适应滤波算法 869
µ
传声器实际输入信号 x (n) 由环境输入信号 其中,NLMS 算法的步长 ˜µ = 2 ,µ 为固
′
x(n)和反馈信号f(n)叠加组成, ∥d(n)∥ + δ
定值,δ 为一个大于零的修正因子,以防分子为 0。
x (n) = x(n) + f(n), (1) 计算得到的自适应滤波器系数 ˆ w(n) 是对最优滤波
′
其中,反馈信号f(n)由受话器输出信号y(n)经反馈 器w 的估计,它们之间的失配用系数误差向量 ε(n)
路径 H(z) 产生,则f(n) = h(n) ∗ y(n),∗ 表示卷积, 来衡量
h(n) 表示 H(z) 的单位脉冲响。自适应滤波器的输
ε(n) = w − ˆ w(n). (7)
出为模拟反馈信号f (n),
′
于是,从w 中减去式(6)的等式两端,则可得到
T
f (n) = w (n)y(n), (2) µ
′
ε(n + 1) = ε(n) − 2 d(n)e(n). (8)
其中,w(n) 为自适应滤波器的系数向量,w(n) = ∥d(n)∥ + δ
T
[w 0 (n), w 1 (n), K, w(n) L−1 ] ,L 为滤波器的长度。 假设 n 时刻达到滤波器收敛的最优状态,则
自适应滤波器系数 w(n) 由延时后的受话器输出信 ε(n)为最小值ε min ,则式(8)可转换为
号 d(n) 和误差信号 e(n) 自适应更新。传声器接收
µ
到的信号是环境输入信号和反馈信号混合而成,误 ε(n + 1) = ε min + 2 d(n)e(n) . (9)
∥d(n)∥ + δ
差信号 e(n) 表示为传声器实际输入信号与模拟反
由式 (9) 可明显看出,当步长 µ 值越大的时候,
馈信号的差,
滤波器稳态时的失调也随之越大。当d(n)e(n) 之间
′
e(n) = x (n) − f (n). (3) µ
′
d(n)e(n) 随之增大,
2
等同于 e(n) = x(n) + f(n) − f (n),即反馈路径与 的相关性增加时, ∥d(n)∥ + δ
′
模拟反馈路径的误差信号与语声输入信号的和,因 同时滤波器稳态时的失调也越大。在助听器的反馈
此自适应滤波器的性能决定了反馈抑制系统的性 抑制中 NLMS 算法相较于 LMS 算法虽具有良好的
能。受话器实际输出信号y(n)为反馈抑制后的信号 收敛性能,但由于助听器的反馈信号与输入语声信
e(n)经前向路径G(z)后的增益放大信号, 号具有极大的相关性,依然存在稳态失调受语声相
y(n) = g(n) ∗ e(n), (4) 关性影响增大的问题。
其中,g(n) 为 G(z) 的时域表现形式。定义系统函数 2.2 基于信噪比的步长控制
为C(z), 随着助听器技术的发展,助听器的体积越来越
G(z) 小,传声器和受话器的距离越发靠近,随之而来的是
C(z) = ( ) , (5)
ˆ
1 − G(z) H(z) − H(z) 语声信号的相关性越来越强。当语声信号相关性越
强时,滤波器的误差则越大且稳态失调量也随之越
ˆ
其中,H(z) 为模拟反馈路径。当估计无偏差时,即 大。为了解决语声信号相关性带来的失调量增大问
ˆ
H(z) = H(z),C(z) = G(z),此时增益可以无限大。
( ) 题,本文引入信噪比控制步长,优化自适应系统的
ˆ
而当 G( e ) H( e ) − H( e ) > 1 并且其相位
jω
jω
jω
性能,从而提高反馈抑制系统的有效增益。由于纯
为 2π 的整数倍时,系统将变得不稳定,此时会引起
净语声的相关性更强,当纯净语声占信号的主要部
系统剧烈震荡,从而产生啸叫。因此,当反馈路径与 分即信噪比越高时,自适应滤波器的更新误差增大,
ˆ
模拟反馈路径的误差信号越小,即|H(z) − H(z)|越
因此需要在信噪比高的情况下,限制自适应算法的
小时,在助听器不产生啸叫的条件下达到前向路径
步长,减缓自适应滤波器的收敛速度,从而减小更新
的增益就越高,对听力损失的人具有重要的意义。
误差。同理,在信噪比越低的情况下,噪声占信号的
2 自适应滤波算法 主要部分,由于噪声的相关性较小,因此增加算法步
长,加快自适应滤波器的收敛速度。
2.1 NLMS算法原理 基于信噪比的 NLMS 算法框图如图 2 所示,采
NLMS 对于输入矢量的平方欧式范数进行归 用最小值统计法估计出误差信号的噪声能量,从而
一化,从而相对于 LMS算法获得更快的收敛速度和 估计误差信号 e(n) 的信噪比控制 NLMS 算法中的
更好的稳定性能 [18] ,其更新公式如下: 步长µ,关系可表示为式(10):
µ
ˆ w(n + 1) = ˆ w(n) + 2 d(n)e(n), (6) µ(n) = f{SNR[e(n)]}. (10)
∥d(n)∥ + δ