一种非线性回声抑制方法技术

技术编号:19906155 阅读:61 留言:0更新日期:2018-12-26 03:45
本发明专利技术公开了一种非线性回声抑制方法,包括以下步骤,对远端参考信号x、麦克风接收信号d、线性估计回声信号y和残差信号e进行傅里叶变换,得到对应的频域信号xf、df、yf和ef;对xf、df、yf和ef进行相关性系数计算;对上述相关性系数进行平滑处理;针对非线性回声容易产品的频点,对平滑后的相关性系数求均值;利用上述相关性系数及均值构建非线性回声抑制函数;通过非线性回声抑制函数,进行非线性回声消除;将非线性回声消除后的信号进行反傅里叶变换,得到时域输出信号。本发明专利技术在保证输出信号音质的情况下有效提高系统的回声抑制比,减少近端语音信号的畸变,计算量小,在语音交互系统中具有良好的应用前景。

【技术实现步骤摘要】
一种非线性回声抑制方法
本专利技术涉及回声抑制
,具体涉及一种用于实时语音交互系统中的非线性回声抑制方法。
技术介绍
语音交互系统中的回声是指扬声器播放出来的声音经过外界环境反射后进入麦克风中形成的声音。回声会干扰本地语音。由于回声存在,导致语音交互系统无法得到干净的目标语音。在不做任何回声处理的情况下,回声可能会不断叠加形成啸叫,系统性能急剧变差。回声抑制,就是将麦克风接收信号中的回声成分消除,比较常见的算法有自适应滤波器法,包括NLMS(NormalizedLeastMeanSquare,归一化最小均方)算法、PBFDAF(PartitionedBlockFrequencyDomainAdaptiveFilter,分段块频域自适应滤波器)算法等。但是,这些算法只能消除线性回声。而实际声学环境中,房间墙壁和障碍物对声音的反射是非线性的,扬声器和麦克风的频率响应也存在非线性因素,因此,语音通信中的回声是线性回声和非线性回声的叠加。当应用上述的自适应滤波器法消除线性回声后,其输出的残差信号中必然包含非线性回声,对本地语音存在干扰。非线性回声抑制对提高语音交互系统性能具有重要的意义。在使用麦克风接收信号和扬声器输出参考信号的相关性进行非线性回声抑制时,由于语音信号是非平稳的,幅度变化非常快速,频率分量丰富,直接采用这两个信号的全带互相关值确定非线性回声抑制系数误差很大,对本地语音造成的畸变严重,导致输出语音卡顿,用户体验不佳。同时,仅采用这两种信号的互相关构造的回声抑制系数在不同信噪比环境下的鲁棒性能一般。如何针对上述问题,在保证本地语音音质的前提下,选取合适的相关性参数,构建有效的非线性回声抑制函数,对非线性回声进行抑制,是当前需要解决的问题。
技术实现思路
本专利技术的目的是解决传统的非线性回声消除方法造成本地语音卡顿、性能不佳的问题。本专利技术提出用于语音交互系统中非线性回声抑制方法,通过在频域对各频点的多个相关性系数进行平滑和平均计算,并结合回声是否存在的状态检测,使用不同的相关性系数进行非线性回声抑制,确保在不影响本地语音音质的情况下实现鲁棒的回声消除效果,具有良好的应用前景。为了达到上述目的,本专利技术所采用的技术方案是:一种非线性回声抑制方法,包括以下步骤,步骤(A),对当前帧的远端参考信号x、麦克风接收信号d、线性回声消除模块得到的估计回声信号y、线性回声消除模块得到的残差信号e,分别进行傅里叶变换,得到对应的频域信号xf(k)、df(k)、yf(k)与ef(k),其中,k代表频点标号;步骤(B),对各频域信号xf(k)、df(k)、yf(k)与ef(k)在每个频点k上进行相关性计算,分别求出每个频点xf(k)与df(k)、yf(k)与df(k)、df(k)与ef(k)的互相关系数cohxd(k)’、cohyd(k)’和cohde(k)’,(B1),计算每个频点xf(k)与df(k)、yf(k)与df(k)、df(k)与ef(k)的互功率谱Sxd(k)、Syd(k)和Sde(k),如公式(1)、(2)、(3)所示,Sxd(k)=xf(k)·conj(df(k))(1)Syd(k)=yf(k)·conj(df(k))(2)Sde(k)=df(k)·conj(ef(k))(3)其中,conj为取共轭符号;(B2),计算每个频点xf(k)与df(k)、yf(k)与df(k)、df(k)与ef(k)的互相关系数cohxd(k)’、cohyd(k)’和cohde(k)’,如公式(4)、(5)、(6)所示,步骤(C),采用平滑系数smooth对互相关系数cohxd(k)’、cohyd(k)’和cohde(k)’进行平滑处理,得到平滑后的互相关系数cohxd(k)、cohyd(k)和cohde(k);步骤(D),对平滑后的互相关系数cohxd(k)、cohyd(k)和cohde(k)求均值,选择较易产生回声的频点范围,计算上述互相关性系数的均值,得到AvgCohXD(k)、AvgCohYD(k)和AvgCohDE(k),如公式(7)、(8)、(9)所示,其中,l为下限频点,l+m为上限频点,m为计算均值所使用的频点数;步骤(E),根据AvgCohXD(k)、AvgCohYD(k)和AvgCohDE(k)互相关性系数均值,构建非线性回声抑制函数f(k),如公式(10)所示,f(k)=hnl(k)overdrive(k)*curve(k)(10)其中,overdrive(k)为抑制程度系数,curve(k)为各频点的预设抑制曲线,hnl(k)根据互相关性系数均值选取,选取过程如下,(E1),若AvgCohXD(k)<阈值1,且AvgCohDE(k)>阈值2,则说明远端参考信号x的音量小,按照无回声状态处理,hnl(k)取每个频点k的互相关系数cohde(k),抑制程度系数overdrive(k)取常数Coef1,表示无回声时抑制程度最小;(E2),若AvgCohXD(k)>阈值1,或AvgCohDE(k)<阈值2,则说明远端参考信号x存在,按照有回声状态处理,hnl(k)根据每个频点k的1-cohxd(k)计算,抑制程度系数overdrive根据公式(11)计算,其中Wxd、Wyd和Wde分别代表互相关系数cohxd(k)、cohyd(k)和cohde(k)对overdrive(k)计算所贡献的权重,取值为0至1之间;步骤(F),通过非线性回声抑制函数f(k),对频点k的残差信号ef(k)进行非线性回声处理,得到非线性回声抑制后的输出信号ef(k)',如公式(12)所示,ef(k)'=ef(k)·f(k)(12);步骤(G),将非线性回声消除后的输出信号ef(k)'进行反傅里叶变换,获得其对应的时域输出信号,返回步骤(A),处理下一帧信号。前述的一种非线性回声的消除方法,步骤(D),选择较易产生回声的频点范围,其中,l为下限频点,l+m为上限频点,m为计算均值所使用的频点数。前述的一种非线性回声的消除方法,在不失一般性的情况下,l为500Hz对应的频点,m为取1000Hz对应的频点,l+m取1500Hz对应的频点。前述的一种非线性回声的消除方法,步骤(E),Wxd、Wyd和Wde分别代表互相关系数cohxd(k)、cohyd(k)和cohde(k)对overdrive(k)计算所贡献的权重,取值为0至1之间。前述的一种非线性回声的消除方法,(E1),在不失一般性的情况下,常数Coef1取值为1。前述的一种非线性回声的消除方法,(E1),Wxd、Wyd和Wde分别代表互相关系数cohxd(k)、cohyd(k)和cohde(k)对overdrive(k)计算所贡献的权重,不失一般性,可以取cohxd(k)、cohyd(k)和cohde(k)都为本专利技术的有益效果是:本专利技术的用于语音交互系统中非线性回声抑制的方法,具有以下优点,(1)通过在频域对各频点的相关性系数进行计算,在回声强的频点进行抑制深度大,在回声弱的频点抑制深度小,对本地语音的畸变小,不易造成本地语音的卡顿;(2)构造了非线性回声抑制函数f(k)=hnl(k)overdrive(k)*curve本文档来自技高网
...

【技术保护点】
1.一种非线性回声抑制方法,其特征在于:包括以下步骤,步骤(A),对当前帧的远端参考信号x、麦克风接收信号d、线性回声消除模块得到的估计回声信号y、线性回声消除模块得到的残差信号e,分别进行傅里叶变换,得到对应的频域信号xf(k)、df(k)、yf(k)与ef(k),其中,k代表频点标号;步骤(B),对各频域信号xf(k)、df(k)、yf(k)与ef(k)在每个频点k上进行相关性计算,分别求出每个频点xf(k)与df(k)、yf(k)与df(k)、df(k)与ef(k)的互相关系数cohxd(k)’、cohyd(k)’和cohde(k)’,(B1),计算每个频点xf(k)与df(k)、yf(k)与df(k)、df(k)与ef(k)的互功率谱Sxd(k)、Syd(k)和Sde(k),如公式(1)、(2)、(3)所示,Sxd(k)=xf(k)·conj(df(k))    (1)Syd(k)=yf(k)·conj(df(k))    (2)Sde(k)=df(k)·conj(ef(k))(3)其中,conj为取共轭符号;(B2),计算每个频点xf(k)与df(k)、yf(k)与df(k)、df(k)与ef(k)的互相关系数cohxd(k)’、cohyd(k)’和cohde(k)’,如公式(4)、(5)、(6)所示,...

【技术特征摘要】
1.一种非线性回声抑制方法,其特征在于:包括以下步骤,步骤(A),对当前帧的远端参考信号x、麦克风接收信号d、线性回声消除模块得到的估计回声信号y、线性回声消除模块得到的残差信号e,分别进行傅里叶变换,得到对应的频域信号xf(k)、df(k)、yf(k)与ef(k),其中,k代表频点标号;步骤(B),对各频域信号xf(k)、df(k)、yf(k)与ef(k)在每个频点k上进行相关性计算,分别求出每个频点xf(k)与df(k)、yf(k)与df(k)、df(k)与ef(k)的互相关系数cohxd(k)’、cohyd(k)’和cohde(k)’,(B1),计算每个频点xf(k)与df(k)、yf(k)与df(k)、df(k)与ef(k)的互功率谱Sxd(k)、Syd(k)和Sde(k),如公式(1)、(2)、(3)所示,Sxd(k)=xf(k)·conj(df(k))(1)Syd(k)=yf(k)·conj(df(k))(2)Sde(k)=df(k)·conj(ef(k))(3)其中,conj为取共轭符号;(B2),计算每个频点xf(k)与df(k)、yf(k)与df(k)、df(k)与ef(k)的互相关系数cohxd(k)’、cohyd(k)’和cohde(k)’,如公式(4)、(5)、(6)所示,步骤(C),采用平滑系数smooth对互相关系数cohxd(k)’、cohyd(k)’和cohde(k)’进行平滑处理,得到平滑后的互相关系数cohxd(k)、cohyd(k)和cohde(k);步骤(D),对平滑后的互相关系数cohxd(k)、cohyd(k)和cohde(k)求均值,选择较易产生回声的频点范围,计算上述互相关性系数的均值,得到AvgCohXD(k)、AvgCohYD(k)和AvgCohDE(k),如公式(7)、(8)、(9)所示,其中,l为下限频点,l+m为上限频点,m为计算均值所使用的频点数;步骤(E),根据AvgCohXD(k)、AvgCohYD(k)和AvgCohDE(k)互相关性系数均值,构建非线性回声抑制函数f(k),如公式(10)所示,f(k)=hnl(k)overdrive(k)*curve(k)(10)其中,overdrive(k)为抑制程度系数,curve(k)为各频点的预设抑制曲线,hnl(k)根据互相关性系数均值选取,选取过程如下,(E1...

【专利技术属性】
技术研发人员:王青云梁瑞宇何超丁帆徐飞陶宇
申请(专利权)人:南京时保联信息科技有限公司
类型:发明
国别省市:江苏,32

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

1