从通讯回音产生的原因看,可以分为声学回音(Acoustic Echo)和线路回音(Line Echo),相应的回声消除技术就叫声学回声消除(Acoustic Echo Cancellation,AEC)和线路回声消除(Line Echo Cancellation, LEC)。声学回音是由于在免提或者会议应用中,扬声器的声音多次反馈到麦克风引起的(比较好理解);线路回音是由于物理电子线路的二四线匹配耦合引起的(比较难理解)。
回音的产生主要有两种原因:
1. 由于空间声学反射产生的声学回音(见下图):

图中的男子说话,语音信号(speech1)传到女士所在的房间,由于空间的反射,形成回音speech1(Echo)重新从麦克风输入,同时叠加了女士的语音信号(speech2)。此时男子将会听到女士的声音叠加了自己的声音,影响了正常的通话质量。此 时在女士所在房间应用回音抵消模块,可以抵消掉男子的回音,让男子只听到女士的声音。
2. 由于2-4线转换引入的线路回音(见下图):

在ADSL Modem和交换机上都存在2-4线转换的电路,由于电路存在不匹配的问题,会有一部分的信号被反馈回来,形成了回音。如果在交换机侧不加回音抵消功能,打电话的人就会自己听到自己的声音。
不管产生的原因如何,对语音通讯终端或者语音中继交换机需要做的事情都一样:在发送时,把不需要的回音从语音流中间去掉。
试想一下,对一个至少混合了两个声音的语音流,要把它们分开,然后去掉其中一个,难度何其之大。就像一瓶蓝墨水和一瓶红墨水倒在一起,然后需要把红墨水提取出来,这恐怕不可能了。所以回声消除被认为是神秘和难以理解的技术也就不奇怪了。诚然,如果仅仅单独拿来一段混合了回音的语音信号,要去掉回音也是不可能的(就算是最先进的盲信号分离技术也做不到)。但是,实际上,除了这个混合信号,我们是可以得到产生回音的原始信号的,虽然不同于回音信号。
我们看下面的AEC声学回声消除框图(本图片转载)。

其中,我们可以得到两个信号:一个是蓝色和红色混合的信号1,也就是实际需要发送的speech和实际不需要的echo混合而成的语音流;另一个就是虚线的信号2,也就是原始的引起回音的语音。那大家会说,哦,原来回声消除这么简单,直接从混合信号1里面把把这个虚线的2减掉不就行了?请注意,拿到的这个虚线信号2和回音echo是有差异的,直接相减会使语音面目全非。我们把混合信号1叫做近端信号ne,虚线信号2叫做远端参考信号fe,如果没有fe这个信号,回声消除就是不可能完成的任务,就像“巧妇难为无米之炊”。
虽然参考信号fe和echo不完全一样,存在差异,但是二者是高度相关的,这也是echo称之为回音的原因。至少,回音的语义和参考信号是一样的,也还听得懂,但是如果你说一句,马上又听到自己的话回来一句,那是比较难受的。既然fe和echo高度相关,echo又是fe引起的,我们可以把echo表示为fe的数学函数:echo=F(fe)。函数F被称之为回音路径。在声学回声消除里面,函数F表示声音在墙壁,天花板等表面多次反射的物理过程;在线路回声消除里面,函数F表示电子线路的二四线匹配耦合过程。很显然,我们下面要做的工作就是求解函数F。得到函数F就可以从fe计算得到echo,然后从混合信号1里面减掉echo就实现了回声消除。

尽管回声消除是非常复杂的技术,但我们可以简单的描述这种处理方法:

  1、房间A的音频会议系统接收到房间B中的声音
  2、声音被采样,这一采样被称为回声消除参考
  3、随后声音被送到房间A的音箱和声学回声消除器中
  4、房间B的声音和房间A的声音一起被房间A的话筒拾取
  5、声音被送到声学回声消除器中,与原始的采样进行比较,移除房间B的声音

求解回音路径函数F的过程恐怕就是比较难以表达的数学公式了。鉴于通俗表达数学公式的难度比发现数学公式还难,笔者就不费力解释了。下面这段表达了利用自适应滤波器原理求解函数F的过程。

自适应滤波器

自适应滤波器是以输入和输出信号的统计特性的估计为依据,采取特定算法自动地调整滤波器系数,使其达到最佳滤波特性的一种算法或装置。自适应滤波器可以是连续域的或是离散域的。离散域自适应滤波器由一组抽头延迟线、可变加权系数和自动调整系数的机构组成。附图表示一个离散域自适应滤波器用于模拟未知离散系统的信号流图。自适应滤波器对输入信号序列x(n)的每一个样值,按特定的算法,更新、调整加权系数,使输出信号序列y(n)与期望输出信号序列d(n)相比较的均方误差为最小,即输出信号序列y(n)逼近期望信号序列d(n)。

以最小均方误差为准则设计的自适应滤波器的系数可以由维纳-霍甫夫方程解得。
B.维德罗提出的一种方法,能实时求解自适应滤波器系数,其结果接近维纳-霍甫夫方程近似解。这种算法称为最小均方算法或简称 LMS法。这一算法利用最陡下降法,由均方误差的梯度估计从现时刻滤波器系数向量迭代计算下一个时刻的系数向量   

式中ks为一负数,它的取值决定算法的收敛性, Vε2(n)】为均方误差梯度估计,

自适应滤波器应用于通信领域的自动均衡、回声消除、天线阵波束形成,以及其他有关领域信号处理的参数识别、噪声消除、谱估计等方面。对于不同的应用,只是所加输入信号和期望信号不同,基本原理则是相同的。
  上面这段话表明,需要求解的回音路径函数F就是一个自适应滤波器W(n)收敛的过程。所加输入信号x(n)是fe,期望信号是echo,自适应滤波器收敛后的W(n)就是回音路径函数F。 收敛之后,当实际回音发生,我们把fe通过函数W(n),就可以得到一个很准确的echo,把混合信号直接减去echo,得到实际需要发送的语音speech,完成回声消除任务。

值得注意的两点:
1、 自适应滤波器收敛阶段,期望信号是完全的echo,不能混杂有speech。因为speech和fe是没有关系的,会扰乱W(n)的收敛过程。也就是说要求回声消除算法开始运转后收敛要非常快,最好对方还来不及说话,你一说就收敛好了;收敛好之后,如果对方开始说话,也就是有speech混合过来,这个W(n)系数就不要变化了,需要稳定下来。
2、 回音路径可能是变化的,一旦出现变化,回声消除算法要能判断出来,因为自适应滤波器学习要重新开始,也就是W(n)需要一个新的收敛过程,以逼近新的回音路径函数F。
基本上来说,上面这两点是两难的,一个需要自适应滤波器收敛后保持系数稳定,以保证不受speech说话干扰,另一个需要自适应滤波器随时保持更新状态,以保证能够追踪变化的回音路径。这样一来,仅从数学算法层面,回声消除已经是难上加难!简单地说,回声消除自适应滤波器的设计具有两个互相矛盾的特性,也就是快速收敛和高度的稳定性,如何同时实现这两项特性,正是设计上的主要挑战。

回声消除原理 此博文包含图片相关推荐

  1. 音视频处理三剑客之 AEC:回声产生原因及回声消除原理

    在上一期课程<音视频开发者进阶 -- 音频要素>中,我们从声音三要素.音频模拟信号的数字化和音频数字信号特征等方面,重新认识了"声音"这个老朋友.今天,我们会进一步聊聊 ...

  2. Speex回声消除原理深度解析

    这里假设读者具有自适应滤波器的基础知识.Speex的AEC是以NLMS为基础,用MDF频域实现,最终推导出最优步长估计:残余回声与误差之比.最优步长等于残余回声方差与误差信号方差之比,这个结论可以记下 ...

  3. Latex使用技巧:双栏模式下的跨栏长公式(APS期刊,PRL,PRA,PRB...) 此博文包含图片 (2017-03-16 16:41:49)转载▼

    Latex使用技巧:双栏模式下的跨栏长公式(APS期刊,PRL,PRA,PRB-) 此博文包含图片 (2017-03-16 16:41:49)转载▼ 标签: latex ctec 论文写作 技巧 长公 ...

  4. 叉指换能器—此博文包含图片—声表面波的激励结构

        叉指换能器(IDT)是在压电基片上淀积一层金属薄膜,在用光刻法得到一列交叉的电极制成.当交变的电场加载一列交叉的电极上,通过逆压电效应,在压电基片上产生声表面波. 图1 叉指换能器示意图    ...

  5. TortoiseSVN日常使用指南 此博文包含图片

      本文目的在与描述TortoiseSVN客户端的日常使用.不是一个版本控制系统指南,也不是Subversion (SVN)的指南.本文档的价值在于,当你知道大概要做什么,却又记不起应该怎么做的时候, ...

  6. C4.5决策树 此博文包含图片 (2011-10-20 23:22:19)转载▼ 标签: 分类树

    C4.5决策树 (2011-10-20 23:22:19) 转载▼ 标签: 分类树 决策树 c4.5 机器学习 数据挖掘 分类: 数据挖掘 1. 算法背景介绍 分类树(决策树)是一种十分常用的分类方法 ...

  7. 基于live555中的liveMedia库的client开发流程 此博文包含图片

    基于live555中的liveMedia库的client开发流程 转载▼ 如今流媒体无处不在,而主流流媒体服务器为Realworks.Windows Media Server.Apple Darwin ...

  8. 使用slmgr.vbs -rearm命令重置,提升需要提升特权 [此博文包含图片]

    win7按照论方法,使用slmgr.vbs -rearm命令进行重置,但是系统提示"错误0xC004F025拒绝访问:所请求的操作需要提升特权". 出现问题图片见附件: 解决 C: ...

  9. 反欺诈技术揭秘-设备指纹VS关系网络模型 此博文包含图片 (2017-05-12 10:23:52)转载▼ 标签: 设备指纹 关系网络 反欺诈 神经网络模型 分类: 风控 文章来源:网络(经整合梳理

    反欺诈技术揭秘-设备指纹VS关系网络模型 (2017-05-12 10:23:52) 转载▼ 标签: 设备指纹 关系网络 反欺诈 神经网络模型 分类: 风控 文章来源:网络(经整合梳理,仅供交流学习使 ...

最新文章

  1. 编程入门到进大厂,你需要这套学习架构
  2. python手机版iphone-python如何绘制iPhone手机图案?(代码示例)
  3. 解决jenkins 使用ssh插件执行脚本,导致一直处于构建中无法停止
  4. 自制快速冒烟测试小工具--基于python多线程(1)
  5. Netty--Reactor模式
  6. 谈谈在.NET Core中使用Redis和Memcached的序列化问题
  7. 本地Android源代码库下载源码
  8. 2016 - 2- 2 非正式协议与正式协议
  9. json 转换 java odl_JSON与JAVA数据的转换
  10. PostgreSQL 按周、月、天 统计问题
  11. python安装包国内镜像,pip使用国内镜像
  12. Fiddler 抓包工具总结
  13. avl cruise与matlab,AVL CRUISE下载,AVL CRUISE购买,AVL CRUISE试用,AVL CRUISE介绍,AVL CRUISE评价...
  14. win10 android4.4 驱动,ST-LINK/V2驱动win10版
  15. 使用git命令提交远程github仓库的时候提示rejected(拒绝)解决办法
  16. win7鼠标指针主题包_双飞燕FB35双模蓝牙鼠标评测 终于能让手放松了
  17. 正则表达式实现提取IP地址字符串
  18. 自媒体适合多平台发布,30+自媒体平台都可以一键发布!
  19. 分布式、高并发、高性能场景(抢购、秒杀、抢票、限时竞答)数据一致性解决方案
  20. Pytorch求张量的倒数

热门文章

  1. 2021年阿贝尔奖公布!理论计算机科学和离散数学领域学者获奖
  2. 服务器配置 二级域名或泛解析二级域名
  3. 计算机化系统验证的生命周期是几年,采用GMAP5方法的计算机化系统验证的生命周期文件及活动(课件).pdf...
  4. TextView相关属性
  5. php指纹登录原理,指纹识别的工作原理-理论方法-敏捷大拇指-一个敢保留真话的IT精英社区...
  6. 【个人所得税】退税金额查询
  7. Git安装包(window64版本,附有下载教程)
  8. 图像的读取 matlab,Matlab编程环境下图像的读取
  9. 云计算与大数据第6章 云计算节能技术题库及答案
  10. 深入理解Jvm(一)--内存理解