CN111868826B - 一种回声消除中的自适应滤波方法、装置、设备及存储介质 - Google Patents
一种回声消除中的自适应滤波方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111868826B CN111868826B CN201880003450.2A CN201880003450A CN111868826B CN 111868826 B CN111868826 B CN 111868826B CN 201880003450 A CN201880003450 A CN 201880003450A CN 111868826 B CN111868826 B CN 111868826B
- Authority
- CN
- China
- Prior art keywords
- sub
- band
- error
- modulus
- threshold
- 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.)
- Active
Links
- 230000003044 adaptive effect Effects 0.000 title claims abstract description 118
- 238000001914 filtration Methods 0.000 title claims abstract description 109
- 238000000034 method Methods 0.000 title claims abstract description 97
- 238000012545 processing Methods 0.000 claims abstract description 57
- 230000004044 response Effects 0.000 claims description 32
- 238000004364 calculation method Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 17
- 238000010606 normalization Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 3
- 238000000638 solvent extraction Methods 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000001514 detection method Methods 0.000 description 6
- 238000001228 spectrum Methods 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 230000001629 suppression Effects 0.000 description 4
- 239000000872 buffer Substances 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000007405 data analysis Methods 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 241000764238 Isis Species 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006735 deficit Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000284 extract Substances 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
- 230000003287 optical effect Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000005316 response function Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation 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
- 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
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computational Linguistics (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
- Telephone Function (AREA)
Abstract
一种回声消除中的自适应滤波方法、装置、设备及存储介质。回声消除中的自适应滤波方法包括:将频域误差信号划分成多个子带(S101);分别处理多个子带,得到多个子带的限制误差(S102);根据多个子带的限制误差更新自适应滤波器的权值(S103)。采用对频域误差信号划分子带并分别处理得到限制误差,用限制误差来更新自适应滤波器权值的方法进行自适应滤波来实现回声消除,能有效地减小计算量和滤波器稳态误差,并且避免滤波器发散,即使是在噪声干扰和近端语音存在的情况下,也能达到较好的回声消除效果。
Description
技术领域
本申请涉及通信领域,尤其涉及一种回声消除中的自适应滤波方法、装置、设备及存储介质。
背景技术
滤波器通常用来从含有噪声的数据中提取人们感兴趣的、接近规定质量的信息。其中,自适应滤波器的输出与滤波器系统之间存在反馈通道,能够根据某一时刻滤波器的输出与期望信号的误差调整自适应滤波器的权值,从而实现自适应滤波器的权值的动态调整,实现最优滤波,因此,自适应滤波器被广泛运用于各个领域。
自适应滤波器一个重要的应用是回声消除,回声消除的主要思想是使用一个自适应滤波器对未知的回声信道进行系统辨识。根据扬声器信号与产生的回声信号的相关性为基础,建立远端信号模型,模拟回声路径,通过自适应算法调整,使其估计的回声信号与真实的回声信号相逼近,即可实现回声消除功能。一般使用最小梯度下降法对自适应滤波器的权值进行更新,在权值更新时,一般通过自适应改变迭代步长来提高滤波器性能,但是这种方法会引入大量的计算,并且存在滤波器稳态误差较大、滤波器容易发散的问题。
发明内容
针对现有技术中存在的计算量大、滤波器稳态误差较大以及滤波器容易发散的问题,本申请提供了一种回声消除中的自适应滤波方法、装置、设备及存储介质。
本申请的实施例的第一方面提供了一种回声消除中的自适应滤波方法,包括:
将频域误差信号划分成多个子带,频域误差信号由时域误差信号变换得到,时域误差信号为麦克风的采集信号与时域估计回声信号相减得到;
分别处理多个子带,得到多个子带的限制误差;
根据多个子带的限制误差更新自适应滤波器的权值。
另外,结合第一方面,在第一方面的一种实现方式中,将频域误差信号划分成多个子带包括:将语音信号频率范围内的频域误差信号划分为第一子带;
将非语音信号频率范围内的频域误差信号划分为第二子带。
另外,结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,将频域误差信号划分成多个子带还包括:比较第一子带的频点对应的扬声器频率响应值与第一预设值;
将扬声器频率响应值小于第一预设值的频点对应的第一子带划分为第三子带;
将扬声器频率响应值大于第一预设值的频点对应的第一子带划分为第四子带。
另外,结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,分别处理多个子带,得到多个子带的限制误差包括:
对第三子带和第四子带分别进行归一化得到第三子带的归一化误差和第四子带的归一化误差;
对第三子带的归一化误差和第四子带的归一化误差分别求模得到第三子带的模值和第四子带的模值;
分别处理第三子带的模值和第四子带的模值得到第三子带的限制误差和第四子带的限制误差。
另外,结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,分别处理第三子带的模值和第四子带的模值得到第三子带的限制误差和第四子带的限制误差包括:
对第三子带和第四子带分别设置第三门限值和第四门限值;
根据第三子带的模值与第三门限值确定第三子带的限制误差,根据第四子带的模值与第四门限值确定第四子带的限制误差。
另外,结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,根据第三子带的模值与第三门限值确定第三子带的限制误差,根据第四子带的模值与第四门限值确定第四子带的限制误差包括:
若第三子带的模值小于第三门限值,则设置第三子带的限制误差为第三子带的归一化误差;
若第三子带的模值大于第三门限值,则设置第三子带的限制误差为第三门限值乘以第三子带的归一化误差得到的结果再除以第三子带的模值;
若第四子带的模值小于第四门限值,则设置第四子带的限制误差为第四子带的归一化误差;
若第四子带的模值大于第四门限值,则设置第四子带的限制误差为第四门限值乘以第四子带的归一化误差得到的结果再除以第四子带的模值。
另外,结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,设置第三门限值小于第四门限值。
另外,结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,分别处理多个子带,得到多个子带的限制误差还包括:将第二子带的限制误差设置为第二定值。
另外,结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,设置第二定值为零。
另外,结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,分别处理多个子带,得到多个子带的限制误差还包括:
对第二子带进行归一化得到第二子带的归一化误差;
对第二子带的归一化误差求模得到第二子带的模值;
处理第二子带的模值得到第二子带的所述限制误差。
另外,结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,处理第二子带的模值得到第二子带的所述限制误差包括:对所述第二子带设置第二门限值;根据第二子带的模值与第二门限值确定第二子带的限制误差。
另外,结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,根据第二子带的模值与第二门限值确定第二子带的限制误差包括:若第二子带的模值小于第二门限值,则设置第二子带的限制误差为第二子带的归一化误差;
若第二子带的模值大于第二门限值,则设置第二子带的限制误差为第二门限值乘以第二子带的归一化误差得到的结果再除以第二子带的模值。
另外,结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,设置所述第二门限值小于所述第三门限值。
本申请的实施例的第二方面提供了一种回声消除中的自适应滤波装置,包括:
划分子带模块,用于将频域误差信号划分成多个子带,频域误差信号由时域误差信号变换得到,时域误差信号为麦克风的采集信号与时域估计回声信号相减得到;
子带处理模块,用于分别处理多个子带,得到多个子带的限制误差;以及
权值更新模块,用于根据多个子带的限制误差更新自适应滤波器的权值。
另外,结合第二方面,在第二方面的一种实现方式中,划分子带模块包括:
第一划分模块,用于将语音信号频率范围内的频域误差信号划分为第一子带;以及
第二划分模块,用于将非语音信号频率范围内的频域误差信号划分为第二子带。
另外,结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,划分子带模块还包括:
比较模块,用于比较第一子带的频点对应的扬声器频率响应值与第一预设值;
第三划分模块,用于将扬声器频率响应值小于第一预设值的频点对应的第一子带划分为第三子带;以及
第四划分模块,用于将扬声器频率响应值大于第一预设值的频点对应的第一子带划分为第四子带。
另外,结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,子带处理模块包括:
归一化模块:用于对第三子带和第四子带分别进行归一化得到第三子带的归一化误差和第四子带的归一化误差;
求模模块,用于对第三子带的归一化误差和第四子带的归一化误差分别求模得到第三子带的模值和第四子带的模值;以及
限制误差生成模块,用于分别处理第三子带的模值和第四子带的模值得到第三子带的限制误差和第四子带的限制误差。
另外,结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,限制误差生成模块包括:
门限值设置模块,用于对第三子带和第四子带分别设置第三门限值和第四门限值;以及
限制误差生成子模块,用于根据第三子带的模值与第三门限值确定第三子带的限制误差,还用于根据第四子带的模值与第四门限值确定第四子带的限制误差。
另外,结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,限制误差生成子模块包括:
第三设置模块,用于当第三子带的模值小于第三门限值时,设置第三子带的限制误差为第三子带的归一化误差;或者
还用于当第三子带的模值大于第三门限值时,设置第三子带的限制误差为第三门限值乘以第三子带的归一化误差得到的结果再除以第三子带的模值;以及
第四设置模块,用于当第四子带的模值小于第四门限值时,设置第四子带的限制误差为第四子带的归一化误差;或者
还用于当第四子带的模值大于第四门限值时,设置第四子带的限制误差为第四门限值乘以第四子带的归一化误差得到的结果再除以第四子带的模值。
另外,结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,门限值设置模块还用于设置第三门限值小于第四门限值。
另外,结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,子带处理模块还包括:定值设置模块,用于将第二子带的限制误差设置为第二定值。
另外,结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,定值设置模块还用于设置第二定值为零。
另外,结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,归一化模块还用于对第二子带进行归一化得到第二子带的归一化误差;
求模模块还用于对第二子带的归一化误差求模得到第二子带的模值;
限制误差生成模块还用于处理第二子带的模值得到第二子带的限制误差。
另外,结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,门限值设置模块还用于对第二子带设置第二门限值;
限制误差生成子模块还用于根据第二子带的模值与第二门限值确定第二子带的限制误差。
另外,结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,限制误差生成子模块还包括:
第二设置模块,用于当第二子带的模值小于第二门限值时,设置第二子带的限制误差为第二子带的归一化误差;或者
还用于当第二子带的模值大于第二门限值时,设置第二子带的限制误差为第二门限值乘以第二子带的归一化误差得到的结果再除以第二子带的模值。
另外,结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,门限值设置模块还用于设置第二门限值小于第三门限值。
本申请的实施例的第三方面提供了一种设备,用于回声消除中的自适应滤波,包括:存储器和处理器;
存储器与处理器耦合;
存储器,用于存储程序指令;
处理器,用于调用存储器存储的程序指令,使得设备执行上述第一方面的回声消除中的自适应滤波方法。
本申请的实施例的第四方面提供了一种计算机可读存储介质,包括:其上存储有计算机程序,其特征在于,计算机程序被处理器执行时实现上述第一方面的回声消除中的自适应滤波方法。
与现有技术相比,本申请实施例的有益效果在于:本申请实施例提供了一种回声消除中的自适应滤波方法、装置、设备及存储介质,采用对频域误差信号划分子带并分别处理得到限制误差,用限制误差来更新自适应滤波器权值的方法进行自适应滤波来实现回声消除,能有效地减小计算量和滤波器稳态误差,并且避免滤波器发散,即使是在噪声干扰和近端语音存在的情况下,也能达到较好的回声消除效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例的一种回声消除中的自适应滤波方法的流程图;
图2是本申请实施例的扬声器的频率响应曲线图;
图3是本申请实施例的自适应滤波模块的结构示意图;
图4是本申请实施例的自适应滤波方法的权值更新方法的流程图;
图5是本申请实施例的一种回声消除中的自适应滤波方法的应用场景的系统结构示意图;
图6是本申请实施例的一种回声消除中的自适应滤波装置的结构示意图;
图7是本申请实施例的一种设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请的部分实施例采用举例的方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在各例子中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本申请所要求保护的技术方案。
请参考图1,图1是本申请实施例的一种回声消除中的自适应滤波方法的流程图,本实施例采用对频域误差信号划分子带并分别处理得到限制误差,用限制误差来更新自适应滤波器权值的方法进行自适应滤波来实现回声消除,该方法包括以下步骤:
S101,将频域误差信号划分成多个子带;
S102,分别处理多个子带,得到多个子带的限制误差;
S103,根据多个子带的限制误差更新自适应滤波器的权值。
在S101中,频域误差信号由时域误差信号变换得到,时域误差信号为麦克风的采集信号与时域估计回声信号相减得到;需要注意的是,子带在频域上可以是连续频点对应的频域误差信号,例如,一个子带可以为第6至59号连续频点对应的的频域误差信号,子带在频域上也可以是非连续频点对应的的频域误差信号,例如:另一个子带可以为第1至5号和第60至65号频点对应的的频域误差信号,另一个子带的第1至5号和第60至65号频点之间不存在第6至59号频点,这种非连续的频点对应的频域误差信号仍然可以划分为一个子带。另外,本申请实施例对子带的个数不做限制,本申请实施例提供的子带的划分方法仅为示例性说明,本领域的技术人员在不付出创造性劳动的前提下可以根据上述实施例得到其他划分方式。
在S102中,分别处理多个子带,多个子带的处理方式可以互不相同,也可以有两个或者多个子带的处理方式相同,可以依据实际情况而定,本实施例对子带的处理方式不做限制。
在S103中,根据S102中得到的多个子带的限制误差,用以上全部子带的限制误差来更新自适应滤波器的权值。本实施例中,自适应滤波器可以简称为滤波器。
本申请实施例的有益效果在于:本申请实施例提供了一种回声消除中的自适应滤波方法,采用对频域误差信号划分子带并分别处理得到限制误差,用限制误差来更新自适应滤波器权值的方法进行自适应滤波来实现回声消除,能有效地减小计算量和滤波器稳态误差,并且避免滤波器发散,即使是在噪声干扰和近端语音存在的情况下,也能达到较好的回声消除效果。
基于上述实施例公开的内容,可选的,本实施例中,将频域误差信号划分成多个子带可以包括以下两个步骤:
将语音信号频率范围内的频域误差信号划分为第一子带;
将非语音信号频率范围内的频域误差信号划分为第二子带。
对于本实施例,以采样速率为8000Hz,128个采样点为例进行示例性说明,由于频率分辨率为62.5Hz,语音信号频率主要集中在300Hz-3400Hz范围内,因此语音信号频率范围大约在第6号频点到第55号频点之间,这里第1号频点对应的频率为0Hz。根据本实施例划分子带的方法,可以将第6号频点到第55号频点对应的频域误差信号划分为第一子带,第1号到第5号频点和第56号频点到第65号频点对应的频域误差信号划分为第二子带。另外,为了防止高频泄露,对于语音信号频率范围附近的频点对应的频域误差信号,也可以将其划分到第一子带,例如,也可以将第56号频点到第59号频点对应的频域误差信号划分到第一子带,即将第6号频点到第59号频点对应的频域误差信号划分为第一子带,第1号到第5号频点和第60号频点到第65号频点对应的频域误差信号划分为第二子带。非语音信号频率范围内的频域误差信号通常含有一些低频或高频噪声,按照该方法将频域误差信号划分成第一子带和第二子带,以便分别对第一子带和第二子带进行处理得到限制误差,可以进一步减小滤波器稳态误差,避免滤波器发散。
另外,在其他实施例中,也可以对第一子带和第二子带进行进一步划分,例如将上述实施例中的第二子带中的第1号到第5号频点对应的频域误差信号划分为一个子带,第60号频点到第65号频点对应的频域误差信号划分为另一个子带,本申请对划分子带的个数不作限制。
基于上述实施例公开的内容,可选的,本实施例提供的回声消除中的自适应滤波方法,将频域误差信号划分成多个子带还包括以下步骤:
比较第一子带的频点对应的扬声器频率响应值与第一预设值;
将扬声器频率响应值小于第一预设值的频点对应的第一子带划分为第三子带;
将扬声器频率响应值大于第一预设值的频点对应的第一子带划分为第四子带。
本实施例中,可以根据第一子带的频点对应的扬声器频率响应对第一子带进一步划分。由于第一子带的各频点对应的扬声器频率响应不同,因此第一子带的频点对应的频域误差信号也与扬声器频率响应有关。根据图2所示的扬声器的频率响应曲线,以第一预设值为5.0dB为例进行示例性说明,可以将扬声器频率响应值小于5.0dB的频点对应的第一子带划分为第三子带,将扬声器频率响应值大于5.0dB的频点对应的第一子带划分为第四子带,由图2可知,扬声器频率响应值等于5.0dB对应的频率大致为1500Hz,因此可以将第6号频点到第24号频点(第25号频点对应的频率为1500Hz)对应的频域误差信号划分为第三子带,第26号频点到第55号频点对应的频域误差信号划分为第四子带。如图2所示,第6号频点到第24号频点的扬声器的频率响应衰减较强,回声能量较弱,因此第三子带能量较小,而第四子带的能量较大,按照该方法将第一子带进一步划分为第三子带和第四子带,可以方便后续对第三子带和第四子带分别处理,可以进一步地减小滤波器稳态误差,避免滤波器发散。需要说明的是,本申请实施例设置第一预设值为5.0dB仅为示例性说明,本领域的技术人员在不付出创造性劳动的前提下可以根据上述实施例得到其他第一预设值。另外,本实施例中,对扬声器频率响应值等于5.0dB的频点对应的第一子带划分到第三子带还是第四子带不做限制,因此也可以将第6号频点到第25号频点(第25号频点对应的频率为1500Hz)对应的频域误差信号划分为第三子带,第26号频点到第55号频点对应的频域误差信号划分为第四子带。本实施例对扬声器频率响应值等于第一预设值的频点对应的频域误差信号划分为第三子带还是第四子带不做限制,也可以将此频点对应的频域误差信号做其他处理。可选的,为了防止高频泄露,也可以将语音信号频率范围附近的频点对应的频域误差信号划分到第一子带,例如,也可以将第56号频点到第59号频点对应的频域误差信号划分到第一子带,即将第6号频点到第59号频点对应的频域误差信号划分为第一子带,因此,在本实施例中,也可以将第6号频点到第25号频点对应的频域误差信号划分为第三子带,将第26号频点到第59号频点对应的频域误差信号划分为第四子带。
基于上述实施例公开的内容,可选的,本实施例中,分别处理多个子带,得到多个子带的限制误差包括:
对第三子带和第四子带分别进行归一化得到第三子带的归一化误差和第四子带的归一化误差;
对第三子带的归一化误差和第四子带的归一化误差分别求模得到第三子带的模值和第四子带的模值;
分别处理第三子带的模值和第四子带的模值得到第三子带的限制误差和第四子带的限制误差。
本实施例中对多个子带分别处理得到限制误差的方法能进一步地减小滤波器稳态误差,并且避免滤波器发散。本实施例中,归一化误差的计算方法包括但不限于:
上式中,δ可以防止上式中分母为零,X(k)为频域远端信号,是由时域远端信号x(n)变换得到,另外,还可以通过计算频域远端信号X(k)的功率来计算归一化误差,采用平滑计算处理,得到平滑功率谱P(k),具体公式为:P(k)=P(k)(α)+(1-α)X2(k),其中,k=1,2,...,N,α为遗忘因子。归一化计算方法中的||X(k)||可以用平滑功率谱P(k)来代替。本实施例中,模值表示为:|Enorm(k)|,限制误差表示为:E′(k)。
基于上述实施例公开的内容,可选的,本实施例中,分别处理第三子带的模值和第四子带的模值得到第三子带的限制误差和第四子带的限制误差包括以下步骤:
对第三子带和第四子带分别设置第三门限值和第四门限值;
根据第三子带的模值与第三门限值确定第三子带的限制误差,根据第四子带的模值与第四门限值确定第四子带的限制误差。
本实施例中,对第三门限值和第四门限值的具体数值不做限制,第三门限值和第四门限值可以相同,也可以不同。根据第三子带的模值与第三门限值确定第三子带的限制误差,根据第四子带的模值与第四门限值确定第四子带的限制误差,在一定程度上,进一步地避免了滤波器发散,减小了滤波器的稳态误差。
基于上述实施例公开的内容,可选的,本实施例中,根据第三子带的模值与第三门限值确定第三子带的限制误差,根据第四子带的模值与第四门限值确定第四子带的限制误差包括以下步骤:
若第三子带的模值小于第三门限值,则设置第三子带的限制误差为第三子带的归一化误差;
若第三子带的模值大于第三门限值,则设置第三子带的限制误差为第三门限值乘以第三子带的归一化误差得到的结果再除以第三子带的模值;
若第四子带的模值小于第四门限值,则设置第四子带的限制误差为第四子带的归一化误差;
若第四子带的模值大于第四门限值,则设置第四子带的限制误差为第四门限值乘以第四子带的归一化误差得到的结果再除以第四子带的模值。
在本实施例中,如果第三子带的模值|Enorm(k)|小于第三门限值TH3,则令第三子带的限制误差E′(k)=Enorm(k),若第三子带的模值|Enorm(k)|大于第三门限值TH3,则令第三子带的限制误差:
如果第四子带的模值|Enorm(k)|小于第四门限值TH4,则令第四子带的限制误差E′(k)=Enorm(k),若第四子带的模值|Enorm(k)|大于第四门限值TH4,则令第四子带的限制误差:
本实施例中,对应子带的门限值用TH表示,需要说明的是,若第三子带或第四子带的频点对应的频域误差信号的模值|Enorm(k)|等于对应子带的门限值,则对该子带的频点对应的频域误差信号的限制误差不做限定,该子带的频点对应的频域误差信号的限制误差可以是E′(k)=Enorm(k);也可以是:
该子带的频点对应的频域误差信号的限制误差也可以是其他的限制误差设置方式,本实施例对此不作限制。本实施例根据对应子带的模值与对应的门限值确定该子带的限制误差,对进一步地避免了滤波器发散,减小了滤波器的稳态误差。
基于上述实施例公开的内容,可选的,本实施例中,设置第三门限值小于第四门限值,具体地,可以设置第三门限值TH3为0.0000001,第四门限值TH4为0.00005。另外,本申请实施例对第三门限值和第四门限值的具体数值不做限制,本申请实施例提供的门限值的设置方法仅为示例性说明,本领域的技术人员在不付出创造性劳动的前提下可以根据上述实施例得到其他门限值设置方式。设置第三门限值小于第四门限值,在一定程度上,进一步地避免了滤波器发散,减小了滤波器的稳态误差。
基于上述实施例公开的内容,可选的,本实施例中,分别处理所述多个子带,得到多个子带的限制误差还包括将第二子带的限制误差设置为第二定值,由于第二子带通常含有一些低频或高频噪声,如果直接使用第二子带对自适应滤波器的权值进行更新,有很大概率会使得滤波器发散,因此,将第二子带的限制误差设置为第二定值,可以避免自适应滤波器发散,降低滤波器的稳态误差,并且,可以减小计算量。需要说明的是,本实施例对第二定值的大小不做限制。
基于上述实施例公开的内容,可选的,本实施例中,可以设置第二定值为零,即设置第二子带的限制误差E′(k)=0,将第二子带的限制误差设置为零,可以进一步地避免自适应滤波器发散,降低滤波器的稳态误差,并且,可以减小计算量。
基于上述实施例公开的内容,在另一种可选的实施例当中,分别处理多个子带,得到多个子带的限制误差还包括对第二子带的另一种处理方式,具体包括以下步骤:
对第二子带进行归一化得到第二子带的归一化误差;
对第二子带的归一化误差求模得到第二子带的模值;
处理第二子带的模值得到第二子带的限制误差。
基于上述实施例公开的内容,可选的,本实施例中,处理第二子带的模值得到第二子带的限制误差可以包括以下步骤:
对第二子带设置第二门限值;
根据第二子带的模值与第二门限值确定第二子带的限制误差。
本实施例中,根据第二子带的模值与第二门限值确定第二子带的限制误差,在一定程度上,进一步地避免了滤波器发散,减小了滤波器的稳态误差。
基于上述实施例公开的内容,可选的,本实施例中,根据第二子带的模值与第二门限值确定第二子带的限制误差可以包括以下步骤:
若第二子带的模值小于第二门限值,则设置第二子带的限制误差为第二子带的归一化误差;
若第二子带的模值大于第二门限值,则设置第二子带的限制误差为第二门限值乘以第二子带的归一化误差得到的结果再除以第二子带的模值。
在本实施例中,如果第二子带的模值|Enorm(k)|小于第二门限值TH2,则令第二子带的限制误差E′(k)=Enorm(k),若第二子带的模值|Enorm(k)|大于第二门限值TH2,则令第二子带的限制误差:
需要说明的是,若第二子带的频点对应的频域误差信号的模值|Enorm(k)|等于第二门限值TH2,则对第二子带的该频点对应的频域误差信号的限制误差不做限定,第二子带的该频点对应的频域误差信号的限制误差可以是E′(k)=Enorm(k);也可以是:
第二子带的该频点对应的频域误差信号的限制误差也可以是其他的限制误差设置方式,本实施例对此不作限制。
基于上述实施例公开的内容,可选的,本实施例中,设置第二门限值TH2小于第三门限值TH3,进一步地避免了滤波器发散,减小了滤波器的稳态误差。
基于上述实施例公开的内容,可选的,本实施例提供一种自适应滤波模块的结构示意图,该自适应滤波模块可以执行上述任一实施例提供的回声消除中的自适应滤波方法。自适应滤波的实现方法有很多,具体的可以分为时域滤波和频域滤波。时域滤波主要是对时域采样点使用自适应算法逐一计算,而频域滤波主要通过FFT变换,在频域进行自适应滤波器的权值的自适应调整,频域滤波相对于时域滤波计算量相对较小。本实施例采用频域滤波的自适应滤波方法,图3是根据本申请实施例的自适应滤波模块的结构示意图,如图3所示,自适应滤波模块105包括:数据缓存模块201、FFT模块202、功率计算模块203、频域滤波模块204、IFFT模块205、数据分析模块206、数据补零FFT模块207、频域误差控制模块208以及频域权值更新模块209。需要说明的是,本申请实施例提供的自适应滤波模块的结构还可以包括其他模块,本实施例对此不做限制。
自适应滤波模块105的输入信号为远端信号x(n),数据缓存模块201对进入的远端信号x(n)进行缓存,并且对远端信号x(n)进行数据分块和重叠操作。假设每个数据块长度为N,并且,每两个相邻数据块之间重叠M个数据,则以每个数据块为整体进行滤波时,实际处理的数据为N-M个,剩下M个数据为上一次处理过的数据。
FFT模块202将远端信号x(n)通过FFT变换为频域远端信号X(k),以上述每个数据块包含N个数据点为例,即由x(n)=[x(1),x(2),...,x(N)]T变换为X(k)=[X(1),X(2),...,X(N)]T,频域上的N个频点可以对应N个数据。
功率计算模块203用来计算N个频点的功率,计算功率的方法不限,可选地,本实施例采用平滑计算处理,得到平滑功率谱P(k),具体公式为:P(k)=P(k)(α)+(1-α)X2(k),k=1,2,...,N。其中α为遗忘因子。
数据分析模块206根据重叠保留算法取出当前时刻麦克风的采集信号y(n)的(N-M)个数据与前一时刻的M个数据组合得到y(n)=[y(1),y(2),...,y(N)]T,其中,麦克风的采集信号的N-M个数据[y(M+1),y(M+2),......,y(N)]T与时域远端信号的非重叠的(N-M)个数据对应,将麦克风的采集信号的(N-M)个数据[y(M+1),y(M+2),......,y(N)]T与时域估计回声信号的后(N-M)个数据相减,得到时域误差信号的后(N-M)个数据[e(M+1),e(M+2),......,e(N)]T。
数据补零FFT模块207用于在时域误差信号的后N-M个数据的前面补M个零得到时域误差信号e(n)=[e(1),e(2),......,e(N)]T,数据补零FFT模块207还用于将补零后的时域误差信号e(n)进行FFT得到频域误差信号E(k),E(k)=[E(1),E(2),...,E(N)]T。
假设在没有噪声也没有近端语音干扰的理想情况下(无非线性回声)频域误差信号E(k)表示的是在第k号频点处残余的线性回声信号,这部分信息是正确的误差信息,用来更新自适应滤波器的权值也是准确的,但是如果有噪声或者有近端语音干扰存在时,频域误差信号E(k)表示在第k号频点处的噪声信号、语音干扰信号和残余的线性回声信号的总和,此时用频域误差信号E(k)来更新自适应滤波器的权值就会产生很大的误差,并且会使得滤波器发散,因此需要对频域误差信号E(k)进行限制,可以采用上述实施例提供的划分子带并分别处理得到限制误差,用限制误差来更新自适应滤波器权值的方法。
频域误差控制模块208首先对数据补零FFT模块207得到的频域误差信号E(k)按照上述实施例提供的方法划分子带,然后分别处理多个子带,得到多个子带的限制误差E′(k)。
频域权值更新模块209,根据归一化最小均方误差算法(Normalized Least-Mean-Square,NLMS)的原理以及限制误差E′(k),自适应滤波器的权值更新规则为:
Wn+1(k)=Wn(k)+μX(k)*E′(k)
X*(k)为频域远端信号X(k)的共轭。更新后的自适应滤波器的权值为Wn+1(k),再由频域权值更新模块209发送到频域滤波模块204,进行自适应滤波。
基于上述实施例公开的内容,可选的,本实施例提供一种自适应滤波方法的权值更新方法,该方法可以应用于上述任一实施例提供的回声消除中的自适应滤波方法,也可以应用于上述任一实施例的自适应滤波模块的频域权值更新模块中,能够进一步地减小滤波器稳态误差,避免滤波器发散。权值更新方法的流程图参照图4,该方法包括以下步骤:
S301,频域梯度计算;在S301中,根据频域远端信号的共轭X*(k)以及限制误差E′(k),计算频域梯度Δ(k)=X*(k)E′(k)。其中:
X*(k)=[X*(1),X*(2),...,X*(N)]T,
E′(k)=[E′(1),E′(2),...,E′(N)]T;
S302,IFFT;在S302中,对频域梯度Δ(k)进行IFFT变换,得到时域梯度Δ(n):
Δ(n)=[Δ(1),Δ(2),...,Δ(N)]T;
S303,时域梯度更新;在S303中,将时域梯度Δ(n)的后M个数据置零,得到更新的时域梯度Δ′(n);
S304,FFT;在S304中,将更新的时域梯度Δ′(n)进行FFT,得到频域梯度Δ′(k),其中:
Δ′(k)=[Δ(1),Δ(2),...,Δ(N)]T;
S305,根据迭代步长更新自适应滤波器的权值;在S305中,根据得到的更新的频域梯度Δ′(k),选取迭代步长μ,其中μ∈[0,1],更新自适应滤波器的权值,其中权值更新的公式为:
Wn+1(k)=Wn(k)+μΔ′(k)。
基于上述实施例公开的内容,可选的,本实施例提供一种回声消除中的自适应滤波方法的应用场景,该应用场景可以采用上述任一实施例提供的回声消除中的自适应滤波方法,能够进一步地减小滤波器稳态误差,避免滤波器发散,即使是在噪声干扰和近端语音存在的情况下,也能达到较好的回声消除效果。请参考图5,图5是本申请实施例的一种回声消除中的自适应滤波方法的应用场景的系统结构示意图,本实施例中的该系统100可以包括扬声器101、麦克风102、语音活动性检测(Voice Activity Detection,VAD)模块103、双向通话检测(double talk detector,DTD)模块104、自适应滤波模块105和非线性处理(non-linear processing,NLP)模块106。其中,自适应滤波模块105可以采用上述任一实施例提供的回声消除中的自适应滤波方法来执行。
图5中,时域远端信号x(n)经过扬声器101播放出来后,经过空间传播产生回声信号d(n),回声信号d(n)被麦克风102采集。产生回声信号d(n)的过程可以建模为由时域远端信号x(n)经过一个回声路径的响应函数h(n)得到,即d(n)=h(n)*x(n)。麦克风102采集的信号还包括近端信号v(n)、噪声信号n(n),因此,麦克风的采集信号y(n)=v(n)+n(n)+d(n)。VAD模块103用于对时域远端信号x(n)、麦克风的采集信号y(n)进行语音活动性检测,判断是否有语音信号的存在。语音活动性检测可以使用能量、时域信息、频域信息、熵信息等来判断有无语音信号的存在,或者可以根据实际需求选择相应的特征来检测。DTD模块104根据时域远端信号x(n)和麦克风的采集信号y(n)在能量域的差异或者相关性来判断是否为双向通话。自适应滤波模块105根据时域远端信号x(n)与回声信号d(n)的相关性,通过自适应滤波器的权值的更新来逼近真实的回声路径,从而得到估计回声信号在麦克风的采集信号y(n)中减去时域估计回声信号就完成了线性回声消除。自适应滤波模块105可以在时域实现,也可以在频域实现。频域自适应滤波包括频域分块自适应滤波和子带自适应滤波。本实施例以频域分块自适应滤波为例进行说明。NLP模块106用于消除回声消除系统100中的非线性残余回声,以提高回声消除的效果。NLP模块106根据时域远端信号x(n)、麦克风的采集信号y(n)和误差信号e(n)之间的相关性来判断非线性残余回声的大小,并结合VAD模块103和DTD模块104的输出结果对非线性残余回声进行抑制,其中VAD模块103和DTD模块104的处理结果可以控制自适应滤波模块105和NLP模块106的处理过程,例如VAD模块103和DTD模块104的处理结果可以控制自适应滤波模块105进行滤波时的迭代步长μ和NLP模块106的非线性抑制程度。
VAD模块103对时域远端信号x(n)、麦克风的采集信号y(n)的能量特征进行语音活动性检测,VAD模块103每帧检测一次,时域远端信号x(n)的平滑功率谱为P(k)=[P(1),P(2),...,P(N)]T,N=128。当前时域远端信号x(n)的功率为:
其中n为起始频点,m为终止频点。语音信号频率主要集中在300-3400Hz范围内,因此根据n、m的值和频率分辨率计算得到的频率范围落在300Hz-3400Hz范围内。根据本实施例提供的数据,通过计算,可以得到n=6,m=55,时域远端信号x(n)的第1号频点对应的频率为0Hz。VAD模块103可以设置门限值TH1,若Pcur>TH1,则表示有语音信号,反之则没有语音信号。
DTD模块104是广义上的双端检测,主要目的是检测只有远端有语音信号的情况,因为只有在远端有语音信号时,自适应滤波器的权值更新才有效,此时给定一个较大的迭代步长μ,比如μ=0.6,使得滤波器快速收敛;其他情况下,由于自适应滤波器的权值更新不准确,此时可以给定一个较小的迭代步长,比如μ=0.01。根据DTD模块104的处理结果,进一步还可以控制NLP模块106的非线性抑制程度,如果DTD模块104检测到单向通话,NLP模块106的非线性抑制程度强一些;如果DTD模块104检测到双向通话,NLP模块106的非线性抑制程度弱一些,以免造成语音损伤。
自适应滤波模块105采用频域分块自适应滤波,可以参照图3所示的自适应滤波模块的结构示意图。具体流程为:
缓存模块201对进入的时域远端信号x(n)进行缓存,并且对时域远端信号x(n)进行数据分块,每个数据块长度为128,采用50%重叠保留法,因此其中前64个数据为上一次处理过的数据,后64个数据为实际处理的数据。
FFT模块202将128个数据通过FFT变换到频域,即由x(n)=[x(1),x(2),...,x(128)]T变换为X(k)=[X(1),X(2),...,X(128)]T,X(k)为频域远端信号。
功率计算模块203用于计算频域远端信号X(k)的功率,计算功率的方法不限,可选地,本实施例采用平滑计算的方法处理,得到平滑功率谱P(k),P(k)=P(k)(α)+(1-α)X2(k),k=1,2,...,128。其中遗忘因子α=0.8。
数据分析模块206用于根据重叠保留算法取出当前时刻麦克风的采集信号y(n)的64个数据:y(n)=[y(1),y(2),...,y(64)]T,并与时域估计回声信号的后64个数据相减,得到时域误差信号e(n)的后64个数据[e(65),e(66),...,e(128)]T。
数据补零FFT模块207用于在上述时域误差信号e(n)的后64个数据[e(65),e(66),...,e(128)]T的前面补64个零,补零后的时域误差信号e(n)再进行FFT得到频域误差信号E(k),E(k)=[E(1),E(2),...,E(128)]T。
频域误差控制模块208首先对数据补零FFT模块207得到的频域误差信号E(k)来计算归一化误差:
其中,δ可以防止上式中分母为零,可选地,上式当中||X(k)||可以用平滑功率谱P(k)来代替。以采样速率为8000Hz,128个采样点为例进行说明,得到频率分辨率为62.5Hz,语音信号频率主要集中在300Hz-3400Hz范围内,根据频率分辨率可得语音信号频率范围在第6号频点到第55号频点之间。作为一种可选的实施例,可以将第6号频点到第55号频点对应的频域误差信号划分为第一子带,并将第1号到第5号频点和第56号频点到第65号频点对应的频域误差信号设置为第二子带,本申请实施例对划分子带的个数不做限制。
另外,对于语音信号频率范围附近的频点对应的频域误差信号,也可以将其划分为第一子带,这种处理方法可以防止高频泄露。例如,也可以将第56号频点到第59号频点对应的频域误差信号划分到第一子带,即将第6号频点到第59号频点对应的频域误差信号划分为第一子带。另外,依据图2所示的扬声器的频率响应曲线可以对第一子带做进一步划分,如图所示在频率范围200Hz~1500Hz之间,语音信号的衰减较强,回声能量较弱,可选地,可以将频域误差信号E(k)分成2个子带,以第一预设值为5.0dB为例进行示例性说明,根据图2所示的扬声器的频率响应曲线,可以以第25号频点(第25个频点对应频率为1500Hz)为分界线来划分,将第6号频点到第25号频点对应的频域误差信号划分为第三子带,将第26号频点到第59号频点对应的频域误差信号划分为第四子带。根据图2当中扬声器的频率响应可知,第三子带能量较小,可以将第三门限值可以设置为TH3=0.0000001。第四门限值TH4可以设置得比第三门限值大一点,具体地,第四门限值可以设置为TH4=0.00005。然后将第三子带和第四子带的模值|Enorm(k)|与相对应的门限值进行比较,如果该子带的模值|Enorm(k)|小于该子带对应的门限值,则令限制误差E′(k)=Enorm(k),反之则令限制误差:
按照上述实施例提供的第二子带的限制误差的获取方法,可以设置第二子带的限制误差E′(k)为第二定值,例如,令E′(k)=0,需要说明的是,该第二定值也可以是其他的数值,本实施例对第二定值的大小不做限制。按照上述实施例提供的第二子带的限制误差的另一种获取方法,可以设置第二门限值,可选的,可以设置第二门限值小于第三门限值,例如:将第二门限值可以设置为TH2=0.00000001。然后将第二子带的模值|Enorm(k)|与第二门限值TH2进行比较,如果该子带的模值|Enorm(k)|小于第二门限值TH2,则令第二子带的限制误差E′(k)=Enorm(k),反之则令第二子带的限制误差:
频域权值更新模块209,根据NLMS算法的原理以及限制误差E′(k),自适应滤波器的权值更新规则为:
Wn+1(k)=Wn(k)+μX(k)*E′(k)=Wn(k)+μΔ′(k)
远端共轭X*(k)为频域远端信号X(k)的共轭,Δ′(k)为频域梯度。其中,μ为迭代步长并且μ∈[0,1],本实施例中取迭代步长μ=0.6,但是本实施例对迭代步长的取值不限制,自适应滤波器的权值更新步骤可以参照上述实施例中的权值更新方法的流程图。
本申请实施例还可提供一种回声消除中的自适应滤波装置,用于执行前述实施例中提出的一种回声消除中的自适应滤波方法,图6为本实施例提供的回声消除中的自适应滤波装置的结构示意图,该装置可以执行上述图1至图5所示的方法,如图6所示,该回声消除中的自适应滤波装置60包括:
划分子带模块61,用于将频域误差信号划分成多个子带,频域误差信号由时域误差信号变换得到,时域误差信号为麦克风的采集信号与时域估计回声信号相减得到;
子带处理模块62,用于分别处理多个子带,得到多个子带的限制误差;以及
权值更新模块63,用于根据多个子带的限制误差更新自适应滤波器的权值。
可选的,划分子带模块包括:
第一划分模块,用于将语音信号频率范围内的频域误差信号划分为第一子带;以及
第二划分模块,用于将非语音信号频率范围内的频域误差信号划分为第二子带。
可选的,划分子带模块还包括:
比较模块,用于比较第一子带的频点对应的扬声器频率响应值与第一预设值;
第三划分模块,用于将扬声器频率响应值小于第一预设值的频点对应的第一子带划分为第三子带;以及
第四划分模块,用于将扬声器频率响应值大于第一预设值的频点对应的第一子带划分为第四子带。
可选的,子带处理模块包括:
归一化模块:用于对第三子带和第四子带分别进行归一化得到第三子带的归一化误差和第四子带的归一化误差;
求模模块,用于对第三子带的归一化误差和第四子带的归一化误差分别求模得到第三子带的模值和第四子带的模值;以及
限制误差生成模块,用于分别处理第三子带的模值和第四子带的模值得到第三子带的限制误差和第四子带的限制误差。
可选的,限制误差生成模块包括:
门限值设置模块,用于对第三子带和第四子带分别设置第三门限值和第四门限值;以及
限制误差生成子模块,用于根据第三子带的模值与第三门限值确定第三子带的限制误差,还用于根据第四子带的模值与第四门限值确定第四子带的限制误差。
可选的,限制误差生成子模块包括:
第三设置模块,用于当第三子带的模值小于第三门限值时,设置第三子带的限制误差为第三子带的归一化误差;或者
还用于当第三子带的模值大于第三门限值时,设置第三子带的限制误差为第三门限值乘以第三子带的归一化误差得到的结果再除以第三子带的模值;以及
第四设置模块,用于当第四子带的模值小于第四门限值时,设置第四子带的限制误差为第四子带的归一化误差;或者
还用于当第四子带的模值大于第四门限值时,设置第四子带的限制误差为第四门限值乘以第四子带的归一化误差得到的结果再除以第四子带的模值。
可选的,门限值设置模块还用于设置第三门限值小于第四门限值。
可选的,子带处理模块还包括:
定值设置模块,用于将第二子带的限制误差设置为第二定值。
可选的,定值设置模块还用于设置第二定值为零。
可选的,归一化模块还用于对第二子带进行归一化得到第二子带的归一化误差;
求模模块还用于对第二子带的归一化误差求模得到第二子带的模值;
限制误差生成模块还用于处理第二子带的模值得到第二子带的限制误差。
可选的,门限值设置模块还用于对第二子带设置第二门限值;
限制误差生成子模块还用于根据第二子带的模值与第二门限值确定第二子带的限制误差。
可选的,限制误差生成子模块还包括:
第二设置模块,用于当第二子带的模值小于第二门限值时,设置第二子带的限制误差为第二子带的归一化误差;或者
还用于当第二子带的模值大于第二门限值时,设置第二子带的限制误差为第二门限值乘以第二子带的归一化误差得到的结果再除以第二子带的模值。
可选的,门限值设置模块还用于设置第二门限值小于第三门限值。
本申请实施例提供了一种回声消除中的自适应滤波装置,采用对频域误差信号划分子带并分别处理得到限制误差,用限制误差来更新自适应滤波器权值的方法进行自适应滤波来实现回声消除,能有效地减小计算量和滤波器稳态误差,并且避免滤波器发散,即使是在噪声干扰和近端语音存在的情况下,也能达到较好的回声消除效果。
本申请实施例还可提供一种设备,用于执行上述实施例提出的一种回声消除中的自适应滤波方法,如图7所示,该设备70包括:存储器71和处理器72;
存储器71与处理器72耦合;
存储器71,用于存储程序指令;
处理器72,用于调用存储器存储的程序指令,使得该设备执行任一回声消除中的自适应滤波方法。
本申请实施例提供的一种设备,可执行上述任一所述实施例提供的回声消除中的自适应滤波方法,其具体的实现过程及有益效果参见上述,在此不再赘述。
本申请实施例还可提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器72执行时实现执行该设备执行的任一回声消除中的自适应滤波方法。
本申请实施例提供的计算机可读存储介质,可执行上述任一所述实施例提供的回声消除中的自适应滤波方法,其具体的实现过程及有益效果参见上述,在此不再赘述。
虽然本专利文件包含许多细节,但是这些不应被解释为对任何发明或要求保护的范围的限制,而是被解释为可以是对特定发明的特定实施例所特有的特征的描述。本专利文件中描述的某些特征在单独实施例的上下文中还可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征还可以在多个实施例中单独实现或以任何合适的子组合形式实现。而且,虽然特征可以在上面描述为在某些组合中起作用,并且甚至最初如此要求保护,但是来自要求保护的组合的一个或多个特征在一些情况下可以从组合中删除,并且要求保护的组合可以涉及子组合或子组合的变形。
类似地,虽然在附图中以特定顺序描述了操作,但是这不应理解为要求这些操作以所示的特定顺序或按照顺序依次执行,或者要求执行所有所示的操作,以实现期望的结果。而且,在本专利文件中描述的实施例中的各种单独的系统部件不应理解为在所有实施例中需要这种分离。
本专利文件仅描述了几个实现和示例,并且可以基于本专利文件中描述和示出的内容来做出其他实现、增强和变化。
应注意,本申请上述方法实施例可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(fieldprogrammable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可以理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable rom,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(directrambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
应理解,在本申请实施例中,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (24)
1.一种回声消除中的自适应滤波方法,其特征在于,包括:
将频域误差信号划分成多个子带,所述频域误差信号由时域误差信号变换得到,所述时域误差信号为麦克风的采集信号与时域估计回声信号相减得到;
分别处理所述多个子带,得到所述多个子带的限制误差;
根据所述多个子带的限制误差更新自适应滤波器的权值;
所述将频域误差信号划分成多个子带包括:
将语音信号频率范围内的所述频域误差信号划分为第一子带;
比较所述第一子带的频点对应的扬声器频率响应值与第一预设值;
将所述扬声器频率响应值小于所述第一预设值的所述频点对应的所述第一子带划分为第三子带;
将所述扬声器频率响应值大于所述第一预设值的所述频点对应的所述第一子带划分为第四子带;
所述分别处理所述多个子带,得到所述多个子带的限制误差包括:
对所述第三子带和所述第四子带分别进行归一化得到所述第三子带的归一化误差和所述第四子带的归一化误差;
对所述第三子带的归一化误差和所述第四子带的归一化误差分别求模得到所述第三子带的模值和所述第四子带的模值;
分别处理所述第三子带的模值和所述第四子带的模值得到所述第三子带的所述限制误差和所述第四子带的所述限制误差。
2.根据权利要求1所述的回声消除中的自适应滤波方法,其特征在于,所述将频域误差信号划分成多个子带还包括:
将非所述语音信号频率范围内的所述频域误差信号划分为第二子带。
3.根据权利要求1所述的回声消除中的自适应滤波方法,其特征在于,所述分别处理所述第三子带的模值和所述第四子带的模值得到所述第三子带的所述限制误差和所述第四子带的所述限制误差包括:
对所述第三子带和所述第四子带分别设置第三门限值和第四门限值;
根据所述第三子带的模值与所述第三门限值确定所述第三子带的所述限制误差以及根据所述第四子带的模值与所述第四门限值确定所述第四子带的所述限制误差。
4.根据权利要求3所述的回声消除中的自适应滤波方法,其特征在于,所述根据所述第三子带的模值与所述第三门限值确定所述第三子带的所述限制误差以及根据所述第四子带的模值与所述第四门限值确定所述第四子带的所述限制误差包括:
若所述第三子带的模值小于所述第三门限值,则设置所述第三子带的所述限制误差为所述第三子带的归一化误差;
若所述第三子带的模值大于所述第三门限值,则设置所述第三子带的所述限制误差为所述第三门限值乘以所述第三子带的归一化误差得到的结果再除以所述第三子带的模值;
若所述第四子带的模值小于所述第四门限值,则设置所述第四子带的所述限制误差为所述第四子带的归一化误差;
若所述第四子带的模值大于所述第四门限值,则设置所述第四子带的所述限制误差为所述第四门限值乘以所述第四子带的归一化误差得到的结果再除以所述第四子带的模值。
5.根据权利要求3或4所述的回声消除中的自适应滤波方法,其特征在于,设置所述第三门限值小于所述第四门限值。
6.根据权利要求2所述的回声消除中的自适应滤波方法,其特征在于,所述分别处理所述多个子带,得到所述多个子带的限制误差还包括:将所述第二子带的所述限制误差设置为第二定值。
7.根据权利要求6所述的回声消除中的自适应滤波方法,其特征在于,设置所述第二定值为零。
8.根据权利要求2所述的回声消除中的自适应滤波方法,其特征在于,所述分别处理所述多个子带,得到所述多个子带的限制误差还包括:
对所述第二子带进行归一化得到所述第二子带的归一化误差;
对所述第二子带的归一化误差求模得到所述第二子带的模值;
处理所述第二子带的模值得到所述第二子带的所述限制误差。
9.根据权利要求8所述的回声消除中的自适应滤波方法,其特征在于,所述处理所述第二子带的模值得到所述第二子带的所述限制误差包括:
对所述第二子带设置第二门限值;
根据所述第二子带的模值与所述第二门限值确定所述第二子带的所述限制误差。
10.根据权利要求9所述的回声消除中的自适应滤波方法,其特征在于,所述根据所述第二子带的模值与所述第二门限值确定所述第二子带的所述限制误差包括:
若所述第二子带的模值小于所述第二门限值,则设置所述第二子带的所述限制误差为所述第二子带的归一化误差;
若所述第二子带的模值大于所述第二门限值,则设置所述第二子带的所述限制误差为所述第二门限值乘以所述第二子带的归一化误差得到的结果再除以所述第二子带的模值。
11.根据权利要求9或10所述的回声消除中的自适应滤波方法,其特征在于,设置所述第二门限值小于第三门限值。
12.一种回声消除中的自适应滤波装置,其特征在于,包括:
划分子带模块,用于将频域误差信号划分成多个子带,所述频域误差信号由时域误差信号变换得到,所述时域误差信号为麦克风的采集信号与时域估计回声信号相减得到;
子带处理模块,用于分别处理所述多个子带,得到所述多个子带的限制误差;以及
权值更新模块,用于根据所述多个子带的限制误差更新自适应滤波器的权值;
所述划分子带模块包括:
第一划分模块,用于将语音信号频率范围内的所述频域误差信号划分为第一子带;
比较模块,用于比较所述第一子带的频点对应的扬声器频率响应值与第一预设值;
第三划分模块,用于将所述扬声器频率响应值小于所述第一预设值的所述频点对应的所述第一子带划分为第三子带;以及
第四划分模块,用于将所述扬声器频率响应值大于所述第一预设值的所述频点对应的所述第一子带划分为第四子带;
所述子带处理模块包括:
归一化模块:用于对所述第三子带和所述第四子带分别进行归一化得到所述第三子带的归一化误差和所述第四子带的归一化误差;
求模模块,用于对所述第三子带的归一化误差和所述第四子带的归一化误差分别求模得到所述第三子带的模值和所述第四子带的模值;以及
限制误差生成模块,用于分别处理所述第三子带的模值和所述第四子带的模值得到所述第三子带的所述限制误差和所述第四子带的所述限制误差。
13.根据权利要求12所述的回声消除中的自适应滤波装置,其特征在于,所述划分子带模块还包括:
第二划分模块,用于将非所述语音信号频率范围内的所述频域误差信号划分为第二子带。
14.根据权利要求12所述的回声消除中的自适应滤波装置,其特征在于,所述限制误差生成模块包括:
门限值设置模块,用于对所述第三子带和所述第四子带分别设置第三门限值和第四门限值;以及
限制误差生成子模块,用于根据所述第三子带的模值与所述第三门限值确定所述第三子带的所述限制误差,还用于根据所述第四子带的模值与所述第四门限值确定所述第四子带的所述限制误差。
15.根据权利要求14所述的回声消除中的自适应滤波装置,其特征在于,所述限制误差生成子模块包括:
第三设置模块,用于当所述第三子带的模值小于所述第三门限值时,设置所述第三子带的所述限制误差为所述第三子带的归一化误差;或者
还用于当所述第三子带的模值大于所述第三门限值时,设置所述第三子带的所述限制误差为所述第三门限值乘以所述第三子带的归一化误差得到的结果再除以所述第三子带的模值;以及
第四设置模块,用于当所述第四子带的模值小于所述第四门限值时,设置所述第四子带的所述限制误差为所述第四子带的归一化误差;或者
还用于当所述第四子带的模值大于所述第四门限值时,设置所述第四子带的所述限制误差为所述第四门限值乘以所述第四子带的归一化误差得到的结果再除以所述第四子带的模值。
16.根据权利要求14或15所述的回声消除中的自适应滤波装置,其特征在于,所述门限值设置模块还用于设置所述第三门限值小于所述第四门限值。
17.根据权利要求13所述的回声消除中的自适应滤波装置,其特征在于,所述子带处理模块还包括:
定值设置模块,用于将所述第二子带的所述限制误差设置为第二定值。
18.根据权利要求17所述的回声消除中的自适应滤波装置,其特征在于,所述定值设置模块还用于设置所述第二定值为零。
19.根据权利要求13所述的回声消除中的自适应滤波装置,其特征在于,所述归一化模块还用于对所述第二子带进行归一化得到所述第二子带的归一化误差;
所述求模模块还用于对所述第二子带的归一化误差求模得到所述第二子带的模值;
所述限制误差生成模块还用于处理所述第二子带的模值得到所述第二子带的所述限制误差。
20.根据权利要求19所述的回声消除中的自适应滤波装置,其特征在于,门限值设置模块还用于对所述第二子带设置第二门限值;
限制误差生成子模块还用于根据所述第二子带的模值与所述第二门限值确定所述第二子带的所述限制误差。
21.根据权利要求20所述的回声消除中的自适应滤波装置,其特征在于,所述限制误差生成子模块还包括:
第二设置模块,用于当所述第二子带的模值小于所述第二门限值时,设置所述第二子带的所述限制误差为所述第二子带的归一化误差;或者
还用于当所述第二子带的模值大于所述第二门限值时,设置所述第二子带的所述限制误差为所述第二门限值乘以所述第二子带的归一化误差得到的结果再除以所述第二子带的模值。
22.根据权利要求20或21所述的回声消除中的自适应滤波装置,其特征在于,所述门限值设置模块还用于设置所述第二门限值小于第三门限值。
23.一种自适应滤波设备,用于回声消除中的自适应滤波,其特征在于,包括:存储器和处理器;
所述存储器与所述处理器耦合;
所述存储器,用于存储程序指令;
所述处理器,用于调用所述存储器存储的程序指令,使得所述设备执行上述权利要求1至11中任一项所述的回声消除中的自适应滤波方法。
24.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述权利要求1至11中任一项所述的回声消除中的自适应滤波方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/121560 WO2020124325A1 (zh) | 2018-12-17 | 2018-12-17 | 一种回声消除中的自适应滤波方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111868826A CN111868826A (zh) | 2020-10-30 |
CN111868826B true CN111868826B (zh) | 2022-09-13 |
Family
ID=71100168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880003450.2A Active CN111868826B (zh) | 2018-12-17 | 2018-12-17 | 一种回声消除中的自适应滤波方法、装置、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111868826B (zh) |
WO (1) | WO2020124325A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112653799B (zh) * | 2020-12-07 | 2022-09-20 | 兰州空间技术物理研究所 | 一种空间站的空间话音设备的回声消除方法 |
CN113362844B (zh) * | 2021-07-26 | 2022-05-10 | 西南交通大学 | 一种低复杂度分离去相关自适应声学回声消除方法及装置 |
CN115598615B (zh) * | 2022-12-13 | 2023-03-10 | 中国人民解放军国防科技大学 | 基于子带滤波的功率谱信息几何雷达目标检测方法和装置 |
CN116962583B (zh) * | 2023-09-20 | 2023-12-08 | 腾讯科技(深圳)有限公司 | 一种回声控制的方法、装置、设备、存储介质及程序产品 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4705554B2 (ja) * | 2006-11-14 | 2011-06-22 | 日本電信電話株式会社 | エコーキャンセル装置、その方法、そのプログラム、およびその記録媒体 |
US9136891B2 (en) * | 2011-12-12 | 2015-09-15 | John W. Bogdan | Adaptive data decoding |
CN101888455B (zh) * | 2010-04-09 | 2013-07-03 | 熔点网讯(北京)科技有限公司 | 一种频域自适应回声抵消方法 |
CN101984360B (zh) * | 2010-07-29 | 2012-09-05 | 中国人民解放军海军航空工程学院 | 基于frft的归一化泄露lms自适应动目标检测方法 |
US20120140940A1 (en) * | 2010-12-07 | 2012-06-07 | Electronics And Telecommunications Research Institute | Method and device for cancelling acoustic echo |
CN102185991A (zh) * | 2011-03-01 | 2011-09-14 | 杭州华三通信技术有限公司 | 回声消除方法、系统和装置 |
CN105957534B (zh) * | 2016-06-28 | 2019-05-03 | 百度在线网络技术(北京)有限公司 | 自适应滤波方法和自适应滤波器 |
CN107105111B (zh) * | 2017-03-15 | 2019-08-02 | 西南交通大学 | 一种组合步长成比例仿射投影回声消除方法 |
CN107134281A (zh) * | 2017-05-04 | 2017-09-05 | 重庆第二师范学院 | 一种自适应回声消除中自适应滤波器系数更新方法 |
CN107291663A (zh) * | 2017-06-12 | 2017-10-24 | 华侨大学 | 应用于声反馈抑制的变步长归一化子带自适应滤波方法 |
-
2018
- 2018-12-17 WO PCT/CN2018/121560 patent/WO2020124325A1/zh active Application Filing
- 2018-12-17 CN CN201880003450.2A patent/CN111868826B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
WO2020124325A1 (zh) | 2020-06-25 |
CN111868826A (zh) | 2020-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111868826B (zh) | 一种回声消除中的自适应滤波方法、装置、设备及存储介质 | |
KR102410447B1 (ko) | 적응성 빔포밍 | |
JP5671147B2 (ja) | 後期残響成分のモデリングを含むエコー抑制 | |
JP6014259B2 (ja) | ノイズ削減利得の百分位数フィルタリング | |
EP3080975B1 (en) | Echo cancellation | |
US9818424B2 (en) | Method and apparatus for suppression of unwanted audio signals | |
CN106486135B (zh) | 近端语音检测器、语音系统、对语音进行分类的方法 | |
JP4689269B2 (ja) | 静的スペクトルパワー依存型音響強調システム | |
KR20010043837A (ko) | 선형 컨벌루션 및 인과 필터링을 사용하는 스펙트럼감산에 의한 신호 잡음 감소 | |
KR20120114327A (ko) | 레벨 큐를 사용한 적응형 잡음 감소 | |
US11373667B2 (en) | Real-time single-channel speech enhancement in noisy and time-varying environments | |
CN109273019B (zh) | 用于回声抑制的双重通话检测的方法及回声抑制 | |
WO2000072565A1 (en) | Enhancement of near-end voice signals in an echo suppression system | |
US9137611B2 (en) | Method, system and computer program product for estimating a level of noise | |
US20200286501A1 (en) | Apparatus and a method for signal enhancement | |
RU2725017C1 (ru) | Устройство и способ для обработки аудиосигнала | |
US9172791B1 (en) | Noise estimation algorithm for non-stationary environments | |
JPWO2016098164A1 (ja) | エコーキャンセラ装置およびエコーキャンセル方法 | |
US11189297B1 (en) | Tunable residual echo suppressor | |
US9666206B2 (en) | Method, system and computer program product for attenuating noise in multiple time frames | |
JP2020504966A (ja) | 遠距離音の捕捉 | |
US20130054233A1 (en) | Method, System and Computer Program Product for Attenuating Noise Using Multiple Channels | |
WO2023194541A1 (en) | Audio signal processing techniques for noise mitigation | |
KR20180047191A (ko) | 보청기를 위한 음향 피드백 제거 장치 및 방법 | |
EP2816818A1 (en) | Sound field spatial stabilizer with echo spectral coherence compensation |
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 |