回声消除的方法和装置的制作方法

文档序号:7758729阅读:184来源:国知局
专利名称:回声消除的方法和装置的制作方法
技术领域
本发明涉及通信领域,尤其涉及一种回声消除的方法和装置。
背景技术
在语音通信系统中,远端输入信号到达本地信号接收设备(例如电话机)后,经过 本地信号接收设备的音箱、房间等器件到达听筒,在此过程中经常会由于音箱、房间等器件 内的声音反射产生回声。为了消除回声,现有技术中在语音信号输出之前使用自适应滤波 器进行滤波,目前广泛使用的滤波算法为自适应滤波归一化最小均方算法(NLMS)。基于NLMS算法的回声消除过程如图1所示,其中χ表示远端输入信号,y表示χ经 过房间形成的实际回声信号,ν表示本地说话者的声音及背景噪声,d表示自适应滤波器的 近端输入信号,JP表示经过自适应滤波器运算得到的估计回声,e表示滤波输出的残差信号, h表示实际房间脉冲响应,众表示自适应滤波器系数,即h的估计值。图1所示的回声消除过程分为两部分,即滤波过程e(n) = d(n)~\vT(n)x(n),............公式(1)滤波器系数更新过程++, 0<μ<2............公式(2)(上式中用斜体表示的是标量(即U、e(n)),粗体表示的是矢量(即;、
Λ
w( +1)、x(n)))其中
_ 1 ] w{n) = [W0 (η), W, (η), L, w二 (η)]τχ (η) = [χ0 (η),X1 (η),L, Xih (η) ]τ = [χ (η),χ (η_1),L, χ (η-Κ+1) ]τ其中,K为滤波器阶数。当本地没有说话声音及背景噪声ν时,众取值正常,此时滤波器可以正常工作,但 是当滤波器的本地有说话声音及背景噪声ν时,自适应滤波器会受到ν的干扰,滤波过程中 d的量包括了 V,导致e的取值变大,滤波器系数众产生较大的误差,甚至引起众的发散。这 就是回声消除中双端发声问题的原因,双端发声问题已成为回声消除的技术瓶颈。现有技术中为了克服双端发声问题,采用了双端发声检测技术,在检测到双端发 声时,根据双端发声检测的结果调整滤波器系数更新过程中的步长μ,即检测到双端发声 后将迭代步长μ直接赋0,停止自适应滤波器的迭代更新。现有技术中双端发声检测技术 主要包括以下两种(1)能量比较法能量比较法主要是通过比较回声消除后的残差能量和消除前的近端信号能量来 进行双端发声检测。该方法中定义了回音往返损耗增强(ERLE)
4
当ERLE满足式下式时认为检测到双端发声 式中的ERLE。pt为预先设定的阈值。该方法的物理意义为当ν不存在时,自适应 滤波器应具有较好的稳态收敛性能,所以ERLE应该超过这个阈值;当ν存在时,自适应滤波 器不可能消除近端信号v,因此输出的残差信号e也包含了 ν(其中d = y+v),ERLE应该小 于这个阈值。(2)相关计算法相关计算法利用近端和残差信号的相关性来进行双端发声检测。当不存在双端发 声时,由于自适应滤波器能够很好地逼近回声信道,d(n)和相关性较大,d(n)和e(n) 相关性较小;而当下列两式的条件同时满足时,则认为检测到了双端发声,(式中I\、T2为设 定的阈值)
E[d{n)y{n)\ ^ τ、
E[d(n)e(n)]、〒~~ 2其中d(n)和j>(n)、e(n)能量的计算由下式给出σ]={\-β)σ]+β\ {η)\2σΙ=(1-β)σΙ+β\Κη)\2σ2ε=(}-β)σΙ+β\β{ )\2但是,上述能量法和相关计算法均要求自适应滤波器已经处于收敛或接近收敛状 态,而在回声消除的实际应用中往往很难满足这一条件,如在一次通信中对话开始时,产生 双端发声的概率比通话过程中要高,此时,自适应滤波器还在收敛过程中,所以利用能量法 和相关计算法进行双端发声检测,并控制自适应滤波器停止迭代,将导致回声消除性能恶 化和检测错误的恶性循环。同时,双端发声检测所存在的误检将导致自适应滤波器系数不 能有效更新,同样也可能造成回声消除性能恶化和检测错误的恶性循环。因此,提供一种既 可以消除回声又不需要进行双端发声检测的方案成为亟待解决的问题。

发明内容
本发明实施例提供了一种回声消除的方法和装置,在不进行双端发声检测的情况 下实现语音通话中的回声消除。本发明实施例提供了一种回声消除的方法,包括自适应滤波器根据上一次滤波处理时的远端输入信号、上一次滤波处理得到的残 差信号,确定所述远端输入信号和残差信号的能量;所述自适应滤波器根据上一次滤波处理使用的滤波器系数、所述远端输入信号和
5残差信号,以及所述远端输入信号和残差信号的能量和,确定本次滤波处理使用的滤波器 系数;所述自适应滤波器根据确定出的本次滤波器系数执行本次滤波处理。所述自适应滤波器通过下述公式确定本次滤波处理使用的滤波器系数,
ΛΛ1+ 1) = w( ) + —-- e(n)x(n)其中,;;+ 1)表示本次滤波处理使用的滤波器系数,&…表示上一次滤波处理使 用的滤波器系数,e(n)表示上一次滤波处理得到的残差信号,χ (η)表示上一次滤波处理时 的远端输入信号,οχ2表示所述远端输入信号的能量,表示所述残差信号的能量。所述自适应滤波器通过下述公式确定本次滤波处理使用的滤波器系数,
ΛΛU+1) = w( ) + ---j- e(n)x(n)
Ν{σ2χ +<)其中,;+ 表示本次滤波处理使用的滤波器系数,;(…表示上一次滤波处理使 用的滤波器系数,e(n)表示上一次滤波处理得到的残差信号,χ (η)表示上一次滤波处理时 的远端输入信号,οχ2表示所述远端输入信号的能量,表示所述残差信号的能量,N为 所述。χ2+σ/的系数。所述自适应滤波器根据所述远端输入信号和残差信号的权重确定所述远端输入 信号和残差信号的能量和。在确定所述远端输入信号和残差信号的能量和之前,还将所述残差信号的能量乘 以参数Y,所述参数Y具体为·/: JJy其中,d(n)为当前近端信号,ο d2表示当前近端信号的能量,R2表示所述滤波得到 的残差信号的能量。本发明实施例提供了一种回声消除的装置,包括第一确定单元,用于根据上一次滤波处理时的远端输入信号、上一次滤波处理得 到的残差信号,确定所述远端输入信号和残差信号的能量;第二确定单元,与所述第一确定单元连接,用于根据上一次滤波处理使用的滤波 器系数、所述远端输入信号和残差信号、以及所述第一确定单元确定的所述远端输入信号 和残差信号的能量和,确定本次滤波处理使用的滤波器系数;滤波单元,与所述第二确定单元连接,用于根据所述第二确定单元确定出的滤波 器系数执行滤波处理。所述第二确定单元具体用于通过下述公式确定本次滤波处理使用的滤波器系数,
ΛΛJw( + l) = w( ) + ———-e(n)x(n)其中,;+ 1)表示本次滤波处理使用的滤波器系数,&…表示上一次滤波处理使 用的滤波器系数,e(n)表示上一次滤波处理得到的残差信号,χ (η)表示上一次滤波处理时 的远端输入信号,οχ2表示所述远端输入信号的能量,表示所述残差信号的能量。
6
所述第二确定单元具体用于通过下述公式确定本次滤波处理使用的滤波器系数,
ΛΛUw(n + 1) = + ~—2-e(n)x{n)
Ν(σ2χ +σ;)其中,;…+ 1)表示本次滤波处理使用的滤波器系数,;;( )表示上一次滤波处理使 用的滤波器系数,e(n)表示上一次滤波处理得到的残差信号,χ (η)表示上一次滤波处理时 的远端输入信号,οχ2表示所述远端输入信号的能量,表示所述残差信号的能量,N为 所述。χ2+σ/的系数。所述第二确定单元还用于根据所述远端输入信号和残差信号的权重确定所述远 端输入信号和残差信号的能量和。所述第二确定单元还用于在确定所述远端输入信号和残差信号的能量和之前,
E[d(n)e(n)]
将所述残差信号的能量乘以参数Y,所述参数Y具体为·/= I22
^dcre其中,d(n)为当前近端信号,σ d2表示当前近端信号的能量,R2表示所述滤波得到 的残差信号的能量。与现有技术相比,本发明实施例至少具有以下优点本发明实施例中,自适应滤波器根据上一次滤波处理使用的滤波器系数、上一次 滤波处理时的远端输入信号、上一次滤波处理得到的残差信号、以及该远端输入信号和残 差信号的能量和,确定本次滤波处理使用的滤波器系数,当存在近端信号时,由于残差信号 的能量增大,自适应滤波器可以通过残差信号的能量调节滤波器系数的变化,当没有近端 信号时,由于残差信号的能量很小,可以忽略对滤波器系数变化的影响,保证自适应滤波器 的正常工作。


图1是现有技术中回声消除过程示意图;图2是本发明实施例提供的回声消除的方法的流程示意图;图3是本发明实施例提供的回声消除的装置的结构示意图。
具体实施例方式本发明实施例中,对现有的滤波器系数更新过程进行调整,自适应滤波器根据上 一次滤波处理时的远端输入信号、上一次滤波处理得到的残差信号、该远端输入信号和残 差信号的能量和、以及上一次滤波处理使用的滤波器系数确定本次滤波处理使用的滤波器 系数,使得滤波器系数的变化与近端信号的能量变化成反比,起到在近端信号出现时减缓 滤波器系数迭代更新的作用。本发明实施例中,对现有技术中的公式(1)和(2)进行调整,根据现有技术中信 号能量的表达方式,远端信号Χ (η)的能量可以表达为|x(n)||2=iV 2,其中N为信号能量系 数,σ=(1-/9)σ+Α|χ( )|2,则公式⑵可以调整为如下公式(3)
7
w( + l) = w(n) + ——^--e(n)x(n)……公式(3)
Ν(σχ + cae)公式(3)中,u的取值优选地为0< μ <2,参数c用来调节O2e与σ χ2的权重, 其取值一般由实验确定,优选地取2 4。需要说明的是,系数N、u以及c的取值可以根据实际需要灵活调整,例如取1,也 可以根据实际需要去除公式(3)中的上述一种或多种系数。当系数N、u以及c都取1,或 者说系数N、u以及c都从公式(3)去除后,得到下述公式⑷
ΛΛJw( + l) = w(n) + ———Ye(n)x(n)......公式(4)
σχ +<Je结合上述公式,图2示出了本发明实施例提供的回声消除流程,该流程可包括以 下步骤步骤201,自适应滤波器获取上一次滤波处理时记录的远端输入信号χ (η)、滤波 得到的残差信号e (η)和上一次滤波器系数G(n)。具体的,自适应滤波器内缓存上一次或几次滤波处理时的远端输入信号、滤波得 到的残差信号和上一次滤波器系数,优选的,缓存上一次滤波处理时的远端输入信号、滤波 得到的残差信号和上一次滤波器系数即可。当缓存多次远端输入信号、残差信号和滤波器 系数时,可以设置标识以表明各次缓存数据的次序关系,使得自适应滤波器可以识别出上 一次滤波处理时的远端输入信号、滤波得到的残差信号和上一次滤波器系数。步骤202,自适应滤波器根据记录的远端输入信号χ (η)和残差信号e (η)确定远端 输入信号x(n)和残差信号e(n)的能量。本发明是实例中,自适应滤波器采用现有的能量确定方式确定信号的能量,具体 的,x(n)的能量 2=(1-灼 2+;%( )|2’6(11)的能量cre2= (1-/7 / |φ )|2。步骤203,自适应滤波器根据滤波器系数计算公式(公式(3)或(4))计算本次滤 波器系数一 η +1)。步骤204,自适应滤波器根据本次滤波器系数+ 执行滤波处理。自适应滤波器确定出;;+ 后,即可根据下述公式进行本次滤波处理e{n) = d(n)-\ντ{ )\{ )。滤波处理结束后,自适应滤波器可记录滤波处理时的远端输入信号χ(η+1)、滤波 得到的残差信号e(n+l)和该次滤波器系数;;( + 1),以作为计算下一次滤波处理过程所使 用的滤波器系数的依据。采用本发明实施例提供的方式更新滤波器系数时,在单端说话时(即只有远端输 入信号X、不存在本地说话者的声音及背景噪声V时),由于σ %的取值很小,因此采用公 式(3)或(4)进行计算的结果与采用现有技术中的公式(2)进行计算的结果近似相等,滤 波器系数的更新过程与经典算法基本保持一致。在双端说话时(即同时有远端输入信号χ 和本地说话者的声音及背景噪声ν),误差信号中包含了近端信号,且O2e与O2X相当,因 此分母会因为误差信号能量的增大而增大,就相当于减小步长μ值,减缓滤波器系数的更 新,且减缓程度与误差信号能量成正比,因此可以在不同的状态下进行平滑的过渡。而且,
8采用本发明实施例提供的方法,在回声路径发生变化时也可以保证滤波器的正常工作在 回声路径刚发生变化的时刻,误差信号也比较大,这时滤波器更新速度相对较慢,但随着滤 波器逐渐收敛,误差信号不断减少,从而滤波器更新速度也逐渐加快,如此形成正反馈,滤 波器最终的收敛速度没有太大的影响。需要说明的是,本发明实施例中提供的上述公式(3)或公式(4)还可以根据本发 明实施例提供的方法的思想进行其他调整,例如在公式(3)中CQ2e之前再乘以一个参数 Y,将公式(3)调整为+1) = + μ+γ(:σ2) <η)χ{η)............公式(5)
E[d{ri)e(n)]其中Jcr^2其中,参数Y是近端信号d(n)与误差信号e(n)的互相关系数,在回声消除不同 的状态时存在不同的取值范围,其主要作用在于在单端说话时进一步降低误差能量项 2对 滤波器正常更新的影响。具体的,在只有远端输入信号X、不存在本地说话者的声音及背景 噪声V时,近端信号d(n)与误差信号e(n)相关性很低,参数Y取值趋向于0,进一步减少 滤波器系数更新过程中误差能量项<对滤波器正常更新的影响。同时,在同时有远端输入 信号χ和本地说话者的声音及背景噪声ν时,近端信号与误差信号都包含近端信号,相关 度比较高,因此参数Y取值趋向于1,进而保证滤波器系数更新表达式分母项中误差能量 项 2的作用,减缓滤波器系数的更新。在回声路径发生变化时,近端信号d(n)只含有回声 信号,残差信号e(n)包含因为回声路径变化没有正常消的回声信号,近端信号与残差信号 存在一定的相关度,但可能存在较大的波动范围,因此参数Y取值一般在0.5士0.2,部分 减小误差能量项 2对滤波器更新过程的影响;并且随着滤波器逐渐收敛,参数Y取值逐渐 减小并趋向于0,进一步减小 2对滤波器更新过程的影响;同时误差信号不断减少,从而滤 波器更新速度也逐渐加快,如此形成的正反馈能很快的使滤波器系数恢复到正常的更新过 程,即没有影响误差能量项 2对滤波器更新过程的作用。本发明实施例中,自适应滤波器根据上一次滤波处理使用的滤波器系数、上一次 滤波处理时的远端输入信号、上一次滤波处理得到的残差信号、以及该远端输入信号和残 差信号的能量和,确定本次滤波处理使用的滤波器系数,当存在近端信号时,由于残差信号 的能量增大,自适应滤波器可以通过残差信号的能量调节滤波器系数的变化,当没有近端 信号时,由于残差信号的能量很小,可以忽略对滤波器系数变化的影响,保证自适应滤波器 的正常工作。本发明实施例提供了一种回声消除的装置,如图3所示,包括第一确定单元11,用于根据上一次滤波处理时的远端输入信号、上一次滤波处理 得到的残差信号,确定所述远端输入信号和残差信号的能量;第二确定单元12,与所述第一确定单元11连接,用于根据上一次滤波处理使用的 滤波器系数、所述远端输入信号和残差信号、以及所述第一确定单元确定的所述远端输入 信号和残差信号的能量和,确定本次滤波处理使用的滤波器系数;滤波单元13,与所述第二确定单元12连接,用于根据所述第二确定单元12确定出
9的滤波器系数执行滤波处理。 所述第二确定单元12具体用于通过下述公式确定本次滤波处理使用的滤波器 系数, w( + l) = w( ) + —-Te{n)\{n)
σι + σ其中,w( + l)表示本次滤波处理使用的滤波器系数,w( )表示上一次滤波处理使 用的滤波器系数,e(n)表示上一次滤波处理得到的残差信号,χ (η)表示上一次滤波处理时 的远端输入信号,οχ2表示所述远端输入信号的能量,表示所述残差信号的能量。所述第二确定单元12还可以用于通过下述公式确定本次滤波处理使用的滤波 器系数,
ΛΛU+ 1) = w( ) + ——2——e(n)x(n)其中,+ 1)表示本次滤波处理使用的滤波器系数,表示上一次滤波处理使 用的滤波器系数,e(n)表示上一次滤波处理得到的残差信号,χ (η)表示上一次滤波处理时 的远端输入信号,οχ2表示所述远端输入信号的能量,表示所述残差信号的能量,N为 所述。χ2+σ/的系数。所述第二确定单元12使用上述公式(1)或(2)确定滤波器系数时,还使根据所述 远端输入信号和残差信号的权重确定所述远端输入信号和残差信号的能量和,即使用所述 σ 2e乘以调节所述σ \与σ χ2的权重的参数C。所述第二确定单元12使用上述公式(1)或(2)确定滤波器系数时,还用于在确 定所述远端输入信号和残差信号的能量和之前,将所述残差信号的能量乘以参数Y,所述
E[d{n)e(n)\
参数Y具体为■/= ι 2 2其中,d(n)为当前近端信号,ο d2表示当前近端信号的能量,R2表示所述滤波得到 的残差信号的能量。本发明实施例中,自适应滤波器根据上一次滤波处理使用的滤波器系数、上一次 滤波处理时的远端输入信号、上一次滤波处理得到的残差信号、以及该远端输入信号和残 差信号的能量和,确定本次滤波处理使用的滤波器系数,当存在近端信号时,由于残差信号 的能量增大,自适应滤波器可以通过残差信号的能量调节滤波器系数的变化,当没有近端 信号时,由于残差信号的能量很小,可以忽略对滤波器系数变化的影响,保证自适应滤波器 的正常工作。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助 软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更 佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的 部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若 干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发 明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流
10程并不一定是实施本发明所必须的。本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分 布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上 述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领 域的技术人员能思之的变化都应落入本发明的保护范围。
1权利要求
一种回声消除的方法,其特征在于,包括自适应滤波器根据上一次滤波处理时的远端输入信号、上一次滤波处理得到的残差信号,确定所述远端输入信号和残差信号的能量;所述自适应滤波器根据上一次滤波处理使用的滤波器系数、所述远端输入信号和残差信号,以及所述远端输入信号和残差信号的能量和,确定本次滤波处理使用的滤波器系数;所述自适应滤波器根据确定出的本次滤波器系数执行本次滤波处理。
2.如权利要求1所述的方法,其特征在于,所述自适应滤波器通过下述公式确定本次 滤波处理使用的滤波器系数, 其中,+1)表示本次滤波处理使用的滤波器系数,^…表示上一次滤波处理使用的 滤波器系数,e(n)表示上一次滤波处理得到的残差信号,χ (η)表示上一次滤波处理时的远 端输入信号,σχ2表示所述远端输入信号的能量,表示所述残差信号的能量。
3.如权利要求1所述的方法,其特征在于,所述自适应滤波器通过下述公式确定本次 滤波处理使用的滤波器系数, 其中,+1)表示本次滤波处理使用的滤波器系数,表示上一次滤波处理使用的 滤波器系数,e(n)表示上一次滤波处理得到的残差信号,χ (η)表示上一次滤波处理时的远 端输入信号,σχ2表示所述远端输入信号的能量,表示所述残差信号的能量,N为所述 σχ2+。/的系数。
4.如权利要求3所述的方法,其特征在于,所述自适应滤波器根据所述远端输入信号 和残差信号的权重确定所述远端输入信号和残差信号的能量和。
5.如权利要求2-4任一项所述的方法,其特征在于,在确定所述远端输入信号和残差 信号的能量和之前,还将所述残差信号的能量乘以参数Y,所述参数Y为 其中,d(n)为当前近端信号,。d2表示当前近端信号的能量,R2表示所述滤波得到的残 差信号的能量。
6.一种回声消除的装置,其特征在于,包括第一确定单元,用于根据上一次滤波处理时的远端输入信号、上一次滤波处理得到的 残差信号,确定所述远端输入信号和残差信号的能量;第二确定单元,与所述第一确定单元连接,用于根据上一次滤波处理使用的滤波器系 数、所述远端输入信号和残差信号、以及所述第一确定单元确定的所述远端输入信号和残 差信号的能量和,确定本次滤波处理使用的滤波器系数;滤波单元,与所述第二确定单元连接,用于根据所述第二确定单元确定出的滤波器系 数执行滤波处理。
7.如权利要求6所述的装置,其特征在于,所述第二确定单元具体用于 通过下述公式确定本次滤波处理使用的滤波器系数,ΛΛ1w( + 1) = ψ(η) + ---- e(n)x(n)其中;(《 +1)表示本次滤波处理使用的滤波器系数,&表示上一次滤波处理使用的 滤波器系数,e (η)表示上一次滤波处理得到的残差信号,χ (η)表示上一次滤波处理时的远 端输入信号,σχ2表示所述远端输入信号的能量,表示所述残差信号的能量。
8.如权利要求6所述的装置,其特征在于,所述第二确定单元具体用于 通过下述公式确定本次滤波处理使用的滤波器系数,ΛΛ^+1) = W( ) + -—^——r- e(n)x(n) Ν(σ2χ +σ )其中;+1)表示本次滤波处理使用的滤波器系数,表示上一次滤波处理使用的 滤波器系数,e (η)表示上一次滤波处理得到的残差信号,χ (η)表示上一次滤波处理时的远 端输入信号,σχ2表示所述远端输入信号的能量,表示所述残差信号的能量,N为所述 σχ2+的系数。
9.如权利要求8所述的装置,其特征在于,所述第二确定单元还用于根据所述远端输入信号和残差信号的权重确定所述远端输入信号和残差信号的能量和。
10.如权利要求6-8任一项所述的装置,其特征在于,所述第二确定单元还用于在确 定所述远端输入信号和残差信号的能量和之前,将所述残差信号的能量乘以参数Y,所述E\d(n)e(ri)\参数Y具体为ι 2 2其中,d(n)为当前近端信号,表示当前近端信号的能量,4表示所述滤波得到的残差信号的能量。
全文摘要
本发明公开了一种回声消除的方法和装置,该方法包括自适应滤波器根据上一次滤波处理时的远端输入信号、上一次滤波处理得到的残差信号,确定所述远端输入信号和残差信号的能量;所述自适应滤波器根据上一次滤波处理使用的滤波器系数、所述远端输入信号和残差信号,以及所述远端输入信号和残差信号的能量和,确定本次滤波处理使用的滤波器系数;所述自适应滤波器根据确定出的本次滤波器系数执行本次滤波处理。本发明在不进行双端发声检测的情况下实现语音通话中的回声消除。
文档编号H04M9/08GK101917527SQ201010269400
公开日2010年12月15日 申请日期2010年9月2日 优先权日2010年9月2日
发明者封伶刚 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1