我应该在我的 ADC 上使用什么采样率?

信息处理 频谱 采样
2022-01-30 03:14:25

我有一个将吉他音轨作为输入的 ADC。我想找到通过频域击中的音符。鉴于吉他频率范围是从 82Hz 到 1046Hz,我应该选择哪个采样率(窗口)?我读过一篇关于某种规则的文章,但我找不到它..

3个回答

取决于您的具体应用。首先,吉他的频率范围比您指出的要大得多。虽然基本音在这个范围内,但吉他有很多泛音,实际上大部分能量都在泛音中,而不是基本音。因此,当您将低 E 弦插入 80 Hz 时,实际上在 80 Hz 处没有那么多能量,但在 160Hz、240Hz、320 Hz 等处则更多。更高的弦也是如此。

在这种情况下,最简单的方法是使用以某种标准速率(8000、11025、12000、16000、22050、24000、32000、44100、48000)运行的现成音频 ADC。确切的选择取决于您的应用程序的要求。比如说,一个调谐器,我至少会做 16k。

严格来说,根据采样定理,您需要以至少两倍于信号带宽的速率进行采样(在您的示例中约为 960 Hz)。您的频段的低端接近于零,因此您可能希望至少以 2092 Hz 进行采样。在实践中,您需要提供一些额外的余量以允许您的模拟抗混叠滤波器滚降,这样可能会使您处于 2500-3000 Hz 范围内。根据您用于模数转换的硬件,它支持的速率可能会有一些限制;您还需要考虑到这一点。

吉他的实际频谱频率范围不是您所说的。吉他弦通常会发出由音符音高的许多高次谐波组成的声音,这些高次谐波有时在确定音高方面比试图从频谱中较弱甚至缺失的基音估计音高更有用。因此,一个显着高于最高音高 2 倍的采样率可能会大大提高您的音高检测/估计算法的可靠性。您还需要在所需抗混叠低通滤波器截止频率的 2 倍以上进行采样。

对于吉他声音,仅使用窗口 FFT(对于任何窗口长度)的幅度峰值不太可能是可靠的估计器。