xjs.xjtu

LearningWebRTC: AECM

AECM(Acoustic Echo Control for Mobile)是WebRTC专为Android系统设计的低运算量的回声消除模块。 iOS系统自带的回声消除模块一般性能优良,不需要使用应用层的;Windows由于运算量充足,一般使用AEC/AEC3模块。

算法原理

AECM算法的核心是Adaptive Filter,运用的是NLMS(Normalized Least Mean Square) + Wiener Filter结合的方法。 NLMS主要用于估算回声能量谱,Wiener主要根据回声能量谱计算最终结果。

NLMS原理

aecm_nlms_theory

Wiener Filter原理

aecm_wiener_theory

Wiener滤波器同样使用均方误差最小作为优化目标,不过Wiener滤波不使用迭代解,而是显示解:

结合AECM场景,可以简单推到得到,基于NLMS噪声估计的传递函数为:

关键步骤

aecm_modules

可能的优化方法

评价指标

遗留问题

参考


xjs.xjtu@gmail.com

2017-07-05