Размер блока определяет разрешение / селективность частоты и время, необходимое для сбора блока выборок.
Пропускная способность вашего детектора составляет около Fs / N , и, конечно,время, необходимое для сбора блока, составляет N / Fs .
Для эквивалентной производительности вы должны сохранять соотношение между Fs и N примерно одинаковы, так что оба эти измерения остаются неизменными.
Также важно настроить размер вашего блока так, чтобы он был как можно ближе к кратному длине волны, которую вы хотите обнаружить.Алгоритм Гертцеля - это, по сути, быстрый способ вычисления нескольких выбранных корзин DFT, и эта настройка помещает частоты, которые вы хотите видеть, ближе к центру этих корзин.
Оптимизация размера блока в соответствии с последней точкойвероятно, почему Fs / N не совсем совпадает в коде, который вы используете для частот дискретизации 8 кГц и 16 кГц.
Вы могли бы повторить эту оптимизацию для других частот дискретизации.Вы хотите поддерживать, но на самом деле производительность будет эквивалентна той, что у вас уже есть, если вы просто используете N = 210 * Fs / 16000
. Вы можете найти подробное описание выбора размера блока.здесь: http://www.telfor.rs/telfor2006/Radovi/10_S_18.pdf