自适应声回声消除

声回声很常见,比如说在打电话的时候,自己说话的时候可以在听筒里听到自己的声音。这是因为远端扬声器的信号可以传播到远端受话器里。并且这种传播路径是不固定的,随着远端设备的位置等条件变化而变化,因此是时变的。这个时候希望在近端找到一个跟传播路径功能相似的函数,来逼近回声信号,这样就可以在近端抵消这种回声。

下图是声回声产生的大致过程:


自适应滤波的过程如下:

整个滤波过程抽象为:

语音通话中一般一人说一人听,因此自适应回声消除算法核心步骤为:

① 当说话端开始说话时候,听话端停止说话,自适应滤波器开始干活, 在不考虑噪声的情况下满足 x(n)\ne 0  ; s(n)=0 ; 工作框图为:

以  x(n)  为观测信号,回声信号为期望信号,根据维纳自适应滤波准 则:最小均方误差准则进行自适应滤波求得滤波器权重参数。 并且在听话端开口说话前就要完成权重的训练,因此要求算法收敛速度要快。

② 在听话端开始说话时候,停止自适应滤波权重的更新,工作框图为:

这样就可以在听端最大程度得滤除回声。具体的还要在双端添加一个检测模块,用于检查有没有说话,一旦对方说话,那么自己这端便停止滤波器权重更新。

简单的自适应滤波原理与实现可以参考: 时域维纳滤波小结 - 声声不息 - 知乎专栏

后期性能更好更复杂一点的自适应滤波方法,可以在此基础上继续学习,这里就不多介绍了。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值