专利名称:一种回波消除的方法和装置的制作方法
技术领域:
本发明涉及信号处理技术领域,特别涉及一种回波消除的方法和装置。
背景技术:
回波是语音信号在传输时,由于阻抗不匹配产生的,例如2/4线转换混合线圈不平衡会造成电流泄漏,从而造成一部分信号能量被反射回信号源进而产生回波。如果语音信号经过多次阻抗不匹配的2/4线转换混合线圈,则会产生多级回波。在VOIP中由于存在IP网络存储转发延迟、编码延迟和解码延迟,通常回波延迟较大,当回波延迟大干IOOms 时,用户会明显感觉到回波,导致通话质量下降。如图1所示,当A端和B端通话时,A的语音信号在传输至B端的过程中,由于2/4 线转换混合线圈不匹配会导致部分语音信号能量被反射会A端,这样A端用户就听到了自己语音的回波信号。由于语音信号中间要经过IP转发、编码和解码才能到达B端,而产生的回波信号同样需要经过IP转发、编码和解码才能到达A端,这个过程往往延迟很大,造成 A端感觉到明显的回波。如果如图1中所示,语音网关2和PBX之间的混合线圈阻抗不匹配,则会产生一级回波信号,如果PBX和B端电话之间的混合线圈阻抗不匹配,则又会产生一级回波信号,在此将产生两级以上回波信号的情况统称为产生多级回波。图2为多级回波信号的关系示意图,如图2所示,a点的语音激励信号依次在b点、
c点.....ζ点产生多级回波信号,具体级数由通信链路的拓扑结构决定。语音信号与回波
信号之间的时间间隔Delayl、Delay2.....DelayN由通信链路的具体传输特性决定。在b
点、c点、ζ点产生的多级回波信号再经过时间间隔Delayl, Delay2.....DelayN传输回语
音信号输入端,并在A点产生共同作用结果,如图3所示。由上述分析可知,特定时间点的回波信号是由与之间隔特定时间段的一些较小区域时间段的语音信号共同作用的结果。现有技术中进行的回波消除方法是在一个较长的时间窗口内对远端的语音信号进行采集,该时间窗口的长度保证能够覆盖远端语音信号的各级回波,利用采集到的远端的语音信号确定并更新自适应滤波器的滤波系数,通常将滤波系数的确定和更新过程称为滤波系数的训练过程,之后采用更新滤波系数后的自适应滤波器对近端的输入信号进行滤波处理,从而消除回波。然而,由于单一长窗口在多级回波尤其是回波延迟比较大或者各级回波之间延迟比较大时,窗口长度必须很长,采样点数量比较多,加大了计算量,许多无关数值也参加了滤波系数的训练过程,收敛速度很慢。
发明内容
本发明提供了一种回波消除的方法和装置,以便于在消除多级回波时,减少计算量且提高收敛速度。一种回波消除的方法,为自适应滤波器设置N个时间窗口,各时间窗口的长度1足以覆盖一级回波信号,该方法包括
A、在滤波系数训练过程启动后,初始记录已确定的时间窗口为空;B、对所述N个时间窗口中除了所有已确定的时间窗口之外的各时间窗口进行本轮筛选,根据自适应滤波器在所有已确定的时间窗口基础上对各被筛选的时间窗口进行的滤波处理结果,确定本轮被筛选的时间窗口中对回波影响最大的时间窗口,计算当前已确定的时间窗口对应的自适应滤波器的滤波系数;C、判断是否满足在当前已确定的时间窗口产生的残差信号小于预设的残差信号或者当前已确定的时间窗口总数目满足回波消除级数要求,如果是,执行步骤D ;否则转至执行步骤B进行下一轮筛选;D、结束对时间窗口的筛选过程,自适应滤波器利用最后一轮确定的滤波系数在各确定的时间窗口内进行自适应回波消除处理。一种回波消除的装置,为自适应滤波器设置N个时间窗口,各时间窗口的长度1足以覆盖一级回波信号,该装置包括训练启动单元,用于在滤波系数训练过程启动后,初始记录已确定的时间窗口为空,并通知窗口筛选单元开始对时间窗口的筛选过程;窗口筛选单元,用于对所述N个时间窗口中除了所有已确定的时间窗口之外的各时间窗口进行筛选,根据自适应滤波器在所有已确定的时间窗口基础上对各被筛选的时间窗口进行的滤波处理结果,确定本轮被筛选的时间窗口中对回波影响最大的时间窗口 ;接收到结束通知后,结束对时间窗口的筛选过程,使所述自适应滤波器利用最后一轮确定的滤波系数在各确定的时间窗口内进行自适应回波消除处理;系数更新单元,用于在所述窗口筛选单元确定出对本轮回波影响最大的时间窗口时,计算当前已确定的时间窗口对应的自适应滤波器的滤波系数;条件判断单元,用于在窗口筛选单元确定出对回波影响最大的时间窗口时,判断是否满足在当前已确定的时间窗口产生的残差信号小于预设的残差信号或者当前已确定的时间窗口总数目满足回波消除级数要求,如果是,向所述窗口筛选单元发送结束通知,否则,通知所述窗口筛选单元开始对所述N个时间窗口中除了所有已确定的时间窗口之外的各时间窗口进行下一轮筛选。由以上技术方案可以看出,本发明提供了采用多个短时间窗口替代一个长时间窗口进行滤波系数的训练,以找出满足回波消除要求的滤波系数的实现方式,由于每个短时间窗口中采样点的数量大大下降,计算量也随之大大下降。与此同时,由于每个短时间窗口去除了大量无关的语音信号,降低了滤波系数的训练干扰,使收敛速度得到了提高。
图1为VOIP网络中回波产生的原理示意图;图2为多级回波信号的关系示意图;图3为图2所示多级回波的共同作用结果示意图;图4为回波消除原理示意图;图5为本发明提供的主要方法流程图;图6为图5中步骤502的具体实现流程图;图7为本发明提供的装置结构示意图8为现有技术和本发明的对比示意图。
具体实施例方式为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。为了方便对本发明的理解,首先对现有技术中采用的滤波器算法和原理进行简单介绍。回波消除的原理是利用远端信号估计出远端信号产生的回波,在近端采用自适应滤波器将近端信号滤出估计的回波,从而达到回波消除的目的,其中,自适应滤波器能够根据远端信号的特征自动调整其滤波系数。图4为回波消除原理示意图,如图4所示,在当前时刻n,远端输入信号为χ (η),远端输入信号产生的回声信号为r (η),估计的回声信号为 Κ ),近端的语音信号为y (η),也就是说,近端输入信号为y (n)+r (η)。经过自适应滤波器滤波后产生的残差信号e( ) = y(n) + r(n) — ;( )其中,自适应滤波器算法产生的自适应滤波器的滤波系数W= [W1, W2,…wM]
τ,远端输入信号为X (n) = [X1 (η), X2 (η), ... (η) ]τ,那么,;⑷+ D =,
e(n) = r( ) - ;( ) = r( ) - W' X(n),其中M为自适应滤波器的阶数。目前常用的自适应滤波器算法为归一化最小均方差(NLMS)算法,其滤波系数递推公式为
权利要求
1.一种回波消除的方法,其特征在于,为自适应滤波器设置N个时间窗口,各时间窗口的长度1足以覆盖一级回波信号,该方法包括A、在滤波系数训练过程启动后,初始记录已确定的时间窗口为空;B、对所述N个时间窗口中除了所有已确定的时间窗口之外的各时间窗口进行本轮筛选,根据自适应滤波器在所有已确定的时间窗口基础上对各被筛选的时间窗口进行的滤波处理结果,确定本轮被筛选的时间窗口中对回波影响最大的时间窗口,计算当前已确定的时间窗口对应的自适应滤波器的滤波系数;C、判断是否满足在当前已确定的时间窗口产生的残差信号小于预设的残差信号或者当前已确定的时间窗口总数目满足回波消除级数要求,如果是,执行步骤D ;否则转至执行步骤B进行下一轮筛选;D、结束对时间窗口的筛选过程,自适应滤波器利用最后一轮确定的滤波系数在各确定的时间窗口内进行自适应回波消除处理。
2.根据权利要求1所述的方法,其特征在于,当远端和近端建立语音通话后,远端有语音信号输入而近端没有语音信号输入时,所述滤波系数训练过程启动;当远端没有语音信号输入而近端有语音信号输入时,则既不进行所述滤波系数训练过程也不对近端输入信号进行回波消除处理;当远端和近端都有语音信号输入时,仅对近端输入信号进行回波消除处理而不进行滤波参数训练过程;其中,所述近端输入信号包括远端输入的语音信号产生的回波信号以及近端输入的语音信号。
3.根据权利要求1所述的方法,其特征在于,所述确定被筛选的时间窗口中对回波影响最大的时间窗口为在远端有语音信号输入而近端没有语音信号输入时,根据自适应滤波器在所有已确定的时间窗口基础上对各被筛选的时间窗口进行的滤波处理结果,确定产生残差信号最小的时间窗口为本轮被筛选的时间窗口中对回波影响最大的时间窗口。
4.根据权利要求1、2或3所述的方法,其特征在于,所述步骤B具体包括 Bi、从第一个时间窗口开始筛选;B2、判断当前被筛选的时间窗口是否与所有已确定的时间窗口存在重叠,如果是,执行步骤B3;否则,执行步骤B4;B3、开始下一时间窗口的筛选,转至步骤B2 ;B4、判断自适应滤波器在所有已确定的时间窗口基础上对当前被筛选的时间窗口进行的滤波处理结果是否优于记录的时间窗口的滤波处理结果,如果是,执行步骤B5 ;否则执行步骤B6 ;B5、利用当前被筛选的时间窗口的滤波处理结果更新记录的时间窗口的滤波处理结果;B6、判断是否已经筛选完所有时间窗口,如果否,执行步骤B7 ;如果是,执行步骤B8 ; B7、开始下一个时间窗口的筛选,转至执行步骤B2 ;B8、将当前记录的时间窗口确定为本轮被筛选的时间窗口中对回波影响最大的时间窗口,计算当前已确定的时间窗口对应的自适应滤波器的虑波系数。
5.根据权利要求4所述的方法,其特征在于,在步骤B2的判断结果为否,且在执行步骤B4之前,还包括B9、根据自适应滤波器在所有已确定的时间窗口基础上对当前被筛选的时间窗口进行的滤波处理结果,判断在所有已确定的时间窗口基础上当前被筛选的时间窗口产生的残差信号是否小于预设的目标残差,如果是,则执行步骤BlO ;否则,继续执行步骤B4 ;B10、直接确定当前被筛选的时间窗口为本轮确定的时间窗口,计算当前已确定的时间窗口对应的滤波系数,直接转至步骤D。
6.根据权利要求1、2或3所述的方法,其特征在于,相邻两个时间窗口的起始位置至多间隔一级回波信号的长度。
7.根据权利要求1、2或3所述的方法,其特征在于,步骤D中利用最后一轮确定的滤波系数在各确定的时间窗口内进行回波消除处理具体包括利用已确定的各时间窗口内的远端信号与最后一轮确定的滤波系数中各已确定的各时间窗口对应的部分分别进行加权处理后,形成回波估计信号;将近端输入信号过滤掉对应采样点的回波估计信号。
8.一种回波消除的装置,其特征在于,为自适应滤波器设置N个时间窗口,各时间窗口的长度1足以覆盖一级回波信号,该装置包括训练启动单元,用于在滤波系数训练过程启动后,初始记录已确定的时间窗口为空,并通知窗口筛选单元开始对时间窗口的筛选过程;窗口筛选单元,用于对所述N个时间窗口中除了所有已确定的时间窗口之外的各时间窗口进行筛选,根据自适应滤波器在所有已确定的时间窗口基础上对各被筛选的时间窗口进行的滤波处理结果,确定本轮被筛选的时间窗口中对回波影响最大的时间窗口 ;接收到结束通知后,结束对时间窗口的筛选过程,使所述自适应滤波器利用最后一轮确定的滤波系数在各确定的时间窗口内进行自适应回波消除处理;系数更新单元,用于在所述窗口筛选单元确定出本轮对回波影响最大的时间窗口时, 计算当前已确定的时间窗口对应的自适应滤波器的滤波系数;条件判断单元,用于在窗口筛选单元确定出对回波影响最大的时间窗口时,判断是否满足在当前已确定的时间窗口产生的残差信号小于预设的残差信号或者当前已确定的时间窗口总数目满足回波消除级数要求,如果是,向所述窗口筛选单元发送结束通知,否则, 通知所述窗口筛选单元开始对所述N个时间窗口中除了所有已确定的时间窗口之外的各时间窗口进行下一轮筛选。
9.根据权利要求8所述的装置,其特征在于,该装置还包括语音检测单元,用于在远端和近端建立语音通话后,如果检测到远端有语音信号输入而近端没有语音信号输入,则触发所述训练启动单元启动滤波系数训练过程;如果检测到远端没有语音信号输入而近端有语音信号输入,则禁止所述训练启动单元启动滤波系数训练过程,并禁止所述自适应滤波器对近端输入信号进行回波消除处理;如果检测到远端和近端都有语音信号输入,则禁止所述训练启动单元启动滤波系数训练过程,触发所述自适应滤波器对近端输入信号进行回波消除处理;其中,所述近端输入信号包括远端输入的语音信号产生的回波信号以及近端输入的语音信号。
10.根据权利要求8所述的装置,其特征在于,在远端有语音信号输入而近端没有语音信号输入时,所述窗口筛选单元根据自适应滤波器在所有已确定的时间窗口基础上对各被筛选的时间窗口进行的滤波处理结果,确定产生残差信号最小的时间窗口为本轮被筛选的时间窗口中对回波影响最大的时间窗口。
11.根据权利要求8、9或10所述的装置,其特征在于,所述窗口筛选单元具体包括 窗口筛选子单元,用于从第一个时间窗口开始筛选;接收到移位通知后,开始下一个时间窗口的筛选;第一判断子单元,用于判断当前被筛选的时间窗口是否与第一记录子单元记录的时间窗口存在重叠,如果是,向所述窗口筛选子单元发送移位通知;否则,向第二判断子单元发送第一判断通知;第二判断子单元,用于接收到所述第一判断通知后,判断自适应滤波器在所有已确定的时间窗口基础上对当前被筛选的时间窗口进行的滤波处理结果是否优于第二记录子单元记录的滤波处理结果,如果是,将当前被筛选的时间窗口的滤波处理结果和当前被筛选的时间窗口发送给所述第二记录子单元,并向第三判断子单元发送第二判断通知;第三判断子单元,用于接收到所述第二判断通知后,判断所述窗口筛选子单元是否已经筛选完所有时间窗口,如果否,向所述窗口筛选子单元发送移位通知;如果是,将当前第二记录子单元记录的时间窗口确定为本轮被筛选的时间窗口中对回波影响最大的时间窗 Π ;第一记录子单元,用于记录第三判断子单元确定的时间窗口 ;第二记录子单元,用于利用接收到的滤波处理结果更新当前记录的滤波处理结果。
12.根据权利要求11所述的装置,其特征在于,所述窗口筛选单元还包括位于所述第一判断子单元和所述第二判断子单元之间的第四判断子单元,用于接收所述第一判断子单元发送的第一判断通知,根据自适应滤波器在所有已确定的时间窗口基础上对当前被筛选的时间窗口进行的滤波处理结果,判断在所有已确定的时间窗口基础上当前被筛选的时间窗口产生的残差信号是否小于预设的目标残差,如果是,向所述系数更新单元发送更新通知,并向所述窗口筛选单元发送结束通知;否则,将所述第一判断通知发送给所述第二判断子单元;所述系数更新单元,用于接收到所述更新通知后,直接确定当前被筛选的时间窗口为本轮确定的时间窗口,计算当前已确定的时间窗口对应的滤波系数,向所述窗口筛选单元发送结束通知。
13.根据权利要求8、9或10所述的装置,其特征在于,自适应滤波器利用已确定的各时间窗口内的远端信号与最后一轮确定的滤波系数中各已确定的各时间窗口对应的部分分别进行加权处理后,形成回波估计信号;将近端输入信号过滤掉对应采样点的回波估计信号。
全文摘要
本发明提供了一种回波消除的方法和装置,为自适应滤波器设置N个时间窗口,各时间窗口的长度l足以覆盖一级回波信号;对所述N个时间窗口中除了所有已确定的时间窗口之外的各时间窗口进行本轮筛选,确定本轮被筛选的时间窗口中对回波影响最大的时间窗口,计算当前已确定的时间窗口对应的自适应滤波器的滤波系数;判断是否满足在当前已确定的时间窗口产生的残差信号小于预设的残差信号或者当前已确定的时间窗口总数目满足回波消除级数要求,如果是,结束对时间窗口的筛选过程,利用最后一轮确定的滤波系数在各确定的时间窗口内进行自适应回波消除处理,否则对时间窗口进行下一轮筛选。本发明能够在消除多级回波时,减少计算量且提高收敛速度。
文档编号H04M9/08GK102447795SQ20101050521
公开日2012年5月9日 申请日期2010年10月9日 优先权日2010年10月9日
发明者李韬, 洪庆春 申请人:杭州华三通信技术有限公司