一种回波抵消器及回波抵消方法

申请号 CN201110442191.3 申请日 2011-12-26 公开(公告)号 CN103179296B 公开(公告)日 2017-02-15
申请人 中兴通讯股份有限公司; 发明人 薛涛; 孙焘; 刘冬梅; 王进军; 张琦; 王霞;
摘要 本 发明 公开了一种回波抵消器及回波抵消方法,包括:自适应 滤波器 、语音 信号 探测部、路径改变探测部和随机序列发送部,其中:随机序列发送部,用于在建立起通话链路时,向扬声器发送随机序列,随机序列经回波路径和麦克 风 形成回波信号,传送到自适应滤波器,对自适应滤波器进行初始化;自适应滤波器,用于采用随机序列形成的回波信号进行训练,将训练得到的系数存储为初始系数,对近端信号进行回波信号的消除; 语音信号 探测部,用于检测通话状态,根据通话状态控制自适应滤波器,并根据通话状态控制路径改变探测部的启动;路径改变探测部,用于检测回波路径是否发生改变,根据回波路径是否发生改变控制自适应滤波器。
权利要求

1.一种回波抵消器,其特征在于,包括:自适应滤波器、语音信号探测部、路径改变探测部和随机序列发送部,其中:
所述随机序列发送部,用于在建立起通话链路时,向扬声器发送随机序列,所述随机序列经回波路径和麦克形成回波信号,传送到所述自适应滤波器,对所述自适应滤波器进行初始化;
所述自适应滤波器,用于采用所述随机序列形成的回波信号进行训练,将训练得到的系数存储为初始系数,对近端信号进行回波信号的消除;
所述语音信号探测部,用于检测通话状态,根据通话状态控制所述自适应滤波器,并根据通话状态控制所述路径改变探测部的启动;
所述路径改变探测部,用于检测回波路径是否发生改变,根据回波路径是否发生改变控制所述自适应滤波器;
其中,所述语音信号探测部根据通话状态控制所述自适应滤波器,并根据通话状态控制路径改变探测部的启动,包括:
所述语音信号探测部在通话状态为近端通话或静音时,关闭所述自适应滤波器;在通话状态为双端通话时,定所述自适应滤波器;在通话状态为远端通话时,控制所述路径改变探测部启动。
2.如权利要求1所述的回波抵消器,其特征在于,所述语音信号探测部包括:检测限初始化单元,其中:
所述检测门限初始化单元,用于在建立起通话链路时,存储所述近端信号,采用所存储的近端信号估计语音检测门限的初始值。
3.如权利要求2所述的回波抵消器,其特征在于:
所述检测门限初始化单元,具体用于采用Threshold0=K·E(v2)计算语音检测门限的初始值,其中,Threshold0为语音检测门限的初始值,K为语音门限估计增益, v(n)为近端信号,N为信号长度。
4.如权利要求3所述的回波抵消器,其特征在于,所述语音信号探测部还包括:近端语音判断单元、远端语音判断单元和控制信号发送单元,其中:
所述近端语音判断单元,用于在d1(n)2>Threshold时对计数器C(n)加1,在时,判断所述近端信号中存在近端语音信号,其中,d1(n)为
自适应滤波器的前L阶系数和远端语音信号的卷积,Threshold为第一近端语音检测门限,Threshold2为第二近端语音检测门限,N1为滑动窗长度,M=M+S,M为滑动窗起点,S为滑动窗滑动长度;
所述远端语音判断单元,用于在x(n)2>Threshold1时对计数器D(n)加1,在时,判断所述近端信号中存在远端语音信号,其中,x(n)为
远端语音信号,Threshhold1为第一远端语音检测门限,Threshold3为第二远端语音检测门限,N2为滑动窗长度;
所述控制信号发送单元,用于接收所述近端语音判断单元和远端语音判断单元发送的判断结果,根据所述判断结果确定通话状态,根据通话状态控制所述自适应滤波器,以及所述路径改变探测部的启动。
5.如权利要求4所述的回波抵消器,其特征在于:
所述第一近端语音检测门限和第一远端语音检测门限的初始值为所述语音检测门限的初始值,并且,所述第一近端语音检测门限与所述第一远端语音检测门限相等,所述第二近端语音检测门限与所述第二远端语音检测门限相等。
6.如权利要求4所述的回波抵消器,其特征在于,所述语音信号探测部还包括:相关性计算单元和门限改变控制单元,其中:
所述相关性计算单元,用于接收路径改变探测部发送的路径改变探测结果,在回波路径发生改变时,计算近端信号与远端语音信号的相关性,当相关性大于相关性比较门限时,确定所述近端信号中无近端语音信号,并检查所述近端语音判断单元的判断结果,在所述判断结果为存在近端语音信号时,确定第一近端语音检测门限失效;
所述门限改变控制单元,用于在第一近端语音检测门限失效时,判断是否存在如果存在,则确定Threshold
=G1·E(d2),其中,d(n)为近端信号, Threshold为第一近端语音检测
门限,Threshold5为相关性比较门限,δ为信号方差,G1为语音门限估计增益,δd为近端信号的信号方差,δx为远端语音信号的信号方差。
7.如权利要求3所述的回波抵消器,其特征在于,所述语音信号探测部包括:近端语音判断单元;
所述近端语音判断单元,用于在 时对计数器C(n)加1,在
时,判断所述近端信号中存在近端语音信号,其中,d(n)为
近端信号,N3为长,Threshold为第一近端语音检测门限,Threshold2为第二近端语音检测门限,N1为滑动窗长度,M=M+S,M为滑动窗起点,S为滑动窗滑动长度。
8.如权利要求1所述的回波抵消器,其特征在于,所述路径改变探测部包括:自适应滤波器性能计算单元、第二自适应滤波器性能计算单元和性能比较单元,其中:
所述自适应滤波器性能计算单元,用于按照 计算自适应滤波
器的性能,其中,ERLE2为自适应滤波器性能值,d(n)为近端信号,e(n)为近端信号的误差信号;
所述第二自适应滤波器性能计算单元,用于按照 计算自适应
滤波器的性能,其中,ERLE1为第二自适应滤波器性能值,d1(n)为自适应滤波器的前L阶系数和远端语音信号的卷积,e1(n)为所述卷积的误差信号;
所述性能比较单元,用于接收所述自适应滤波器性能计算单元和所述第二自适应滤波器性能计算单元计算得到的性能值,判断是否存在ERLE1-ERLE2>Threshold4,其中,Threshold4为路径突变门限,如果存在,则确定回波路径改变。
9.如权利要求1所述的回波抵消器,其特征在于:所述随机序列与语音信号不相关。
10.一种回波抵消方法,其特征在于,包括:
随机序列发送部在建立起通话链路时,向扬声器发送随机序列,所述随机序列经回波路径和麦克风形成回波信号,传送到自适应滤波器,对所述自适应滤波器进行初始化;
自适应滤波器采用所述随机序列形成的回波信号进行训练,将训练得到的系数存储为初始系数,对近端信号进行回波信号的消除;
语音信号探测部检测通话状态,根据通话状态控制所述自适应滤波器,并根据通话状态控制路径改变探测部的启动;
所述路径改变探测部检测回波路径是否发生改变,根据回波路径是否发生改变控制所述自适应滤波器;
其中,所述语音信号探测部根据通话状态控制所述自适应滤波器,并根据通话状态控制路径改变探测部的启动,包括:
所述语音信号探测部在通话状态为近端通话或静音时,关闭所述自适应滤波器;在通话状态为双端通话时,锁定所述自适应滤波器;在通话状态为远端通话时,控制所述路径改变探测部启动。
11.如权利要求10所述的方法,其特征在于,还包括:
所述语音信号探测部在建立起通话链路时,存储所述近端信号,采用所存储的近端信号估计语音检测门限的初始值。
12.如权利要求11所述的方法,其特征在于,所述采用所存储的近端信号估计语音检测门限的初始值,包括:
所述语音信号探测部采用Threshold0=K·E(v2)计算语音检测门限的初始值,其中,Threshold0为语音检测门限的初始值,K为语音门限估计增益, v(n)为
近端信号,N为信号长度。
13.如权利要求10所述的方法,其特征在于,所述路径改变探测部根据回波路径是否发生改变控制所述自适应滤波器,包括:
所述路径改变探测部在发生路径突变时,重启所述自适应滤波器;在未发生路径突变时,正常更新所述自适应滤波器。
14.如权利要求13所述的方法,其特征在于,还包括:
所述路径改变探测部在发生路径突变时,还将路径改变探测结果发送给所述语音信号探测部;
所述语音信号探测部在回波路径发生改变时,判断语音检测门限是否失效,在所述语音检测门限失效时,重新确定所述语音检测门限。

说明书全文

一种回波抵消器及回波抵消方法

技术领域

[0001] 本发明涉及移动通信领域中声学回波消除的方法,一种回波抵消器及回波抵消方法。

背景技术

[0002] 随着无线通信技术的飞速发展,人们对语音通信的质量及舒适性提出了更高的要求,其中,舒适自然的免提对话环境正成为人们日益增长的需求。然而回波的存在影响了通信质量,严重时可能使通信系统无法正常工作。因此,必须采取有效措施来抑制回波,消除其影响,才能提高语音通信质量。
[0003] 回波抵消器一般采用自适应回波抵消方法。自适应滤波器通过对声回授通道的冲击响应的辨识,产生出同回声相同的信号,再从近端话音和回声的混合信号中减去回声信号,来达到回声对消的目的。这样既可以保证对话音质量影响最小,又使得回声得到最大的抑制。自适应回波对消技术的最大特点就是不限制声回授通道所在的空间,不论内部空间尺寸如何,不论其内部陈设如何,也不论讲话者所处位置,它都会自动地跟踪房间声学特性的变化,最大限度地抑制由声回授引起的回声乃至啸叫。因此,对驾驶舱或室内LRM系统通道的声回授特性的快速自动辨识及跟踪是声回波对消的关键。
[0004] 然而,在实际通信情况下存在双端通话和路径突变等现象,这些现象都会影响自适应滤波器的收敛性能,导致回波不能有效地得到消除。回波抵消器中路径改变检测模和双端检测模块性能的优劣直接影响了回波抑制的效果。在检测到双端通话模式时,需要控制自适应滤波器停止系数更新,否则误差信号的突增将导致自适应滤波器发散;在路径突变时需要重启滤波器,以便能快速跟踪路径变化,更好的消除回波。
[0005] 传统的双端检测模块一般采用Geigel法和相关性检测法。Geigel法复杂度低易于实现,但是限的确定十分困难,并且在噪声环境下的效果较差,而相关检测法主要依靠对近端和远端语音的检测,当噪声较大或者路径突变时会造成滤波器的性能恶化。
[0006] 传统的路径探测模块采用主从滤波器结构,加入的辅助滤波器一般为全长为128ms的窗,用来覆盖整个回波路径,但是,这种方法的花销与复杂度都很大。同时在路径改变之后,回波也发生改变,使得原本性能良好的双端检测方法因门限失效性能恶化。

发明内容

[0007] 本发明要解决的技术问题是提供一种回波抵消器及回波抵消方法,能够在初始化阶段达到很好的收敛效果和双端通话效果。
[0008] 为解决上述技术问题,本发明的一种回波抵消器,包括:自适应滤波器、语音信号探测部、路径改变探测部和随机序列发送部,其中:
[0009] 所述随机序列发送部,用于在建立起通话链路时,向扬声器发送随机序列,所述随机序列经回波路径和麦克形成回波信号,传送到所述自适应滤波器,对所述自适应滤波器进行初始化;
[0010] 所述自适应滤波器,用于采用所述随机序列形成的回波信号进行训练,将训练得到的系数存储为初始系数,对近端信号进行回波信号的消除;
[0011] 所述语音信号探测部,用于检测通话状态,根据通话状态控制所述自适应滤波器,并根据通话状态控制所述路径改变探测部的启动;
[0012] 所述路径改变探测部,用于检测回波路径是否发生改变,根据回波路径是否发生改变控制所述自适应滤波器。
[0013] 进一步地,所述语音信号探测部包括:检测门限初始化单元,其中:
[0014] 所述检测门限初始化单元,用于在建立起通话链路时,存储所述近端信号,采用所存储的近端信号估计语音检测门限的初始值。
[0015] 进一步地,所述检测门限初始化单元,具体用于采用Threshold0=K·E(v2)计算语音检测门限的初始值,其中,Threshold0为语音检测门限的初始值,K为语音门限估计增益, v(n)为近端信号,N为信号长度。
[0016] 进一步地,所述语音信号探测部还包括:近端语音判断单元、远端语音判断单元和控制信号发送单元,其中:
[0017] 所述近端语音判断单元,用于在d1(n)2>Threshold时对计数器C(n)加1,在时,判断所述近端信号中存在近端语音信号,其中,d1(n)为自适应滤波器的前L阶系数和远端语音信号的卷积,Threshold为第一近端语音检测门限,Threshold2为第二近端语音检测门限,N1为滑动窗长度,M=M+S,M为滑动窗起点,S为滑动窗滑动长度;
[0018] 所述远端语音判断单元,用于在x(n)2>Threshold1时对计数器D(n)加1,在时,判断所述近端信号中存在远端语音信号,其中,Threshhold1为第一远端语音检测门限,Threshold3为第二远端语音检测门限,N2为滑动窗长度;
[0019] 所述控制信号发送单元,用于接收所述近端语音判断单元和远端语音判断单元发送的判断结果,根据所述判断结果确定通话状态,根据通话状态控制所述自适应滤波器,以及所述路径改变探测部的启动。
[0020] 进一步地,所述第一近端语音检测门限和第一远端语音检测门限的初始值为所述语音检测门限的初始值,并且,所述第一近端语音检测门限与所述第一远端语音检测门限相等,所述第二近端语音检测门限与所述第二远端语音检测门限相等。
[0021] 进一步地,所述语音信号探测部还包括:相关性计算单元和门限改变控制单元,其中:
[0022] 所述相关性计算单元,用于接收路径改变探测部发送的路径改变探测结果,在回波路径发生改变时,计算近端信号与远端语音信号的相关性,当相关性大于相关性比较门限时,确定所述近端信号中无近端语音信号,并检查所述近端语音判断单元的判断结果,在所述判断结果为存在近端语音信号时,确定第一近端语音检测门限失效;
[0023] 所述门限改变控制单元,用于在第一近端语音检测门限失效时,判断是否存在如果存在,则确定Threshold=G1·E(d2),其中,Threshold为第一近端语音检测门限,Threshold5为相关性比较门限,δ为信号方差,G1为语音门限估计增益。
[0024] 进一步地,所述语音信号探测部包括:近端语音判断单元;
[0025] 所述近端语音判断单元,用于在 时对计数器C(n)加1,在时,判断所述近端信号中存在近端语音信号,其中,d(n)为
近端信号,N3为长,Threshold为第一近端语音检测门限,Threshold2为第二近端语音检测门限,N1为滑动窗长度,M=M+S,M为滑动窗起点,S为滑动窗滑动长度。
[0026] 进一步地,所述路径改变探测部包括:自适应滤波器性能计算单元、第二自适应滤波器性能计算单元和性能比较单元,其中:
[0027] 所述自适应滤波器性能计算单元,用于按照 计算自适应滤波器的性能,其中,ERLE2为自适应滤波器性能值,d(n)为近端信号,e(n)为近端信号的误差信号;
[0028] 所述第二自适应滤波器性能计算单元,用于按照 计算自适应滤波器的性能,其中,ERLE1为第二自适应滤波器性能值,d1(n)为自适应滤波器的前L阶系数和远端语音信号的卷积,e1(n)为所述卷积的误差信号;
[0029] 所述性能比较单元,用于接收所述自适应滤波器性能计算单元和所述第二自适应滤波器性能计算单元计算得到的性能值,判断是否存在ERLE1-ERLE2>Threshold4,其中,Threshold4为路径突变门限,如果存在,则确定回波路径改变。
[0030] 进一步地,所述随机序列与语音信号不相关。
[0031] 进一步地,一种回波抵消方法,包括:
[0032] 随机序列发送部在建立起通话链路时,向扬声器发送随机序列,所述随机序列经回波路径和麦克风形成回波信号,传送到自适应滤波器,对所述自适应滤波器进行初始化;
[0033] 自适应滤波器采用所述随机序列形成的回波信号进行训练,将训练得到的系数存储为初始系数,对近端信号进行回波信号的消除;
[0034] 语音信号探测部检测通话状态,根据通话状态控制所述自适应滤波器,并根据通话状态控制路径改变探测部的启动;
[0035] 所述路径改变探测部检测回波路径是否发生改变,根据回波路径是否发生改变控制所述自适应滤波器。
[0036] 进一步地,还包括:
[0037] 所述语音信号探测部在建立起通话链路时,存储所述近端信号,采用所存储的近端信号估计语音检测门限的初始值。
[0038] 进一步地,所述采用所存储的近端信号估计语音检测门限的初始值,包括:
[0039] 所述语音信号探测部采用Threshold0=K·E(v2)计算语音检测门限的初始值,其中,Threshold0为语音检测门限的初始值,K为语音门限估计增益, v(n)为近端信号,N为信号长度。
[0040] 进一步地,所述语音信号探测部根据通话状态控制所述自适应滤波器,并根据通话状态控制路径改变探测部的启动,包括:
[0041] 所述语音信号探测部在通话状态为近端通话或静音时,关闭所述自适应滤波器;在通话状态为双端通话时,定所述自适应滤波器;在通话状态为远端通话时,控制所述路径改变探测部启动。
[0042] 进一步地,所述路径改变探测部根据回波路径是否发生改变控制所述自适应滤波器,包括:
[0043] 所述路径改变探测部在发生路径突变时,重启所述自适应滤波器;在未发生路径突变时,正常更新所述自适应滤波器。
[0044] 进一步地,还包括:
[0045] 所述路径改变探测部在发生路径突变时,还将路径改变探测结果发送给所述语音信号探测部;
[0046] 所述语音信号探测部在回波路径发生改变时,判断语音检测门限是否失效,在所述语音检测门限失效时,重新确定所述语音检测门限。
[0047] 综上所述,本发明能够在初始化阶段达到很好的收敛效果,在双端通话时具有一定的稳定性;随机序列具有提示音作用,具有很好的实用性;减小了双端通话检测和路径突变检测之间的相互影响;提高了回波抑制器在双端通话和路径突变时的回波抵消性能。附图说明
[0048] 图1是本发明的实施方式1的回波抵消器的结构图;
[0049] 图2是本发明的实施方式1的回波抵消器中的语音信号探测部的结构图;
[0050] 图3是本发明的实施方式1的回波抵消器中的路径改变探测部中第二自适应滤波器的结构图;
[0051] 图4是本发明的实施方式1的回波抵消器中的路径改变探测部的结构图;
[0052] 图5是本发明的实施方式1的回波抵消器的流程图
[0053] 图6是本发明的实施方式2的回波抵消器的结构图。

具体实施方式

[0054] 传统的回波抵消器没有考虑自适应滤波器的初始化问题,使得在回波抑制的初始阶段自适应滤波器的性能不佳。本实施方式利用通信链路建立后短暂的静音资源,发送随机序列用初始化自适应滤波器,并且,提取环境噪声来估计语音检测的初始门限。在回波抑制过程中,自适应滤波器的初始系数不是置为零向量而是由回波路径模拟值代替,从而使得初始化阶段自适应滤波器收敛更快速,稳态误差更小。发送与语音信号不相关的随机序列,使得自适应滤波器本身在双端通话时就具有一定的鲁棒性。同时,随机序列可以提醒用户话路已经接通,具有很好的实用性。
[0055] 本实施方式的回波抵消器,包括:自适应滤波器、随机序列发送部、语音信号探测部和路径改变探测部,其中:
[0056] 自适应滤波器,从近端信号中消除回波信号;
[0057] 随机序列发送部,用于发送随机序列对自适应滤波器进行初始化;
[0058] 语音信号探测部,通过对近端语音和远端语音分别进行检测,判断通话状态,根据通话状态控制自适应滤波器;
[0059] 路径改变探测部,对自适应滤波器和第二自适应滤波器进行性能比较,判断是否发生路径改变,以此控制自适应滤波器,同时更新语音检测部中的语音检测门限。
[0060] 本实施方式的回波抵消方法,包括:
[0061] 第一步:在通话链路建立起来的同时,由随机序列发送部发送随机序列对自适应滤波器进行训练,自适应滤波器存储训练得到的系数作为自适应滤波器的初始系数;
[0062] 第二步:语音信号探测部存储近端信号,根据存储的近端信号估计语音检测门限作为初始门限,进行语音检测;
[0063] 第三步:语音信号探测部根据语音检测的不同结果控制自适应滤波器,包括:近端通话或静音时,关闭自适应滤波器;双端通话时锁定自适应滤波器;无以上状态时,由路径改变探测部探测是否发生路径突变,发生路径突变时,重启自适应滤波器,同时由语音信号探测部调整近端语音检测门限;未发生路径突变时,正常更新自适应滤波器。
[0064] 在回波抵消器进行完三个步骤之后,跳到第二步循环运行。
[0065] 本实施方式采用基于语音能量估计的语音检测方法利用第二自适应滤波器的期望信号进行双端通话检测。第二自适应滤波器由于阶数较小,更易于区分回声和近端语音,所以能得到比自适应滤波器更精确的检测结果。当远端通话同时近端通话时判为双端通话。然而在检测近端语音时由于响度的不均衡导致近端语音在各个点上的误判,本实施方式根据语音点连续出现的特点,在判断完单点的是否有近端语音后加入滑动窗,在窗口内的近端语音点超过门限值时判为存在近端语音,提高了语音检测的准确性。
[0066] 由于人在噪声环境中通话时会根据噪声的情况调节说话响度,所以语音信号探测部能根据噪声的初步估计设定语音检测的初始门限。
[0067] 路径改变探测部利用第二自适应滤波器与自适应滤波器的性能差异判断是否发生路径改变,其中第二自适应滤波器的期望信号由自适应滤波器系数和远端语音信号得到。由于第二自适应滤波器模拟的是回波路径的前几阶系数,所以能够达到很好的收敛效果,当路径改变后能较清晰地判断出路径的改变。
[0068] 当路径改变以后,回波的能量也发生改变,本实施方式在路径改变后自动调整近端语音检测门限:当接收信号和远端语音信号的相关性大于门限,即相关性检测时不存在近端语音,同时按照原门限可检测到出现近端语音时进行门限更新。借助对近端信号能量的估计和设定的增益得出新的门限,直至两种检测结果相一致时停止。本实施方式提高了语音检测的准确性,减少了路径检测和双端检测的相互影响,增强了回波抵消器的鲁棒性。
[0069] 下面结合附图对本实施方式进行详细说明。
[0070] 实施例1:
[0071] 图1是本实施例的回波抵消器的结构图,回波抵消器包括:扬声器101、话筒102、自适应滤波器103、语音信号探测部104和路径改变探测部105。在图1中,x(n)是远端语音信号,d(n)是接收信号(近端信号),e(n)是误差信号,n表示时刻。接收信号中包含近端语音信号、回波信号和环境噪音的一种或多种。
[0072] 远端语音信号x(n)通过扬声器101在回波路径100中传播,被话筒102拾取,形成回波信号。自适应滤波器部103接收远端语音信号x(n)作为训练信号模拟回波路径100,消除接收信号中的回波信号。在自适应滤波器103中,通常情况下使用VSS-NLMS(Variable Step Size Normalized Least Mean Square,变步长归一化最小均方误差)算法即可,阶数一般选为512~1024。
[0073] 回波路径中可能出现近端语音信号(双端通话),由于近端语音信号会对自适应滤波器103产生不良影响,所以由语音信号探测部104检测近端信号中是否含有近端语音信号,以此控制自适应滤波器103下一步工作。
[0074] 同时,回波路径100可能会随着用户的移动而发生改变,路径改变探测部105探测回波路径100是否发生改变,路径一旦改变,需要自适应滤波器103能快速地随之改变,路径改变探测部105也用来控制自适应滤波器103工作。由于双端通话和路径改变之间存在相互影响,路径改变之后由路径改变探测部105发出控制信号107控制语音检测部104的门限更新。
[0075] 图2是本实施例的回波抵消器中的语音信号探测部的结构图,假设采用第二自适应滤波器模拟回波路径100的前L个系数。第二自适应滤波器的阶数为L(一般取32~128),d1(n)是自适应滤波器103的前L阶系数和远端语音信号x(n)卷积得到,即第二自适应滤波器的期望信号。
[0076] 检测门限初始化单元201在通话链路建立起来的同时存储近端信号,按照规则1和规则2估计语音检测门限,作为近端语音判断单元202的近端语音检测门限的初始值和远端语音判断单元203的远端语音检测门限的初始值。
[0077] [规则1]
[0078] 语音检测门限初始化估计:
[0079] Threshold0=K·E(v2)     [规则2]
[0080] 其中,Threshold0为语音检测门限的初始值,v(n)是检测门限初始化单元201存储的近端信号,N是信号长度,一般取1000~3000,K是语音门限估计增益,一般取3~5。
[0081] 近端语音判断单元202用来判断是否存在近端语音信号,按照规则3进行初步判断。由于语音响度的不均衡导致近端语音在各个点上的误判,根据语音点连续出现的特点,在判断完单点是否有近端语音后加入滑动窗,在窗口内的近端语音点超过门限值时判为存在近端语音,即利用规则4进行最终判断。远端信号判断单元203与上述工作方法相同。
[0082] 近端语音判断:
[0083] 当d1(n)2>Threshold时令计数器C(n)加1   [规则3]
[0084] [规则4]
[0085] 远端语音判断:
[0086] 当x(n)2>Threshold1时令计数器D(n)加1    [规则5]
[0087] [规则6]
[0088] 其中,Threshold为第一近端语音检测门限,Threshold2为第二近端语音检测门限,Threshhold1为第一远端语音检测门限,Threshold3为第二远端语音检测门限,在初始检测阶段Threshold=Threshold1=Threshold0;N1,N2为滑动窗长度,一般取100~300,M=M+S,M为滑动窗起点,S为滑动窗滑动长度,一般取50~150。近端语音检测门限和远端语音检测门限一般情况下取相等的值,即Threshold=Threshold1,Threshhold2=Threshold3。
[0089] 将语音判断的结果输入控制信号发送单元204,发出控制信号108控制自适应滤波器部103和路径改变探测部105。
[0090] 近端通话或静音时(扬声器不发声)由于不需要进行回波的消除,此时关闭自适应滤波器;
[0091] 双端通话时会使自适应滤波器发散,此时锁定自适应滤波器;即滤波器系数不进行更新:w(n+1)=w(n);
[0092] 无以上状态时(排除近端通话、静音和双端通话的远端通话情况,此时只有远端语音,可能附加有噪声),由路径改变探测部105进行路径改变探测。
[0093] 由于回波路径改变后可能会导致回波信号的突增,致使无近端语音信号只有回波信号时,近端语音判断单元202仍判断为有近端语音,因此在路径改变之后需要判断是否对语音检测的门限进行调整。
[0094] 路径改变探测的结果由控制信号107反馈回来,控制相关性计算单元205。如果探测到有路径改变,就启动相关性计算单元205。相关性计算单元205计算接收信号d(n)和远端语音信号x(n)的相关性,当相关性大于设定的相关性比较门限时说明此时无近端语音信号,如果近端语音判断单元202的检测结果207是有近端语音信号时,说明该门限已经失效,此时由门限改变控制单元206发出控制信号208改变近端语音的检测门限。门限的更新由规则7给出。
[0095] 当 时
[0096] Threshold=G1·E(d2)    [规则7]
[0097] 其中,Threshold5是相关性比较门限,一般设为0.2~0.4;δ是信号方差,G1是语音门限估计增益,一般取3~5。
[0098] 路径改变探测部105的具体实现由图3和图4给出。图3为第二自适应滤波器的结构图,图4为路径改变探测部105的结构图。
[0099] 如图3所示,第二自适应滤波器301的输入信号为远端语音信号x(n),期望信号为d1(n),误差信号为e1(n)。第二自适应滤波器301模拟的是回波路径100的前L个系数。由于阶数比自适应滤波器小,收敛效果好,当路径改变后能更快速的跟踪路径的改变,通过对比自适应滤波器的性能判断是否发生了路径改变。
[0100] 如图4所示,按照规则8分别计算两个滤波器的性能,将结果输入性能比较单元403,通过规则9的判断得出是否发生了路径突变。
[0101] [规则8]
[0102] ERLE1-ERLE2>Threshold4    [规则9]
[0103] ERLE1是第二自适应滤波器性能值,ERLE2是自适应滤波器性能值,Threshold4是路径突变门限,一般设为15~20。
[0104] 最终给出控制信号107控制自适应滤波器部103和语音信号探测部104。
[0105] 路径突变时重启自适应滤波器,同时开启语音信号探测部的相关性计算单元205。
[0106] 未发生路径突变时,使用VS S-NLMS(Variable Step Size Normalized Least Mean Square,变步长归一化最小均方误差)算法正常更新自适应滤波器。
[0107] 图5是本实施方式的实施例1的回波抵消方法的流程,包括:
[0108] 步骤501:在通信链路建立的同时,由语音信号探测部104的检测门限初始化单元201储存近端信号,经过计算得到语音检测的初始化门限;
[0109] 步骤502:语音信号探测部104检测通话状态;
[0110] 步骤503:语音信号探测部104判断通话状态是否为近端通话或者静音,如果是,则执行步骤505;否则,执行步骤504;
[0111] 步骤504:开启自适应滤波器,执行步骤506;
[0112] 步骤505:关闭自适应滤波器,返回步骤502;
[0113] 步骤506:判决是否为双端通话,如果是,则执行步骤507;否则,执行步骤508;
[0114] 步骤507:停止更新自适应滤波器,返回步骤502;
[0115] 步骤508:启动滤波器性能比较单元403;
[0116] 步骤509:性能比较单元403判决是否发生路径突变,若发生路径突变,则执行步骤510;否则,执行步骤511;
[0117] 步骤510:重启自适应滤波器,开启相关性计算单元205,对语音检测门限进行更新,之后回到步骤502;
[0118] 步骤511:按照变步长算法正常更新自适应滤波器,之后回到步骤502重新进行语音信号检测。
[0119] 实施例2:
[0120] 在上述实施例1中,检测门限初始化单元201在通话链路建立起来的同时存储近端信号,按照规则1和规则2估计语音检测门限,作为近端语音判断单元202和远端语音判断单元203的初始门限。在本实施例中,在通话链路建立起来的同时,不仅检测门限初始化单元201存储近端信号,而且随机序列发送部601主动发送随机序列,对自适应滤波器103进行初始化。图6是本实施例的回波抵消器的结构图,通常随机序列选为M序列。
[0121] 随机序列发送部601发送的随机序列经过回波路径100传到麦克风102,形成回波信号对自适应滤波器进行初始化,自适应滤波器使用VSS-NLMS(Variable Step Size Normalized Least Mean Square,变步长归一化最小均方误差)算法进行训练,将训练得到的系数存储作为自适应滤波器的初始系数。
[0122] 这样在回波抑制过程中,自适应滤波器的初始系数不是置为零向量而是由初步的回波路径模拟值代替,从而使得初始化阶段滤波器收敛更快速,稳态误差更小。
[0123] 由于在远端语音信号和近端语音信号不相关时,双端通话对自适应滤波器的系数更新几乎无影响,因此,本实施例采用与任何语音信号均不相关的随机序列,所以使得自适应滤波器本身在双端通话时就具有一定的鲁棒性。同时,在语音通信链路建立后发送的随机序列可以提醒用户话路已经接通,具有很好的实用性。
[0124] 本实施例的回波抵消器的流程,除在链路建立时主动发送随机序列以外,其他步骤与实施例1完全相同,在此不再赘述。
[0125] 实施例3:
[0126] 实施例1中假设第二自适应滤波器的阶数为L(一般取32~128),d1(n)是自适应滤波器103的前L阶系数和远端信号x(n)卷积得到,即第二自适应滤波器的期望信号,以此信号作为输入由语音信号探测部104的近端语音判断单元202判断是否存在近端语音信号,按照规则3进行初步判断,利用规则4进行最终判断。在本实施例中,采用自适应滤波器接收信号d(n)作为语音信号探测部104中近端语音判断单元202的输入信号。同时,由于语音信号具有短时平稳特性,按照规则10,采用帧结构对语音信号进行初始判断。
[0127] 当 时令计数器C(n)加1    [规则10]
[0128] 其中,d(n)为自适应滤波器部103的接收信号,N3为帧长,一般取100~300。
[0129] 其他结构与实施方式1完全相同,这里不再赘述。
[0130] 本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各装置/模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
[0131] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
QQ群二维码
意见反馈