子带回波消除器及其方法

文档序号:7946711阅读:265来源:国知局
专利名称:子带回波消除器及其方法
技术领域
本发明一般与双向通信系统有关,并且特别地与子带回波消除器有关。
在许多全双工通信系统中出现了对于回波消除的需要。需要可靠的回波消除的一个特别具有挑战性的环境存在于蜂窝无线电话设备和会议电视设备的全双工免提操作中。在这些设备的免提操作期间,来自扬声器的信号通过各种声音路径被反馈回耳机,并且在到达原先的扬声器之前被延迟。这些反馈的信号被远端用户感觉为回波信号。这种回波信号常称为声音回波。对于在双向通信中涉及的参与者是非常烦人的并且难于去除。
用于去除回波信号的有效的方法之一是使用具有一个自适应滤波器的回波消除器。最小均方(LMS)自适应滤波器是用到的最普通类型的滤波器。一个LMS滤波器是一个通过自适应调整的系数来模拟回波路径的有限脉冲响应(FIR)滤波器。滤波器的系数运用驱动一个免提通信设备的扬声器的远端信号和从免提通信设备的话筒输出的近端信号来自适应地训练。在一个免提设备中,自适应滤波器自适应地合成一个来自远端信号的声音回波的复制,该复制被从由在近端的话筒输出的近端信号中减去。相减结果基本上是没有回波的信号,并进一步发送到远端。
子带回波消除器电路已在有很长回音路径的环境中使用。在这些电路中,远端信号被分成一系列信号,其中每一个代表在一个子带中的远端信号的部分。近端信号也以与远端信号相同的方式被分块。有许多把远端信号分成子带的方法。一个基本的方法使用一个滤波器组来把传输信号的整个频带分离成相邻的块。每个滤波器的输出是来自那个子带的信号。这样,对于每个子带,可获得对应于远端和近端信号的一对信号。
一个子带回波消除器包括一个用于每个子带的回波消除器。为每个回波消除器提供一个各自的自适应滤波器。回波消除既可在时域也可在频域中执行。由各个子带回波消除器产生的回波消除信号使用一个合成滤波器被合并成一个全频带近端信号。自适应的子带滤波提供了既获得性能改进又获得复杂度降低的一种有效的方法。
授权给Steven L.Gay的US专利5,001,701,题目是“包括在子带间实时分配的子带回波消除器”,建议了一种改进这样一个子带回波消除器的性能的方案。在那个专利中,假定回波消除可获得的总体计算资源不是固定的。与具有更大的自适应滤波器未校准(misalignment)的子带相关联的那些回波消除器与在具有较少的自适应滤波器未校准的子带中的那些回波消除器相比,被给予更多的每秒迭代来适应,以实现整个子带回波消除器的更快的收敛。自适应滤波器的未校准是当前和过去的滤波器系数之间差值的一个加权标准。
尽管这样一个子带回波消除技术降低了声学回波消除器的计算复杂度,对某些应用来说,它的计算复杂度还是太高了。为此要求子带回波消除器的计算复杂度的进一步降低以满足许多应用的需求。同时希望维持在用户能理解的整体性能时,尽可能地降低计算复杂度。


图1是示意运用一个子带回波消除器的全双工通信设备的电路图。
图2是示意用于全双工通信的一个子带回波消除器的电路图。
图3是示意用于一个子带回波消除器的适应速度控制器件的图形。
图4是示意在适应速度控制器件中的剩余能量计算器的电路图。
图5是示意用于一个子带的自适应滤波器的电路图。
图6是示意一个自适应滤波器控制器件的图形。
通过在各子带中运用自适应滤波,子带回波消除技术提供了一种更有效地利用一个设备的计算资源的机会。一个有效的适应方法在维持用户能理解的整体性能的同时尽可能地降低计算复杂度。这种方法用高的回波剩余能量来辨识这些子带。对于具有高的回波剩余能量的子带,适应以一个正常的速度发生。其它子带以一个较低的速度适应。这种适应为所有子带提供了回波消除,但比已有技术的回波消除器具有更高的效率。那些本技术中的熟练人员会认识到尽管在示意的实施例中,由于它的结构简单和概念明晰使用了时域自适应滤波,也可使用其它形式的自适应滤波。
由于人们对回波干扰的感觉主要来自具有高能量的子带信号,计算复杂度的降低是建立在用户感觉这样一个判据的基础上。已发现一些子带会产生具有主要能量的回波剩余信号。在其它具有较低的回波剩余能量的子带中的自适应滤波器的系数以较低的速度适应,而在具有较高回波剩余能量的子带中的自适应滤波器的系数以正常的速度适应。由于很少有子带有高的回波剩余信号能量,大多数子带有低的回波剩余信号能量,因而以较慢的速度适应。
这种回波消除器非常有效的原因是自适应滤波器的系数的适应只在几个子带中以正常速度,这显著降低了整个子带回波消除器的计算复杂度。通过为不同子带中的自适应滤波器使用不同的适应速度,本发明获得了高效率,从而对所有子带提供了均匀的回波抑制。执行回波消除的最有效的方法是均匀地抑制在所有子带中的回波。
为了改进免提操作,在一个双向通信设备100中运用了一个子带声音回波消除器120(图1)。全双工通信设备100被示意为一个免提设备,可以是一个免提无线电话,一个免提会议电视设备,一个免提卫星电话,一个免提无绳电话,一个个人计算机(PC)多媒体通信设备,或任何其它的合适的通信设备。通信设备100包括接收来自远程地点的远程信号(远端信号)并把本地信号(近端信号)发送到远程地点的收发信机114。
收发信机114可以是用于电缆,光,无线,有线或卫星通信的任何合适的收发信机,它的操作对本技术中那些熟练人员是已知的,在这里为简化起见不更详细地描述。在示意的实施例中,收发信机114被连到一个用于在蜂窝系统中的无线通信的天线116。收发信机114经由天线116发送一个由D/A转换器110输出的回波消除近端信号给远端通信设备并输入由天线116检测的来自远程设备的被接收的信号给一个A/D转换器112。
接收路径包括一个模拟到数字(A/D)转换器112和一个连到扬声器102的数字到模拟(D/A)转换器108。收发信机114的输出在A/D转换器112中被转换为一个数字信号用于子带回波消除器120。一个数字到模拟(D/A)转换器108把数字化的远端信号转换为驱动一个本地扬声器102的模拟格式。
发射路径包括一个把本地声音信号转换为用于传输到远程地点的电信号的话筒104和一个把话筒的电信号转换为送到子带声音回波消除器120的数字信号的A/D转换器106。由子带声音回波消除器120输出的回波被消除的信号在D/A转换器110中被转换为模拟格式,用于经由收发信机114发送。
那些本技术中的熟练人员会认识到A/D转换器112和D/A转换器110被用在模拟系统中。另外地,在数字实现中,A/D转换器112可以由一个话音解码器代替,一个D/A转换器110可由一个话音编码器代替。例如,转换器112和110可以是在用于移动通信全球系统(GSM)或一个综合业务数字网(ISDN)的一个通信设备中的一个数字接口的话音解码器和编码器。进一步注意在某些应用中,例如用于有线或光通信系统的应用中天线116和收发信机114的组合可以由一个网络接口设备代替。
在工作期间,在A/D转换器112输出端101处数字格式的一个远端话音信号x(n)被输入到产生驱动扬声器102的一个模拟信号的D/A转换器108。由扬声器102输出的远端信号的一部分被麦克风104与近端可闻信号的检测并在一个A/D转换器106中转换为数字格式。在输出端103上产生的近端信号y(n)是子带声音回波消除器120的一个输入。数字格式的回波消除的声音信号r(n)在子带声音回波消除器120的输出端105输出并输入到D/A转换器110。
子带声音回波消除器120可以在数字信号处理器(DSP),微处理器,可编程逻辑器件或类似器件中来实现。子带声音回波消除器120包括一个把总线101上的全频带远端信号x(n)分解为在输出端221-223上的M个相邻的子带远端信号x1(n)至xM(n)的分析滤波器220(图2),把总线103上的全频带近端信号y(n)分解为在输出端210-212上的M个相邻子带近端信号y1(n)至yM(n)的分析滤波器242和把在输出端260-262上的M个子带回波消除信号r1(n)至rM(n)合并为在总线105上的全频带回波消除信号r(n)的合成滤波器230。运用M个自适应滤波器201-203来消除在输出端210-212上的M个子带近端信号y1(n)至yM(n)中的回波信号,并且适应速度控制器240在输出端241-243上输出M个适应速度控制信号s1(n)至sM(n)给M个自适应滤波器201至203。应注意用于子带信号的时间索引n可以与用于全频带信号的时间索引n相同或不相同例如,预想用于子带信号的时间索引(抽样间隔)相对于全频带信号的时间索引可以是更小的间隔,以便在子带回波消除器中适应发生得更频繁。
理想地,分析滤波器220,242输出M个子带信号,其中每个子带信号在频域与相邻子带没有重叠。然而,由于在相邻子带之间的绝对隔离是极其难获得的,因此允许一些小的重叠。只要重叠很小,这对声音回波消除器的性能几乎没有影响。
此外,让合成滤波器230的工作与分析滤波器220,242的工作正好相反会是困难的或对于实际的实现太昂贵。因而,尽管理想上,合成滤波器230的输出信号是输入到分析滤波器的信号的一个延迟后的版本,实际上,为了供给一个更简单的设计和降低的计算复杂度,允许在幅度和相位中的一个小量的失真。
实现分析滤波器220,242和合成滤波器230有许多方法。这些实现对那些本技术中的熟练人员是熟知的,为简化起见,在这里不进一步描述。
自适应滤波器201(图2)被用来消除在子带1的输出端210上的近端信号y1(n)中的回波信号,自适应滤波器202被用来消除在子带2的输出端211上的近端信号y2(n)中的回波信号,自适应滤波器203(图2)被用来消除在子带M的输出端212上的近端信号yM(n)中的回波信号。在一个实施例中第M个子带是第32个子带。自适应滤波器201至203例如可以是LMS或RLS算法。分析滤波器220,242和合成滤波器230,自适应滤波器201至203可以在时域或在频域实现。
下面将描述一个每个自适应滤波器201至203使用一个LMS算法并且子带的数目M等于32的时域系统的操作(3个自适应滤波器201-203在图2中示出,但那些本技术中的熟练人员会认识到在具有32个子带的一个实施例中附加的29个自适应滤波器被提供给其它29个子带)。由于他们的简单和强健性,LMS自适应滤波器被广泛地使用。取决于实现,M个自适应滤波器可以不同或相同。通过使所有M个自适应滤波器具有相同的结构,系统中的DSP处理器中的程序可以重复使用或者用其它硬件为M个自适应滤波器只实现一种电路。可以预想,每个自适应滤波器201-203包括用来产生一个回音估计的具有可调整系数的有限脉冲响应(FIR)滤波器,一个用来产生回波消除信号的减法器和一个更新它的系数的控制器件。
示意的实施例假定M(子带的数目)是32,N(子带组的个数)是8,但是可以使用子带和/或组的任何其它数目。适应速度控制器件240包括32个能量计算器310至317(图3),其中示出了8个,用于为在端口260,261,302-306,262上的32个子带回波剩余信号{ri(n)i=1,2,...,32}找到在输出端320至327上的32个回波剩余能量{ei(n)i=1,2,...,32}。8个加法器330-331(其中示出了2个)每个用来把M/N个子带回波剩余能量相加。最大组选择器340在端口332至333上的8个组能量{ Ci(n)i=1,2,...,8}之间选择最大值。一个输出速度控制产生器350在输出端241-243上产生用于32个自适应滤波器201-203(图2)的32个适应速度控制信号s1(n),s2(n),sM(n)。
在示意的实施例中,在分析滤波器220(图2)中产生的32个子带远端信号{xi(n)i=1,2,...,32}在输出端221-223上输出。分析滤波器220的这些输出被输入到32个自适应滤波器201-203。在分析滤波器242的输出端210至212上的32个子带近端信号{yi(n)i=1,2,...,32}也被输入到32个自适应滤波器201-203。32个子带自适应滤波器201-203在输出端260-262产生32个子带回波消除信号{ri(n)i=1,2,...,32}。这些子带回波消除信号被输入到合成滤波器230,它在输出端105上输出一个全频带的回波消除信号r(n)。
子带声音回波消除器120运用一个适应速度控制器240。自适应滤波器201-203适应的速度由这个适应速度控制器240设置。在适应速度控制器240的输出端241-243上的32个适应速度控制信号{si(n)i=1,2,...,32}被输入到32个自适应滤波器201-203。信号xi(n),yi(n),ri(n)和si(n)被用于一个子带i。
适应速度控制器240分配适应速度给M个自适应滤波器201-203中的每一个。适应速度控制器240包括能量计算器310至317。能量计算器310-317被连起来接收在端口262,302-306,261,260上的回波剩余信号。每个能量计算器包括一个输出正值的平方或绝对值产生电路410(图4)。电路410的输出在低通滤波器412中被滤波来产生一个平均值。32个能量计算器310至317根据下面的公式计算在端口320至327上的回波剩余能量{ei(n)i=1,2,...,32}ei(n)=(1-g)ei(n)+gri(n)ri(n)i=1,2,...,32其中g是0和1之间的一个标量,例如可被选为0.01。在输出端320至327上的32个子带回波剩余能量被分成下面的4个相邻子带的8个组组1{e1(n),e2(n),e3(n),e4(n)}组2{e5(n),e6(n),e7(n),e8(n)}组3{e9(n), e10(n),e11(n),e12(n)}组4{e13(n),e14(n),e15(n),e16(n)}组5{e17(n),e18(n),e19(n),e20(n)}组6{e21(n),e22(n),e23(n),e24(n)}组7{e25(n),e26(n),e27(n),e28(n)}组8{e29(n),e30(n),e31(n),e32(n)}。
对于每个组,4个相邻的子带回波剩余能量被加在一起来产生一个组能量。这样,8个加法器330至331在输出端332至333上产生8个组能量{Ci(n)i=1,2,...,8},以致Ci(n)=e4i-3(n)+e4i-2(n)+e4i-1(n)+e4i(n)i=1,2,...,8在输出端341上的一个最大的组能量信号Cmax(n)由响应来自输出端332至333的输入{Ci(n)i=1,2,...,8}的最大值选择器340产生,以致Cmax(n)=max{C1(n),C2(n),...,C8(n)}。
输出速度控制产生器350响应最大选择器340的输出341来产生在输出端241至243上的32个适应速度控制信号{si(n)i=1,2,...,32}。这些适应速度控制信号被输入到M个自适应滤波器201至203(图2)。在工作中,如果来自组i的Ci(n)有一个最大组能量,那么在输出端241至243上的适应速度控制信号产生如下对于与具有最大值的组i相关联的自适应滤波器s4i-3(n)=s4i-2(n)=s4i-1(n)=s4i(n)=1;并且对于与其它组相关联的自适应滤波器sj(n)=K且j≠4i,4i-1,4i-2,4i-3且K>1。
其中K是会出现一个系数适应的抽样的数目。例如,如果K=2,用于不是选定的组的自适应滤波器的适应速度是半速的(每2个抽样更新一次),或者如果K=4,用于不是选定的组的自适应滤波器的适应速度是1/4速度(每4个抽样更新一次)。
输出速度控制产生器350于是在输出端241至243产生用于每个自适应滤波器201至203的一个各自的控制信号{si(n)i=1,2,...,32},它指示系数适应是否在一个特定的抽样时刻中执行。在每个可获得的抽样时刻出现适应的一个正常的适应速度被给予具有高的剩余回波组能量的子带的一个组,或几个组,相反地,其中适应在某些抽样间隔中被跳过的低的适应速度,被分配给具有低的组剩余回波能量的子带的组。通过把划拔的适应能量分配给那些具有大多数回波剩余能量的那些子带,子带回波消除器120在不明显降低回波消除器的性能的同时能使用更少的处理资源。
自适应速度控制240可以以许多另外的方式分配在输出端241至243的控制信号{si(n)i=1,2,...,32}。分配控制信号的其它方法可以使用单独的子带能量,并允许选择那些剩余能量比剩余回波能量的阈值电平高的子带。另外地,可以不管在相邻带的能量值,选择具有最大剩余能量的频带。选择子带的组的优点是它简化了处理并利用了相邻子带具有大多数剩余回波能量的似然性的优点。
参考图5,示出了自适应滤波器201。自适应滤波器201包括一个FIR滤波器500和一个自适应滤波器控制器件502。自适应滤波器控制器件502在输出端504上产生一个适应系数W1(n)。FIR滤波器500使用在输出端504上的系数W1(n)来在输出端508上产生一个子带回波估计z1(n)。在当前的抽样时刻,n,一个子带远端话音抽样x1(n)从分析滤波器220的端口221上接收,一个子带近端话音抽样y1(n)从端口210接收作为分析滤波器242的输出。在输入端221和210上的子带信号x1(n)和y1(n)是同步的,原因是A/D转换器106(图1)和D/A转换器108使用相同的时钟。
在输出端508处的回波估计z1(n)根据下面的公式由FIR滤波器500合成z1(n)=W1(n)TX1(n)=Σi=0L-1w1i(n)x1(n-i)]]>其中上标T表示矢量或矩阵的转置,L是一个FIR滤波器500的阶数,X1(n)=[x1(n)x1(n-1)…x1(n-L+1)]T是用于子带的L个最近的子带远端话音抽样。
自适应滤波器201(图5)进一步包括一个通过从输入端210上的近端信号y1(n)中减去在输出端508上的回波估计z1(n),在输出端260上产生在双通话状态的回波消除信号r1(n)(或在单通话状态中的回波剩余信号)的减法器506,得到r1(n)=y1(n)-z1(n)其中单通话状态被定义为没有本地话音存在并且近端信号只包括回波信号;而双通话状态被定义为除了回波信号外,有近端话音存在。在双通话状态中,系数调整必须停止。如本领域技术所知,可运用双通话检测器来区分这两种条件。在这里假定为单通话条件,以致r1(n)是用于子带1的回波剩余信号。
自适应滤波器201进一步包括一个在输出端504上用于FIR滤波器500的输出系数W1(n)的控制器件502。在输出端504上的系数W1(n)是根据在端口221上的子带远端声音信号x1(n),在端口210上的近端声音信号y1(n)和在端口241上的适应速度控制信号s1(n)来产生的。
参考图6,现在将描述自适应滤波器201的工作(自适应滤波器201的描述适用于其它31个自适应滤波器中的每一个)。从在221上的子带远端信号x1(n)输入的L个最近的子带远端信号抽样的矢量X1(n)如方框602所指示的在自适应滤波器201中的缓存器(未示出)中存贮X1(n)=[x1(n)x1(n-1)…x1(n-L+1)]T用于子带远端信号能量的能量估计E1根据下面的公式如方框604所示在适应滤波器控制器502(在图5中示出)中产生E1=(1-a)E1+ax1(n)x1(n)其中a是0和1之间的一个标量,例如a=0.01。
自适应滤波器201响应在输入端241上的适应控制信号s1(n)来设置适应速度。适应滤波器控制器502如在判决框606中指示的,或者选择在某一特定抽样间隔期间调整或者使用前面的系数。如果在一个抽样间隔中,[n mod s1(n)]=1,如在方框608中指示的根据在输入端260上的输入r1(n),来自方框602的X1(n)和来自方框604的E1在适应滤波器控制器502中产生更新的系数W1(n)如下W1(n)=W1(n-1)+b r1(n)X1(n)E1-1其中b是步长和Wi(n)=[w10(n)W11(n)…w1L-1(n)]T。否则如在方框610中示意,当[n mod s1(n)]=0时,系数W1(n)保持不变。在两种情形下的任何一种,系数W1(n)在504输出供FIR滤波器500使用。
这样,对于具有正常适应速度si(n)=1的自适应滤波器将在每个抽样时刻都调整。对于具有一个更慢适应速度,例如1/4速度的那些自适应滤波器,si(n)等于4,在每4个抽样时刻内只调整一次。
相应地,用于每个自适应滤波器201-203的在输出端241至243上的调整控制信号{si(n)i=1,2,...,32}在每个抽样时刻产生以用于使能或禁止各个自适应滤波器201至203的适应。具有高的回波剩余信号能量的那些子带会在每个抽样时刻适应,而具有低的回波剩余信号能量的那些子带只在可获得的抽样时刻的一部分期间调整。通过在较少抽样时刻期间调整,在子带回波消除器的性能没有明显降低的同时,如由执行回波消除所需的每秒的机器指令数目所反映的回波消除器的复杂度可明显降低。在维持原先性能的同时计算复杂度被降低,对具有有限处理容量的实际应用十分有用。此外,使用回波剩余能量作为用于确定哪个子带接收大多数的适应资源的尺度,在保持由用户所感觉到的性能的同时,使回波消除器的复杂度的降低。
权利要求
1.一种操作一个子带回波消除器的自适应滤波器的方法,该方法包含步骤确定在许多个子带的每一个中的回波剩余能量;根据在各个子带中的回波剩余能量,分配各个适应速度给与各个子带相关联的自适应滤波器;以为各子带选择的各个适应速度,更新自适应滤波器的系数。
2.权利要求1中定义的方法,其中为M个自适应滤波器分配适应速度的步骤包括根据M个子带回波剩余信号的M个能量分配适应速度给M个自适应滤波器。
3.权利要求2中定义的方法,其中计算M个子带回波剩余信号的M个能量的步骤包括对每个子带的回波剩余能量的平方进行低通滤波。
4.权利要求2中定义的方法,其中为M个自适应滤波器分配适应速度的步骤包括把M个子带回波剩余信号分成一些组并且在每个组中的回波剩余能量被加在一起输出若干个组能量的步骤。
5.权利要求2中定义的方法,其中为M个自适应滤波器分配适应速度的步骤包括在若干个组能量中选择一个最大值。
6.权利要求2中定义的方法,其中为M个自适应滤波器分配适应速度的步骤进一步包括为具有较高的组能量的子带输出正常的适应速度控制信号的步骤。
7.权利要求2中定义的方法,其中为M个自适应滤波器分配适应速度的步骤进一步包括为具有较低的组能量的子带输出较慢的适应速度控制信号的步骤。
8.如权利要求6中定义的方法,其中输出正常的适应速度控制信号的步骤包括输出使自适应使能的信号的步骤,其中输出正常的适应速度控制信号使得相应的自适应滤波器的系数在每个抽样间隔中适应。
9.如权利要求7中定义的方法,其中输出慢的适应速度控制信号的步骤包括输出在某些适应间隔期间使适应禁止的信号的步骤,其中输出慢的适应速度控制信号使得相应的自适应滤波器在每D个抽样间隔执行一次适应,其中D为整数。
10.一个子带回波消除器,包括与许多个子带相关联的许多个自适应滤波器;和连到许多个自适应滤波器的适应速度控制器,其中适应速度控制器测量在每个子带中的回波剩余能量并分配正常的适应速度给那些具有较高的回波剩余能量的子带,并分配慢的剩余速度给那些具有较低的回波剩余能量的子带。
全文摘要
一个子带声音回波消除器(120)包括一个适应速度控制器(240)。适应速度控制器为每个子带测量回波剩余能量(320—327)。那些具有高的回波剩余能量的子带被分配更多的计算资源来维持正常的适应速度;而那些具有低的回波剩余能量的子带被分配较少的计算资源以便他们具有较慢的适应速度。
文档编号H04B3/23GK1261742SQ00100959
公开日2000年8月2日 申请日期2000年1月12日 优先权日1999年1月12日
发明者汤姆·李红, 迈克尔·米克劳夫林 申请人:摩托罗拉公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1