优化回声消除过程:AEC Challenge冠军方案线性部分解析

今天我们继续介绍回声消除的优化,在前面优化回声消除过程:舒适噪声生成算法的应用与原理我们介绍了回声消除中的舒适噪声是如何产生的,这里我们介绍下线性部分的优化。我们知道在WebRTC的AEC中包含两个部分,参考WebRTC AEC 流程解析,分别是线性部分,用于消除线性回声;非线性部分,用于消除硬件等引入的非线性部分。这里的线性部分采用了分块频域自适应滤波器(Partitioned Block Frequency Domain Adaptive Filter, PBFDAF),这个滤波器在Speex中称为分块频域波器(Multidelayblock frequency Filter,MDF), 其实它们原理是一样的,都是基于NLMS的自适应滤波器。

在ICASSP2022 DNS Challenge和AEC Challenge百度提出了一种信号处理-深度学习混合式方法(hybrid method),可以同时抑制回声、噪声和混响,其线性部分采用了基于比例归一化最小均方(proportionate normalized least-mean-squares, PNLMS)算法的双滤波器结构的线性回声消除模块,神经网络部分则提出了名为基于轴向自注意力的多尺度时频卷积神经网络的架构。本文先介绍信号处理的线性部分所使用的PNLMS滤波器,神经网络部分后面有机会再介绍。

NLMS

回声消除信号模型如下所示,其中x是远端信号,v是近端信号,y是包含近端信号和远端信号经过未知的回声路径产生的回声信号,e是回声消除处理后的信号。

优化回声消除过程:AEC Challenge冠军方案线性部分解析

根据上面的模型,我们可以写出NLMS相关公式:

优化回声消除过程:AEC Challenge冠军方案线性部分解析
优化回声消除过程:AEC Challenge冠军方案线性部分解析
优化回声消除过程:AEC Challenge冠军方案线性部分解析
优化回声消除过程:AEC Challenge冠军方案线性部分解析

其中N是滤波器的阶数,μ是学习步长。当x是平稳随机过程时,公式(3)的估计方法是比较精确的,然而当不满足上述条件时,公式(3)估计的结果可能与真实结果相差较多。从上述公式可以看出,NLMS更新步长是固定的。

假设x(k)和v(k)是相互独立的零均值高斯噪声过程,它们的方差分别为σx和σv,我们定义收敛速率定义为

优化回声消除过程:AEC Challenge冠军方案线性部分解析

误差信号e(k)稳定时的状态功率为

优化回声消除过程:AEC Challenge冠军方案线性部分解析

收敛速度与滤波器长度成反比,并且也是步长参数μ的函数。当等于μ=1时实现最快收敛,并且当μ>2时,算法会变得不稳定。在实际应用时,一般会取μ=0.1,这远小于最快的收敛速率对应的μ值。

PNLMS

PNLMS 算法与 NLMS 算法的不同之处在于,可用的自适应“能量”在抽头上分布不均匀,其公式如下所示:

优化回声消除过程:AEC Challenge冠军方案线性部分解析

其中ρ和δ是正则化项,避免滤波器权重卡在0值。当滤波器抽头数N=512时,经验值设为0.01。如果我们将设为ρ=0,那么公式(14)与公式(4)相比只多了g/g_mean这一项,这意味着当前估计值远大于0的滤波器权重比当前估计值接近零的滤波器权重获得更多的更新量,因此滤波器不同权重收敛速度不同。μ可以不小于2/3就可以达到系统稳定极限,当g中所有权重一样时,μ接近于2,这使得PNLMS收敛速率要快于NLMS。

需要说明的是当回声路径稀疏时(a),PNLMS 算法可以更快的收敛。因此PNLMS 算法的主要应用是线路/网络回声消除器 (LEC/NEC),因为其典型的混合相关回声路径很稀疏。否则,对于非稀疏回声路径(b)(通常在声学环境中观察到),从算法收敛速度的角度来看,几乎没有任何明显的好处。

优化回声消除过程:AEC Challenge冠军方案线性部分解析

IPNLMS

PNLMS 算法的收敛速度提升是以回声路径脉冲响应具有高稀疏程度为前提条件的,因此在一些低稀疏度的场景下,其效果甚至没有 NLMS 算法表现好,且随着迭代的进一步进行,其收敛速度会发生显著减缓的情况。为了解决这一问题improved PNLMS(IPNLMS)被顺势提出,其主要思想是对公式(11)中的“比例”进行优化,当权重系数估计不正确时公式(11)中取最大值的方法对收敛是有影响的,基于此,IPNLMS提出来一种更平滑的方式去计算比例。

计算滤波器系数L1范数为

优化回声消除过程:AEC Challenge冠军方案线性部分解析

将公式(11)用如下公式替换

优化回声消除过程:AEC Challenge冠军方案线性部分解析

其中-1≤α<1,计算其L1范数

优化回声消除过程:AEC Challenge冠军方案线性部分解析

此时IPNLMS更新公式为:

优化回声消除过程:AEC Challenge冠军方案线性部分解析

其中

优化回声消除过程:AEC Challenge冠军方案线性部分解析

可以发现当α=-1时,IPNLMS和NLMS是等价的,当α接近于1时,IPNLMS接近于PNLMS。公式(16)可以看成由两部分组成,第一部分是估计滤波器权重系数绝对值的平均值,第二部分是滤波器权重系数绝对值,当回声路径稀疏时,由于这个估计值和真实值之间有差距导致“比例”计算错误从而影响滤波器收敛。然而第一项引入平均值可以消除第二项引入的一些误差,因此其更准确一些。在实际情况中,一般取α为0或者-0.5。

我们最后看下NLMS、PNLMS、IPNLMS的对比,我们模拟三种不同的回声路径,它们的脉冲响应如下所示:

优化回声消除过程:AEC Challenge冠军方案线性部分解析

当时使用语音输入作为输入,使用(b)中的回声路径模拟,滤波器失配结果如下,可以发现PNLMS在非稀疏的回声路径下仍可以取得比较好的跟踪结果。

优化回声消除过程:AEC Challenge冠军方案线性部分解析

参考文献:

[1]. https://zhuanlan.zhihu.com/p/152216607

[2]. https://blog.csdn.net/qq_34218078/article/details/128254787

[3]. https://zhuanlan.zhihu.com/p/507490961

[4]. https://ieeexplore.ieee.org/document/861368

[5]. https://scholarsmine.mst.edu/ele_comeng_facwork/874/

作者:Ryuk
来源:语音算法组
原文:https://mp.weixin.qq.com/s/DYFKy8FlGISkEstS1kGOMA

版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。

(0)

相关推荐

发表回复

登录后才能评论