吉他音符检测的采样频率的最佳值

时间:2016-01-16 05:26:40

标签: signal-processing fft fftw

我正在运行FFT算法来检测吉他上播放的音符。

我感兴趣的频率范围为65.41Hz(C2)至1864.7Hz(A#6)。

如果我将输入的采样频率设置为16KHz,则FFT的输出将线性地产生0Hz至16KHz的N个点。我感兴趣的所有输入大约是前N / 8点。其他N * 7/8分对我没用。他们实际上正在降低我的分辨率。

根据奈奎斯特的理论(https://en.wikipedia.org/wiki/Nyquist_frequency),所需的采样频率只是人们所需的最大频率的两倍。就我而言,这将是4KHz。

4KHz真的是吉他调音应用的理想采样频率吗?

直观地说,人们会觉得更好的采样频率会给你更准确的结果。然而,在这种情况下,似乎具有较小的采样频率对于提高分辨率更好。问候。

3 个答案:

答案 0 :(得分:3)

您将吉他音符的音高与频谱频率混淆。吉他以比播放音符的音高高得多的频率产生大量泛音和谐波。那些高次谐波和泛音,比某些情况下可能较弱的基频,是人耳听到并解释为较低的感知音高。

在以4 kHz采样之前,未经完全低通滤除的2 kHz或以上的任何泛音和谐波将导致混叠,从而导致采样数据及其频谱损坏。

如果要创建精确的调谐器,请使用音高估计算法,而不是FFT峰值频率箱估算器。根据您选择的音高估算方法,每单位时间更高的样本密度可能会在背景噪音或更快速响应下提供更高的准确度或更高的可靠性。

答案 1 :(得分:1)

  

4KHz真的是吉他调音应用的理想采样频率吗?

如果你这样问的话,你一直在误读奈奎斯特的定理。

f_sample > 2*f_max http://latex.codecogs.com/png.download?%24f_%5Ctext%7Bsample%7D%3E2%20f_%5Ctext%7Bsignal%2Cmax%7D%24

每个采样频率超过最大信号频率两倍的状态将允许您完美地重建原始信号。所以没有“理想”的频率。只需一组足够的频率。什么是理想因此取决于很多其他的东西:主要是,你的数字化仪真正支持什么(暗示:大多数声卡可以做44.1kHz,但不是4kHz),什么你希望过滤器等工作的余量,以及你可以花费多少处理能力(提示:现代智能手机,个人电脑甚至袖珍计算器真的很难处理几百kHz的实际情况时间)。

另请注意@ hotpaw2是正确的,谐波很重要,是基音频率的倍数。

  

然而,在这种情况下,似乎采样频率越低,提高分辨率就越好。

没有。无论从哪里来,都是错的。信息理论的首要结果是,基于更多信息,您无法做出更糟糕的估计。过采样信号只是关于同一信号的更多信息。

答案 2 :(得分:0)

是的,如果您感兴趣的是频率高达2 kHz,那么您只需要4 kHz的采样频率。这应该包括ADC前面的抗混叠滤波器或任何下变频器,以防止任何更高频率的分量混叠到更低的频率。

如果您感兴趣的是特定频率(一个或两个),那么您可能需要查看Goertzel算法,该算法比单个频率的FFT更有效。此外,可以使用啁啾-Z变换来有效地获得缩放的FFT(在较小的带宽上产生更高的分辨率,而没有具有相同分辨率的FFT的计算复杂度)。您可以查看this CZT tutorial

相关问题