线性预测编码 (LPC) 背后的理论

信息处理 线性系统 语音 压缩 线性预测
2022-01-04 14:56:19
  • LPC背后的理论是什么?
  • 为什么说 LPC 的某些实现比其他压缩语音编码方案 更能容忍传输或编码错误量化?

  • LPC 方法是否也可以用于平滑或短期“预测”,类似于使用卡尔曼滤波器方法?

  • 在什么条件或限制条件下使用 LPC 有效?
1个回答

首先,说线性预测编码(LPC)“更能容忍传输或编码错误”并不完全正确。传输系数的形式有很大的不同。例如,如果求解线性预测系数,它们可能对量化非常敏感,就像高阶 IIR 滤波器系数一样(这是因为合成滤波器将是 IIR,但稍后会详细介绍)。但是,如果它们以某种其他形式传输,则可以轻松缓解此问题。

一种方法是传递反射系数。如果递归求解一个 k 阶线性预测滤波器,则每个阶段的最高阶系数称为反射系数。这些可以一起使用来完全表征系统(这可以很容易地从 Levinson 递归中看出)。事实上,您可以将它们全部一起使用以形成一个格子滤波器。当量化是一个问题时,通常会使用这些滤波器,因为它们对低位计数更加稳健。此外,如果这些反射系数的幅度以单位为界,则可以保证 BIBO 稳定滤波器,这对于 LPC 至关重要,其中滤波器用于合成信号。还有其他方法,例如经常使用的线谱对,但不是

现在,为了解决第一个问题,LPC 的理论围绕声道建模展开。本质上,我们将语音建模为空气振动,作为某种结构的管子的输入。你可以寻找一些更详细的资源来充实这个模型(管的长度、空气的强度、结构等)。这些资源将这些结构直接与响应各种刺激(例如白噪声)的 IIR 滤波器相关联。

因此,当我们求解线性预测系数时,我们正在寻找这样的系数,如果我们将信号(例如语音)输入到从系数创建的 FIR 滤波器中,我们会得到白噪声作为输出。所以想想这意味着什么。我们正在输入一个高度相关信号,并输出白噪声序列。所以实际上,我们正在消除该信号的所有线性相关性。另一种看待这一点的方式是,所有有意义的信息都包含在消除这种线性相关性的系数中。因此,我们可以传输这些系数(或上述的某种形式),接收端可以重新创建信号。这是通过反转线性预测 FIR 滤波器以创建 IIR 滤波器并输入白噪声来完成的。因此,压缩来自于消除这种线性相关性,并传递系数。这就是为什么 Burg 方法有时也被称为最大熵方法的原因,因为它旨在最大化线性预测滤波器中输出噪声的“随机性”或白度。另一种看待这个的方式,

要回答您的最后一个问题,我不确定您要问什么。LPC或线性预测编码旨在“压缩”信号,假设它可以如前所述有效地建模。正如您所提到的,您当然可以使用线性预测来进行“短期预测”。这是用于功率谱密度估计的高分辨率 AR 方法背后的隐含基础。自相关序列可以从有限数据记录的有限形式递归地扩展到无穷大,作为无窗序列的理论自相关序列。这也是为什么 PSD 估计的 AR 方法不会出现旁瓣现象的原因。