CN111277718A - 一种回声消除系统及其方法 - Google Patents
一种回声消除系统及其方法 Download PDFInfo
- Publication number
- CN111277718A CN111277718A CN202010071961.7A CN202010071961A CN111277718A CN 111277718 A CN111277718 A CN 111277718A CN 202010071961 A CN202010071961 A CN 202010071961A CN 111277718 A CN111277718 A CN 111277718A
- Authority
- CN
- China
- Prior art keywords
- state
- end signal
- far
- signal
- filter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000001914 filtration Methods 0.000 claims abstract description 87
- 230000004044 response Effects 0.000 claims abstract description 17
- 230000003044 adaptive effect Effects 0.000 claims description 24
- 230000008859 change Effects 0.000 claims description 19
- 238000005070 sampling Methods 0.000 claims description 18
- 238000004364 calculation method Methods 0.000 claims description 16
- 239000000654 additive Substances 0.000 claims description 7
- 230000000996 additive effect Effects 0.000 claims description 7
- 230000003139 buffering effect Effects 0.000 claims description 5
- 230000007613 environmental effect Effects 0.000 claims description 3
- 230000003111 delayed effect Effects 0.000 claims description 2
- 230000008030 elimination Effects 0.000 abstract 1
- 238000003379 elimination reaction Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 4
- 230000006854 communication Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M9/00—Arrangements for interconnection not involving centralised switching
- H04M9/08—Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M9/00—Arrangements for interconnection not involving centralised switching
- H04M9/08—Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic
- H04M9/082—Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic using echo cancellers
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
- Telephone Function (AREA)
Abstract
本发明涉及一种回声消除系统及其方法,所述系统包括主滤波模块、次滤波模块、状态模块和更新模块,其中,所述主滤波模块包括主滤波器和主减法器,所述主滤波器经配置以基于主滤波器滤波参数对远端信号x(n)进行滤波,所述主减法器对主滤波器输出的回声估计信号和近端信号d(n)做减法得到主减法器误差信号e1(n);所述次滤波模块经配置通过对远端信号x(n)进行自适应滤波以提供次滤波器回声路径参数h2;所述状态模块接收远端信号x(n)和近端信号d(n),经配置以确定输入到主滤波模块的远端信号x(n)的状态;所述更新模块经配置以至少部分基于输入到主滤波模块的远端信号x(n)的状态更新主滤波器滤波参数。本发明能够有效消除回声,且提高了回声消除的响应速度。
Description
技术领域
本发明涉及一种音频技术领域,特别地涉及一种回声消除系统及其方法。
背景技术
在语音通话过程中,回声消除是信号处理中的一个重要方面。图1为一种典型的回声消除原理示意图。远端(far end)语音信号x(n)被扬声器播放后在近端(near end)的声学环境中传播,并被近端麦克风采集而形成回声信号y(n),同时麦克风也采集到近端可能存在的语音和噪声信号v(n)(为方便说明,以下称为语音信号v(n))。因而,近端麦克风信号d(n)=y(n)+v(n)。从远端信号x(n)到回声信号y(n)的过程可以建模成:y(n)=h(n)*x(n),其中,*表示卷积,h(n)表示由扬声器物理声学特性和近端环境声学响应组成的系统参数,也可称之为回声路径。
目前,线性回声消除系统采用自适应滤波器(Adaptive Filter,简称AF)学习回声路径h(n)。学习得到回声路径h(n)的近似路径进而得到估计回声信号从近端麦克风信号d(n)中减去估计回声信号从而得到去除了回声的输出信号e(n),其作为输出发送到远端。回声消除系统的理想情况是自适应滤波器AF学习得到的近似回声路径无限接近回声路径h(n),从而使得到的估计回声信号与回声信号y(n)无限接近,从而在近端信号d(n)中完全消除回声信号。然而,声学环境的复杂多变和通话过程状态的不确定性都增加了自适应滤波器AF学习回声路径h(n)的难度和响应速度,回声消除的效果并不理想。
发明内容
针对现有技术中存在的技术问题,本发明提出了一种回声消除系统及其方法,用以在实时通话中,有效消除回声的同时提高响应速度。
为了解决前述技术问题,根据本发明的一个方面,提供一种回声消除系统,其中包括:主滤波模块、次滤波模块、状态模块和更新模块,其中,所述主滤波模块包括主滤波器和主减法器,所述主滤波器经配置以基于主滤波器滤波参数对远端信号x(n)进行滤波,所述主减法器对主滤波器输出的回声估计信号和近端信号d(n)做减法得到主减法器误差信号e1(n);所述次滤波模块经配置通过对远端信号x(n)进行自适应滤波以提供次滤波器回声路径参数h2;所述状态模块与所述主滤波模块和次滤波模块相连接,并接收远端信号x(n)和近端信号d(n),经配置以确定输入到主滤波模块的远端信号x(n)的状态;所述更新模块与所述状态模块和主滤波模块相连接,经配置以至少部分基于输入到主滤波模块的远端信号x(n)的状态更新主滤波器滤波参数。
为了解决前述技术问题,根据本发明的另一个方面,提供一种回声消除方法,包括以下步骤:
利用次滤波模块对远端信号x(n)进行自适应滤波提供次滤波器回声路径参数h2;
确定输入到主滤波模块的远端信号x(n)的状态;以及
至少部分基于输入到主滤波模块的远端信号x(n)的状态更新主滤波器滤波参数。
本发明结合次滤波器,根据不同的状态更新用于消除回声的主滤波器的滤波参数,从而可以快速适应环境的变化,提高了主滤波器的响应速度,能够有效去除回声的同时,又不损失近端说话人的有效语音。
附图说明
下面,将结合附图对本发明的优选实施方式进行进一步详细的说明,其中:
图1是现有技术中一种典型的回声消除原理示意图;
图2是根据本发明的一个实施例回声消除系统及方法的原理简图;
图3是根据本发明的一个实施例的回声消除系统原理框图;
图4是根据本发明的一个实施例的状态模块原理框图;
图5是根据本发明另一个实施例的回声消除系统原理框图;
图6是根据本发明的一个实施例的回声消除方法简要流程图;
图7是根据本发明的一个实施例更新主滤波器滤波参数的流程图;以及
图8是根据本发明一个实施例的回声延时时间Td的计算流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在以下的详细描述中,可以参看作为本申请一部分用来说明本申请的特定实施例的各个说明书附图。在附图中,相似的附图标记在不同图式中描述大体上类似的组件。本申请的各个特定实施例在以下进行了足够详细的描述,使得具备本领域相关知识和技术的普通技术人员能够实施本申请的技术方案。应当理解,还可以利用其它实施例或者对本申请的实施例进行结构、逻辑或者电性的改变。
在语音通话过程中,当只有远端信号x(n)进入消除系统时,该状态称为单讲(Single-Talk,简称ST)状态;当系统内同时存在远端信号x(n)和近端信号d(n)时,该状态称为双讲(Double Talk,简称DT)状态;当近端环境声学响应发生改变时,即图1中的回声路径h(n)发生变化时称为信道变化(Channel Change,简称CC)。在本发明中,自适应滤波器AF在ST状态以一个合适的步长不断学习回声路径h(n)以得到新的回声路径在DT状态,由于语音信号v(n)会影响自适应滤波器AF学习回声路径h(n),因而会设置一个较小的步长缓慢学习,甚至设置0步长停止学习;在CC状态,自适应滤波器AF需要以一个较大的步长快速学习到新的回声路径因此,本发明提供的回声消除方法和系统通过检测DT状态和CC状态,根据不同的状态控制自适应滤波器AF的滤波参数,从而达到有效消除回声的目的,在本发明中,所述滤波参数包括获得回声路径的参数h(称为回声路径参数)及调节自适应滤波器AF学习回声路径h(n)速度(即收敛速度)的步长,在本发明中称为权重μ。
图2是根据本发明一个实施例的回声消除系统及方法的原理简图。在实时通信过程中,远端信号x(n)分别输送给主滤波器和次滤波器,主滤波器对远端信号x(n)按照其回声路径参数h1进行滤波得到回声估计信号再与近端信号d(n)通过一减法器做减法,与近端信号中的回声信号y(n)相抵消,因而,主滤波器输出的误差信号e1(n)为消除了回声的信号,其作为系统输出信号输出到远端。次滤波器对远端信号x(n)按照其回声路径参数h2进行自适应滤波,其输出信号与近端信号d(n)通过减法器做减法得到次滤波器误差信号e2(n)。在本发明中,次滤波器可根据其误差信号e2(n)自适应地调节其滤波参数,而主滤波器通过控制逻辑模块来调节其滤波参数。控制逻辑模块接收远端信号x(n)、近端信号d(n)及主滤波器输出的误差信号e1(n)和次滤波器误差信号e2(n),通过预置的控制逻辑对以上各个信号进行计算、判断,从而确定输入到主滤波器的远端信号的状态,按照不同的状态调整主滤波器滤波参数,使主滤波器可以更加精确、快速地得到回声估计信号从而提高了回声消除效果及响应速度。
图3是根据本发明一个实施例的回声消除系统原理框图。所述回声消除系统包括主滤波器10、次滤波器20、状态模块30和更新模块40及分别与主滤波器10和次滤波器20相连接的主减法器11、次减法器21。
主滤波器10和主减法器11构成主滤波模块,次滤波器20和次减法器21构成次滤波模块。远端信号x(n)分别输送给所述主滤波器10、次滤波器20和控制逻辑模块30,主滤波器10基于主滤波器滤波参数对远端信号x(n)进行滤波,主滤波器输出信号通过主减法器11与来自近端麦克风的近端信号d(n)做减法得到主滤波器误差信号e1(n)。次滤波器20对远端信号x(n)进行自适应滤波,次滤波器20的输出信号通过次减法器21与来自近端麦克风的近端信号d(n)做减法得到次滤波器误差信号e2(n),次滤波器20根据其输出误差e2(n)自适应调整其滤波参数,从而完成自适应滤波,并得到次滤波器回声路径参数h2。
状态模块30分别与所述主滤波模块和次滤波模块相连接,接收其各自的输出误差信号e1(n)和e2(n),及主滤波器输出信号并接收远端信号x(n)和近端信号d(n)。通过对这些信号的计算确定远端信号x(n)状态,所述状态包括是否发生双讲,是否信道发生变化。
为了确定当前远端信号x(n)的状态,所述状态模块30需按照预置规则逻辑进行判断。具体地,如图4所示,所述状态模块30包括:基础数据计算单元300、状态参数计算单元302和状态判断单元304。其中,所述基础数据计算单元300分别通过不同的信号计算得到远端信号x(n)平均能量值Ex和max(Ex)、近端信号d(n)平均能量值Ed、主滤波器误差信号e1(n)的平均能量值次滤波器误差信号e2(n)的平均能量值及主滤波器输出的回声估计信号的平均能量值Ey。
其中,
max(Ex),其中,max(Ex)是一段时间(如100ms)中远端信号x(n)的短时能量峰值。
以上公式中的N为一帧信号的信号长度。
状态参数计算单元302计算用于判断状态的状态参数:主、次滤波模块的信号能量比Ratio1、主滤波模块的多个输出信号能量比Ratio2及远端信号x(n)的局部最大能量与近端信号d(n)的能量比Ratio3。
Ratio1表示滤波器的陡变比;当信道发生变化时,主、次滤波器的输出误差信号的能量值相差比较大。
Ratio2表示主滤波器输出信号能量比,当远端信号不能完全消除(即误差信号和远端信号的占比较大)时说明发生了双讲。
Ratio3=max(Ex)/Ed; (公式2-3)
Ratio3为远端信号的局部能量与近端信号的能量比,在发生双讲时,远端信号x(n)的能量在近端信号d(n)中的占比要小于单讲状态。
状态判断单元304与所述状态参数计算单元302相连接,经配置在远端信号x(n)同时符合Ratio2>1、Ratio3<1、min(Eei)>T时确定远端信号x(n)状态为发生双讲,其中i=1或2,即min(Eei)为和中的较小值;T为环境噪声能量阈值,其可为预置值或估算值。如果不符合上述条件,则认为没有发生双讲。在Ratio1>1时,确定远端信号x(n)状态为信道发生变化。
由于主滤波器的期望工作状态是稳定、具有抗干扰能力。因而,在一些短暂引起状态变化的情况下,例如由于阵风、路过汽车噪音引起的环境突然变化,是不需要更新主滤波器参数的。因为这些环境变化仅仅是暂时的,之后又恢复到原来的状态。因而,在另一个实施例中,所述状态判断单元304在得到Ratio1>1时,还要进一步判断是否符合1-ε≤Ratio1≤1+ε其中,ε∈[0,1),为系统设置的常量。在Ratio1符合1-ε≤Ratio1≤1+ε时,才确定当前状态为信道发生变化。从而防止过渡频繁地对主滤波器作不必要的更新,节省了能量。
在另一个实施例中,所述状态模块30经进一步配置包括参数估计单元306(如图4中的虚线所示),经配置以根据远端信号x(n)估计服从高斯分布的稳态加性噪声方差σ0 2的值;根据远端信号x(n)和近端信号d(n)估计由双讲引起的服从高斯分布的稳态加性噪声方差σ1 2的值;对应地,所述状态参数计算单元302根据所述方差σ0 2的值和方差σ1 2的值,利用公式3-1计算环境噪声能量阈值T。
其中,
所述更新模块40与状态模块30相连接,根据状态模块30确定的远端信号x(n)状态,更新主滤波器10的滤波参数。其中,主滤波器10的滤波参数包括获得回声信号的回声路径参数h1和确定收敛速度的权重μ。
具体而言,所述状态模块30确定输入到主滤波模块的远端信号x(n)的状态为没有双讲时,所述更新模块40将次滤波器回声路径参数h2复制给主滤波器,使主滤波器的回声路径参数h1=h2。这是由于在没有发生双讲时,需要主滤波器处于收敛状态,但是由于本发明中对主滤波器参数的调整,主滤波器并不是一直工作在收敛状态,而次滤波器一直处于收敛工作状态,因而将次滤波器的回声路径参数复制给主滤波器,则可以保证主滤波器工作在收敛状态。
所述状态模块30确定输入到主滤波模块的远端信号x(n)的状态为信道没有发生变化时,更新模块40为主滤波器设置低滤波器更新权重μ0,其中,μ0∈(0,0.3];在确定输入到主滤波模块的远端信号x(n)的状态为信道发生变化时,更新模块40为主滤波器设置高滤波器更新权重μ1,其中,μ1∈(0.5,1]。
综合是否发生双讲,是否信道变化,状态模块30可确定四种状态,即状态H0(noDT,no CC),既没有发生双讲,信道也没有发生变化;状态H1(no DT,CC),没有发生双讲,信道发生了变化;H2(DT,no CC),发生双讲,信道也没有发生变化;H3(DT,CC),发生双讲,信道也发生了变化。更新模块40对应这四种状态分别更新主滤波器滤波参数如下:
状态H0(no DT,no CC)
为主滤波器设置低滤波器更新权重μ0,其中,μ0∈(0,0.3],并将次滤波器回声路径参数h2复制给主滤波器,使h1=h2;
状态H1(no DT,CC)
为主滤波器设置高滤波器更新权重μ1,其中,μ1∈(0.5,1],并将次滤波器回声路径参数h2复制给主滤波器,使h1=h2。
状态H2(DT,no CC)
为主滤波器设置低滤波器更新权重μ0,μ0∈(0,0.3]
状态H3(DT,CC)
将主滤波器的更新权重μ3设置在μ0和μ1之间以区分状态。μ3∈(μ0,μ1]。
在一个更为精确的实施例中,在确定了当前远端信号x(n)的状态为H0或H1时,即当前状态没有发生双讲时,更新模块40进行前述更新之前还要进一步判断前一状态是否发生了双讲,如果前一状态发生了双讲,在缓冲一定的m帧数之后再按照上述方法更新主滤波器滤波参数,其中,m=1或2。
本发明中的主滤波器和次滤波器可以采用现有技术中任何一种算法来产生近似回声路径根据自适应滤波器AF采用的算法不同,主滤波器和次滤波器可以采用最小均方自适应滤波器(the Least Mean Square Adaptive Filter,简称LMS-AF)、归一化最小均方自适应滤波器(Normalized Least Mean Square Adaptive Filter,简称NLMS-AF)、S函数的变步长最小均方自适应滤波器(简称SVLMS-AF)、递归最小二乘自适应滤波器(Recursive Least Squares Adaptive Filter,简称RLS-AF)或卡尔曼滤波器(简称Kalman-AF)等。
如图5所示,为根据本发明另一个实施例的回声消除系统原理框图,为了减少由于回声延时引起的计算量,本实施例中的所述系统在图2所示模块的基础上进一步包括延时模块50,用以根据回声延迟时间Td对发送给主滤波模块和次滤波模块的远端信号x(n)进行延时。为了清楚地表示出本实施例的结构,省略了图2中的一些模块。所述延时模块50可以根据人工设置的回声延迟时间Td对远端信号x(n)进行延时,也可以根据远端信号x(n)时行估算得到回声延迟时间Td。在一个实施例中,所述延时模块50进一步包括下采样单元500、回声延迟计算单元502和延时单元504。所述下采样单元500对远端信号x(n)进行下采样以获得采样信号x’(n)。例如,以1-4kHz对远端信号x(n)进行采样,其区别于主滤波器和次滤波器等其它模块中的信号采样率,通常,发送给其它模块处理的远端信号x(n)采用16kHz或更高的采样率,从而以保证数据处理精度。本实施例为了快速得到回声延迟时间Td,采用低采样率,如采用2kHz或4kHz的采样率,减小了回声延迟计算单元502的计算量,同时可以快速获得回声延迟时间Td。所述回声延迟计算单元502根据所述采样信号计算回声延迟时间Td。其计算方法可以应用现有技术中的各种方式,如滑动相关法,或采用一个自适应滤波器计算得到所述回声延迟时间Td。本领域的普通技术人员可以采用现有技术中的任何一种方法计算得到所述回声延迟时间Td,本发明在此不再赘述。延时单元503根据计算得到回声延迟时间Td对发送给主滤波器的远端信号进行延时。
因而,进入主滤波模块和次滤波模块的远端信号x(n)为经过延时的信号,因而主滤波器10和次滤波器20在计算各自的回声估计信号时,以16kHz音频采样率为例,可以减少16000*Td个参数的计算。因而提高了主滤波器10和次滤波器20的响应速度快,减少了能量消耗。
图6是根据本发明一个实施例的回声消除方法简要流程图。所述方法包括以下步骤:
步骤S10,判断是否接收到远端信号x(n),如果接收到远端信号x(n),执行步骤S11,否则结束本流程。
步骤S13,确定输入到主滤波器滤波的远端信号x(n)状态。
步骤S14,判断当前状态是否与前一状态相同,如果相同,则返回步骤S10,如果不同,则在步骤S15更新主滤波器滤波参数,而后返回步骤S10。
其中,在步骤S13至步骤15中,判断输入到主滤波器滤波的远端信号x(n)的当前状态来更新主滤波器滤波参数的具体过程如图7所示。
步骤S21,计算基础参数数据。利用以下公式分别计算每个信号在当前帧的能量值:
max(Ex),其中,max(Ex)是一段时间(如100ms)中远端信号x(n)的短时能量峰值。
获取根据远端信号估计得到服从高斯分布的稳态加性噪声方差和根据远端信号和近端信号(发生DT时引起的)服从高斯白噪声方差的值,其中,与相互独,在一个实施例中,取值在0-0.1之间,在一个实施例中,取值0.001,取值在0-1之间,在一个实施例中,取值1。
步骤S22,计算用于确定状态的状态参数Ratio1,Ratio2和Ratio3,其中,
Ratio3=max(Ex)/Ed (公式2-3)。
步骤S23,计算环境噪声能量阈值T。
步骤S23,检测CC,确定是否发生CC。通过检测Ratio1的数值是否大于1来判断是否发生信道变化。由于滤波器的权重即是信道发生变化的表征,在信道变化而滤波器权重没有更新时,主滤波器的误差信号e1(n)未能及时更新还处在较高的状态,因而,当Ratio1>1时,可以确定CC发生。
步骤S24,检测DT,确定是否发生DT。根据Ratio2,Ratio3及min(Eei)的值判断是否发生双讲。其中,在同时符合Ratio2>1、Ratio3<1、min(Eei)>T时确定发生DT,其中i=1,2,min(Eei)表示主滤波器误差信号e1(n)当前帧的能量值和次滤波器误差信号e2(n)在当前帧的能量值中的较小值。
步骤S25,根据CC和DT确定的输入到主滤波器的远端信号x(n)状态,并根据状态调整主滤波器滤波参数。
在上述过程中,通过在时域上检测每一帧或间隔几帧信号的双讲发生情况和信道变化情况来确定输入到主滤波器的远端信号x(n)状态Hi(i=0,1,2,3)。
根据CC和DT具体调整主滤波器滤波参数如下:
状态H0(no DT,no CC)
在状态H0时,既没有发生双讲,也没有发生信道变化时,为主滤波器设置低滤波器更新权重μ0,其中,μ0∈(0,0.3],并将次滤波器回声路径参数h2复制给主滤波器,使h1=h2。在没有DT时,用于进行回声消除的主滤波器应处于收敛状态。在本发明中,次滤波器工作一直按照自适应滤波器的原理工作,其一直处于收敛状态,而主滤波器不一定是收敛的,因而通过使主滤波器与次滤波器的回声路径参数保持一致,从而达到使主滤波器也是收敛的目的。
状态H1(no DT,CC)
在状态H1时,没有发生双讲,但是信道发生了变化。此时为主滤波器设置高滤波器更新权重μ1,其中,μ1∈(0.5,1],从而可以加速收敛,并将次滤波器回声路径参数h2复制给主滤波器,使h1=h2。
状态H2(DT,no CC)
在状态H2时,发生了双讲,但没有发生信道变化。此时为主滤波器设置低滤波器更新权重μ0,μ0∈(0,0.3]。
状态H3(DT,CC)
在状态H3时,既发生了双讲,信道也发生了变化,此时主滤波器应加速收敛,但是由于发生了双讲,又不能收敛过快,因而将主滤波器的更新权重μ3设置在μ0和μ1之间以区分状态。μ3∈(μ0,μ1]。
在前述状态H0和H1时,在一个更好的方案中,在更新主滤波器滤波参数之前,判断上一帧的状态是否为DT(例如上一帧状态是否是状态H2或H3),如果不是DT状态,立即对主滤波器进行如上所述的更新;如果上一帧的状态是DT状态,暂不对主滤波器进行更新,而是继续下几帧的判断,如果以下m帧的状态仍然与当前状态相同,则对主滤波器进行如上的更新。其中,m=1或2。该操作也可称为缓冲,即缓冲m帧后再更新主滤波器滤波参数,目的是防止DT状态没有完全结束。
在发生CC的两种状态之间切换时,例如,从状态H0切换到状态H1,或者,从状态H2切换到状态H3,为保证状态可以正常切换,设置一个较小的常量ε,在符合1-ε≤Ratio1≤1+ε其中,ε∈[0,1)时,才可以进行当前状态的切换。也就是,在前一帧为状态H0时,在当前帧检测到状态信道发生了变化时,理论上可以立即更新主滤波器滤波参数,从而使状态从H0切换到H1。但是,由于信道的变化可以只是由于短时因素所致,例阵风等,当该因素消失时又回复到原来的状态H0,这种立即切换会导致主滤波器频繁地更新,影响其工作的稳定性,而且耗能大。因而,通过设置的常量ε,可以避免这种频繁更新主滤波器带来的问题。
在本发明中,次滤波器的回声路径参数h2一直按照自适应滤波器的原理,例如最陡梯度下降法更新,此为常规方法,因而在此不再赘述。
本发明通过比较主滤波器输出误差e1(n)、次滤波器输出误差e2(n)、远端信号x(n)、近端信号d(n)以及主滤波器输出的能量,检测是否DT发生及CC发生,并根据不同的状态调整主滤波器滤波参数,即调整回声路径参数和权重,从而有效地消除了回声,并提高了响应速度。
由于远端信号x(n)在进入扬声器之前缓存在设备上,它在变成回声信号y(n)之前需要经过在设备上的数据搬运、数字模拟转换、扬声器播放、和房间声学响应等过程,这一过程的时间计为t=T1+T2,T1为远端信号在设备上的处理导致的延迟和扬声器声波按最短路径直接传播到麦克风导致的延迟的总和,T2为扬声器声波按最短路径传播到麦克风和经过环境中的反射物反射一次或多次到达麦克风之间的时间差。其中,在T1时段,远端信号处于未播放或在介质中传播阶段,并没有到达麦克风,此时麦克风采集的信号中没有回声,相应地主滤波器回声路径在前T1长度应该为0。通过对输送到回声消除系统的远端信号x(n)进行延迟来达到该目的。
如图8所示,为根据本发明另一个实施例的回声消除方法中的回声延迟时时间Td的计算流程图。
步骤S30,判断系统内是否已有回声延迟时间Td,如果系统内已有回声延迟时间Td,则结束流程。如果没有,则执行步骤S31。
步骤S31,对接收到的远端信号x(n)下采样。例如,当回声消除系统中的音频采样率为16kHz时,下采样时的音频采样率为1-6kHz,如2kHz或4kHz,从而得到下采样信号。
步骤S32,计算下采样信号的能量值。
步骤S33,对比所述采样信号的能量值与能量阈值的大小,在采样信号的能量值大于或等于所述能量阈值时,执行步骤S34。如果采样信号的能量值小于所述能量阈值,说明接收到的远端信号x(n)没有声音或声音过小,远端信号x(n)经过扬声器的播放不会产生回声或者是产生的回声可以忽略不计,在这种情况下,滤波器不应生成估计回声信号,因而在步骤S35将主、次滤波器输出设置为0,再返回步骤S31。
步骤S34,计算回声延迟时间Td。其中,可以采用多种方法计算延迟时间Td。在一个实施例中,可以采用滑动相关法,其思想是一个信号x1是另一个信号x0的延迟,假设x1(n)=x0(n-M)延迟为M,那么通过不断尝试把x0(n)这个信号延迟K变成x0(n-K),当K=M时,x0(n-K)=x1(n),这时x0(n-K)和x1(n)最相似,相似性以相关系数来衡量,因此按从小到大的顺序改变K,当x1和x0的相关系数最大时对应的K即为回声延迟时间Td。在另一个实施例,采用自适应滤波器学习h(n),其与用于回声消除的自适应滤波器的区别是工作频率宽度不同,因为采样信号为进行了下采样的远端信号,将的参数为非0之前的长度换算成时间,则为本实施例中的回声延迟时间Td。由于本实施例降低了信号的采样率,因而节省了计算量,提高了响应速度。
上述实施例仅供说明本发明之用,而并非是对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明范围的情况下,还可以做出各种变化和变型,因此,所有等同的技术方案也应属于本发明公开的范畴。
Claims (30)
1.一种回声消除系统,其中包括:
主滤波模块,其包括主滤波器和主减法器,所述主滤波器经配置以基于主滤波器滤波参数对远端信号x(n)进行滤波,所述主减法器对主滤波器输出的回声估计信号和近端信号d(n)做减法得到主减法器误差信号e1(n);
次滤波模块,经配置通过对远端信号x(n)进行自适应滤波以提供次滤波器回声路径参数h2;
状态模块,与所述主滤波模块和次滤波模块相连接,并接收远端信号x(n)和近端信号d(n),经配置以确定输入到主滤波模块的远端信号x(n)的状态;以及
更新模块,与所述状态模块和主滤波模块相连接,经配置以至少部分基于输入到主滤波模块的远端信号x(n)的状态更新主滤波器滤波参数。
2.根据权利要求1所述的系统,其中所述状态模块经配置以确定输入到主滤波模块的远端信号x(n)的状态为双讲状态。
3.根据权利要求1所述的系统,其中所述状态模块经配置以确定输入到主滤波模块的远端信号x(n)的状态为信道变化状态。
4.根据权利要求1所述的系统,其中所述状态模块经配置以确定输入到主滤波模块的远端信号x(n)的状态为没有发生双讲时,所述更新模块将次滤波器回声路径参数h2复制给主滤波器,使主滤波器的回声路径参数h1=h2。
5.根据权利要求1所述的系统,其中所述状态模块经配置以确定输入到主滤波模块的远端信号x(n)的状态为没有发生双讲、且信道没有发生变化时,所述更新模块进一步为主滤波器设置低更新权重μ0,μ0∈(0,0.3]。
6.根据权利要求1所述的系统,其中所述状态模块经配置以确定输入到主滤波模块的远端信号x(n)的状态为没有发生双讲、且信道发生了变化时,所述更新模块进一步为主滤波器设置高更新权重μ1,μ1∈(0.5,1]。
7.根据权利要求1所述的系统,其中所述状态模块经配置以确定输入到主滤波模块的远端信号x(n)的状态为发生了双讲、没有发生信道变化时,所述更新模块为主滤波器设置低更新权重μ0,其中,μ0∈(0,0.3]。
8.根据权利要求1所述的系统,其中所述状态模块经配置以确定输入到主滤波模块的远端信号x(n)的状态为发生了双讲、信道发生变化时,所述参数更新模块为主滤波器设置更新权重μ3,其中,所述权重μ3介于μ0和μ1之间,其中,μ0∈(0,0.3],μ1∈(0.5,1]。
9.根据权利要求4或5或6所述的系统,其中所述更新模板经进一步配置,检测前一状态是否发生双讲;响应于前一状态发生了双讲,缓冲m帧之后将更新主滤波器滤波参数,其中,m=1或2。
10.根据权利要求1所述的系统,所述状态模块经进一步配置包括:
基础数据计算单元,经配置以计算远端信号x(n)平均能量值Ex和短时能量峰值max(Ex),近端信号d(n)平均能量值Ed,主滤波器误差信号e1(n)的平均能量值次滤波器误差信号e2(n)的平均能量值及主滤波器输出的回声估计信号的平均能量值Ey;
状态参数计算单元,经配置以计算主、次滤波模块的信号能量比Ratio1、主滤波模块的多个输出信号能量比Ratio2及远端信号x(n)的局部最大能量与近端信号d(n)的能量比Ratio3,其中,Ratio3=max(Ex)/Ed;以及
状态判断单元,与所述状态参数计算单元相连接,经配置在远端信号x(n)同时符合Ratio2>1、Ratio3<1、min(Eei)>T时确定远端信号x(n)状态为发生双讲,其中i=1或2,T为环境噪声能量阈值;在Ratio1>1时,确定远端信号x(n)状态为信道发生变化。
11.根据权利要求10所述的系统,其中,所述状态判断单元经进一步配置,在Ratio1>1时,进一步判断Ratio1是否符合1-ε≤Ratio1≤1+ε其中,ε∈[0,1);响应于1-ε≤Ratio1≤1+ε,确定当前状态为信道发生变化。
13.根据权利要求1所述的系统,其中,还进一步包括延时模块,经配置以根据回声延迟时间Td对发送给主滤波模块的远端信号x(n)进行延时。
14.根据权利要求13所述的系统,其中,所述延时模块进一步包括:
下采样单元,经配置以对远端信号x(n)进行下采样以获得采样信号;
回声延迟计算单元,经配置以根据所述采样信号计算回声延迟时间Td;以及。
延时单元,经配置以根据回声延迟时间Td对远端信号x(n)进行延时。
15.根据权利要求14所述的系统,其中,所述下采样频率为1-4kHz。
17.根据权利要求16所述的方法,其中,在确定输入到主滤波模块的远端信号x(n)的状态为没有发生双讲时,将次滤波器回声路径参数h2复制给主滤波器,使主滤波器的回声路径参数h1=h2。
18.根据权利要求17所述的方法,其中,在确定输入到主滤波模块的远端信号x(n)的状态为没有发生双讲、且信道没有发生变化时,进一步为主滤波器设置低更新权重μ0,μ0∈(0,0.3]。
19.根据权利要求17所述的方法,其中,在确定输入到主滤波模块的远端信号x(n)的状态为没有发生双讲、且信道发生了变化时,进一步为主滤波器设置高更新权重μ1,μ1∈(0.5,1]。
20.根据权利要求16所述的方法,其中,在确定输入到主滤波模块的远端信号x(n)的状态为发生了双讲、且信道没有发生变化时,为主滤波器设置低更新权重μ0其中,μ0∈(0,0.3]。
21.根据权利要求16所述的方法,经进一步配置,在确定输入到主滤波模块的远端信号x(n)的状态为发生了双讲、且信道发生变化时,为主滤波器设置更新权重μ3,其中,所述权重μ3介于μ0和μ1之间,其中,μ0∈(0,0.3]μ1∈(0.5,1]。
22.根据权利要求17或18或19所述的方法,其中,检测前一状态是否发生双讲;
响应于前一状态发生了双讲,缓冲m帧之后更新主滤波器滤波参数,其中,m=1或2。
23.根据权利要求16所述的方法,其中确定输入到主滤波模块的远端信号x(n)状态的步骤包括:
计算远端信号x(n)平均能量值Ex,近端信号d(n)平均能量值Ed,主滤波器误差信号e1(n)的平均能量值次滤波器误差信号e2(n)的平均能量值主滤波器输出的回声估计信号的平均能量值Ey及环境噪声能量阈值T;
计算主、次滤波模块的信号能量比Ratio1、主滤波模块的多个输出信号能量比Ratio2及远端信号x(n)的局部最大能量与近端信号d(n)的能量比Ratio3,其中,Ratio3=max(Ex)/Ed;
判断远端信号x(n)是否同时符合Ratio2>1、Ratio3<1、min(Eei)>T,其中i=1或2;响应于同时符合Ratio2>1、Ratio3<1、min(Eei)>T,确定远端信号x(n)状态为发生双讲;以及
判断远端信号x(n)是否满足Ratio1>1,响应于满足Ratio1>1,确定远端信号x(n)状态为信道发生变化。
24.根据权利要求23所述的方法,其中,在远端信号x(n)满足Ratio1>1时,进一步判断是否满足1-ε≤Ratio1≤1+ε其中,ε∈[0,1);响应于满足1-ε≤Ratio1≤1+ε,确定远端信号x(n)状态为信道发生变化。
26.根据权利要求16所述的方法,其中,在主滤波器对远端信号x(n)进行滤波之前还包括:根据回声延迟时间Td延迟所述远端信号x(n)。
27.根据权利要求26所述的方法,其中,所述回声延迟时间Td为预置值。
28.根据权利要求26所述的方法,其中,进一步包括,根据远端信号x(n)估计所述回声延迟时间Td。
29.根据权利要求28所述的方法,进一步包括:
下采样所述远端信号以获取采样信号;以及
利用所述采样信号计算回声延迟时间Td。
30.根据权利要求29所述的方法,其中所述下采样频率为1-4kHz。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010071961.7A CN111277718B (zh) | 2020-01-21 | 2020-01-21 | 一种回声消除系统及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010071961.7A CN111277718B (zh) | 2020-01-21 | 2020-01-21 | 一种回声消除系统及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111277718A true CN111277718A (zh) | 2020-06-12 |
CN111277718B CN111277718B (zh) | 2021-10-08 |
Family
ID=70999133
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010071961.7A Active CN111277718B (zh) | 2020-01-21 | 2020-01-21 | 一种回声消除系统及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111277718B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111885276A (zh) * | 2020-07-31 | 2020-11-03 | 支付宝(杭州)信息技术有限公司 | 消除回声的方法及系统 |
CN112201266A (zh) * | 2020-08-28 | 2021-01-08 | 出门问问(苏州)信息科技有限公司 | 回声抑制方法及装置 |
CN113225442A (zh) * | 2021-04-16 | 2021-08-06 | 杭州朗和科技有限公司 | 一种消除回声的方法及装置 |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1085705A (zh) * | 1992-09-25 | 1994-04-20 | 夸尔柯姆股份有限公司 | 通信网回波抵消器 |
CN1925526A (zh) * | 2005-09-01 | 2007-03-07 | 华为技术有限公司 | 一种回声消除装置和方法 |
CN101106405A (zh) * | 2006-07-12 | 2008-01-16 | 北京大学深圳研究生院 | 回声消除器、回声消除方法及其双端通话检测系统 |
CN101888455A (zh) * | 2010-04-09 | 2010-11-17 | 熔点网讯(北京)科技有限公司 | 一种频域自适应回声抵消方法 |
US20120191447A1 (en) * | 2011-01-24 | 2012-07-26 | Continental Automotive Systems, Inc. | Method and apparatus for masking wind noise |
CN102739286A (zh) * | 2011-04-01 | 2012-10-17 | 中国科学院声学研究所 | 一种用于通信系统中的回声抵消方法 |
CN103067629A (zh) * | 2013-01-18 | 2013-04-24 | 苏州科达科技股份有限公司 | 回声消除装置 |
CN103179296A (zh) * | 2011-12-26 | 2013-06-26 | 中兴通讯股份有限公司 | 一种回波抵消器及回波抵消方法 |
CN105391879A (zh) * | 2015-12-09 | 2016-03-09 | 天津大学 | 一种无回声残留双端通话鲁棒的声学回声消除方法 |
CN105825864A (zh) * | 2016-05-19 | 2016-08-03 | 南京奇音石信息技术有限公司 | 基于过零率指标的双端说话检测与回声消除方法 |
CN107483029A (zh) * | 2017-07-28 | 2017-12-15 | 广州多益网络股份有限公司 | 一种自适应滤波器的长度调节方法及装置 |
CN108134863A (zh) * | 2017-12-26 | 2018-06-08 | 中山大学花都产业科技研究院 | 一种基于双统计量的改进型双端检测装置及检测方法 |
CN109346096A (zh) * | 2018-10-18 | 2019-02-15 | 深圳供电局有限公司 | 一种用于语音识别过程的回声消除方法及装置 |
WO2019044176A1 (ja) * | 2017-08-28 | 2019-03-07 | ソニー株式会社 | 音声処理装置及び音声処理方法、並びに情報処理装置 |
CN109451195A (zh) * | 2018-09-18 | 2019-03-08 | 北京佳讯飞鸿电气股份有限公司 | 一种自适应双端检测的回声消除方法及系统 |
CN109961798A (zh) * | 2017-12-26 | 2019-07-02 | 华平信息技术股份有限公司 | 回声消除系统、方法、可读计算机存储介质、及终端 |
-
2020
- 2020-01-21 CN CN202010071961.7A patent/CN111277718B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1085705A (zh) * | 1992-09-25 | 1994-04-20 | 夸尔柯姆股份有限公司 | 通信网回波抵消器 |
CN1925526A (zh) * | 2005-09-01 | 2007-03-07 | 华为技术有限公司 | 一种回声消除装置和方法 |
CN101106405A (zh) * | 2006-07-12 | 2008-01-16 | 北京大学深圳研究生院 | 回声消除器、回声消除方法及其双端通话检测系统 |
CN101888455A (zh) * | 2010-04-09 | 2010-11-17 | 熔点网讯(北京)科技有限公司 | 一种频域自适应回声抵消方法 |
US20120191447A1 (en) * | 2011-01-24 | 2012-07-26 | Continental Automotive Systems, Inc. | Method and apparatus for masking wind noise |
CN102739286A (zh) * | 2011-04-01 | 2012-10-17 | 中国科学院声学研究所 | 一种用于通信系统中的回声抵消方法 |
CN103179296A (zh) * | 2011-12-26 | 2013-06-26 | 中兴通讯股份有限公司 | 一种回波抵消器及回波抵消方法 |
CN103067629A (zh) * | 2013-01-18 | 2013-04-24 | 苏州科达科技股份有限公司 | 回声消除装置 |
CN105391879A (zh) * | 2015-12-09 | 2016-03-09 | 天津大学 | 一种无回声残留双端通话鲁棒的声学回声消除方法 |
CN105825864A (zh) * | 2016-05-19 | 2016-08-03 | 南京奇音石信息技术有限公司 | 基于过零率指标的双端说话检测与回声消除方法 |
CN107483029A (zh) * | 2017-07-28 | 2017-12-15 | 广州多益网络股份有限公司 | 一种自适应滤波器的长度调节方法及装置 |
WO2019044176A1 (ja) * | 2017-08-28 | 2019-03-07 | ソニー株式会社 | 音声処理装置及び音声処理方法、並びに情報処理装置 |
CN108134863A (zh) * | 2017-12-26 | 2018-06-08 | 中山大学花都产业科技研究院 | 一种基于双统计量的改进型双端检测装置及检测方法 |
CN109961798A (zh) * | 2017-12-26 | 2019-07-02 | 华平信息技术股份有限公司 | 回声消除系统、方法、可读计算机存储介质、及终端 |
CN109451195A (zh) * | 2018-09-18 | 2019-03-08 | 北京佳讯飞鸿电气股份有限公司 | 一种自适应双端检测的回声消除方法及系统 |
CN109346096A (zh) * | 2018-10-18 | 2019-02-15 | 深圳供电局有限公司 | 一种用于语音识别过程的回声消除方法及装置 |
Non-Patent Citations (1)
Title |
---|
谢维波等: "采用预测残差的回声消除单双端检测算法", 《华侨大学学报》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111885276A (zh) * | 2020-07-31 | 2020-11-03 | 支付宝(杭州)信息技术有限公司 | 消除回声的方法及系统 |
CN111885276B (zh) * | 2020-07-31 | 2021-05-25 | 支付宝(杭州)信息技术有限公司 | 消除回声的方法及系统 |
CN112201266A (zh) * | 2020-08-28 | 2021-01-08 | 出门问问(苏州)信息科技有限公司 | 回声抑制方法及装置 |
CN112201266B (zh) * | 2020-08-28 | 2023-06-13 | 出门问问(苏州)信息科技有限公司 | 回声抑制方法及装置 |
CN113225442A (zh) * | 2021-04-16 | 2021-08-06 | 杭州朗和科技有限公司 | 一种消除回声的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111277718B (zh) | 2021-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6723353B2 (ja) | 音響エコーキャンセレーションのためのダブルトーク検出 | |
CN111277718B (zh) | 一种回声消除系统及其方法 | |
JP3351532B2 (ja) | 雑音に強いエコーキャンセラ用の可変ブロックサイズ適応アルゴリズム | |
AU767771B2 (en) | Digital adaptive filter and acoustic echo canceller using the same | |
US5463618A (en) | Echo canceller | |
KR100721034B1 (ko) | 잔여 반향 필터를 사용하여 음향 반향 소거 시스템을향상시키기 위한 방법 | |
AU740467B2 (en) | Echo canceller employing dual-H architecture having variable adaptive gain settings | |
WO1999014868A1 (fr) | Procede de suppression d'echo, annuleur d'echo et commutateur vocal | |
EP1060610B1 (en) | Echo canceller employing dual-h architecture having split adaptive gain settings | |
CN110191245B (zh) | 一种基于时变参数的自适应回声消除方法 | |
US20070092074A1 (en) | Echo canceller | |
CN109040497B (zh) | 一种基于m估计的成比例类仿射投影自适应回声消除方法 | |
CN101119135A (zh) | 一种用于回音消除的步长参数调整方法及设备 | |
CN113409806B (zh) | 一种基于反正切函数的零吸引回声消除方法 | |
US8144863B2 (en) | Method and apparatus for echo cancellation | |
Tummarello et al. | Stepsize control in NLMS acoustic echo cancellation using a neural network | |
Oyerinde et al. | Variable Step Size Algorithms for Network Echo Cancellation | |
CN118038844A (zh) | 一种基于自适应滤波的会议场景回声消除方法 | |
Oyerinde et al. | Single and Multiple-Variable Step Size Normalized Least Mean Square Algorithms for Network Echo Cancellation | |
AU2004200802A1 (en) | Digital adaptive filter and acoustic echo canceller using the same | |
JPS61161034A (ja) | 反響消去装置 | |
JPH04252524A (ja) | 反響消去装置 | |
JPH0870268A (ja) | フィルタ係数の推定装置 | |
CA2592930A1 (en) | Echo canceller employing dual-h architecture having variable adaptive gain settings | |
JPH0575501A (ja) | ハウリング防止装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |