Как пользоваться
- Введите частоту дискретизации в герцах и размер БПФ N.
- Введите номер бина, чтобы узнать его частоту (0 — постоянная составляющая, N/2 — бин Найквиста).
- Введите нужное разрешение, чтобы узнать минимальную длину кадра и размер БПФ — степень двойки, который его даёт.
Формулы
- Δf = fs ÷ N
- Длительность кадра T = N ÷ fs (= 1 ÷ Δf)
- Различных бинов у вещественного сигнала: N ÷ 2 + 1
- Частота бина k: f_k = k × Δf
- Отсчётов для разрешения Δf: N ≥ fs ÷ Δf, затем округление вверх до степени двойки для БПФ по основанию 2
Пример
Звук с частотой 48 000 Гц, БПФ на 4096 точек:
- разрешение: 48 000 ÷ 4096 = 11,71875 Hz;
- длительность кадра: 4096 ÷ 48 000 = 85,3333 ms;
- бинов от 0 до 24 000 Гц: 4096 ÷ 2 + 1 = 2 049;
- бин 100 стоит на 1 171,875 Hz;
- для разрешения 1 Гц нужно 48 000 ÷ 1 = 48 000 отсчётов — секунда звука, — так что размер БПФ будет 65 536, а бины пойдут через 0,732422 Hz.
Советы
- Время и частота — компромисс. Длинный кадр даёт точные частоты, но размывает момент событий; для спектрограмм звука обычно берут 1024–4096 отсчётов.
- Используйте окно. Умножьте кадр на окно Ханна или Блэкмана перед БПФ, чтобы уменьшить утечку от тонов между бинами.
- Самая высокая видимая частота — fs ÷ 2; про наложение спектров подробнее в калькуляторе частоты Найквиста.