论文翻译:双端通话频域回声消除中学习速率的调整

《On Adjusting the Learning Rate in Frequency Domain Echo Cancellation With Double-Talk》


摘要:回声消除的主要困难之一是学习速率需要根据诸如双方通话和回声路径变化等条件而变化。本文提出了一种改变频域回声抵消器学习速率的新方法。该方法是在基于存在噪声的情况下归一化最小均方(NLMS)算法的最佳学习速率上进行推导。文中结合自适应滤波器对该方法进行了评估。我们证明它比当前的双方通话检测技术性能得更好,并且易于实现。

索引词: 声学回声消除、自适应学习速率、回声路径变化、多延迟块频域(MDF)算法、归一化最小均方(NLMS)算法。

I. 介绍

  鲁棒的回声消除需要一种调整学习速率的方法来解决信号中噪声和/或干扰的存在。大多数回声消除算法试图检测双方通话情况,然后通过冻结自适应滤波器的自适应来做出反应。

  由Gansler[1]提出的最常用的双端通话检测算法是基于远端和近端信号之间的相干性。这种算法有两个主要缺点。首先,检测阈值取决于回声路径损耗、说话者之间的能量比和噪声。第二,相干性的估计需要关于回波延迟的良好知识(或估计)。Benesty [2]提出的双端通话检测器消除了对显式延迟估计的需要,并且通常降低了所需的复杂度。然而,用于计算决策变量 ξ \xi ξ的简化是基于滤波器已经收敛的假设。当回声路径改变时,这个假设不成立。

  在本文中,我们提出了一种新的方法来使自适应回声消除对双方交谈具有鲁棒性。我们使用连续学习速率变量,而不是像[1]、[2]中那样试图明确检测双方通话条件。学习率作为干扰(噪声和双方通话)以及滤波器失调的函数进行调整。这是通过在存在噪声的情况下推导归一化最小均方(NLMS)滤波器得到的最佳学习速率,并将结果应用于多延迟块频域(MDF)自适应滤波器[3]来实现的。虽然在过去[4],[5]中也提出了使用梯度自适应算法更新学习率的技术,但在本文中,我们将重点放在设计学习率,以在双方通话条件下快速反应上。

  在第二节中,我们推导了噪声存在下NLMS算法的最优学习率。在第三节中,我们提出了一种基于NLMS滤波器获得的导数来调整MDF算法的学习速率的技术。实验结果和讨论见第四节。第五部分是本文的结论。

在这里插入图片描述

图一:回声消除系统框图

II. 噪声环境下的最优NLMS学习算法

  从信息论的观点来看,我们知道只要自适应滤波器没有被完美地调整,误差信号总是包含一些关于精确(时变)滤波器权重 W k ( n ) W_k(n) Wk(n) 的信息。但是,有关 W k ( n ) W_k(n) Wk(n) 的新信息量会随着麦克风信号 d ( n ) d(n) d(n)中的噪声量而减少。在NLMS滤波器的情况下,这意味着当噪声增加或当滤波器失调减少时(当滤波器收敛时),随机梯度变得不太可靠。在这一节中,我们推导了复数NLMS算法一般情况下的最佳学习率。

  长度为N的复数NLMS滤波器(图1)定义为:在这里插入图片描述

其自适应步长为在这里插入图片描述

在这里插入图片描述

其中 x ( n ) x(n) x(n)是远端信号,是时刻 n n n上估计的滤波器权重 w ^ ( k ) \hat{w}(k) w^(k) ,以及 μ \mu μ是学习速率。

  考虑到滤波器权重的误差 δ k ( n ) = w ^ ( k ) − w k ( n ) \delta_k(n)= \hat{w}(k)-w_k(n) δk(n)=w^(k)wk(n),并且已知 d ( n ) = v ( n ) + ∑ k w k ( n ) x ( n − k ) d(n) = v(n)+\sum_{k}{w_k(n)x(n-k)} d(n)=v(n)+kwk(n)x(nk),那么(3)可以被重写为:在这里插入图片描述

  在每个时间步长,滤波器失调 Λ ( n ) = ∑ k δ k ∗ ( n ) δ k ( n ) \Lambda(n) = \sum_k{\delta^{*}_k(n)\delta_k(n)} Λ(n)=kδk(n)δk(n) 可由下式获得:在这里插入图片描述

通过(强)假设 x ( n ) x(n) x(n) v ( n ) v(n) v(n) 是彼此不相关的白噪声信号,我们发现在这里插入图片描述

其中期望操作符 E { . } E\{.\} E{.}仅在这一点上被 v ( n ) v(n) v(n) 接管并且 σ v 2 = E { ∣ v ( n ) ∣ 2 } \sigma^2_v = E\{|v(n)|^2\} σv2=E{v(n)2}。因为(6)是一个凸函数,所以通过求解 φ E { Λ ( n + 1 ) } / φ μ \varphi E\{\Lambda(n+1) \}/ \varphi \mu φE{Λ(n+1)}/φμ 并且 Λ ( n ) ≠ 0 \Lambda (n)\neq0 Λ(n)=0,可以在 μ \mu μ 上将预期失调最小化。在这里插入图片描述

这导致了条件最优学习率(以当前失调和远端信号为条件)在这里插入图片描述

当没有近端噪声 ( σ v 2 ) (\sigma^2_{v}) (σv2) 时,我们可以看到(8)简化为 μ o p t ( n ) = 1 \mu_{opt}(n) = 1 μopt(n)=1,与[7]一致。现在,考虑到 Λ ( n ) ∑ i = 0 N − 1 ∣ x ( n − i ) ∣ 2 / N \Lambda (n)\sum_{i=0}^{N-1}{|x(n-i)|^2/N} Λ(n)i=0N1x(ni)2/N x ( n ) x(n) x(n) 上的期望值等于残余回波 r ( n ) = y ( n ) − y ^ ( n ) r(n) = y(n) - \hat{y}(n) r(n)=y(n)y^(n)的方差 σ r 2 ( n ) \sigma _r^2(n) σr2(n),并且已知输出信号方差为 σ e 2 ( n ) = σ v 2 ( n ) + σ r 2 ( n ) \sigma_e^2(n) = \sigma^2_v(n) + \sigma^2_r(n) σe2(n)=σv2(n)+σr2(n),我们近似(当N趋于无穷大时,近似变得精确)最佳学习速率为在这里插入图片描述

这意味着最佳学习率近似与残差误差比成比例。注意, σ e 2 ( n ) \sigma^2_e(n) σe2(n) 很容易估计;然而,残余回声 σ r 2 ( n ) \sigma^2_r(n) σr2(n)的估计是困难的,这一点将在下一节讨论。现在,如果我们假设有估计值 σ ^ r 2 ( n ) \hat{\sigma}^2_r(n) σ^r2(n) σ ^ e 2 ( n ) \hat{\sigma}^2_e(n) σ^e2(n),我们可以选择学习率为在这里插入图片描述

其中,上限是无噪声情况下的最佳速率,反映了 σ e 2 ( n ) \sigma^2_e(n) σe2(n)始终大于 σ r 2 ( n ) \sigma^2_r(n) σr2(n)的事实。

  从(6)中可以获得的另一个结果是 ( E { Λ ( n + 1 ) } = Λ ( n ) ) (E\{\Lambda (n+1)\}=\Lambda (n)) (E{Λ(n+1)}=Λ(n)),当在这里插入图片描述

其中 σ x 2 ( n ) \sigma^2_x(n) σx2(n)是滤波器输入(远端)信号的方差。将(10)中 μ ^ o p t \hat{\mu}_{opt} μ^opt 的值代入(11),我们得到在滤波器自适应停止时,残余回声为在这里插入图片描述

其中min ( . ) (.) (.) 中的第一个参数是通过求解在这里插入图片描述

(12)中的结果意味着残留回波受到背景噪声和估计残留回波的一半的限制,以较低者为准。因此,至少在双方通话期间,不要高估残留回声超过3dB,这一点很重要。

III. 背景噪声和双端通话对MDF算法的影响

  第二节中的推导假设 x ( n ) x(n) x(n) v ( n ) v( n ) v(n) 是白噪声信号。虽然该假设在使用NLMS算法的语音信号的声学回声消除的情况下显然不成立,但是我们建议将其应用于在频域中操作的自适应滤波器算法。在本节中,我们将重点讨论多延迟块频域(MDF)自适应滤波器[3]。用于MDF算法(和其他块频率算法)的自适应类似于为每个频率独立地应用NLMS算法。已经观察到,输入信号在时间上(跨连续的快速傅立叶变换帧)不如原始时域信号相关。此外,学习速率 μ ( k , ϱ ) \mu(k,\varrho) μ(k,ϱ)可以是频率相关的。在本节中,变量 Y ^ ( k , ϱ ) \hat{Y}(k,\varrho) Y^(k,ϱ) E ( k , ϱ ) E(k,\varrho) E(k,ϱ) y ^ ( n ) \hat{y}(n) y^(n) e ( n ) e(n) e(n)的频域对应变量,其中k是频率索引, ϱ \varrho ϱ是帧索引。

  假设MDF算法的每个频率的信号在时间上不相关,我们通过下式近似最佳频率相关学习速率在这里插入图片描述

其中 k k k 是离散频率, ϱ \varrho ϱ 是帧索引。为了估计残余回声 σ r 2 ( k , ϱ ) \sigma^2_r(k,\varrho) σr2(k,ϱ),我们假设自适应滤波器具有与频率无关的泄漏系数 η ( ϱ ) \eta(\varrho) η(ϱ),该系数表示滤波器的失调。这导致了估计在这里插入图片描述

其中 η ^ ( ϱ ) \hat{\eta}(\varrho) η^(ϱ)是估计泄漏系数。该公式的优点在于,它将残差估计 σ r 2 ( k , ϱ ) \sigma^2_r(k,\varrho) σr2(k,ϱ)分解为缓慢发展但难以估计的项( η ^ ( ϱ ) \hat{\eta}(\varrho) η^(ϱ))和快速发展但易于估计的项( σ ^ Y ^ 2 ( k , ϱ ) \hat{\sigma}^2_{\hat{Y}}(k,\varrho) σ^Y^2(k,ϱ))。泄漏系数 η ( ϱ ) \eta(\varrho) η(ϱ)实际上是滤波器的回波损耗增强(ERLE)的倒数。

  为了学习速率在双方通话的情况下能够具有快速响应,以便防止滤波器在双方通话开始时发散。为此,我们使用瞬时估计 σ ^ Y ^ 2 ( k , ϱ ) = ∣ Y ^ ( k , ϱ ) ∣ 2 \hat{\sigma}^2_{\hat{Y}}(k,\varrho)=|\hat{Y}(k,\varrho)|^2 σ^Y^2(k,ϱ)=Y^(k,ϱ)2 σ ^ e 2 ( k , ϱ ) = ∣ E ( k , ϱ ) ∣ 2 \hat{\sigma}^2_e(k,\varrho) = |E(k,\varrho)| ^2 σ^e2(k,ϱ)=E(k,ϱ)2,并基于(10),这导致学习率在这里插入图片描述

其中 μ m a x \mu_{max} μmax 是一个设计参数(始终小于或等于1 ),它为实际应用中的学习速率设置了一个上限,并确保学习速率不会导致自适应滤波器变得不稳定。

  我们从(16)中看到,滤波器失调和双端通话的影响是分离的。因此,即使剩余回声(泄漏系数)的估计需要更长的时间周期,学习率也可以对双方通话做出快速反应。

  需要解决的一个重要方面是初始条件。当滤波器被初始化时,所有的权重被设置为零,因此 Y ^ ( k , ϱ ) \hat{Y}(k,\varrho) Y^(k,ϱ)信号也为零。这使得使用(16)计算的学习率为零。为了开始自适应过程,学习速率 μ ( k , ϱ ) \mu (k,\varrho) μ(k,ϱ)被设置为一个固定常数(我们使用 μ ( k , ϱ ) = 0.25 \mu (k,\varrho)=0.25 μ(k,ϱ)=0.25),持续一段等于两倍滤波器长度的短时间(只考虑 x ( n ) x(n) x(n) 信号的非零部分)。该过程仅在滤波器初始化时需要,在回声路径改变的情况下不需要。

A. 泄漏估计

  我们从(16)中看到,最佳学习率严重依赖于估计的泄漏系数 η ^ ( ϱ ) \hat{\eta}(\varrho) η^(ϱ)。我们建议通过利用信号的非平稳性和使用估计的回波和输出信号的功率谱之间的线性回归来估计泄漏系数 η ( ϱ ) \eta(\varrho) η(ϱ)。这种选择是基于这样的事实,即残留回波的频谱与估计回波的频谱高度相关,而回波的频谱与噪声的频谱之间没有相关性。

  首先,使用一阶DC抑制滤波器获得功率谱的零均值版本在这里插入图片描述

由此, η ^ ( ϱ ) \hat{\eta}(\varrho) η^(ϱ)等于估计的回波功率 P Y ( k , ϱ ) P_Y(k,\varrho) PY(k,ϱ)和输出功率 P E ( k , ϱ ) P_E(k,\varrho) PE(k,ϱ)之间的线性回归系数在这里插入图片描述

其中 R E Y ( k , ϱ ) R_{EY}(k,\varrho) REY(k,ϱ) R Y Y ( k , ϱ ) R_{YY}(k,\varrho) RYY(k,ϱ)的相关性递归平均为在这里插入图片描述

β 0 \beta_0 β0是泄漏估计的基本学习速率, σ ^ Y ^ 2 ( ϱ ) \hat{\sigma}^2_{\hat{Y}}(\varrho) σ^Y^2(ϱ) σ ^ e ^ 2 ( ϱ ) \hat{\sigma}^2_{\hat{e}}(\varrho) σ^e^2(ϱ)分别是估计回波和输出信号的总功率。可变平均参数 β ( ϱ ) \beta(\varrho) β(ϱ)防止在不存在回声时调整估计值。

B. 双方通话、背景噪声和回声路径变化

  可以看出,上述自适应学习速率能够在没有显式建模的情况下处理双方通话和回声路径变化。从(16)中,我们可以看到,当双端通话发生时,分母 ∣ E ( k , ϱ ) ∣ 2 |E(k,\varrho)|^2 E(k,ϱ)2迅速增加,导致学习率瞬时降低,该降低仅持续双端通话持续的时间。在背景噪声的情况下,学习率取决于回波信号的存在以及泄漏估计。随着滤波器失调变小,学习率也将变小。

  双端通话检测的一个主要困难是需要区分双端通话和回声路径变化,这两种情况都会导致滤波器误差信号突然增加。这种区分是通过泄漏估计来完成的。在双方通话的情况下,误差的功率谱和估计回波的功率谱之间几乎没有相关性,所以 η ^ ( ϱ ) \hat{\eta}(\varrho) η^(ϱ) 保持很小,学习率也是如此。另一方面,当回声路径改变时,功率谱之间存在较大的相关性,这导致 η ^ ( ϱ ) \hat{\eta}(\varrho) η^(ϱ)快速增加,如果改变较大并且没有双端通话,则 η ^ ( ϱ ) \hat{\eta}(\varrho) η^(ϱ)可以快速使学习率接近1。

在这里插入图片描述

在这里插入图片描述

图二:(a) 卷积的远端信号 y ( n ) y(n) y(n)(上),近端信号 v ( n ) v(n) v(n)(中),捕获信号 d ( n ) d(n) d(n)(下)。(b)作为时间函数的短期ERLE。曲线中的间隙是由于当远端信号为零时ERLE未定义的事实。

在这里插入图片描述

图三:回波损耗增强(ERLE)估计值,计算为估计泄漏系数( 1 / η ^ ( ϱ ) 1/\hat{\eta}(\varrho) 1/η^(ϱ))与测量ERLE的倒数。

IV. 结果和讨论

  在具有背景噪声、双端通话和回声路径变化的声学回声消除环境中评估所提出的系统。所用的两个不同脉冲响应长度为1024个样本,是在一个小办公室中的真实录音中测量的,麦克风和扬声器都放在桌子上。

  将提出的 法 1 法^1 1与Gansler双端通话检测器[1]、归一化互相关方法[2]以及无双端通话检测(无DTD)的基线进行比较。在Gansler算法的实现中,延迟估计是离线执行的,并且相干阈值被设置为0.3,因为发现该值对于当前情况是最佳的。如果使用这些参数的自动估计,我们预计Gansler算法的性能会下降。归一化算法的最佳阈值也是0.3。发现选择 μ m a x = 0.5 \mu_{max} = 0.5 μmax=0.5 作为学习速率的上限对于我们的算法给出了好的结果。实际上,查找 μ m a x \mu_{ max } μmax并不难,因为算法对该参数并不敏感。对于测试的其他算法,使用 μ = 0.2 \mu = 0.2 μ=0.2作为学习率可以获得最好的结果。

  对于典型的32s场景,近端和远端的信号如图2(a)所示,回波路径在16 s后发生变化。对于所有算法,测得的回波损耗增强(ERLE)如图2(b)所示。由于算法行为的自然变化,不可能立即从该图中确定最精确的算法。然而,我们在这里展示它是为了演示我们算法的行为。例如,可以观察到,当回声路径在16 s之后改变时,所提出的算法比具有双方通话检测的其他算法更快地重新适应,并且几乎与没有双方通话检测的回声消除器一样快。

  图3中提供了ERLE的估计(计算为 1 / η ^ ( ϱ ) 1/\hat{\eta}(\varrho) 1/η^(ϱ))。可以观察到,该估计大致遵循测量的ERLE,尽管该估计明显有噪声。最重要的是,它几乎从不高估残余回声(低估ERLE)超过3 dB,如(12)所要求的。此外,当回声路径发生变化时,估计值会迅速下降至0 dB,这是理想的行为。图4示出了对于所有三种算法,学习速率如何作为时间的函数而变化。当学习率在 t = 16 s t = 16s t=16s 处的回声路径改变之后快速上升,保持远高于其他算法的学习率大约5 s时,可以清楚地观察到泄漏估计的效果。还观察到,随着滤波器变得更好地适应,学习率下降。这优于不考虑滤波器失调的Gansler和归一化互相关算法。

图5示出了具有不同近端信号和回波比率的图2数据的平均稳态(不考虑适应的前2秒)ERLE。显然,在所有情况下,所提出的算法都比Gansler和归一化互相关算法执行得更好,在这两种情况下,平均改善超过4 dB。输出语音信号的感知质量也通过使用语音质量感知评估(PESQ) ITU-T建议P.862 [8]和P.862.1 [9]将其与近场信号 v(n) 进行比较来评估。图6所示的语音的感知质量是基于包括适应时间在内的整个文件来评估的。再次清楚的是,所提出的算法比参考双方通话检测器执行得更好。值得注意的是,图6中的结果随着双方通话而改善(不同于图5)的原因是感兴趣的信号是双方通话 v(n),因此双方通话越高,输入信号中的(相对)回声越少。

在这里插入图片描述

图四:所有三种算法在600毫秒移动窗口内的平均学习速率。对于所提出的算法,学习率也在所有频率上平均。仅由于时间平均,Gansler和归一化互相关算法的学习速率似乎具有连续的标度。当没有远端信号时,学习率有时会变为零。在这里插入图片描述

图五:稳态ERLE(不考虑自适应的前2秒)与v-y信号比( 20 l o g 10 ( σ v 2 / σ y 2 20log_{10}(\sigma^2_v/\sigma^2_y 20log10(σv2/σy2)的函数关系。当比值等于或高于10 dB时,滤波器在“无DTD”情况下不能收敛。在这里插入图片描述

图六:PESQ客观听音质量测量(LQO-MOS)是v-y信号比( 20 l o g 10 ( σ v 2 / σ y 2 20log_{10}(\sigma^2_v/\sigma^2_y 20log10(σv2/σy2)的函数。当比值等于或高于10 dB时,在“无DTD”的情况下,滤波器不能改善。

V. 结论

  我们已经展示了一种新颖的方法,用于基于当前失调以及存在的噪声和双端通话量来调整频域自适应滤波器的学习速率。所提出的方法比基于相干的双方通话检测器执行得更好,不使用硬检测阈值,并且不需要回声路径延迟的显式估计。虽然演示是使用MDF算法完成的,但我们相信该技术足够通用,并且适用于其他频域自适应滤波算法。

  在未来的工作中,可以将(15)中的残余回声估计评估为残余回声估计器,用于进一步抑制回声,如[10]中所提议的。此外,应研究更精确的方法来估算泄漏系数。

参考文献

在这里插入图片描述

作者介绍:

  Jean-Marc Valin于1976年出生于加拿大的蒙特利尔。他分别于1999年、2001年和2005年获得加拿大皇家律师学院舍布鲁克大学电气工程学士、硕士和博士学位。他的博士研究重点是将听觉能力引入移动机器人平台,包括声源定位和分离。

  自2005年以来,他一直是澳大利亚新南威尔士州马斯菲尔德CSIRO ICT中心的博士后研究员。他的研究课题包括声学回声消除和麦克风阵列处理。他是Speex语音编解码器的作者。

引入:

  1. 中所提出的算法的完整源代码可以作为Speex软件包(版本1.1.12或更高版本)的一部分在http://www.speex.org/获得

注:由于本文为博主自己翻译的仅供自己学习记录,为不影响文章的阅读性。公式和图片直接从文章中截图使用。如有错误,请联系博主改正!!!

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王小二_Leon

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值