首页> 中国专利> 回波消除器及利用归一化最小均方算法的回波消除方法

回波消除器及利用归一化最小均方算法的回波消除方法

摘要

利用一种NLMS算法的回波消除器和回波消除方法。所述NLMS算法根据回波消除器状态的不同而在慢模式、激进模式和禁止模式之间转换自适应模式。这种实现方式不需要相关信息,简单而非常节约时间。在开始通话时,MLMS算法是激进模式,以确保快速收敛。在收敛完成后,NLMS算法就切换到一种慢模式,以返回较低的残余回波。

著录项

  • 公开/公告号CN1288301A

    专利类型发明专利

  • 公开/公告日2001-03-21

    原文格式PDF

  • 申请/专利权人 朗迅科技公司;

    申请/专利号CN99118831.4

  • 发明设计人 刘建峰;

    申请日1999-09-10

  • 分类号H04B3/20;H04M1/74;

  • 代理机构中国国际贸易促进委员会专利商标事务所;

  • 代理人王以平

  • 地址 美国新泽西

  • 入库时间 2023-12-17 13:50:20

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-11-09

    未缴年费专利权终止 IPC(主分类):H04B3/20 授权公告日:20090610 终止日期:20150910 申请日:19990910

    专利权的终止

  • 2009-06-10

    授权

    授权

  • 2002-12-11

    实质审查的生效

    实质审查的生效

  • 2002-11-13

    实质审查的生效

    实质审查的生效

  • 2001-03-21

    公开

    公开

说明书

回波消除是一种非常好的消除通信系统中不希望有的回波的方法。图1示出了利用一种传统的回波消除器的传输网络的框图。该回波消除器200通过单向通路203和205连接到一个数字网络100和一个混合网络230。连接203和205中的虚线用来指示:所述连接可能足够长,从而可能导致烦人的回波信号。这样的回波是在混合网络230中产生的,后者通过通路202连接到电话52。

在图2中示出了一种广泛使用的用来校正回波消除器200中的因数向量(coefficient vector)的自适应算法(adaptation algorithm)。该自适应算法是一种归一化LMS(NLMS)算法210,其由下式给出: >>>h>k>>+>1>=>>h>k>>+>>α>>>|>|>>X>k>>|>|>>2> >·>>e>k>>·>>>X>k>>->->->>(>1>)>>>s>

其中

其中,hk是回波消除器的因数向量212,xx是输入向量,ek是残余回波,dk是基准回波,0<α<2是一个控制稳定性和收敛速度的标量,是输入向量xk的模方,g是实际回波通路因数向量214,nk是加性噪声(或者是在同时通话的情形下的近端话音)。

回波消除器200要有良好的性能,α的选择是关键。小的α值可以确保稳态下的误调(misadjustment)机会小,对于噪声钝性(noiseinsensitivity)来说也是需要的。但是,小的α值会使收敛速度降低。大的α值通常可以实现更快的收敛和更好的跟踪能力,代价则是,在稳态下,会有更高的额外均方误差。因此,要在NLMS算法210中实现合适的自适应,适当地选择α就是一个主要问题。

在现有文献中,进行了大量的努力,以控制所述收敛速度的自动调节(包括回波通路变化和同时通话的探测)。在D.L.Duttweiler发表于1978年5月《电气与电子工程师协会通信学报》卷COM-26第5期第647-653页(IEEE Trans.On Communications,Vol.COM-26,No.5,PP.647-653,May 1978)上的《十二信道数字化回波消除器》(Atwelve-channel digital echo canceller)中,提出了用于同时通话探测的Geigel算法。该Geigel算法拿dk的电流瞬时值样本的强度与一个电流值xmax,k进行比较。如果dk的强度至少高于xmax,k6分贝,则判定存在同时通话。该Geigel算法简单而快捷。但是,如果dk的强度在同时通话过程中低于xmax,k6分贝,该Geigel算法就探测不到同时通话的存在。另外,该Geigel算法还对近端噪声干扰敏感。

除了上述Geigel算法之外,还发明了其他的基于相关的方法,用于自动自适应和同时通话探测/回波通路变化的探测。在F.Casco等的《可变步长的NLMS算法》(“A variable step size NLMS algorithm”,IEICE Trans.Fundamentals,Vol.E78-A,No.8,pp.1004-1009,August1995)中,提出了一种可变步长的LMSFIR自适应滤波算法。在该算法中,步长的调节α由残余回波ek和基准回波dk之间的相关性进行控制。但是,该算法的有效性只是用白噪声输入进行了验证。K.Fujii和J.Ohga在《通过监测回波通路的波动监测同时通话的方法》(“Double-talkdetection method with detecting echo path fluctuation”,Electronicsand Communications in Japan,Part 3,Vol.78,No.4,pp.82-93,1996)中,提出了利用基准回波dk和预估回波(estimated echo)间的标准互相关 >>yk>>(sup>>x>K>Tsup>>·>>>h>k>>)>>->->->>(>4>)>>>s>

来区分同时通话与回波通路变化。这种方法假定:在回波通路变化的情况下,dk和yk之间的标准互相关趋近于0,而在同时通话的情况下,相应的互相关趋近于1。通过观测所述互相关的情况,就可以将同时通话与回波通路变化区分开。但是,这种方法存在两个问题。第一,当回波通路在强度上比例变化时,所述标准互相关可能趋近于1或者大于1,而不是0。第二,在同时通话的情况下,在一段特定的取样期间内,所述近端同时通话和预估回波间的标准互相关可能趋近于1(而不是假定的0),这使得愈加难以利用相应的互相关来区分同时通话和回波通路变化。

如前所述,曾有许多尝试,希望设计出一种利用互相关的有效的回波消除器。但是,尽管进行了许多努力来进行基于互相关信息的自适应滤波,尚无证据表明这些自适应滤波技术可以成功地应用于以NLMS回波消除为目的的方法中。

本发明旨在提供一种不使用互相关信息的简单而快捷的技术。

本发明的基本思想是,随着回波消除器状态的不同而在慢模式、激进模式和禁止模式之间转换NLMS算法的自适应模式。在开始通话时,MLMS算法是激进模式,以确保快速收敛。在收敛完成后,NLMS算法就切换到一种慢模式,该模式下只返回较低的残余回波。一旦探测到或者由同时通话或者由回波通路变化导致的残余回波的增强,就先将当前的自适应滤波因数记忆起来,然后在激进模式下进行更新。为了在较短的探测延迟期间内消除回波,对于应从基准回波中减去哪种回波预估值(对记忆滤波(retained filter)的响应,或者是对快速自适应滤波(aggressively adapted filter)的响应)的判断,是按照Geigel算法作出的。如果用Geigel算法在短时间内探测到了同时通话,则将记忆滤波输出(taps)用来生成残余回波。否则,就将快速自适应滤波输出用来输出残余回波。为了更为精确地判断是发生了同时通话还是回波通路变化,在所述Geigel探测的短暂期间内,将所述快速自适应滤波生成的当前的残余回波与记忆滤波生成的残余回波进行比较。如果由所述快速自适应滤波生成的残余回波的短期平均总是低于所述记忆滤波输出,则可以判断发生了回波通路变化。然后系统用激进模式输出加以更新,切换到激进模式自适应,直到达致新的收敛。否则,就可以判断所述残余回波的增强系因同时通话造成。然后用记忆滤波输出对当前的滤波输出加以更新,选用并维持抑制(自适应被冻结)模式,直到误差信号(残余回波)再次降至变化前的范围内。

图1示出了一种使用普通回波消除器的普通传输网络。

图2示出了用在图1所示普通回波消除器中的一种普通的归一化最小均方(normalized least mean squared,NLMS)算法。

图3示出了本发明的一种实施例中的回波消除器所执行的大致流程。

图4更详细地示出了本发明的一种实施例中的回波消除器所执行的流程。

下面描述图1所示电话网络的混合网络230产生的线路回波的自适应消除的大致的解决方案。当一个新的适应过程开始时,或者在回波通路中有大的变化之后,将所述收敛因子α设定为一个相对大的值,以保证有最快的收敛速度(激进模式自适应)。在收敛完成后,α切换到一个较小的值,以进一步减小返回的回波,并减小回波消除器200对加性噪声的敏感度(慢模式自适应)。当发生同时通话时,就禁止自适应滤波因数的更新(禁止模式自适应)。

下面参照图3所示的流程图,说明如何在尽可能短的期间内使NLMS算法210的自适应模式在激进模式、慢模式和禁止模式之间精确地转换。

下面结合图3对本发明作个总体说明。首先,开始打电话(图3的步骤302)。回波消除器200的NLMS算法210进入激进模式自适应状态,以确保快速收敛(图3的步骤304)。然后,NLMS算法210判断收敛是否已完成(图3的步骤306)。若否,NLMS算法210则返回步骤304。若是,NLMS算法210则转入慢模式自适应,以减少回波/噪声(图3的步骤308)。然后,NLMS算法210就监测残余回波,看是否有残余回波的突增(图3的步骤310)。若无,NLMS算法210就返回步骤308,维持慢模式自适应。若监测到了残余回波的突增,就按照Geigel算法在短暂的延时内输出该残余回波(图3的步骤312)。然后,NLMS算法210作一个更为精确的判断,确定在所述短暂的延时之后是否有同时通话和回波通路变化的情况(图3的步骤314)。NLMS算法210接着对残余回波中突增的原因进行判定(图3的步骤316)。如果残余回波突增的原因是同时通话,NLMS算法210就启动禁止模式自适应,该模式禁止因数的更新(图3的步骤318)。在步骤318之后,NLMS算法210在步骤320进行判断:收敛是否再次完成。若否,NLMS算法210就返回步骤318。若是,NLMS算法210就判断通话是否结束(图3的步骤322)。若通话已结束,NLMS算法210就前进到步骤324,终止其处理过程。若通话未结束,NLMS算法210就前进到步骤308,重新启动慢模式自适应。

在步骤316,如果NLMS算法210判断出残余回波突增的原因是回波通路变化,NLMS算法210就再次进入激进模式自适应,以确保快速的因数收敛(图3的步骤326)。同样,NLMS算法210在步骤328判断收敛是否完成。若否,NLMS算法210就返回步骤326。若是,NLMS算法210就判断通话是否结束(图3的步骤322)。类似于所述禁止模式自适应,如果NLMS算法210确定通话已结束(图3的步骤322),NLMS算法210即被终止(图3的步骤324)。如果在步骤322通话尚未结束,NLMS算法210就前进到步骤308,重新启动慢模式自适应。

下面结合图4对本发明加以详细说明。首先,在启动通话阶段(图4的步骤402),为确保快速收敛,收敛因子α被设定为αaa的值可以选为0.5),并在激进模式下开始自适应过程(图4的步骤404)。当残余回波下降至一特定值时,即可判定已达到收敛状态,从而将所述自适应过程转换到慢模式(图4的步骤406,α=αs,其中αs为0.04)。用下述判别式来判断收敛是否已完成(图4的步骤406):

如果 >>>>|>>x>k>>|>>2>>>>C>·>>>>|>>e>k>>|>>2>>,>>s>则收敛已完成;否则否。

在步骤406,绝对值符号||代表短时窗口内的能量(short timewindowed energy)。该短时窗口的大小可选为64个抽样,C可以是1000。注意,在自适应过程中,如果没有远端信号输入,应当禁止进行自适应。

在收敛完成后,NLMS算法210对残余回波水平进行监测。一旦 >>>>|>>x>k>>|>>2>><>C>·>>>>|>>e>k>>|>>2>>,>>s>也就是说检测到了残余回波的突增(图4的步骤408),就表明或者有同时通话,或者有回波通路变化。然后,NLMS算法210将当前的抽样时间和当前的自适应滤波输出存储起来(图4的步骤412)。同时,该滤波输出在激进模式下进行适应。当前关键参数的记忆以及滤波输出激进模式自适应的启动如下所述:

如果由快速自适应滤波产生的残余回波表示为e_agg=dk-hkt·xk,其中hk在抽样时间k的快速自适应滤波向量,而由被记忆起来的滤波输出产生的残余回波表示为e_freeze=dk-h_freezeT·xk,其中h_freeze为记忆的滤波向量。如果残余回波的增强是由回波通路变化造成的,那么,在一段特定的激进模式自适应期间之后,|e_agg|应当总是小于|e_freeze|。但是,如果残余回波的增强是由同时通话造成的,那么,在某一预定的观察时限内,至少对于若干次抽样,|e_agg|应当大于|e_freeze|。按照这种判别标准,在一段特定的短时间段之后,就可以确定残余回波增强的原因。如果原因是回波通路变化,就用所述快速自适应输出立即更新当前的滤波输出,并使自适应过程在激进模式下继续。否则,如果原因是同时通话,则用先前记忆(“冻结”,frozen)的滤波输出来立即更新当前的滤波输出,并使所述自适应转换到禁止模式。本发明不消除近端同时通话。

在残余回波增强和区分出同时通话和回波通路变化之间有一个检测延迟。为了确保即使在这个短暂的检测延迟期间内线路的性能仍能让人接受,本发明仍要应用传统的Geigel算法。尽管有许多其他的方法被提出来解决同时通话检测问题,且Geigel算法有一些固有的限制,该种算法仍然在许多商业化的回波消除器产品中得到了广泛的应用。在检测到残余回波的增强后,Geigel算法用来判断下式是否满足(图4的步骤414):

|dk|>0.5xmax,k    (5)

如果|dk|大于xmax,k的一半,则认为发生了同时通话,残余回波输出是对先前记忆(冻结)的滤波响应作减法产生的(图4的步骤416)。否则,就认为发生了回波通路的变化,就从所述基准回波中减去所述快速自适应滤波输出响应(图4的步骤418)以生成残余回波输出。在过去一段特定的期间delta(delta可以是数十或数百个抽样,比方说128个抽样)之后(图4的步骤420),在一预定的观察时限obs_win上比较|e_agg|与|e_freeze|(该观察时限也可以是数百个抽样,例如384)。为了将由于回波通路变化中的残余回波的波动而可能产生的副作用考虑进去,使用下述辨别标准:

用dt_num表示在obs_win内|e_agg|大于|e_freeze|的次数。如果dt_num小于某一预定的小阈值dt_threshold(dt_threshold例如可以设定为4或5)(图4的步骤422),就进一步判断出是发生了回波通路的变化。然后用所述快速自适应输出更新参数(图4的步骤424),并使自适应过程以激进模式继续。如果步骤422中的不等关系不满足,则用先前记忆(冻结)的参数更新当前的参数(图4的步骤426)。自适应过程然后就转换到禁止模式。上述自适应状态继续,直至再次监测到下式成立:

|xk|2>C·|ek|2    (6)

该式意味着:或者是达到了新的收敛状态,或者是同时通话已结束(图4的步骤428或者步骤430)。无论哪种情况,自适应过程都返回(图4的步骤432)至慢模式(图4的步骤408,α=αs),整个过程重复,直至结束通话(图4的步骤434)。

上文结合图3和图4所说明的NLMS算法210的实现不需要相关信息。该种实现方式简单而不费时。前文所述的对NLMS算法210的实现具有高收敛速度高稳定性。由此实现的执行前述NLMS算法210的回波消除器200也简单而快捷。

本发明的另一优点是,它能够自适应地处理不同的初始取样期间。此点与别的方法不同,后者需设定一个恒定的初始期间。因此,本发明具有额外的灵活性,可以自适应地应付多种系统。

本发明的另一优点是,在同时通话和回波通路变化的精确区分及响应滤波输出的更新之间,只有一段非常短暂的延迟。因此,在本发明中,由于检测延迟而导致的负作用被减少了。

另外,在图4中说明的实施例利用了传统的Geigel算法的优点。具体来说,在图4所示的实施例中,Geigel算法用来在短时间内简单而快速地检测同时通话和回波通路变化。在该短暂的检测期间过后,对同时通话和回波通路变化作进一步的精确区分,以确保无论是在同时通话还是在回波通路变化的情况下线路都有良好的性能。

如前所述的,尤其是结合图4所示的实施例加以说明的本发明给出了几个特定的参数。但是,本发明不应限于这些参数(如结合图3所更为一般地描述的),对于本领域的普通技术人员而言,这些参数可以很容易地加以修改,同样能获得与本发明相同的有益效果。

另外,本发明在上文是结合图2所示的硬件和图3至图4所示的流程图进行说明的。但是,前述归属于回波消除器200的功能可以或者通过制件(article of manufacture)或者作为(有或无载波的)传播信号(propagated signal)(例如通过因特网)下载而装入回波消除器200中,作为完整的计算机程序或者传播信号,或者以代码段的形式。

在上文,所述NLMS算法210还被描述为回波消除器200的一个明确独立的实体。但是,如本领域的普通技术人员所知,该NLMS算法210可以与其他的实体集成在一起,令其功能以硬件或软件的形式实现于一个卡和/或一块芯片上。这样的更改对于本领域普通技术人员来说是常规性的。

如前所描述的本发明显而易见可以在许多方面加以变化。这样的变化不应视为脱离本发明的精神和范围,且所有这些对于本领域技术人员来说显而易见的修改都包括在所附权利要求的范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号