解密消回音算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

解密回声消除算法

一、前言

前段时间声讯电子推出一款回声消除模块,号称适用于大部分视讯通讯产品,其宣传的强大的功能令不少行内从业者津津乐道,甚至有工程师得出这样的结论,该款回音消除模块算法强大到令人发指!那么他有哪些先进的算法呢,消回音能力真的有其宣传的那么牛吗?接下来我们来探究一下当前比较流行的回音消除基本算法。

要了解回声消除技术的来龙去脉,不得不提及作为现代通讯技术的理论基础——数字信号处理理论。首先,数字信号处理理论里面有一门重要的分支,叫做自适应信号处理。而在经典的教材里面,回声消除问题从来都是作为一个经典的自适应信号处理案例来讨论的。既然回声消除在教科书上都作为一种经典的具体的应用,也就是说在理论角度是没有什么神秘和新鲜的,那么回声消除的难度在哪里?为什么提供回声消除技术(不管是芯片还是算法)的公司都是来自国外?回声消除技术的神秘性在哪里?

二、回声消除原理

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

上面的概念说得比较笼统,相信大多数人都很迷糊,也不直观。据工程师介绍:在

通信术语里,通常指在终端设备(例如电话机)中,发端信号经处理后,其中一部分回馈到自身接收电话的那部分信号。在电话机中,原始话音通过送话器把声音信号转化为电信号,经通信线路一路传送到对方,一路回传到本方受话器,使讲话人能听到自己的声音,这就是侧音。

侧音产生的原因有:

1、电话机内部电路,阻抗均匀性差,或级间阻抗匹配不良。

2、通信网络,阻抗匹配不良。

“回音”是通讯产品及配件在实际使用的过程中,时常遇到的问题。客观地说,无论模拟式通讯、还是数字式通讯,在使用过程中,都一定存在回音的现象。因此,回音消除器产品的设计,就成为了通讯业至今不息的论题。回音的产生,最早是人们在一个空旷的峡谷中喊话,会多次听到自己的声音,这种现象是“声学回音”,指声源产生后,声波在某个物体的表面得到发射,形成“二次声源”,如果声波得到多次的反射,就会形成在峡谷中喊话的效果了。

中国北京天坛回音壁就是人为地采用了这种回音原理,建造出的历史景点。在电话出现后,人们又发现,在通话过程中,会在一定的短暂延时之后,听到自己说的话。这种回音现象,我们称之为“网络回音”,特别是采用两线式的电话系统,在两条铜线上要承载双向的语音信号,在电波延时后,就会出现“二次信号”了

在设计一款“回音消除”产品、或者模块化电路的时候,设计人员首先要了解“回音”产生的机理,而后从实际的条件入手,选择适合的产品方案。以下所讨论的,仅限于视频会议行业常规的使用条件下的产品设计。

回音的产生主要有两种原因:

1.由于空间声学反射产生的声学回音(见下图):

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

2.由于2-4线转换引入的线路回音(见下图):

在ADSL Modem和交换机上都存在2-4线转换的电路,由于电路存在不匹配的问题,会有一部分的信号被反馈回来,形成了回音。如果在交换机侧不加回音抵消功能,打电话的人就会自己听到自己的声音。

不管产生的原因如何,对语音通讯终端或者语音中继交换机需要做的事情都一样:在发送时,把不需要的回音从语音流中间去掉。

试想一下,对一个至少混合了两个声音的语音流,要把它们分开,然后去掉其中一个,难度何其之大。就像一瓶蓝墨水和一瓶红墨水倒在一起,然后需要把红墨水提取出来,这恐怕不可能了。所以回声消除被认为是神秘和难以理解的技术也就不奇怪了。诚然,如果仅仅单独拿来一段混合了回音的语音信号,要去掉回音也是不可能的(就算是最先进的盲信号分离技术也做不到)。但是,实际上,除了这个混合信号,我们是可以得到产生回音的原始信号的,虽然不同于回音信号。

我们看下面的AEC声学回声消除框图(本图片转载)。

Figure Acoustic Echo Cancellation in a voice communication terminal

其中,我们可以得到两个信号:一个是蓝色和红色混合的信号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、声音被采样,这一采样被称为回声消除参考

相关文档
最新文档