初探回声消除

回声的形成

声学回声是指扬声器播出的声音在接受者听到的同时,也通过多种路径被麦克风拾取到。多路径反射的结果产生了不同延时的回声,包括直接回声间接回声

直接回声:远端扬声器将语音信号播放出来后,被远端麦克风直接采集后得到的回声。直接回声不受环境的印象,与扬声器到麦克风的距离及位置有很大的关系,因此直接回声是一种线性信号

间接回声:远端扬声器将语音信号播放出来后,语音信号经过复杂多变的墙面反射后由远端麦克风将其拾取。间接回声的大小与房间环境、物品摆放以及墙面吸引系数等等因素有关,因此间接回声是一种非线性信号

回声消除技术主要用于在免提电话、电话会议系统等情形中。

更具体的如下图所示,A、B 两人在通信的过程中,我们有如下定义:

  • x(n): 远端参考信号,即 A 端订阅的 B 端音频流,通常作为参考信号;
  • y(n): 回声信号,即扬声器播放信号 x(n) 后,被麦克风采集到的信号,此时经过房间混响以及麦克风采集的信号 y(n) 已经不能等同于信号 x(n) 了, 我们记线性叠加的部分为 y’(n), 非线性叠加的部分为 y’’(n), y(n) = y’(n) + y’’(n);
  • s(n): 麦克风采集的近端说话人的语音信号,即我们真正想提取并发送到远端的信号;
  • v(n):环境噪音,这部分信号会在 ANS 中被削弱;
  • d(n): 近端信号,即麦克风采集之后,3A (3A指的是在上行的发送端对发送信号依次进行回声消除、降噪以及音量均衡)之前的原始信号,可以表示为:d(n) = s(n) + y(n) + v(n);
  • s’(n): 3A 之后的音频信号,即准备经过编码发送到对端的信号。

而实际中的音频引擎(如WebRTC)能够拿到的已知信号只有近端信号 d(n) 和远端参考信号 x(n)。

通信信号示意图

如果信号经过 A 端音频引擎得到 s’(n) 信号中依然残留信号 y(n),那么 B 端就能听到自己回声或残留的尾音(回声抑制不彻底留下的残留)。

自适应滤波

解决AEC(AEC: Acoustic echo cancellation,声学回声消除)问题最常用的方法:

使用自适应滤波算法调整滤波器的权值向量,估计一个近似的回声路径来逼近真实回声路径,从而得到估计的回声信号,并在纯净语音和回声的混合信号中除去此信号来实现回声的消除。

自适应滤波器算法的性能指标

  • 收敛速度:滤波器的收敛速度越快越好,使正常通话开始后,通话者很快就感觉不到明显的回波存在。
  • 稳态残留回波(稳定性):即当滤波器收敛达到稳态后的回波输出量,实际中总是希望该参数越小越好。
  • 算法复杂度:良好的算法应该在保持收敛速度的同时尽量降低计算复杂度,同时也能减少功耗

自适应滤波器结构

传统的IIR和FIR滤波器在处理输入信号的过程中滤波器的参数固定,当环境发生变化时,滤波器无法实现原先设定的目标。自适应滤波器能够根据自身的状态和环境变化调整滤波器的权重。

自适应滤波器类型。可以分为两大类:非线性自适应滤波器线性自适应滤波器。非线性自适应滤波器包括基于神经网络的自适应滤波器及Volterra滤波器。非线性自适应滤波器信号处理能力更强,但计算复杂度较高。所以实践中,线性自适应滤波器使用较多

主要分为两类FIR滤波器、IIR滤波器。

  1. FIR滤波器时非递归系统,即当前输出样本仅是过去和现在输入样本的函数,其系统冲激响应h(n)是一个有限长序列。具有很好的线性相位,无相位失真,稳定性较好
  2. IIR滤波器时递归系统,即当前输出样本是过去输出和过去输入样本的函数,其系统冲激h(n)是一个无限长序列。IIR系统的相频特性是非线性的,稳定性不能保证。好处是实现阶数较低,计算量较少

由于IIR存在稳定性问题,因此一般采用FIR。

常用自适应滤波算法

LMS和NLMS是业界使用的主流方法(实际会利用分块思想减少计算量)

LMS(最小均方算法)

LMS基于维纳滤波理论,采用瞬时值估计梯度矢量的算法,通过最小化误差信号的能量来更新自适应滤波器权值系数。

运用最小均方误差准则,由于 ∣ e ( n ) ∣ |e(n)| e(n)在最小值点不可导,因此对 ∣ e ( n ) ∣ 2 |e(n)|^2 e(n)2求导并令其等于0,得到滤波器系数迭代公式:
w ( n + 1 ) = w ( n ) − μ ∂ e ( n ) 2 ∂ w = w ( n ) − 2 μ e ( n )

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值