方向转换回声消除器和方法 本发明涉及回声消除器,更具体的涉及快收敛回声消除器。
一些双向通信系统对在相反方向发送的信号有不同的通道。在这样的系统中,一个通道中的信号可能被反射到另一个通道中。这些通常被称为回声信号的反射的信号,干扰所需的通信信号。结果,人们开发了回声消除器以抑制这些反射信号。
回声消除器使用自适应滤波器以估计反射到信号通道之一中的回声信号。该回声估计被从包括该回声信号的信号通道中减去,以产生基本没有回声或回声受抑的信号。
因为最小均方(LMS)自适应滤波器有较简单的结构,并且计算稳定高效,它们被广泛用于回声消除器中以估计回声信号。然而,当用于诸如电话会议和免提蜂窝电话通信之类的声学回声消除应用中时,LMS自适应滤波器的缺点是慢收敛率。
LMS自适应滤波器的另一缺点是它们对回声信号的抑制通常不超过30dB(分贝)。在典型的声学应用中,回声信号很强,并可能与所需通信信号一样强。在这样的环境中,自适应滤波器必须快速收敛,以模拟快速变化回声通道,并且非常希望回声信号至少被抑制40dB。如果这两个条件不能被满足,将出现大回声估计误差,并且这些大误差将导致所需通信信号信号质量的严重下降。
用如递归最小平方(RLS)和仿射投射算法等其它算法的自适应滤波器比用LMS滤波器的回声消除器适应得快,但它们或是不稳定,或是计算昂贵。计算昂贵的滤波器需要大电路或很多处理设备。不稳定的自适应滤波器将产生不规律的估计,并因此无法实现保证用户能通过呼叫清楚地通信的足够稳定地运行。
在免提移动电话和免提电话会议之类的环境中,特别需要快速收敛、稳定、高抑制和高效计算的自适应滤波器。在这种环境中的回声通道经受快速变化、强回声和高背景噪声。因此,需要回声消除器的自适应滤波器收敛快,并抑制回声信号多于40dB。也希望回声消除器能高效计算,以便它能在具有低电流消耗特征的较小电路中实现。
本发明的目的是提供一种方向转换回声消除器和方法,它具有在诸如遭受声学回声干扰、其中回声路径快速变化并且回声信号强的环境中能够稳定和高效计算的滤波器。
本发明提供一种在回声消除器中产生更新方向的方法,所述回声消除器包括自适应滤波器,所述方法的特征在于包括以下步骤:
在线性预测剩余域中计算更新方向;
将所述更新方向从线性预测剩余域中转换到话音域中,以产生用于所述自适应滤波器系数更新的话音域更新方向。
本发明的优点是:可以容易的实现、稳定、功能强、且计算高效。
附图简要说明
图1是描绘根据现有技术的回声消除器的电路示意图;
图2描绘当仅有两个系数即L=2时,LMS自适应回声消除器的系数的不精确估计引起的回声估计的等均方误差曲线的例子;
图3描绘当仅有两个系数即L=2时,LMS自适应回声消除器的系数的不准确估计引起的回声估计的等均方误差曲线的另一例子;
图4是描绘回声消除器的电路示意图;
图5描绘在线性预测剩余域中更新方向仅与两个系数一起使用,即L=2的情况下,自适应回声消除器的系数的不准确估计所引起的回声估计的等均方误差曲线的例子;
图6描绘由在线性预测剩余域中更新方向转换而来的话音域中更新方向仅与两个系数一起使用,即L=2的情况下,自适应回声消除器的系数的不准确估计所引起的回声估计的等均方误差曲线的例子;
图7是描绘产生改进方向的流程图。
回声消除器转换远端话音采样为其线性预测剩余采样,回声消除器的系数的更新方向建立于线性预测剩余域中。然后,剩余域中的更新方向被转换为话音域中的更新方向。回声消除器的系数自适应用话音域中的转换的更新方向执行。通过从线性预测剩余域到话音域的转换来计算更新方向,可获得优化的更新方向。这使回声消除器自适应到回声通道的速度大大提高,从而允许其抑制更多的噪声,同时保持稳定、高效、功能强。
传统的最小均方(LMS)回声消除器100在图1的装置101中示出。装置101包括用于免提操作的麦克风104和扬声器102。扬声器路径包括连接到收发信机120的接收机输出端的解码器106和数模(D/A)转换器108。麦克风通道包括耦合到收发信机120的发射机的模数(A/D)转换器114、合并器112和编码器116。因此信号x(n)、y(n)、和e(n)为数字信号。收发信机120被耦合到无线电话中的天线122。
装置101可以是连接到移动无线电话的免提附件,也可以是无线电话或免提会议电话。本领域的技术人员将认识到回声消除器100能在有数字和/或模拟电路的双向通信装置中实现。因此解码器106和编码器116仅用于描绘目的。如果收发信机120是在模拟蜂窝电话或模拟陆线电话中、或如果装置101连接至数字蜂窝电话或数字陆线电话的模拟输出端,则解码器106能是A/D转换器。或者,解码器106能是如数字蜂窝电话的数字装置中的数字解码器。如果收发信机120是在模拟蜂窝电话或模拟陆线电话中、或如果装置101连接至如数字蜂窝电话或数字陆线电话的数字装置的模拟输入端,则编码器116可以是D/A转换器。或者,编码器116可以是如数字蜂窝电话的数字装置中的数字编码器。
现在参照图1至图3描绘回声消除器100。当前的采样时刻为n,远端话音采样x(n)是扬声器102的输出,近端音频信号y(n)从麦克风104接收,在本说明书中,信号x(n)和y(n)是同步的,即数模转换器108和模数转换器114用相同的时钟。近端音频信号y(n)包括近端话音s(n)、回声t(n)、和近端噪声N(n)。回声t(n)是由扬声器102输出的信号x(n)中被反射回麦克风104的部分。噪声N(n)可以是,例如汽车驾驶室中的环境噪声。
在以下的描述中,设在自适应滤波器的系数进行自适应时,近端话音s(n)为零(即近端话音s(n)不存在)。当近端和远端话音都存在时,即通常所称的双向通话,自适应将不得不停止。用于检测这种情况并防止在这种条件下进行自适应的双向通话检测器,为本领域所熟知,为了简便,这里不再过细的描述。因此,如此所述,近端音频信号y(n)仅包括回声t(n)和噪声N(n)。
回声消除器100包括系数产生电路109和LMS自适应滤波器110来模拟回声通道。由LMS自适应滤波器110产生的回声估计z(n)在组合器112中与信y(n)组合,以去除或抑制回声信号。回声估计误差e(n)是回声估计z(n)与近端信号y(n)之差。LMS自适应滤波器110的系数由系数产生电路109基于接收的远端话音采样和回声估计误差来更新。
在时刻n,LMS自适应滤波器110的系数是W(n)=[W0(n)W1(n)…WL-1(n)]T。其中L是滤波器长度,上标T(即〔〕T)代表矢量的转置。L个接收的远端话音采样是X(n)=[x(n),x(n-1),…,x(n-L+1)]T。LMS自适应滤波器110的回声估计z(n)是:
z(n)=X(n)TW(n) (1)
LMS自适应滤波器110的回声估计误差e(n)是:
e(n)=y(n)-z(n) (2)
LMS自适应滤波器110的系数W(n)根据下列方程被更新:W(n+1)=W(n)+μ||X(n)||2(n)X(n)------(3)]]>
其中μ是自适应步长,且||X(n)||2=X(n)TX(n)。
R(n)=E{X(n)X(n)T}={rij(n)|i,j=0,1,…,L-1}是远端话音采样的自相关矩阵。E{*}是统计平均。由于远端话音信号是非平稳的,R(n)是时变LXL矩阵,具有L个时变的正本征值{λi(n)i=0,1,,L-1}和L个时变本征矢量{vi(n)i=0,1,…,L-1}.S(n)=E{y(n)X(n)}=[s0(n)s1(n)…sL-1(n)]T =[E{y(n)x(n)}E{y(n)x(n-1)}…E{y(n)X(n-L+1)}]T是远端话音采样和近端音频信号的互相关矢量。
自适应滤波器的性能取决于L个时变本征值和本征矢量的值。已知μ是固定的并且必须依下列原则选择:
0<μ<2/λmax(n) (4)
其中kmax(n)是R(n)的最大本征值。因为远端话音是非平稳的,λmax(n)有大动态范围。然而,为保持自适应滤波器的稳定性,在所有时刻μ都必需非常小以保持在方程(4)的范围内。用于保持稳定性的小μ是LMS自适应滤波器收敛慢的一个原因。
LMS自适应滤波器110的优化系数是W0=[W0W1,...,WL-1]T。通常W0随时间改变很慢,因此在这里可以被看作为恒定矢量。LMS自适应滤波器用当前的系数W(n)产生的回声估计误差由下式给出:
ε(n)=y(n)-z(n)=y(n)-X(n)TW(n) (5)其中y(n)是近端回声信号。以下考虑y(n)由回声和噪声组成的情况。在以下的分析中,设近端噪声不存在。其中,W(n)与y(n)及x(n)不相关(当W(n)收敛时这个假设是大致正确的,因此W(n)被看作为恒定矢量)。LMS自适应回声消除器的回声估计的均方误差由下式定义:ξ=E{ε2(n))=E([y(n)-X(n)TW(n)]2}
=E{y(n)2}+E{W(n)TX(n)X(n)TW(n))-2E{y(n)X(n)W(n)T}
=E{y(n)2}+W(n)TE{x(n)X(n)T}W(n)-2E{y(n)X(n)}W(n)T
=E{y(n)2}+W(n)TR(n)W(n)-2S(n)W(n)T (6)
因为W0是W(n)的优化解,且E是W(n)的函数,所以ξ的斜率在W0是0,它满足下列方程:∂ξ∂W(n)=0]]> 2R(n)W0-2S(n)=0 W0=R(n)-1S(n). (7)将(7)式代入(6)式,我们可以用下列方程得到回声估计的最小均方误差: ξmin=E{y(n)2}-S(n)TW0 (8)虽然ξmin随时间变化,但它随时间改变非常缓慢,因此它在这里被看作恒定值。将(8)和(7)代入(6),可以证实下列关系: ξ=ξmin+[W(n)-W0]TR(n)[W(n)-W0] (9)
LMS自适应滤波器尽力驱动W(n)至其真值W0,或驱动ξ至ξmin。在有两个系数,即L=2的情况下,自适应滤波器的收敛状态可被理解,其中W(n)=[W0(n)W1(n)],W0=[W0W1]。自适应滤波器的收敛状态现将参照图2和图3中示出的等均方曲线解释解释。通过设定ξ等于不同的恒定值并将W0(n)和W1(n)用作轴绘制曲线。这些曲线是在W0(n)-W1(n)平面中的椭圆,其中R(n)的本征矢量定义椭圆的主轴,且本征值定义误差面的陡度。因此,较大的本征值有较长的轴,且矩阵R(n)的本征值定义轴的长度。
因为话音信号是非稳定的,等均方误差曲线的形状是时变的椭圆。LMS自适应滤波器用图2中的斜度方向11和图3中的斜度方向13作为更新方向。斜度方向是仅有的简单和可靠的更新方向。可以看出,在大多数情况下,包括这两个矩阵R(n)的时变本征值的例子,方向11相对图2中示出的优化方向12变化很大,更新方向13相对于图3中示出的优化方向14变化很大。
等均方误差曲线的形状和尺寸随时间变化。因此,LMS自适应滤波器常常用大大偏离优化方向的更新方向。这是在声学回声消除之类的应用中,LMS自适应滤波器收敛慢和不能将回声信号下抑制40dB的的另一原因。
图4示出改进的回声消除器200的系统结构。回声消除器200可用微处理器、数字信号处理器、微机、计算机、或任何其它合适的电路实现。回声消除器200包括线性预测电路202,被连接以接收远端话音信号X(n)、输入信号,并在输出端203输出线性预测系数和剩余信号d(n)。线性预测电路可有任何合适的线性预测电路实现。因为有许多快速算法可用于估计线性预测误差滤波器的系数,使用这种滤波器更有益。优选使用能高效、稳定的计算的快速算法。选择有这些特征的线性预测误差滤波器保证误差消除器200是稳定和高效的。
线性预测分析能提供非常精确的话音参数估计。对说出的话音,线性预测系统由冲击串激励,对于清音,线性预测系统由随机噪声序列激励。线性预测系统的参数随时间缓慢变化。话音采样s(n)与激励u(n)间的关系由下列方程表示:s(n)=-Σk=1pαks(n-k)+Gu(n)------(10)]]>
其中p是时变数字滤波器的级,G是增益因子;{α k丨K=1,2…,p}是时变数字滤波器的系数。
话音采样的线性预测从先前采样的线性组合产生当前话音采样的估计。其中是s(n)的线性预测,能用如下的有预测滤波器系数{αk丨k=1,2,…,p}的线性预测符得到:sΛ(n)=-Σk=1pαks(n-k).-------(11)]]>方程(11)的线性预测符的预测误差是:e(n)=s(n)-sΛ(n)=s(n)+Σk=1pαks(n-k).----(12)]]>
从方程(12)可以看出,预测误差序列是线性预测误差滤波器的输出,它的转移函数是:A(z)=1+Σk=1pαkz-k.------(13)]]>
估计线性预测误差滤波器系数{αk丨 k=1,2,…,p}的递归快速算法是已知的。线性预测误差滤波器是白化滤波器,因为它们产生有白噪声特性的剩余信号。在本发明中,莱文森一德宾(Levinson-Durbin)递归算法特别有益。这种滤波器有多个希望的特征,它非常适用于话音预测,因此它被很好的理解和开发;它计算高效,因此它能在较小的电路中实现。这种算法的另一个重要特性是使用这种滤波器的线性预测误差滤波器稳定。
回声消除器200逐帧地运行在接收的音频采样上。接收的音频采样代表对向扬声器102输出的远端信号和从麦克风104输入的近端信号的采样。对远端和近端信号的音频采样是同步的。帧尺寸K通常在50至200采样之间。一旦接收到来自远端和近端的K个新音频采样的一帧,开始运行算法。K个接收的远端话音采样是x(n),x(n-1)…x(n-K+1),K个接收的近端信号采样是y(n),y(n-1)…y(n-K+1),其中n是当前采样时刻。
在运行中,K个接收的远端话音采样,即输入信号采样的线性预测分析首先在线性预测电路202中执行。线性预测误差滤波系数{αk|k=1,2,…,p}可以通过各种算法被估计,如通过莱文森-德宾算法估计。用于线性预测电路202的线性预测误差滤波器的级p可以在例如5至15的范围内。用于线性预测电路202的线性预测误差滤波器的转移函数A(z)如下式所示:A(z)=1+Σk=1pαkz-k.--------(14)]]>
自适应滤波器的系数在系数产生电路204中更新,该电路为系数更新电路。自适应回声消除在K个接收的音频采样,即输入信号采样上用更新的系数在LMS自适应滤波器110中的执行。时间索引i在K个新接收的音频采样的时间范围内,即n≤i≤n-K+1。W(i)=[W0(i)W1(i)…WL-1(i)]T是自适应回声消除器在时刻i的系数,L是自适应回声消除器的长度,且X(i)=[X(i)X(i1)…x(iL+1)]T是L个接收的远端话音采样在时刻i的矢量。L可以小于或大于K。
回声消除器200对K个接收的采样逐个采样的执行回声消除,即:i=n-K+1,n-K+2…,n,回声消除器200:
在i=n-K+1时,用系数W(n-K+1)执行回声消除,并更新系数W(n-K+1)为系数W(n-K+2);
在i=n-K+2时,用系数W(n-K+2)执行回声消除,并更新系数W(n-K+2)为系数W(n-K+3);且
在每个连续的采样时刻继续这种运行,直至在i=n的最后一个采样时刻,用系数W(n)执行回声消除,更新系数W(n)为系数W(n+1);且等待下一帧以对该帧重复这种序列。
在特定时刻i,自适应回声消除器的回声估计误差是:
e(i)=y(i)-X(i)TW(i) (15)
其中y(i)是在时刻i的近端音频采样。
在时刻i,自适应回声消除器的系数更新方向建立在线性预测剩余域中。通过用线性预测误差滤波器A(z)在时刻i滤波接收的远端话音采样产生接收的远端话音采样d(i),d(i-1),...,d(i-L+1)的L个线性预测剩余采样:d(j)=x(j)+Σk=1pαkx(j-k)j=1,i-1,…,i-L+1.---(16)]]>Q(i)μ||D(n)||2e(i)D(i)-------(17)]]>在线性预测剩余域中自适应回声消除器系数更新方向是Q(i),其中:
其中D(i)=[d(i),d(i-1),…d(i-L+1)]T,Q(i)=[q0(i),q1(i),...qL-1(i)]T,μ是自适应步长,及||D(i)||2=D(i)TD(i)
在获得用于在线性预测剩余域中进行自适应的系数更新方向后,在系数产生电路204中,在话音域中的更新方向可以基于A(z)和Q(i)计算。自适应回声消除器在话音域中的系数更新方向是G(i)=[g0(i)g1(i)...gL-1(i)]T。对G(i)的每个分量通过下列方程计算G(i):gj(i)=qj(i)+Σk-1pαkqj-k(i)----j=0,1,…,L-1(18)]]>
其中为解以上方程,对j=-1,-2,…,-p设gj(i)=0。
方程(18)和方程(16)代表有不同运行方向的滤波器。方程(16)执行前向线性预测滤波,以将远端话音采样从话音域转换到线性预测剩余域。方程(18)执行后向线性预测,以将更新方向从线性预测剩余域转换到话音域。
获得G(i)后,自适应回声消除器的系数可由下式直接更新:
W(i+1)=W(i)+G(i) (19)
其中W(i+1)是在时刻i+1用于下一采样的更新的系数。
因为用于话音信号的线性预测误差滤波器的系数在每一帧中随时间变化慢,实际上线性预测误差滤波器的系数在一帧中不变,所以它可以被看作是在话音采样的一帧中线性非时变FIR滤波器。话音采样的一帧的系数通过莱文森一德宾算法估计。并且线性预测误差滤波器是白化滤波器,因此线性预测剩余实际是白噪声。所以线性预测剩余的自相关矩阵是白噪声的自相关矩阵。
P(i)=E{D(i)D(i)T}={Pij(n)|i,j=0,1…L-1}是线性预测剩余的自相关矩阵。如果在线性预测剩余域Q(i)中的更新方向被用作自适应中的更新方向,在时刻i,LMS回声估计的均方误差β(i)由方程(5)至(9)获得:
β(i)=βmin+[V(i)-V0]TP(i)[V(i)-V0] (20)
其中βmin是β(i)的最小值。如前所述,因为它随时间变化慢,它可以被看作是恒定值。V(i)是回声消除器在时刻i的系数,且它是W(i)与(1/A(z))的卷积。V0是前面定义的系数V(i)的优化解,并因随时间变化慢被看作是恒定矢量。V0是W0与(1/A(z))的卷积。
图5示出线性预测剩余域的等均方误差曲线。P(i)有L个相同的本征值,且等均方误差曲线是圆。结果,斜率方向51是LMS滤波器可用的仅有的可靠的更新方向,且斜率方向51是在圆上的任何一点的优化方向。V(i)收敛到V0的速度远远快于W(i)收敛到W0的速度。请注意V(i)不等于W(i)且实际上是W(i)与(1/A(z))的卷积。优化的更新方向可以在剩余域中发现为Q(i)。
W(i)在话音域中的优化更新方向可以从Q(i)与A(z)的可用的信息中找到。利用以下方程进行V(i)的自适应:
V(i+1)=V(i)+Q(i). (21)
除了使用线性预测剩余域中的更新方向外,这与图1的LMS自适应滤波器一样。在收敛后,系数不等于真正的系数W(i),而是与(1/A(z))的卷积。因为线性预测误差滤波器A(z)在接收的远端话音采样的一帧中是非时变的,W(i)是V(i)的A(z)的卷积。方程(21)与A(z))卷积得到:
A(z)V(i+1)=A(z)[V(i)+Q(i)] (22)其中代表两个滤波器的卷积。因此,上述自适应方程通过对剩余域中的更新方向与A(z)进行卷积获得更新方向,且正是该转换的更新方向被用于回声消除器200中。
转换的更新方向还指向在话音域中的优化的方向,如通过以下所证明:
(1)因为Q(i)是V(i)自适应的优化方向,所以存在一标量η以使:
V(i)+ηQ(i)-V0=0;
(2)如果A(z)Q(i)不是W(i)的优化更新方向,则没有标量α存在以使:
W(i)+α[A(z)Q(i)]-W0=0;
(3)因为A(z)是线性非时变滤波器且W(i)=A(z)V(i),所以以上方程可被改写为:
A(z)[V(i)+αQ(i)-V0]=0;
(4)很清楚,至少有一个标量α=η使以上方程成立。因此,A(z)与Q(i)的卷积产生W(i)的优化更新方向。
依据方程(5)至(9),回声消除器200的回声估计的均方误差可由下列方程类似的表达:
ε(n)=y(n)-z(n)=y(n)-X(n)TW(n)(23)
其中y(n)是近端信号,W(n)=[W0(n)W1(n)...WL-1(n)]T是回声消除器200的系数。X(n)=[x(n),x(n-1),…,x(n-L+1)]T是接收的远端话音采样。新自适应回声消除器的回声估计的均方误差由下式定义: ξN=E{ε2(n)}=E{[y(n)-X(n)TW(n)]2} =ξmin+[W(n)-W0]T R(n)[W(n)-W0]其中ξmin=E{y(n)2}-S(n)TW0是回声消除器200的最小均方误差,W0=[W0W1,...,WL- 1]T是回声消除器200的优化系数。R(n)={X(n)X(n)T}如上定义。等均方误差曲线与图1的LMS回声消除器的一样。然而,更新方向被改进,如图6所示。
对于有两个系数,即L=2的情形,新自适应滤波器的均方误差曲线示于图6中,其中W(i)=[W0(i)W1(i)],W0=[W0W1]。与图1的LMS自适应滤波器的情形不同,新自适应滤波器不将斜度方向61用作其更新方向。系数产生电路204分两步确定系数更新方向:首先,它在远端话音的线性预测剩余域中找到更新方向;然后,它转换该更新方向进入话音域,以便获得优化更新方向62。系数产生电路204总用优化更新方向,因此避免现有技术LMS滤波器所经历的远端话音变化的本征矢量和本征值的不利影响。
回声消除器(图2)收敛得远远快于传统的LMS自适应回声消除器。并且,回声消除器200能抑制声学回声多于60dB,当用于声学回声消除的应用中时,这尤其有利。
因此可以看出,回声消除器200(图2)用传统LMS自适应滤波器110。然而,系数产生电路204用改进的更新方向。更新方向取自线性预测误差滤波器的输出,该滤波器由输入信号采样计算线性预测系数,如方框700(图7)所示。计算线性预测误差滤波器系数的算法容易执行、稳定和快速。因为莱文森-德宾算法已被熟知、且计算高效,以致于不需要过分增加回声消除电路的尺寸就可以实现,所以使用它是有益的。其它低级有限冲击响应(FIR)滤波器是已知的,并能被用于计算线性预测信息。
在线性预测剩余域中的更新方向产生自线性预测剩余,如方框701所示。这在远端话音采样被转换为线性预测剩余后实现。这涉及输入信号采样的FIR滤波。FIR滤波器的级可在,例如10左右。因此,所需的计算强度小且稳定性有保证。这样,更新方向最初在线性预测剩余域中(通过线性预测滤波器处理的信号在线性预测域中)。
然后,更新方向从线性预测剩余域中转换到话音域中,如方框702所示。话音域是数字话音,域转换可用FIR滤波器实现。系数产生电路204用在话音域中的更新方向更新自适应滤波器系数。
众所周知,LMS回声消除器简单、功能强、计算高效。回声消除器200优选使用LMS滤波器,以利用LMS回声消除器的这些特点,同时通过使用改进的更新方向,改进自适应收敛的速度。可以得出结论,改进的回声消除器可以容易地实现、稳定、功能强、且计算高效。模拟实验表明回声消除器200在吵闹的环境中功能也较强,更新方向转换提供大大加快的收敛速度及由于快速收敛而形成的大大提高的噪声抑制。本领域的技术人员将认识到,转换的更新方向的优势可用于非LMS回声消除器中。因此,这里使用的“自适应滤波器”和“回声消除器”不限于LMS自适应滤波器和LMS回声消除器。