我浏览了关于使用 LPC Coefficients进行共振峰估计的 Matlab 教程。虽然我对细节有模糊的了解,但并不完全清楚为什么我们需要这样做。来自http://person2.sol.lu.se/SidneyWood/praate/whatform.html:
共振峰是语音波中特定频率附近的声能集中
为什么对音频信号进行 DFT 是不够的(必要时经过一些预处理)?在频域中,峰值对应于这些浓度,对吗?
我浏览了关于使用 LPC Coefficients进行共振峰估计的 Matlab 教程。虽然我对细节有模糊的了解,但并不完全清楚为什么我们需要这样做。来自http://person2.sol.lu.se/SidneyWood/praate/whatform.html:
共振峰是语音波中特定频率附近的声能集中
为什么对音频信号进行 DFT 是不够的(必要时经过一些预处理)?在频域中,峰值对应于这些浓度,对吗?
DFT 的频率分辨率受限于时间样本的数量。另一方面,适当的 LPC 可以具有高分辨率。
DFT 仅限于 2 的偶数次幂的大量样本。LPC 可以从少量样本中本地抽象出来,甚至是 M + 3 左右的阶数[因此对于 12 阶滤波器来说,可以通过 15样本],并且不限于 N 是 2 的幂。也就是说,一般的想法是非常正确的;如果它可以帮助您可视化正在发生的事情,您可以将共振峰视为频域中的脂肪峰。
我不喜欢其他答案。您只需对 DFT 进行零填充即可获得更高的分辨率。
主要原因是频谱被音高谐波污染,因此仅使用 DFT 的准确性将受到音高的限制(更高的音高不会很准确)。
您真正想要的是频谱包络的峰值,而频谱的峰值只会接近包络的峰值。LPC 是一种提取包络的方法。
https://www.dsprelated.com/freebooks/sasp/Spectral_Envelope_Extraction.html