【问题标题】:How software echo canceller works?软件回声消除器如何工作?
【发布时间】:2013-09-23 02:07:20
【问题描述】:

我读过很多 VoIP echo 主题,例如 What is echo cancellation? Causes of Echo

这就是我的理解。假设有 A 和 B 通话,A 听到自己的声音(回声)

  1. 引起回声的是B。因为 B 的麦克风已经捕捉到 B 的声音和 B 的说话者声音(其中包含 A 的声音)
  2. 由于 B 引起回声,他必须在他身边实施回声消除。这种回声消除的工作原理如下:B 将保存 A 语音的副本,并检查 B 将发送的数据是否包含此副本。如果是,B 必须从传输数据中减去这个副本

这是对的吗?如有错误请指正

【问题讨论】:

  • 关于 AEC 的实际实施方式,您在 (2) 中的基本原理是正确的 - 请参阅:en.wikipedia.org/wiki/Echo_cancellation
  • @PaulR 关于 2)也许我对实际实现有误,但这个概念是对的吗?另外,我认为 A 也可以在他这边实现回声消除。 A可以检查返回的声音是否包含他以前的声音,对吗?
  • 一般来说是的,两端都有 AEC,但 AEC 的工作方式与您想象的方式不同(而且比您想象的要复杂得多)。阅读我在上面链接的维基百科页面并学习adaptive filters。对于实际实现,您还需要了解 Voice Activity Detection 之类的内容。
  • @PaulR 非常感谢,然后你可以把你的 cmets 变成答案
  • 我在回答“这对吗?底部的问题。回声不仅是由 B 手机中的麦克风引起的(它可以是混合等)。延迟部分也很重要,因为在 A 和 B 之间没有任何实质性延迟,“泄漏”的声音不会被听到为回声(只是更多的侧音)。理论上,回声消除可以在任一端完成 - 这是一个不断发展的领域,现在交换机中的技术通常是一种共享资源,可以根据需要添加到单个呼叫中,并且现在手机本身也存在消除器。

标签: echo voip microphone speaker echo-cancellation


【解决方案1】:

您的基本原理是正确的,并且您通常在电话链路的两端都需要 AEC,但您在 (2) 中关于 AEC 的实际实施方式有些错误。我建议从以下维基百科条目开始:

【讨论】:

  • 你能给我一个关于如何实施 AEC 的非常基本的解释吗?我读到它会创建一些副本,然后做减法
  • 最重要的部分是自适应滤波器 - 阅读自适应滤波器的链接,了解它们如何过滤掉信号中不需要的部分(即本例中的回声)。
猜你喜欢
  • 2012-07-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-20
  • 1970-01-01
  • 2016-09-20
  • 2011-08-31
  • 1970-01-01
相关资源
最近更新 更多