自适应回声消除技术被广泛应用于通信,VoIP和智能机器人设备中。其主要作用是消除设备自身speaker发出的声音,包括语音,音乐等。
回声是指自身发出的声音经过多次反射(天花板,墙)并多次传入拾音设备。如果反射声波比直达声波到拾音设备的时间比较段,这种情况被称为混响(频谱失真)而非回声;
为了增加人耳听觉正确率,ASR系统识别的正确率,是需要一些回声的(实际上是比直达波晚到不超过30ms的反射波),这样是有利于识别,而ASR系统每个设计环节也是模拟人耳的,如果有过在消声室的体验就能清楚为什么短时回声是有益的。
单通道回声消除结构
在室内场景,回声通常延续300ms-500ms,这样需要的滤波器阶数就会是25000-4000个,当说话人在室内位置变化时,麦克风采集到的回声特性是时变的,同时室内装饰的变化(门窗,家电)也会带来回声特性的变化,
子带相消器
从实时性和计算量的角度看,滤波器的阶数过高是不合适的,这时可以将一个滤波器差分成多个滤波器,这样来一段数据就可以计算一次,二不必等到完整的500ms(需要相消的回声时长)内的数据采集再计算。
子带相消器结构
核心思想是使用一组带通滤波器(),输出并不是简单的将各个滤波器的输出叠加,各个带通滤波器的输出通过一个横向滤波器,横向滤波器根据NLMS准则得出。
假设室内回声持续的时间是秒,是全频带回声脉冲相应持续时间对应的点数,是语音信号原始采样周期(8KHz对应于),假设子带的脉冲相应滤波和全频带脉冲相应滤波器的长度一样是,也即能够处理的回声范围是,如果全频带被分成了M个子带,则每个子带最低采样率是。由于每个子带的滤波器系数是。
该子带相消器的性能取决于两个误差源的相互作用:分析滤波器带来的混叠和有限长横向子带滤波误差。如果子带滤波器长度较短,则截断效应带来的影响是主要的,当长度增加到混叠称为主要影响因素时,再增加滤波器长度效果将不明显。
子带滤波的好处:减少了大量计算,子带滤波器可以并行计算,增加收敛速度(在子带内语音谱的动态范围较小,所以子带信号互相关矩阵的特征值动态范围也小)。
RLS子带相消器
如果忽略计算量,除了上述的NLMS,也可以选择RLS子带相消器。FRLS,子带方法的缺点是分析和综合滤波器引入的延迟.有两种方法可以避免这种延迟。
第一个方法如上图,将分析和综合滤波器从信号回路移到相消滤波器回路,还需要增加一个辅助短宽带自适应滤波器弥补回声回路带来的初始延迟。
第二个方法是如上图。
频域自适应
另一类方法是频域分块自适应相消,上图是实现框图,一次处理一块并产生一块输出,这是相对于NLMS算法在计算量和实时性上更好的算法。使用循环卷积来代替线性卷积,其它篇幅详细分析过,这里略过。