【发布时间】:2018-12-31 09:35:25
【问题描述】:
我正在学习实现 Goertzel 算法,以从录制的波形文件中检测 DTMF 音调。我从here 用python 实现了一个。它支持以 8 kHz 和 16 kHz 采样的音频。我想扩展它以支持以 24 kHz、32 kHz 和 48 kHz 采样的音频文件。
从我从上面链接得到的代码中,我看到作者设置了以下前置条件参数/常量:
self.MAX_BINS = 8
if pfreq == 16000:
self.GOERTZEL_N = 210
self.SAMPLING_RATE = 16000
else:
self.GOERTZEL_N = 92
self.SAMPLING_RATE = 8000
根据this的文章,在做实际的Goertzel之前,有两个初步计算是:
- 确定采样率。
- 选择块大小,N
因此,作者明确将 16k 采样输入的块大小设置为 210,将 8k 采样输入设置为 92。现在,我想了解:
- 作者是如何得出这个块大小的?
- 24k、32k 和 48k 样本的块大小是多少?
【问题讨论】:
-
此问题已被交叉发布at dsp.stackexchange.com。
标签: algorithm python-2.7 audio signal-processing goertzel-algorithm