为什么在 MFCC 中使用倒谱而不是自相关序列?

信息处理 傅里叶变换 频谱 mfcc 倒谱分析
2022-02-07 04:36:09

我知道功率谱密度的傅里叶逆变换P(k)给出自相关序列A(n)(由 Wiener-Khinchin 定理):

F1{P(k)}=A(n)

如果我们更换P(k)通过它的对数值,我们得到倒谱序列C(n)

F1{log10P(k)}=C(n)

我的问题是:

  1. 使用对数值的原因是什么?
  2. 为什么会有所不同?
  3. 为什么在 MFCC、LPCC、PLPCC 等中不使用自相关序列而不是倒谱?
2个回答

通常在语音信号处理中使用倒谱来表​​示低频和高频分量,它们相互相乘(在时域中,它是一个缓慢变化的信号与高频信号卷积)。

使用对数值的原因是什么?

取对数以消除乘法效应并将其转换为两个分量的加法。

log(ab)=log(a)+log(b)

为什么会有所不同?

现在这两个组件是相加形式的。

为什么在 MFCC、LPCC、PLPCC 等中不使用自相关序列而不是倒谱?

同样的原因,因为我们需要去除慢变分量和快变分量的乘法效应。

在语音信号处理中,缓慢变化的分量代表不同的音素,因此充当许多应用程序(例如 ASR)的特征向量。因此,我们需要去除快速变化分量的影响,以隔离慢速变化分量。

关于“为什么要记录?”,除了@arpit-jain 已经讨论过的更简单的对数域数学之外,另一个特定领域的动机是心理声学

人类对音频的感知是对数的。更准确地说,耳鼓对声压级 (SPL) 的变化非常敏感,大约为几微帕到 1+ bar,因此 SPL 也是对数测量的。

同样,频率感知也是〜对数的,这是各种感知尺度的动机,如Mel(你在 MFCC 中的“M”)和Bark

为了将这一切联系在一起,当开发特征提取算法(MFCC、LPCC 等)或通常进行特征工程时,我们希望开发沿感知维度有意义的特征,并且在对数域中工作对于在语音识别、音频编解码器、降噪、声音{本地化、虚拟化、增强}