从 PCM 16 位阵列(时间帧)中去除回声?

信息处理 有限脉冲响应 数字滤波器 声学
2022-02-16 10:46:03

我很想知道了解远端信号和近端信号的消除回声的基础知识。我读过研究论文,其中通常说:
y(n) = (hT)x
其中h房间脉冲响应T 是转置估计的回声信号是 y(n)
现在,我真正想了解的是房间脉冲响应的计算。给定 PCM 16 位的两次帧数组。假设:

Near_end_sig = [x1,x2,x3,x4,....,xN] (一个时间框架)
Far_end_sig = [y1,y2,y3,....,yN] (一个时间框架)

我想要要知道在这种情况下处理数字声学信号(大小为 1024 的 PCM-16 位阵列)。
如何计算房间脉冲响应 h 以及如何估计回声信号?
我主要关心的是房间脉冲响应的计算和基于时间框架的回声信号估计。

问候,
库拜布·艾哈迈德

1个回答

从信号中去除回声(可以是电回声或声学回声)的规范方法是使用自适应滤波器。这种自适应滤波器应该能够以该路径的脉冲响应的形式保存回波路径的模型。有了这个模型,我们可以使用原始信号来创建其回波的副本,然后可以从信号中减去它。这是一个回声消除器:

回声消除器

让我们假设一个通信系统在两个方向上有两个信号:让我们还假设信号创建一个回声结果,系统得到一个混合回声消除器想要消除回声,因此它使用自适应回声模型来创建回声的副本 -信号中减去。由于模型不能精确,我们得到,其中是残余回波。xsxzszs+zz^s+zss+ee

在最简单的情况下,自适应回波模型是一个 FIR 滤波器,它在没有信号的时间段内进行自适应,这成为一个简单的系统识别问题:它应该匹配,使得 . 在适应之后,我们得到 - 一个滤波器系数向量,它表示回声路径的脉冲响应的线性部分。然后在常规通信期间,过滤器不适应,我们得到sxzzz^=0Hs+e

s+e=s+zHX,

其中过去样本的数组Xx

过滤器的位置取决于系统配置:它可以在近端或远端。滤波器的复杂性很大程度上取决于回波路径的特性:长的回波路径需要更长的滤波器,而且回波路径的非线性决定了所需的滤波器能力(因此一个滤波器不仅包括 FIR 滤波器,而且还具有IIR 挖掘、实现 Volterra 系列或做其他事情)。

在声学回声的情况下,回声路径是长的、非线性的并且随时间变化。它被估计为房间回声响应。过滤器最好放置在近端,应该包括非线性组件,并且应该能够在对话期间进行调整(即它必须以某种方式容忍双重通话)。这些事情有多种技术。

至于您的特定信号的细节,它不应该改变回声消除器的基本原理,因为它只会改变信号的编码方式。xs

这里有几个来自 Vocal Technologies 网站的关于回声消除的链接。我发现他们的网站很有帮助,有很多关于回声消除各个方面的有用解释。