一种应用于回声抵消系统的双端通话检测方法技术方案

技术编号:20370173 阅读:38 留言:0更新日期:2019-02-16 20:16
本发明专利技术涉及一种应用于回声抵消系统的双端通话检测方法,该方法包括:步骤1,计算远端信号和麦克风信号的信号包络,得出判定函数ξenv(n),再与设定的阈值T进行比较判断双端通话是否发生;步骤2,根据步骤1的判断结果,如果判断发生双端通话,则滤波器停止更新,否则,利用远端信号和麦克风信号进行NCC计算;步骤3,利用步骤2得到的NCC判定式得到最终的判定函数η(n),将NCC计算结果与设定的阈值K进行比较,最终确定双端通话是否发生,如果判断发生双端通话,则滤波器停止更新,否则,滤波器继续更新。本方法与传统的双端通话检测算法相比,可以准确地判断双端通话的开始与结束,避免了滤波器的发散,提高了回声抵消系统性能。

A Two-terminal Call Detection Method for Echo Cancellation System

The invention relates to a two-terminal call detection method applied to an echo cancellation system. The method includes: step 1, calculating the signal envelope of the remote signal and the microphone signal, obtaining the decision function env(n), then comparing with the set threshold T to determine whether the two-terminal call occurs; step 2, according to the judgment result of step 1, if the two-terminal call occurs, the filter stops. Otherwise, the NCC calculation is carried out by using the remote signal and microphone signal; step 3, the final decision function_(n) is obtained by using the NCC decision formula obtained in step 2, and the NCC calculation results are compared with the set threshold K to determine whether the two-terminal call occurs or not. If the two-terminal call occurs, the filter stops updating, otherwise, the filter continues to update. Compared with the traditional two-terminal call detection algorithm, this method can accurately judge the beginning and end of the two-terminal call, avoid the divergence of the filter, and improve the performance of echo cancellation system.

【技术实现步骤摘要】
一种应用于回声抵消系统的双端通话检测方法
本专利技术涉及电子通信
,具体涉及一种应用于回声抵消系统的双端通话检测方法,尤其是一种基于信号包络检测(Envelopedetection,Env)和互相关估计(Normalizedcrosscorrelation,NCC)的双端通话检测(Doubletalkdetection,DTD)方法。
技术介绍
在声学回声消除(Acousticechocancellation,AEC)系统中,自适应滤波技术用于消除对话期间的回声。其中一个主要问题是处理双端通话,在双端通话期间,由于远端语音信号x(n)与近端语音信号s(n)的不相关特性,近端信号s(n)表现为一个很强的干扰信号,使得自适应滤波算法性能下降,甚至出现自适应滤波器发散,导致远端讲话人听到自己的回声,这是非常糟糕的体验。自从第一种基于自适应滤波器的回声消除器的发展以来,已经提出了几种方法来检测双端通话,从而避免滤波器发散。图1给出了具有双端通话检测功能的AEC框图:如图1所示,传统的NCC算法在AEC系统中的应用是通过计算麦克风信号y(n)和误差信号e(n)之间的互相关系数来判定是否出现双端通话。根据DTD的检测结果,如果不存在双端通话,自适应滤波器可以更新其系数,反之,自适应滤波器停止更新。目前,最为常见的DTD算法有Geigel和NCC算法。Geigel算法因其简单易实现而被广泛使用,由于回声路径中的信号衰减,回声的能量通常远小于远端语音的能量。通过当前的麦克风输入信号和一段时间之内的扬声器输出信号的最大值做对比来判断是否发生双端通话。但是这个方法的性能还取决于自适应滤波器的输出和实际的应用环境。在信噪比较低的环境下,通常会出现错误的检测结果,导致滤波器发散。NCC算法是通过比较麦克风和误差信号之间的互相关系数来判定是否出现双端通话。由于NCC算法的简单性,如果采用麦克风和误差信号来计算互相关,在自适应滤波器的初始收敛周期内麦克风和误差信号之间的互相关性很高,导致出现错误的检测结果。理论上来说,在双端通话期间,麦克风输入信号能量大于远端信号能量。但是在实际应用环境中,室内脉冲响应和回声路径是未知的,当回声的延迟较长将对双端检测系统有影响。在这种情况下,麦克风信号可能低于远端输入能量,可能导致错误的双端通话判定。虽然这种情况很少发生,但是一旦发生,可能导致滤波器发散而降低系统性能。
技术实现思路
本专利技术的目的是:针对上述已有方法的问题,提出一种基于信号包络检测(Env)和NCC算法相结合的双端通话检测DTD方法,以期能准确判断双端通话的开始与结束,提升整个AEC系统的性能,从而更好地应用于实际场景。为了达到上述目的,本专利技术所采用的技术方案是:一种应用于回声抵消系统的双端通话检测方法,其特征在于,所述方法包括如下步骤:步骤1,计算远端信号和麦克风信号的信号包络,得出判定函数ξenv(n),再与设定的阈值T进行比较判断双端通话是否发生;步骤2,根据步骤1的判断结果,如果判断发生双端通话,则滤波器停止更新,否则,利用远端信号和麦克风信号进行NCC计算;步骤3,利用步骤2得到的NCC判定式得到最终的判定函数η(n),将NCC计算结果与设定的阈值K进行比较,最终确定双端通话是否发生,如果判断发生双端通话,则滤波器停止更新,否则,滤波器继续更新。进一步的,所述步骤1的具体实现过程包括:在计算信号包络中,考虑信号包络上升和下降的两种情况分别计算,这样麦克风信号x(n)的信号包络可以使用以下公式计算:其中,λ是遗忘因子,它定义为包络检测器对信号幅度的快速变化作出反应的速度,用于精确估计信号能量,0.85<λ<0.99;麦克风的输入信号y(n)包括近端语音信号s(n),回声信号d(n),近端噪声信号b(n):y(n)=s(n)+d(n)+b(n)(2)假设回声信号d(n)的能量与远端信号x(n)相比较低,在双端通话期间,麦克风信号y(n)的能量大于远端信号x(n)的能量,可以得到信号包络不等式:vy(n)>vd(n)+vb(n)(3)在单边通话期间,可以近似得到:vy(n)≈vd(n)+vb(n)(4)因此,双端通话检测应该基于回声和噪声的信号包络,回声信号d(n)可以使用自适应滤波器产生的回声估计来代替,背景噪声的包络可以通过恒定的阈值ε来估计,在双端通话期间,采用与远端信号x(n)成比例的近似回声来判断双端通话,可以得到不等式:vy(n)>vd(n)+φ(n)vx(n)+ε(5)其中,φ(n)是滤波器系数的发散度量,φ(n)≥0,在系统工作中,φ(n)应该随着滤波器收敛而降低并在收敛期间接近零,滤波器系数的梯度向量的范数可以满足这个条件,在随着自适应滤波器收敛而单调下降,在某一时刻,自适应算法更新时,滤波器系数W(n)随着△W(n)而改变,可以得到:其中,是比例常数,在频域自适应滤波器的情况下,根据帕赛瓦尔定理可知一个信号的能量恒等于此信号在完备正交函数集中各分量能量之和,因此W(n)可以使用它的DFT之和代替,计算公式如下:因此,可得到双端通话判定函数如下:将ξenv(n)与设定的阈值T进行比较,如果ξenv(n)>T,则判定发生双端通话。进一步的,所述步骤2的具体实现过程包括:根据步骤1的结果,如果判定发生双端通话,则滤波器停止更新,否则,利用远端信号和麦克风信号进行NCC计算;NCC算法是利用远端信号x(n)与麦克风信号y(n)来构造检测公式:其中,rxy=E[x(n)y(n)]=Rxxh,是麦克风信号的方差,且有:其中,Rxx是x(n)的自相关矩阵,当没有近端信号存在时,判定函数ξNCC(n)=1,双端通话期间,麦克风信号包含近端语音,因此相关系数会降低,当存在近端信号时0<ξNCC(n)<1,因此,设置一个略小于1的常数K作为阈值,然后将判定函数ξNCC(n)与K比较来判断是否存在双端通话,如果ξNCC(n)<K,则表示存在双端通话。进一步的,所述步骤3的具体实现过程包括:当信号包络检测无法准确的判断双端通话的发生时,NCC将作为最终的判断,利用步骤2得到的NCC判定式,最终的判定函数如下:当η(n)=1时则判定为发生双端通话,滤波器停止更新,否则,判定为单边通话,滤波器继续更新。与现有技术相比,本专利技术的有益效果是:本专利技术提出的基于Env和NCC算法相结合的DTD方法,其优点在于:与传统的双端通话检测算法相比,该方法可以准确地判断双端通话的开始与结束,避免了滤波器的发散,提高了回声抵消系统性能。附图说明图1是现有的具有双端通话检测功能的AEC框图;图2是本专利技术提出的基于Env和NCC的DTD方法的流程图;图3是本专利技术提出的基于Env和NCC的DTD方法的框图;图4是三种DTD方法的Pm性能比较;图5是三种DTD方法的Pf性能比较;图6是近端语音信号、远端语音回声信号、麦克风接收的信号;图7是三种DTD方法的实验结果。具体实施方式为了便于本领域普通技术人员理解和实施本专利技术,下面结合实施例对本专利技术作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本专利技术,并不用于限定本专利技术。本专利技术提出一种基于信号包络检测和互相关估计相结合的双端通话检测方法。该方法先使用两个信号x(n)和y(n)来判断双端本文档来自技高网
...

【技术保护点】
1.一种应用于回声抵消系统的双端通话检测方法,其特征在于,所述方法包括如下步骤:步骤1,计算远端信号和麦克风信号的信号包络,得出判定函数ξenv(n),再与设定的阈值T进行比较判断双端通话是否发生;步骤2,根据步骤1的判断结果,如果判断发生双端通话,则滤波器停止更新,否则,利用远端信号和麦克风信号进行NCC计算;步骤3,利用步骤2得到的NCC判定式得到最终的判定函数η(n),将NCC计算结果与设定的阈值K进行比较,最终确定双端通话是否发生,如果判断发生双端通话,则滤波器停止更新,否则,滤波器继续更新。

【技术特征摘要】
1.一种应用于回声抵消系统的双端通话检测方法,其特征在于,所述方法包括如下步骤:步骤1,计算远端信号和麦克风信号的信号包络,得出判定函数ξenv(n),再与设定的阈值T进行比较判断双端通话是否发生;步骤2,根据步骤1的判断结果,如果判断发生双端通话,则滤波器停止更新,否则,利用远端信号和麦克风信号进行NCC计算;步骤3,利用步骤2得到的NCC判定式得到最终的判定函数η(n),将NCC计算结果与设定的阈值K进行比较,最终确定双端通话是否发生,如果判断发生双端通话,则滤波器停止更新,否则,滤波器继续更新。2.如权利要求1所述的应用于回声抵消系统的双端通话检测方法,其特征在于,所述步骤1的具体实现过程包括:在计算信号包络中,考虑信号包络上升和下降的两种情况分别计算,这样麦克风信号x(n)的信号包络可以使用以下公式计算:其中,λ是遗忘因子,它定义为包络检测器对信号幅度的快速变化作出反应的速度,用于精确估计信号能量,0.85<λ<0.99;麦克风的输入信号y(n)包括近端语音信号s(n),回声信号d(n),近端噪声信号b(n):y(n)=s(n)+d(n)+b(n)(2)假设回声信号d(n)的能量与远端信号x(n)相比较低,在双端通话期间,麦克风信号y(n)的能量大于远端信号x(n)的能量,可以得到信号包络不等式:vy(n)>vd(n)+vb(n)(3)在单边通话期间,可以近似得到:vy(n)≈vd(n)+vb(n)(4)因此,双端通话检测应该基于回声和噪声的信号包络,回声信号d(n)可以使用自适应滤波器产生的回声估计来代替,背景噪声的包络可以通过恒定的阈值ε来估计,在双端通话期间,采用与远端信号x(n)成比例的近似回声来判断双端通话,可以得到不等式:其中,φ(n)是滤波器系数的发散度量,φ(n)≥...

【专利技术属性】
技术研发人员:张正文饶鼎陈卓李婕熊厚博韦琳
申请(专利权)人:湖北工业大学
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1