CN105141287A - 一种判断滤波器状态发散的方法及装置 - Google Patents
一种判断滤波器状态发散的方法及装置 Download PDFInfo
- Publication number
- CN105141287A CN105141287A CN201510433689.1A CN201510433689A CN105141287A CN 105141287 A CN105141287 A CN 105141287A CN 201510433689 A CN201510433689 A CN 201510433689A CN 105141287 A CN105141287 A CN 105141287A
- Authority
- CN
- China
- Prior art keywords
- filter coefficient
- principal reflection
- frame
- sliding window
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H21/00—Adaptive networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B3/00—Line transmission systems
- H04B3/02—Details
- H04B3/20—Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other
- H04B3/23—Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other using a replica of transmitted signal in the time domain, e.g. echo cancellers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/02—Constructional features of telephone sets
- H04M1/20—Arrangements for preventing acoustic feed-back
Landscapes
- Filters That Use Time-Delay Elements (AREA)
Abstract
本发明公开了一种判断滤波器状态发散的方法及装置,用以解决现有技术中存在的滤波器状态判断方法计算复杂度较高且可能出现判断错误的问题,该方法为:采集近端信号以及与近端信号同步的远端信号,并分别针对近端信号和远端信号进行同步分帧处理获得N对同步帧;将N对同步帧通过滤波器进行滤波处理,获得对应N对同步帧的N个滤波器系数矢量均值;根据N个滤波器系数矢量均值,分别计算对应N对同步帧的N个滤波器系数状态参考量;当N个滤波器系数状态参考量中存在至少M个滤波器系数状态参考量大于预设的门限值时,确定滤波器状态发散。因此,采用本发明的方法能够有效地判断滤波器状态是否发散,控制滤波器系数矢量更新。
Description
技术领域
本发明涉及通信领域,特别是涉及一种判断滤波器状态发散的方法及装置。
背景技术
在通信系统中,通话质量会受到回声的影响,如果通话过程中,尤其是免提条件下不进行回声消除,则无法实现正常通话。所谓回声,是指近端扬声器发出的语音信号直接或间接地被麦克风采集并传回远端的情况,即通话中的一方又从自己使用的电话中听到了自己的声音。
现有技术中,通常使用自适应滤波器技术对回声进行消除。自适应滤波器利用远端信号去模拟回声产生的路径并生成估计的回声信号,然后从近端信号中减去估计的回声信号后再发送到远端。
具体的,如图1所示,图1为本发明背景技术中回声消除器工作原理示意图,图1中右侧实线框图内的一条直线和两条曲线用来模拟远端的声音从扬声器发出并由麦克采集的传播过程。其中,曲线表示远端的声音经过反射被麦克接收。图1中的虚线框为典型的声学回声消除器,假设用户A和用户B正在通话,将麦克采集到的近端信号d(n),可以理解为用户A自己的说话的声音和用户B的回声,若用户A不说话则只有用户B的回声,和远端传送过来与该近端信号同步的的远端信号x(n),可以理解为与用户A进行通话的用户B说话的声音,将两个信号输入到回声消除器中,根据自适应滤波器原理可以计算滤波器系数矢量、并根据滤波器系数矢量模拟图1中右侧实线框图内的回声传播路径、以及计算经过回声消除器处理后的输出信号e(n)。进一步地,将该输出信号e(n)传送回远端,即用户B,完成整个回声消除过程,保证用户之间的通话质量。
由上可知,参阅图2所示,图2为本发明背景技术中自适应滤波器工作原理示意图,其中,自适应滤波器的输入信号为近端信号d(n)和与该近端信号同步的远端信号x(n),经过自适应滤波器回声消除处理后得到的输出信号为e(n),并将该输出信号发送到远端。进一步地,滤波器状态发散与否决定了输出信号e(n)的质量,如果滤波器状态发散,则表示输出信号失真,回声消除器失效,将会严重影响通信质量。
因此,通过检测滤波器状态是否发散可以判断输出信号是否失真,若滤波器状态发散,则回声消除器肯定会受到影响,甚至失效,导致输出信号失真,若滤波器状态收敛,则说明回声被大部分消除,通话质量较好。因此,针对滤波器状态的检测是回声消除系统乃至通信系统的一个重要组成部分,是判断输出信号质量以及通信质量的重要标准。
现有技术中,常用的检测滤波器状态是否发散的方法为计算回声损耗增益(EchoReturnLossEnhancement,ERLE),即回声信号能量与残留回声信号能量的差值,该方法用于评估回声消除器对回声的抵消性能,具体公式如下:
ERLE(n)=10*log10E[d2(n)]/E[e2(n)]
上述公式中,E[d2(n)]表示麦克采集到的近端信号能量,近端信号包括回声和其他信号;E[e2(n)]表示回声消除器的输出信号能量,输出信号包括前面所述的其他信号及残留回声。这里所说的其他信号,为实际通话中用户说话的语音信号,以及近端的环境噪声等,因此,在处理过程中默认所述其他信号不受影响。
当滤波器状态收敛时,ERLE相对稳定,当自适应滤波器被干扰而使滤波器状态发散时,ERLE将明显降低,具体的,可以通过设定门限值来判断滤波器状态是否收敛,当ERLE高于预设门限时说明滤波器状态收敛,当ERLE小于预设门限时说明滤波器状态发散。
现有技术是基于信号的能量来评估滤波器状态是否发散,计算ERLE需要计算近端信号和输出信号的能量差值,但是由于语音信号本身波动较大,由此造成的信号能量波动也比较大,在计算ERLE时,为了平滑信号的波动性,需要额外运算对信号进行平滑处理,同时为了控制ERLE动态范围,还需要将运算转化为对数域的计算,因此,整个计算过程的复杂度较高。此外,如果近端信号所处环境发生变化,如噪声变化,对ERLE的稳定性也会产生影响,进而可能造成对滤波器状态是否发散的判断出现错误。
发明内容
本发明实施例提供一种判断滤波器状态发散的方法及装置,用以解决现有技术中存在的滤波器状态判断方法计算复杂度较高、且可能出现判断错误的问题。
本发明实施例提供的具体技术方案如下:
第一方面,本发明实施例提供一种判断滤波器状态发散的方法,包括:
采集近端信号以及与所述近端信号同步的远端信号,并
分别针对所述近端信号和所述远端信号进行同步分帧处理,获得N对同步帧,每一对同步帧包括一个近端信号帧以及一个与所述近端信号帧同步的远端信号帧;
将所述N对同步帧通过滤波器进行滤波处理,获得对应所述N对同步帧的N个滤波器系数矢量均值;
根据所述N个滤波器系数矢量均值,分别计算对应所述N对同步帧的N个滤波器系数状态参考量;
当所述N个滤波器系数状态参考量中存在至少M个滤波器系数状态参考量大于预设的门限值时,确定所述滤波器状态发散;
其中,M为预设值,所述N和M均为正整数,且N≥M。
结合第一方面,在第一方面的第一种可能的实现方式中,所述分别针对所述近端信号和所述远端信号进行同步分帧处理,获得N对同步帧,包括:
根据预设帧长,将所述近端信号按照信号时序先后顺序进行分帧处理,获得N个近端信号帧;
同时,根据所述预设帧长,将与所述近端信号同步的远端信号按照信号时序先后顺序进行分帧处理,获得N个与所述近端信号帧同步的远端信号帧;
将获得的任意一个近端信号帧以及与所述任意一个近端信号帧同步的远端信号帧构成一对同步帧,共获得N对同步帧。
结合第一方面,在第一方面的第二种可能的实现方式中,所述将所述N对同步帧通过滤波器进行滤波处理,获得对应N对同步帧的N个滤波器系数矢量均值,包括:
针对每一对同步帧,分别执行:
根据预设帧长和第一预设算法确定当前一对同步帧对应的滤波器系数矢量更新次数T,以及T次滤波器系数矢量更新对应的T个更新结果,其中,T为正整数;
根据所述当前一对同步帧对应的滤波器系数矢量更新次数T以及所述T次滤波器系数矢量更新对应的T个更新结果,获得对应所述当前一对同步帧的滤波器系数矢量均值。
结合第一方面,或以上第一方面的任何一种可能的实现方式,在第三种可能的实现方式中,所述根据N个滤波器系数矢量均值,分别计算对应N对同步帧的N个滤波器系数状态参考量,包括:
针对每一个滤波器系数矢量均值,分别执行:
根据当前滤波器系数矢量均值,按照预设布图规则确定所述当前滤波器系数矢量均值对应的滤波器系数分布图,并
根据所述滤波器系数分布图,将所述当前滤波器系数矢量均值中的元素至少分为主反射区元素、主反射区左侧元素和主反射区右侧元素,其中,所述主反射区元素是指所述滤波器系数分布图中预设滑动窗内包含的所有元素的平方和为最大值时所述预设滑动窗内包含的元素,且所述滤波器系数分布图中所述预设滑动窗左侧的元素为所述主反射区左侧元素,所述预设滑动窗右侧的元素为所述主反射区右侧元素;
计算所有主反射区右侧元素的平方和,作为所述当前滤波器系数矢量均值对应的第一能量值;
计算所有主反射区元素、所有主反射区左侧元素和所有主反射区右侧元素的平方和,作为所述当前滤波器系数矢量均值对应的第二能量值,以及
根据第二预设算法计算所述第二能量值的平滑值;
根据所述第一能量值、以及所述第二能量值的平滑值,采用第三预设算法确定所述当前滤波器系数矢量均值对应的滤波器系数状态参考量。
结合第一方面,或以上第一方面的任何一种可能的实现方式,在第四种可能的实现方式中,所述根据N个滤波器系数矢量均值,分别计算对应N对同步帧的N个滤波器系数状态参考量,包括:
针对每一个滤波器系数矢量均值,分别执行:
根据当前滤波器系数矢量均值,按照预设布图规则确定所述当前滤波器系数矢量均值对应的滤波器系数分布图,并
根据所述滤波器系数分布图,将所述当前滤波器系数矢量均值中的元素至少分为主反射区元素、主反射区左侧元素和主反射区右侧元素,其中,所述主反射区元素是指所述滤波器系数分布图中预设滑动窗内包含的所有元素的平方和为最大值时所述预设滑动窗内包含的元素,且所述滤波器系数分布图中所述预设滑动窗左侧的元素为所述主反射区左侧元素,所述预设滑动窗右侧的元素为所述主反射区右侧元素;
计算所有主反射区元素、所有主反射区左侧元素和所有主反射区右侧元素的平方和,作为所述当前滤波器系数矢量均值对应的第二能量值,以及
根据所述第二预设算法计算所述第二能量值的平滑值;
计算所有主反射区左侧元素和所有主反射区右侧元素的平方和,作为所述当前滤波器系数矢量均值对应的第三能量值;
根据所述第三能量值、以及所述第二能量值的平滑值,采用所述第三预设算法确定所述当前滤波器系数矢量均值对应的滤波器系数状态参考量。
结合第一方面,或以上第一方面的任何一种可能的实现方式,在第五种可能的实现方式中,根据所述滤波器系数分布图,将所述当前滤波器系数矢量均值中的元素至少分为主反射区元素、主反射区左侧元素和主反射区右侧元素,包括:
根据所述滤波器系数分布图,确定所述当前滤波器系数矢量均值中绝对值最大的元素;
构建一个滑动窗,根据所述绝对值最大的元素的绝对值确定所述滑动窗的窗高,以预设数值为所述滑动窗的窗长;
将所述滑动窗在所述滤波器系数分布图上从所述当前滤波器系数矢量均值中的第一个元素滑动至最后一个元素,确定所述滑动窗内包含的所有元素的平方和为最大值时,所述滑动窗内包含的元素为所述主反射区元素,所述滑动窗左侧的元素为所述主反射区左侧元素,所述滑动窗右侧的元素为所述主反射区右侧元素。
结合第一方面,或以上第一方面的任何一种可能的实现方式,在第六种可能的实现方式中,在确定所述滤波器状态发散之后,所述方法还包括:
停止更新滤波器系数矢量,并将当前的滤波器系数矢量清零。
第二方面,本发明实施例提供一种判断滤波器状态发散的装置,包括:
采集模块,用于采集近端信号以及与所述近端信号同步的远端信号;
分帧模块,用于分别针对所述采集模块采集的所述近端信号和所述远端信号进行同步分帧处理,获得N对同步帧,每一对同步帧包括一个近端信号帧以及一个与所述近端信号帧同步的远端信号帧;
滤波模块,用于将所述分帧模块获得的所述N对同步帧通过滤波器进行滤波处理,获得对应所述N对同步帧的N个滤波器系数矢量均值;
判断模块,用于根据所述滤波模块获得的所述N个滤波器系数矢量均值,分别计算对应所述N对同步帧的N个滤波器系数状态参考量;
以及当所述N个滤波器系数状态参考量中存在至少M个滤波器系数状态参考量大于预设的门限值时,确定所述滤波器状态发散;
其中,M为预设值,所述N和M均为正整数,且N≥M。
结合第二方面,在第二方面的第一种可能的实现方式中,所述分帧模块具体用于:
根据预设帧长,将所述采集模块采集的所述近端信号按照信号时序先后顺序进行分帧处理,获得N个近端信号帧;
同时,根据所述预设帧长,将所述采集模块采集的与所述近端信号同步的远端信号按照信号时序先后顺序进行分帧处理,获得N个与所述近端信号帧同步的远端信号帧;
将获得的任意一个近端信号帧以及与所述任意一个近端信号帧同步的远端信号帧构成一对同步帧,共获得N对同步帧。
结合第二方面,在第二方面的第二种可能的实现方式中,所述滤波模块具体用于:
针对所述分帧模块获得的每一对同步帧,分别执行:
根据预设帧长和第一预设算法确定当前一对同步帧对应的滤波器系数矢量更新次数T,以及T次滤波器系数矢量更新对应的T个更新结果,其中,T为正整数;
根据所述当前一对同步帧对应的滤波器系数矢量更新次数T以及所述T次滤波器系数矢量更新对应的T个更新结果,获得对应所述当前一对同步帧的滤波器系数矢量均值。
结合第二方面,或以上第二方面的任何一种可能的实现方式,在第三种可能的实现方式中,所述判断模块具体用于:
针对所述滤波模块获得的每一个滤波器系数矢量均值,分别执行:
根据当前滤波器系数矢量均值,按照预设布图规则确定所述当前滤波器系数矢量均值对应的滤波器系数分布图,并
根据所述滤波器系数分布图,将所述当前滤波器系数矢量均值中的元素至少分为主反射区元素、主反射区左侧元素和主反射区右侧元素,其中,所述主反射区元素是指所述滤波器系数分布图中预设滑动窗内包含的所有元素的平方和为最大值时所述预设滑动窗内包含的元素,且所述滤波器系数分布图中所述预设滑动窗左侧的元素为所述主反射区左侧元素,所述预设滑动窗右侧的元素为所述主反射区右侧元素;
计算所有主反射区右侧元素的平方和,作为所述当前滤波器系数矢量均值对应的第一能量值;
计算所有主反射区元素、所有主反射区左侧元素和所有主反射区右侧元素的平方和,作为所述当前滤波器系数矢量均值对应的第二能量值,以及
根据第二预设算法计算所述第二能量值的平滑值;
根据所述第一能量值、以及所述第二能量值的平滑值,采用第三预设算法确定所述当前滤波器系数矢量均值对应的滤波器系数状态参考量。
结合第二方面,或以上第二方面的任何一种可能的实现方式,在第四种可能的实现方式中,所述判断模块还用于:
针对所述滤波模块获得的每一个滤波器系数矢量均值,分别执行:
根据当前滤波器系数矢量均值,按照预设布图规则确定所述当前滤波器系数矢量均值对应的滤波器系数分布图,并
根据所述滤波器系数分布图,将所述当前滤波器系数矢量均值中的元素至少分为主反射区元素、主反射区左侧元素和主反射区右侧元素,其中,所述主反射区元素是指所述滤波器系数分布图中预设滑动窗内包含的所有元素的平方和为最大值时所述预设滑动窗内包含的元素,且所述滤波器系数分布图中所述预设滑动窗左侧的元素为所述主反射区左侧元素,所述预设滑动窗右侧的元素为所述主反射区右侧元素;
计算所有主反射区元素、所有主反射区左侧元素和所有主反射区右侧元素的平方和,作为所述当前滤波器系数矢量均值对应的第二能量值,以及
根据所述第二预设算法计算所述第二能量值的平滑值;
计算所有主反射区左侧元素和所有主反射区右侧元素的平方和,作为所述当前滤波器系数矢量均值对应的第三能量值;
根据所述第三能量值、以及所述第二能量值的平滑值,采用所述第三预设算法确定所述当前滤波器系数矢量均值对应的滤波器系数状态参考量。
结合第二方面,或以上第二方面的任何一种可能的实现方式,在第五种可能的实现方式中,所述判断模块进一步用于:
根据所述滤波器系数分布图,确定所述当前滤波器系数矢量均值中绝对值最大的元素;
构建一个滑动窗,根据所述绝对值最大的元素的绝对值确定所述滑动窗的窗高,以预设数值为所述滑动窗的窗长;
将所述滑动窗在所述滤波器系数分布图上从所述当前滤波器系数矢量均值中的第一个元素滑动至最后一个元素,确定所述滑动窗内包含的所有元素的平方和为最大值时,所述滑动窗内包含的元素为所述主反射区元素,所述滑动窗左侧的元素为所述主反射区左侧元素,所述滑动窗右侧的元素为所述主反射区右侧元素。
结合第二方面,或以上第二方面的任何一种可能的实现方式,在第六种可能的实现方式中,所述装置还包括:
重置模块,用于在根据所述判断模块确定所述滤波器状态发散之后,停止更新滤波器系数矢量,并将当前的滤波器系数矢量清零。
本发明有益效果如下:
本发明实施例中,提出一种判断滤波器状态发散的方法,该方法为:采集近端信号以及与近端信号同步的远端信号,并分别针对近端信号和远端信号进行同步分帧处理,获得N对同步帧,将N对同步帧通过滤波器进行滤波处理,获得对应N对同步帧的N个滤波器系数矢量均值。进一步地,根据N个滤波器系数矢量均值,分别计算对应N对同步帧的N个滤波器系数状态参考量,由于滤波器系数状态参考量对信号能量的变化不敏感,不受近端信号和远端信号所处环境的影响,因此该方法的得到的结果稳定性较好,同时滤波器系数状态参考量的计算复杂度较低,无需额外运算去平滑信号的波动性。最后,当N个滤波器系数状态参考量中存在至少M个滤波器系数状态参考量大于预设的门限值时,确定滤波器状态发散。因此,本发明实施例利用滤波器系数状态参考量来判断滤波器状态是否发散,以达到控制回声消除器滤波器系数矢量更新、保证通话质量的目的,通过本发明的方法判断滤波器状态是否发散能够有效地判断通话过程中是否有双讲,从而达到控制滤波器系数矢量更新,获得高质量输出信号的目的。
附图说明
图1为本发明背景技术中回声消除器工作原理示意图;
图2为本发明背景技术中自适应滤波器工作原理示意图;
图3为本发明实施例中判断滤波器状态发散的概述流程图;
图4A和图4B为本发明实施例中滤波器系数分布图;
图5为本发明实施例中判断滤波器状态发散的装置结构示意图;
图6为本发明实施例中判断滤波器状态发散的设备结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例提供了一种判断滤波器状态发散的方法及装置,用以解决现有技术中存在的滤波器状态判断方法计算复杂度较高、且可能出现判断错误的问题。其中,方法和装置是基于同一发明构思的,由于方法及装置解决问题的原理相似,因此装置与方法的实施可以相互参见,重复之处不再赘述。
在通信系统中,通话质量会受到回声的影响,如果通话过程中,尤其是免提条件下不进行回声消除,则无法实现正常通话。现有技术中,通常使用自适应滤波器技术对回声进行消除,而针对滤波器状态的检测是判断回声消除效果的重要标准。若滤波器状态发散,则回声消除效果较差,甚至失效,导致输出信号失真,若滤波器状态收敛,则说明回声被大部分消除,通话质量较好。
下面结合附图对本发明优选的实施方式进行详细说明。
参阅图3所示,图3为本发明实施例中判断滤波器状态发散的概述流程图,本发明中判断滤波器状态发散的方法的具体过程为:
步骤300:采集近端信号以及与近端信号同步的远端信号。
回声消除器将麦克采集到的近端信号,以及与近端信号同步的远端信号,两者共同作为采集到的输入信号。其中,近端信号包括回声和其他信号,这里所说的其他信号,为实际通话中用户说话的语音信号,以及近端的环境噪声等。远端信号与近端信号同步,远端信号为近端扬声器发出的语音信号。具体的,同步是指两个信号在变化过程中保持一定的相对关系,在时间上出现一致性与统一化的现象。
步骤310:分别针对近端信号和远端信号进行同步分帧处理,获得N对同步帧,每一对同步帧包括一个近端信号帧以及一个与近端信号帧同步的远端信号帧。
具体的,根据预设帧长,将近端信号按照信号时序先后顺序进行分帧处理,获得N个近端信号帧。同时,根据相同的预设帧长,将与近端信号同步的远端信号按照信号时序先后顺序进行分帧处理,获得N个与近端信号帧同步的远端信号帧。进一步地,将获得的任意一个近端信号帧以及与该任意一个近端信号帧同步的远端信号帧构成一对同步帧,共获得N对同步帧。
例如,采集到的近端信号由1000个采样点构成,预设帧长为100个采样点,将近端信号按照信号时序先后顺序进行分帧处理,则获得10个近端信号帧,同时,采集到的与近端信号同步的远端信号由1000个采样点构成,根据相同的预设帧长100个采样点,将与近端信号同步的远端信号按照信号时序先后顺序进行分帧处理,获得10个与近端信号帧同步的远端信号帧。进一步地,将获得的任意一个近端信号帧以及与该任意一个近端信号帧同步的远端信号帧构成一对同步帧,共获得10对同步帧。
步骤320:将N对同步帧通过滤波器进行滤波处理,获得对应N对同步帧的N个滤波器系数矢量均值。
具体的,针对每一对同步帧,分别执行:
根据预设帧长和第一预设算法确定当前一对同步帧对应的滤波器系数矢量更新次数T,以及T次滤波器系数矢量更新对应的T个更新结果,其中,T为正整数;
进一步地,根据当前一对同步帧对应的滤波器系数矢量更新次数T以及T次滤波器系数矢量更新对应的T个更新结果,获得对应当前一对同步帧的滤波器系数矢量均值。
此处以基于仿射投影算法的自适应滤波器技术为例,但不限于该项自适应滤波技术。
下面采用仿射投影算法说明如何进行滤波器系数矢量更新,及如何获得滤波器系数矢量更新结果。
首先,根据仿射投影算法的自适应滤波技术,设每个时刻采集一个样点,再由多个样点构建信号矢量,假设在第n个时刻时,根据滤波器系数矢量中的元素个数L,由远端信号x(n)构建远端信号输入矢量:
x(n-l)=[x(n-l),...,x(n-L-l+1)]T。
进一步地,根据预设的仿射投影阶数p,由远端信号输入矢量构建远端信号输入矩阵:
X(n)=[x(n),...,x(n-p+1)]。
得到的远端信号的输入矩阵可以表示为:
须知在大部分情况下,p远小于L。
然后,根据预设的仿射投影阶数p,由近端信号d(n)构建近端信号输入矢量:
d(n)=[d(n),...,d(n-p+1)]T。
滤波器系数矢量为h(n)=[hn(0),...,hn(L-1)]T,
输出信号对应的输出矢量记作e(n)=[e(n),...,e(n-p+1)]T,
其中,e(n)=d(n)-XT(n)h(n)。
每个时刻采集到一个样点,对滤波器系数矢量在每个采样点更新一次,得到第n+1时刻更新后的滤波器系数矢量:
h(n+1)=h(n)+μX(n)[XT(n)X(n)]-1e(n)。
其中,μ为滤波器的更新步长,为预设数值,[*]-1表示矩阵求逆运算,[*]T表示矩阵转置运算。
一般地,在信号处理过程中,不会对每个采样点进行滤波器系数矢量更新。而是对采集到的近端信号以及与该近端信号同步的远端信号进行同步分帧处理。
上述过程清楚说明了如何进行滤波器系数矢量更新,及如何获得滤波器系数矢量更新结果,进一步地,针对第i对同步帧,可以采用但不限于以下方法得到第i对同步帧的滤波器系数矢量均值:
以预设帧长为160个采样点为例,分别针对近端信号和远端信号进行同步分帧处理,获得N对同步帧,假设仿射投影算法的阶数p=4,因此,针对第i对同步帧,滤波器系数矢量每4个采样点更新一次,滤波器系数矢量将会更新40次,每更新一次得到一个滤波器系数矢量hk(i)做为滤波器系数矢量的更新结果,其中,i为帧号,那么,对于第i对同步帧,滤波器系数矢量将会更新40次,得到40个不同的hk(i),即k=0,1,2,…,39,记滤波器系数矢量更新次数为K,得到第i对同步帧的滤波器系数矢量均值:
其中k表示滤波器系数矢量h(i)更新次数的索引。
步骤330:根据N个滤波器系数矢量均值,分别计算对应N对同步帧的N个滤波器系数状态参考量。
这里可以通过以下两种方法但不限于以下两种方法获得对应N对同步帧的N个滤波器系数状态参考量。
第一种方法:
针对每一个滤波器系数矢量均值,分别执行:
首先,根据当前滤波器系数矢量均值,按照预设布图规则确定当前滤波器系数矢量均值对应的滤波器系数分布图。
根据滤波器系数分布图,将当前滤波器系数矢量均值中的元素至少分为主反射区元素、主反射区左侧元素和主反射区右侧元素,参阅图4A所示。
图4A为本发明实施例中滤波器系数分布图。其中,滤波器系数矢量中的元素的个数通过具体的自适应滤波器算法设定,依次取出滤波器矢量均值中的元素,并从左到右依次排开,每两个元素在水平方向上的投影的间隔相等,滑动窗的窗长可以由经验值决定,且滑动窗内包含的元素个数为固定值,A点为滤波器系数矢量中绝对值最大的元素,将绝对值最大元素的绝对值用h表示,窗高至少为最大绝对值的两倍2h。
其中,主反射区元素是指滤波器系数分布图中预设滑动窗内包含的所有元素的平方和为最大值时预设滑动窗内包含的元素,且滤波器系数分布图中预设滑动窗左侧的元素为主反射区左侧元素,预设滑动窗右侧的元素为主反射区右侧元素。
然后,计算所有主反射区右侧元素的平方和,作为当前滤波器系数矢量均值对应的第一能量值。
计算所有主反射区元素、所有主反射区左侧元素和所有主反射区右侧元素的平方和,作为当前滤波器系数矢量均值对应的第二能量值,以及根据第二预设算法计算第二能量值的平滑值。
最后,根据第一能量值、以及第二能量值的平滑值,采用第三预设算法确定当前滤波器系数矢量均值对应的滤波器系数状态参考量。
第二种方法:
针对每一个滤波器系数矢量均值,分别执行:
首先,根据当前滤波器系数矢量均值,按照预设布图规则确定当前滤波器系数矢量均值对应的滤波器系数分布图。
根据滤波器系数分布图,将当前滤波器系数矢量均值中的元素至少分为主反射区元素、主反射区左侧元素和主反射区右侧元素,参阅图4A所示。
其中,主反射区元素是指滤波器系数分布图中预设滑动窗内包含的所有元素的平方和为最大值时预设滑动窗内包含的元素,且滤波器系数分布图中预设滑动窗左侧的元素为主反射区左侧元素,预设滑动窗右侧的元素为主反射区右侧元素。
然后,计算所有主反射区元素、所有主反射区左侧元素和所有主反射区右侧元素的平方和,作为当前滤波器系数矢量均值对应的第二能量值,以及根据第二预设算法计算第二能量值的平滑值。
计算所有主反射区左侧元素和所有主反射区右侧元素的平方和,作为当前滤波器系数矢量均值对应的第三能量值。
最后,根据第三能量值、以及第二能量值的平滑值,采用第三预设算法确定当前滤波器系数矢量均值对应的滤波器系数状态参考量。
其中,上述两种方法均需要根据滤波器系数分布图,将当前滤波器系数矢量均值中的元素至少分为主反射区元素、主反射区左侧元素和主反射区右侧元素。
具体的,根据滤波器系数分布图,确定当前滤波器系数矢量均值中绝对值最大的元素。构建一个滑动窗,根据绝对值最大的元素的绝对值确定滑动窗的窗高,以预设数值为滑动窗的窗长。
将滑动窗在滤波器系数分布图上从当前滤波器系数矢量均值中的第一个元素滑动至最后一个元素,确定滑动窗内包含的所有元素的平方和为最大值时,滑动窗内包含的元素为主反射区元素,滑动窗左侧的元素为主反射区左侧元素,滑动窗右侧的元素为主反射区右侧元素。
下面以一个具体实施例说明上述滤波器系数状态参考量的获得过程。
以第i个滤波器系数矢量均值为例,首先,根据该滤波器系数矢量均值,确定该滤波器系数矢量均值对应的滤波器系数分布图,如图4A所示,滤波器系数矢量中的元素的个数通过具体的自适应滤波器算法设定,依次取出滤波器矢量中的元素,并从左到右依次排开,每两个元素在水平方向上的投影的间隔相等,将所有元素连接起来得到滤波器系数分布图。
根据该滤波器系数分布图,确定第i个滤波器系数矢量均值中绝对值最大的元素,根据绝对值最大的元素的绝对值确定滑动窗的窗高,例如,在图4A中,绝对值最大的元素为A点,A点对应的绝对值为h,以2h为窗高,以预设数值为滑动窗的窗长,构建一个滑动窗,其中,窗长要小于滤波器系数分布图中滤波器系数分布的长度,可以任意设定,但一般比较小,也可以根据经验值确定,比如滤波器系数分布长度的十分之一,且滑动窗内包含的元素个数为固定值。其中,图4A为清楚描述本发明对滤波器系数分布图进行简化,图4A中绘制的波形比较简单,滤波器系数矢量均值中包含的元素数目较少,实际应用过程中,滤波器系数分布图如图4B所示。
将滑动窗在滤波器系数分布图上从第i个滤波器系数矢量均值中的第一个元素滑动至最后一个元素,确定滑动窗内包含的所有元素的平方和为最大值时,滑动窗内包含的元素为主反射区元素,滑动窗左侧的元素为主反射区左侧元素,滑动窗右侧的元素为主反射区右侧元素。
如图4A所示,滑动窗内包含的元素为主反射区元素,滑动窗左侧的元素为主反射区左侧元素。主反射区元素的绝对值较大,主反射区占据了滤波器系数矢量的绝大部分能量,滑动窗左侧的元素为主反射区左侧元素,主反射区左侧元素的绝对值较小,主反射区左侧能量较小,滑动窗右侧的元素为主反射区右侧元素,主反射区右侧元素的绝对值大于主反射区左侧的元素的绝对值,主反射区右侧能量较大。
进一步地,计算所有主反射区右侧元素的平方和,作为第i个滤波器系数矢量均值对应的第一能量值,如下:
计算所有主反射区元素、所有主反射区左侧元素和所有主反射区右侧元素的平方和,作为第i个滤波器系数矢量均值对应的第二能量值,以及根据以下公式(2)计算第二能量值的平滑值,第二能量值和第二能量值的平滑值分别如下:
Esmooth(i)=α·Esmooth(i-1)+(1-α)·Eall(2)
这里α为预设值,例如,α=0.04。
计算所有主反射区左侧元素和所有主反射区右侧元素的平方和,作为第i个滤波器系数矢量均值对应的第三能量值,如下:
采用第一种方法根据第一能量值、以及第二能量值的平滑值,采用以下公式计算第i个滤波器系数矢量均值对应的滤波器系数状态参考量:
此外,针对第一种方法,还可以采用另一公式计算第i个滤波器系数矢量均值对应的滤波器系数状态参考量,具体为:
采用第二种方法根据第一能量值、以及第二能量值的平滑值采用以下公式计算第i个滤波器系数矢量均值对应的滤波器系数状态参考量:
此外,针对第二种方法,还可以采用另一公式计算第i个滤波器系数矢量均值对应的滤波器系数状态参考量,具体为:
步骤340:当N个滤波器系数状态参考量中存在至少M个滤波器系数状态参考量大于预设的门限值时,确定滤波器状态发散。
其中,M为预设值,N和M均为正整数,且N≥M。
例如,若N=M=1,设置门限值TR,TR=0.15,如果R(1)>TR,记ST(1)=1则确定滤波器状态发散;否则记ST(1)=0,确定滤波器状态收敛。
若确定滤波器状态发散,则停止更新滤波器系数矢量,并将当前的滤波器系数矢量清零。
但是,有时只根据一对同步帧对应的滤波器系数状态参考量与预设门限值的比较结果就判断滤波器状态发散,可能造成重置滤波器系数矢量的风险较大,本发明实施例中也包括取一定时间窗内的滤波器系数状态参考量与预设门限值的比较结果来判断滤波器状态是否发散。
又例如,取10对同步帧对应的滤波器系数状态参考量与预设门限值的比较结果:
ST(m)=[ST(m),ST(m-1),ST(m-2),...,ST(m-9)],
其中,ST(m)包括10对同步帧对应的滤波器系数状态参考量与预设门限值的比较结果,ST(i)代表第i对同步帧对应的滤波器系数状态参考量与预设门限值的比较结果。
通过统计ST(m)中值为1的元素的个数st1,设置确定滤波器状态发散的策略Strategy(m),即存在6个及以上滤波器系数状态参考量大于预设的门限值时,确定滤波器状态发散,否则滤波器状态收敛。
如果Strategy(m)=1,则存在6个及以上滤波器系数状态参考量大于预设的门限值,确定滤波器状态发散,停止滤波器系数矢量更新,反之,Strategy(m)=0,则存在5个及以下滤波器系数状态参考量大于预设的门限值,确定滤波器状态收敛,则正常更新滤波器系数矢量。
因此,在确定10个滤波器系数状态参考量中存在至少6个滤波器系数状态参考量均大于预设的门限时,确定滤波器状态发散,并据此判断停止滤波器系数矢量更新。
本发明实施例提供了一种判断滤波器状态发散的方法,该方法为:采集近端信号以及与近端信号同步的远端信号,并分别针对近端信号和远端信号进行同步分帧处理,获得N对同步帧,将N对同步帧通过滤波器进行滤波处理,获得对应N对同步帧的N个滤波器系数矢量均值。进一步地,根据N个滤波器系数矢量均值,分别计算对应N对同步帧的N个滤波器系数状态参考量,由于滤波器系数状态参考量对信号能量的变化不敏感,不受近端信号和远端信号所处环境的影响,因此该方法的得到的结果稳定性较好,同时滤波器系数状态参考量的计算复杂度较低,无需额外运算去平滑信号的波动性。最后,当N个滤波器系数状态参考量中存在至少M个滤波器系数状态参考量大于预设的门限值时,确定滤波器状态发散。
因此,本发明实施例利用滤波器系数状态参考量来判断滤波器状态是否发散,以达到控制回声消除器滤波器系数矢量更新、保证通话质量的目的,通过本发明的方法判断滤波器状态是否发散能够有效地判断通话过程中是否有双讲,从而达到控制滤波器系数矢量更新,获得高质量输出信号的目的。
参阅图5所示,图5为本发明实施例中判断滤波器状态发散的装置结构示意图,本发明实施例提供的判断滤波器状态发散的装置500,包括:
采集模块501,用于采集近端信号以及与近端信号同步的远端信号;
分帧模块502,用于分别针对采集模块501采集的近端信号和远端信号进行同步分帧处理,获得N对同步帧,每一对同步帧包括一个近端信号帧以及一个与近端信号帧同步的远端信号帧;
滤波模块503,用于将分帧模块502获得的N对同步帧通过滤波器进行滤波处理,获得对应N对同步帧的N个滤波器系数矢量均值;
判断模块504,用于根据滤波模块503获得的N个滤波器系数矢量均值,分别计算对应N对同步帧的N个滤波器系数状态参考量;
以及当N个滤波器系数状态参考量中存在至少M个滤波器系数状态参考量大于预设的门限值时,确定滤波器状态发散;
其中,M为预设值,N和M均为正整数,且N≥M。
可选的,分帧模块502具体用于:
根据预设帧长,将采集模块501采集的近端信号按照信号时序先后顺序进行分帧处理,获得N个近端信号帧;
同时,根据预设帧长,将采集模块501采集的与近端信号同步的远端信号按照信号时序先后顺序进行分帧处理,获得N个与近端信号帧同步的远端信号帧;
将获得的任意一个近端信号帧以及与任意一个近端信号帧同步的远端信号帧构成一对同步帧,共获得N对同步帧。
可选的,滤波模块503具体用于:
针对分帧模块502获得的每一对同步帧,分别执行:
根据预设帧长和第一预设算法确定当前一对同步帧对应的滤波器系数矢量更新次数T,以及T次滤波器系数矢量更新对应的T个更新结果,其中,T为正整数;
根据当前一对同步帧对应的滤波器系数矢量更新次数T以及T次滤波器系数矢量更新对应的T个更新结果,获得对应当前一对同步帧的滤波器系数矢量均值。
可选的,判断模块504具体用于:
针对滤波模块503获得的每一个滤波器系数矢量均值,分别执行:
根据当前滤波器系数矢量均值,按照预设布图规则确定当前滤波器系数矢量均值对应的滤波器系数分布图,并
根据滤波器系数分布图,将当前滤波器系数矢量均值中的元素至少分为主反射区元素、主反射区左侧元素和主反射区右侧元素,其中,主反射区元素是指滤波器系数分布图中预设滑动窗内包含的所有元素的平方和为最大值时预设滑动窗内包含的元素,且滤波器系数分布图中预设滑动窗左侧的元素为主反射区左侧元素,预设滑动窗右侧的元素为主反射区右侧元素;
计算所有主反射区右侧元素的平方和,作为当前滤波器系数矢量均值对应的第一能量值;
计算所有主反射区元素、所有主反射区左侧元素和所有主反射区右侧元素的平方和,作为当前滤波器系数矢量均值对应的第二能量值,以及
根据第二预设算法计算第二能量值的平滑值;
根据第一能量值、以及第二能量值的平滑值,采用第三预设算法确定当前滤波器系数矢量均值对应的滤波器系数状态参考量。
可选的,判断模块504还用于:
针对滤波模块503获得的每一个滤波器系数矢量均值,分别执行:
根据当前滤波器系数矢量均值,按照预设布图规则确定当前滤波器系数矢量均值对应的滤波器系数分布图,并
根据滤波器系数分布图,将当前滤波器系数矢量均值中的元素至少分为主反射区元素、主反射区左侧元素和主反射区右侧元素,其中,主反射区元素是指滤波器系数分布图中预设滑动窗内包含的所有元素的平方和为最大值时预设滑动窗内包含的元素,且滤波器系数分布图中预设滑动窗左侧的元素为主反射区左侧元素,预设滑动窗右侧的元素为主反射区右侧元素;
计算所有主反射区元素、所有主反射区左侧元素和所有主反射区右侧元素的平方和,作为当前滤波器系数矢量均值对应的第二能量值,以及
根据第二预设算法计算第二能量值的平滑值;
计算所有主反射区左侧元素和所有主反射区右侧元素的平方和,作为当前滤波器系数矢量均值对应的第三能量值;
根据第三能量值、以及第二能量值的平滑值,采用第三预设算法确定当前滤波器系数矢量均值对应的滤波器系数状态参考量。
可选的,判断模块504进一步用于:
根据滤波器系数分布图,确定当前滤波器系数矢量均值中绝对值最大的元素;
构建一个滑动窗,根据绝对值最大的元素的绝对值确定滑动窗的窗高,以预设数值为滑动窗的窗长;
将滑动窗在滤波器系数分布图上从当前滤波器系数矢量均值中的第一个元素滑动至最后一个元素,确定滑动窗内包含的所有元素的平方和为最大值时,滑动窗内包含的元素为主反射区元素,滑动窗左侧的元素为主反射区左侧元素,滑动窗右侧的元素为主反射区右侧元素。
此处原理与方法部分相同,如图4A所示。
可选的,装置还包括:
重置模块505,用于在根据判断模块确定滤波器状态发散之后,停止更新滤波器系数矢量,并将当前的滤波器系数矢量清零。
需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供了一种判断滤波器状态发散的设备,如图6所示,图6为本发明实施例中判断滤波器状态发散的设备结构示意图,该设备包括收发器601、处理器602、存储器603。收发器601、处理器602以及存储器603相互连接。本发明实施例中不限定上述部件之间的具体连接介质。本发明实施例在图6中以存储器603、处理器602以及收发器601之间通过总线604连接,总线在图6中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本发明实施例中,收发器601,用于采集近端信号以及与近端信号同步的远端信号。
处理器602,用于分别针对收发器601采集的近端信号和远端信号进行同步分帧处理,获得N对同步帧,每一对同步帧包括一个近端信号帧以及一个与近端信号帧同步的远端信号帧,并进一步将获得的N对同步帧通过滤波器进行滤波处理,获得对应N对同步帧的N个滤波器系数矢量均值,最后,根据获得的N个滤波器系数矢量均值,分别计算对应N对同步帧的N个滤波器系数状态参考量,以及当N个滤波器系数状态参考量中存在至少M个滤波器系数状态参考量大于预设的门限值时,确定滤波器状态发散,其中,M为预设值,N和M均为正整数,且N≥M。
本发明实施例中存储器603,用于存储处理器602执行的程序代码,可以是易失性存储器(英文:volatilememory),例如随机存取存储器(英文:random-accessmemory,缩写:RAM);存储器603也可以是非易失性存储器(英文:non-volatilememory),例如只读存储器(英文:read-onlymemory,缩写:ROM),快闪存储器(英文:flashmemory),硬盘(英文:harddiskdrive,缩写:HDD)或固态硬盘(英文:solid-statedrive,缩写:SSD)、或者存储器603是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器603可以是上述存储器的组合。
本发明实施例中处理器602,可以是一个中央处理单元(英文:centralprocessingunit,简称CPU)。
综上所述,本发明实施例利用滤波器系数状态参考量来判断滤波器状态是否发散,以达到控制回声消除器滤波器系数矢量更新、保证通话质量的目的,由于滤波器系数状态参考量对信号能量的变化不敏感,不受近端信号和远端信号所处环境的影响,因此该方法的得到的结果稳定性较好,同时滤波器系数状态参考量的计算复杂度较低,因此,通过本发明的方法判断滤波器状态是否发散能够有效地判断通话过程中是否有双讲,从而达到控制滤波器系数矢量更新,获得高质量输出信号的目的。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (14)
1.一种判断滤波器状态发散的方法,其特征在于,包括:
采集近端信号以及与所述近端信号同步的远端信号,并
分别针对所述近端信号和所述远端信号进行同步分帧处理,获得N对同步帧,每一对同步帧包括一个近端信号帧以及一个与所述近端信号帧同步的远端信号帧;
将所述N对同步帧通过滤波器进行滤波处理,获得对应所述N对同步帧的N个滤波器系数矢量均值;
根据所述N个滤波器系数矢量均值,分别计算对应所述N对同步帧的N个滤波器系数状态参考量;
当所述N个滤波器系数状态参考量中存在至少M个滤波器系数状态参考量大于预设的门限值时,确定所述滤波器状态发散;
其中,M为预设值,所述N和M均为正整数,且N≥M。
2.如权利要求1所述的方法,其特征在于,所述分别针对所述近端信号和所述远端信号进行同步分帧处理,获得N对同步帧,包括:
根据预设帧长,将所述近端信号按照信号时序先后顺序进行分帧处理,获得N个近端信号帧;
同时,根据所述预设帧长,将与所述近端信号同步的远端信号按照信号时序先后顺序进行分帧处理,获得N个与所述近端信号帧同步的远端信号帧;
将获得的任意一个近端信号帧以及与所述任意一个近端信号帧同步的远端信号帧构成一对同步帧,共获得N对同步帧。
3.如权利要求1所述的方法,其特征在于,所述将所述N对同步帧通过滤波器进行滤波处理,获得对应N对同步帧的N个滤波器系数矢量均值,包括:
针对每一对同步帧,分别执行:
根据预设帧长和第一预设算法确定当前一对同步帧对应的滤波器系数矢量更新次数T,以及T次滤波器系数矢量更新对应的T个更新结果,其中,T为正整数;
根据所述当前一对同步帧对应的滤波器系数矢量更新次数T以及所述T次滤波器系数矢量更新对应的T个更新结果,获得对应所述当前一对同步帧的滤波器系数矢量均值。
4.如权利要求1或2所述的方法,其特征在于,所述根据N个滤波器系数矢量均值,分别计算对应N对同步帧的N个滤波器系数状态参考量,包括:
针对每一个滤波器系数矢量均值,分别执行:
根据当前滤波器系数矢量均值,按照预设布图规则确定所述当前滤波器系数矢量均值对应的滤波器系数分布图,并
根据所述滤波器系数分布图,将所述当前滤波器系数矢量均值中的元素至少分为主反射区元素、主反射区左侧元素和主反射区右侧元素,其中,所述主反射区元素是指所述滤波器系数分布图中预设滑动窗内包含的所有元素的平方和为最大值时所述预设滑动窗内包含的元素,且所述滤波器系数分布图中所述预设滑动窗左侧的元素为所述主反射区左侧元素,所述预设滑动窗右侧的元素为所述主反射区右侧元素;
计算所有主反射区右侧元素的平方和,作为所述当前滤波器系数矢量均值对应的第一能量值;
计算所有主反射区元素、所有主反射区左侧元素和所有主反射区右侧元素的平方和,作为所述当前滤波器系数矢量均值对应的第二能量值,以及
根据第二预设算法计算所述第二能量值的平滑值;
根据所述第一能量值、以及所述第二能量值的平滑值,采用第三预设算法确定所述当前滤波器系数矢量均值对应的滤波器系数状态参考量。
5.如权利要求1或2所述的方法,其特征在于,所述根据N个滤波器系数矢量均值,分别计算对应N对同步帧的N个滤波器系数状态参考量,包括:
针对每一个滤波器系数矢量均值,分别执行:
根据当前滤波器系数矢量均值,按照预设布图规则确定所述当前滤波器系数矢量均值对应的滤波器系数分布图,并
根据所述滤波器系数分布图,将所述当前滤波器系数矢量均值中的元素至少分为主反射区元素、主反射区左侧元素和主反射区右侧元素,其中,所述主反射区元素是指所述滤波器系数分布图中预设滑动窗内包含的所有元素的平方和为最大值时所述预设滑动窗内包含的元素,且所述滤波器系数分布图中所述预设滑动窗左侧的元素为所述主反射区左侧元素,所述预设滑动窗右侧的元素为所述主反射区右侧元素;
计算所有主反射区元素、所有主反射区左侧元素和所有主反射区右侧元素的平方和,作为所述当前滤波器系数矢量均值对应的第二能量值,以及
根据所述第二预设算法计算所述第二能量值的平滑值;
计算所有主反射区左侧元素和所有主反射区右侧元素的平方和,作为所述当前滤波器系数矢量均值对应的第三能量值;
根据所述第三能量值、以及所述第二能量值的平滑值,采用所述第三预设算法确定所述当前滤波器系数矢量均值对应的滤波器系数状态参考量。
6.如权利要求4或5所述的方法,其特征在于,根据所述滤波器系数分布图,将所述当前滤波器系数矢量均值中的元素至少分为主反射区元素、主反射区左侧元素和主反射区右侧元素,包括:
根据所述滤波器系数分布图,确定所述当前滤波器系数矢量均值中绝对值最大的元素;
构建一个滑动窗,根据所述绝对值最大的元素的绝对值确定所述滑动窗的窗高,以预设数值为所述滑动窗的窗长;
将所述滑动窗在所述滤波器系数分布图上从所述当前滤波器系数矢量均值中的第一个元素滑动至最后一个元素,确定所述滑动窗内包含的所有元素的平方和为最大值时,所述滑动窗内包含的元素为所述主反射区元素,所述滑动窗左侧的元素为所述主反射区左侧元素,所述滑动窗右侧的元素为所述主反射区右侧元素。
7.如权利要求3所述的方法,其特征在于,在确定所述滤波器状态发散之后,所述方法还包括:
停止更新滤波器系数矢量,并将当前的滤波器系数矢量清零。
8.一种判断滤波器状态发散的装置,其特征在于,包括:
采集模块,用于采集近端信号以及与所述近端信号同步的远端信号;
分帧模块,用于分别针对所述采集模块采集的所述近端信号和所述远端信号进行同步分帧处理,获得N对同步帧,每一对同步帧包括一个近端信号帧以及一个与所述近端信号帧同步的远端信号帧;
滤波模块,用于将所述分帧模块获得的所述N对同步帧通过滤波器进行滤波处理,获得对应所述N对同步帧的N个滤波器系数矢量均值;
判断模块,用于根据所述滤波模块获得的所述N个滤波器系数矢量均值,分别计算对应所述N对同步帧的N个滤波器系数状态参考量;
以及当所述N个滤波器系数状态参考量中存在至少M个滤波器系数状态参考量大于预设的门限值时,确定所述滤波器状态发散;
其中,M为预设值,所述N和M均为正整数,且N≥M。
9.如权利要求8所述的装置,其特征在于,所述分帧模块具体用于:
根据预设帧长,将所述采集模块采集的所述近端信号按照信号时序先后顺序进行分帧处理,获得N个近端信号帧;
同时,根据所述预设帧长,将所述采集模块采集的与所述近端信号同步的远端信号按照信号时序先后顺序进行分帧处理,获得N个与所述近端信号帧同步的远端信号帧;
将获得的任意一个近端信号帧以及与所述任意一个近端信号帧同步的远端信号帧构成一对同步帧,共获得N对同步帧。
10.如权利要求8所述的装置,其特征在于,所述滤波模块具体用于:
针对所述分帧模块获得的每一对同步帧,分别执行:
根据预设帧长和第一预设算法确定当前一对同步帧对应的滤波器系数矢量更新次数T,以及T次滤波器系数矢量更新对应的T个更新结果,其中,T为正整数;
根据所述当前一对同步帧对应的滤波器系数矢量更新次数T以及所述T次滤波器系数矢量更新对应的T个更新结果,获得对应所述当前一对同步帧的滤波器系数矢量均值。
11.如权利要求8或9所述的装置,其特征在于,所述判断模块具体用于:
针对所述滤波模块获得的每一个滤波器系数矢量均值,分别执行:
根据当前滤波器系数矢量均值,按照预设布图规则确定所述当前滤波器系数矢量均值对应的滤波器系数分布图,并
根据所述滤波器系数分布图,将所述当前滤波器系数矢量均值中的元素至少分为主反射区元素、主反射区左侧元素和主反射区右侧元素,其中,所述主反射区元素是指所述滤波器系数分布图中预设滑动窗内包含的所有元素的平方和为最大值时所述预设滑动窗内包含的元素,且所述滤波器系数分布图中所述预设滑动窗左侧的元素为所述主反射区左侧元素,所述预设滑动窗右侧的元素为所述主反射区右侧元素;
计算所有主反射区右侧元素的平方和,作为所述当前滤波器系数矢量均值对应的第一能量值;
计算所有主反射区元素、所有主反射区左侧元素和所有主反射区右侧元素的平方和,作为所述当前滤波器系数矢量均值对应的第二能量值,以及
根据第二预设算法计算所述第二能量值的平滑值;
根据所述第一能量值、以及所述第二能量值的平滑值,采用第三预设算法确定所述当前滤波器系数矢量均值对应的滤波器系数状态参考量。
12.如权利要求8或9所述的装置,其特征在于,所述判断模块还用于:
针对所述滤波模块获得的每一个滤波器系数矢量均值,分别执行:
根据当前滤波器系数矢量均值,按照预设布图规则确定所述当前滤波器系数矢量均值对应的滤波器系数分布图,并
根据所述滤波器系数分布图,将所述当前滤波器系数矢量均值中的元素至少分为主反射区元素、主反射区左侧元素和主反射区右侧元素,其中,所述主反射区元素是指所述滤波器系数分布图中预设滑动窗内包含的所有元素的平方和为最大值时所述预设滑动窗内包含的元素,且所述滤波器系数分布图中所述预设滑动窗左侧的元素为所述主反射区左侧元素,所述预设滑动窗右侧的元素为所述主反射区右侧元素;
计算所有主反射区元素、所有主反射区左侧元素和所有主反射区右侧元素的平方和,作为所述当前滤波器系数矢量均值对应的第二能量值,以及
根据所述第二预设算法计算所述第二能量值的平滑值;
计算所有主反射区左侧元素和所有主反射区右侧元素的平方和,作为所述当前滤波器系数矢量均值对应的第三能量值;
根据所述第三能量值、以及所述第二能量值的平滑值,采用所述第三预设算法确定所述当前滤波器系数矢量均值对应的滤波器系数状态参考量。
13.如权利要求11或12所述的装置,其特征在于,所述判断模块进一步用于:
根据所述滤波器系数分布图,确定所述当前滤波器系数矢量均值中绝对值最大的元素;
构建一个滑动窗,根据所述绝对值最大的元素的绝对值确定所述滑动窗的窗高,以预设数值为所述滑动窗的窗长;
将所述滑动窗在所述滤波器系数分布图上从所述当前滤波器系数矢量均值中的第一个元素滑动至最后一个元素,确定所述滑动窗内包含的所有元素的平方和为最大值时,所述滑动窗内包含的元素为所述主反射区元素,所述滑动窗左侧的元素为所述主反射区左侧元素,所述滑动窗右侧的元素为所述主反射区右侧元素。
14.如权利要求10所述的装置,其特征在于,所述装置还包括:
重置模块,用于在根据所述判断模块确定所述滤波器状态发散之后,停止更新滤波器系数矢量,并将当前的滤波器系数矢量清零。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510433689.1A CN105141287A (zh) | 2015-07-21 | 2015-07-21 | 一种判断滤波器状态发散的方法及装置 |
PCT/CN2016/075804 WO2017012350A1 (zh) | 2015-07-21 | 2016-03-07 | 一种判断滤波器状态发散的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510433689.1A CN105141287A (zh) | 2015-07-21 | 2015-07-21 | 一种判断滤波器状态发散的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105141287A true CN105141287A (zh) | 2015-12-09 |
Family
ID=54726524
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510433689.1A Pending CN105141287A (zh) | 2015-07-21 | 2015-07-21 | 一种判断滤波器状态发散的方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105141287A (zh) |
WO (1) | WO2017012350A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017012350A1 (zh) * | 2015-07-21 | 2017-01-26 | 华为技术有限公司 | 一种判断滤波器状态发散的方法及装置 |
CN110364174A (zh) * | 2019-07-18 | 2019-10-22 | 申瓯通信设备有限公司 | 一种回声消除系统及回音消除方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
HUE042507T2 (hu) | 2015-09-24 | 2019-07-29 | SWISS KRONO Tec AG | Eljárás fából készült szerkezeti anyagok illékony szerves vegyületei emissziójának csökkentésére, valamint fából készült szerkezeti anyagok |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1242651A (zh) * | 1998-03-30 | 2000-01-26 | 摩托罗拉公司 | 用于具有解码器的装置的回声消除器及其方法 |
CN101026392A (zh) * | 2006-02-22 | 2007-08-29 | 阿尔卡特朗讯 | 对滤波器的调整进行控制的方法 |
JP3979169B2 (ja) * | 2002-04-26 | 2007-09-19 | 松下電工株式会社 | エコーキャンセラ |
CN101119135A (zh) * | 2007-07-04 | 2008-02-06 | 深圳市融合视讯科技有限公司 | 一种用于回音消除的步长参数调整方法及设备 |
CN102377453A (zh) * | 2010-08-06 | 2012-03-14 | 联芯科技有限公司 | 一种控制自适应滤波器更新的方法、装置及回声消除器 |
CN103259563A (zh) * | 2012-02-16 | 2013-08-21 | 联芯科技有限公司 | 自适应滤波器发散检测方法及回声消除系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8199927B1 (en) * | 2007-10-31 | 2012-06-12 | ClearOnce Communications, Inc. | Conferencing system implementing echo cancellation and push-to-talk microphone detection using two-stage frequency filter |
CN105141287A (zh) * | 2015-07-21 | 2015-12-09 | 华为技术有限公司 | 一种判断滤波器状态发散的方法及装置 |
-
2015
- 2015-07-21 CN CN201510433689.1A patent/CN105141287A/zh active Pending
-
2016
- 2016-03-07 WO PCT/CN2016/075804 patent/WO2017012350A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1242651A (zh) * | 1998-03-30 | 2000-01-26 | 摩托罗拉公司 | 用于具有解码器的装置的回声消除器及其方法 |
JP3979169B2 (ja) * | 2002-04-26 | 2007-09-19 | 松下電工株式会社 | エコーキャンセラ |
CN101026392A (zh) * | 2006-02-22 | 2007-08-29 | 阿尔卡特朗讯 | 对滤波器的调整进行控制的方法 |
CN101119135A (zh) * | 2007-07-04 | 2008-02-06 | 深圳市融合视讯科技有限公司 | 一种用于回音消除的步长参数调整方法及设备 |
CN102377453A (zh) * | 2010-08-06 | 2012-03-14 | 联芯科技有限公司 | 一种控制自适应滤波器更新的方法、装置及回声消除器 |
CN103259563A (zh) * | 2012-02-16 | 2013-08-21 | 联芯科技有限公司 | 自适应滤波器发散检测方法及回声消除系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017012350A1 (zh) * | 2015-07-21 | 2017-01-26 | 华为技术有限公司 | 一种判断滤波器状态发散的方法及装置 |
CN110364174A (zh) * | 2019-07-18 | 2019-10-22 | 申瓯通信设备有限公司 | 一种回声消除系统及回音消除方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2017012350A1 (zh) | 2017-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104036784B (zh) | 一种回声消除方法及装置 | |
WO2018188282A1 (zh) | 回声消除方法、装置、会议平板及计算机存储介质 | |
CN109473118B (zh) | 双通道语音增强方法及装置 | |
CN101917527B (zh) | 回声消除的方法和装置 | |
CN105391879B (zh) | 一种无回声残留双端通话鲁棒的声学回声消除方法 | |
US9344579B2 (en) | Variable step size echo cancellation with accounting for instantaneous interference | |
CN112017679B (zh) | 用于自适应滤波器系数更新的方法及装置、设备 | |
CN110782914B (zh) | 信号处理方法、装置、终端设备及存储介质 | |
CN111445917B (zh) | 一种回声消除方法、装置以及计算机存储介质 | |
CN111768796A (zh) | 一种声学回波消除与去混响方法及装置 | |
CN109754813A (zh) | 基于快速收敛特性的变步长回声消除方法 | |
CN109559756B (zh) | 滤波系数确定方法、回声消除方法、相应装置及设备 | |
CN105141287A (zh) | 一种判断滤波器状态发散的方法及装置 | |
CN109727605B (zh) | 处理声音信号的方法及系统 | |
Albu et al. | New variable step size affine projection algorithms | |
CN105491256B (zh) | 一种声学回声消除器启动阶段稳健的步长调整方法 | |
CN111989934B (zh) | 回声消除装置、回声消除方法、信号处理芯片及电子设备 | |
CN111355855B (zh) | 回声处理方法、装置、设备及存储介质 | |
CN109935238B (zh) | 一种回声消除方法、装置和终端设备 | |
WO2017080371A1 (zh) | 一种改善声学回波抵消器自适应学习的方法及装置 | |
CN113241084A (zh) | 回声消除的方法、装置及设备 | |
CN106060295A (zh) | 一种凸组合系数差的成比例仿射投影回声消除方法 | |
CN104392727A (zh) | 音频信号处理方法和相关装置 | |
CN118138690B (zh) | 用于电话通信的鲁棒回声抵消方法与系统 | |
CN114650340B (zh) | 一种回声消除方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20180914 |