Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Удаленная работа
Помощь проекту


Калькулятор разрешения БПФ (FFT)



Разрешение БПФ

Разрешение по частоте (ширина бина) и длительность окна БПФ по частоте дискретизации и размеру преобразования. Плюс номер бина для нужной частоты. Для спектрального анализа и настройки анализаторов.

Гц

Что такое разрешение БПФ и как его считают

Быстрое преобразование Фурье (БПФ) превращает записанный кусок сигнала в спектр — набор «корзин» (бинов), каждая из которых отвечает за узкую полосу частот. Разрешение по частоте — это ширина одного такого бина: насколько близко друг к другу могут стоять две частоты, чтобы анализатор увидел их как два отдельных пика, а не слил в один. Этот калькулятор считает ширину бина Δf, длительность анализируемого окна и номер бина, в который попадёт конкретная частота, по частоте дискретизации fs и размеру преобразования N. Прежде чем считать разрешение, стоит убедиться, что сама fs выбрана верно — это тема калькулятора Найквиста.

Δf = fs / N    T_окна = N / fs    бин(f) = round(f / Δf)    fmax = fs / 2

Формула проста и симметрична: ширина бина равна частоте дискретизации, делённой на число точек преобразования. Удвоили N — вдвое мельче стал бин и вдвое точнее разрешение. Подняли fs — бин, наоборот, расширился, потому что тот же массив из N отсчётов теперь растянут на более широкую полосу 0…fs/2. Полезных бинов ровно N/2: вторая половина спектра — зеркальное отражение первой и физического смысла для действительного сигнала не несёт.

Что показывают четыре ячейки

Разрешение Δf — ширина бина в герцах; это и есть шаг сетки частот, по которой раскладывается спектр. Длительность окна T = N/fs — сколько реального времени занимает записанный для анализа фрагмент; именно за это время накапливаются N отсчётов. Номер бина для заданной частоты f получается округлением f/Δf до целого: он говорит, в какую корзину ляжет тон. Диапазон 0…fs/2 — верхняя граница спектра, частота Найквиста. Частоты выше неё в чистый спектр не попадают, а «заворачиваются» вниз в виде ложных пиков — это зеркальная частота (алиасинг), и бороться с ней нужно антиалиасинговым фильтром до АЦП, а не размером БПФ.

Компромисс «частота ↔ время»

Главный закон спектрального анализа: за тонкое разрешение по частоте платят временем. Чтобы различить две частоты, отстоящие на Δf, нужно наблюдать сигнал не меньше T = 1/Δf секунд. Хотите бин 1 Гц при fs = 48 кГц — берите N = 48000 точек и окно в целую секунду; за это время быстрый переходный процесс успеет начаться и кончиться, и вы его «размажете». Поэтому для стационарных тонов (кварц, гетеродин, гул сети) выбирают большой N и узкий бин, а для коротких импульсов и меняющихся сигналов — короткое окно и грубое разрешение. N почти всегда берут степенью двойки (256, 1024, 4096…), потому что классический алгоритм БПФ на таких размерах работает быстрее всего; калькулятор принимает и произвольное N ≥ 2, но на «неудобных» числах реальная библиотека будет медленнее.

Отдельная тонкость — растекание спектра (leakage). Если частота тона не совпадает точно с центром бина, его энергия «размазывается» по соседним корзинам, и формальное разрешение Δf уже не гарантирует, что два близких пика видны раздельно. Помогает оконная функция (Хэннинга, Блэкмана и т. п.): она сужает боковые лепестки ценой небольшого уширения главного. Поэтому Δf из этой формулы — предельное, теоретическое разрешение; реальное чуть хуже и зависит от выбранного окна и от того, насколько точно частота сигнала попадает в центр бина.

Распространённая ошибка — путать разрешение с дополнением нулями (zero-padding). Если к реальным отсчётам дописать нули и сделать БПФ большего размера, точек в спектре станет больше и график будет выглядеть «плавнее», но истинное разрешение не улучшится: оно определяется только длительностью настоящей записи T = N/fs, а не числом точек преобразования. Дополнение нулями лишь интерполирует уже имеющуюся спектральную картину и помогает точнее оценить положение вершины пика — но два по-настоящему близких тона оно не разведёт. Чтобы поднять разрешение, нужно дольше наблюдать сигнал, а не подрисовывать нули. Именно поэтому в калькуляторе размер N связан с длительностью окна жёстко, один к одному, и увеличение N здесь означает именно более длинную запись.

Типовые режимы: fs, N и что получается

Таблица показывает ширину бина и длительность окна для распространённых сочетаний частоты дискретизации и размера БПФ — от телефонного тракта до радиоприёмного АЦП.

fsNΔf (бин)Окно T
8 кГц (телефония)10247,81 Гц128 мс
44,1 кГц (аудио CD)409610,8 Гц92,9 мс
48 кГц102446,9 Гц21,3 мс
48 кГц81925,86 Гц170,7 мс
96 кГц204846,9 Гц21,3 мс
1 МГц (АЦП РЧ)1024976,6 Гц1,02 мс

Видно, что при равном отношении fs/N (строки 48 кГц/1024 и 96 кГц/2048) разрешение одинаково — важна не сама частота дискретизации, а сколько отсчётов приходится на герц полосы. Заметьте и обратную сторону: чем шире полоса анализа, тем грубее бин при том же N, поэтому радиоприёмный АЦП на 1 МГц с массивом в тысячу точек даёт почти килогерцовый бин, тогда как звуковая карта на тех же 1024 точках различает единицы герц. Подбирать N и fs всегда приходится под конкретную задачу — под нужную полосу обзора и под приемлемую длительность окна.

Где применяют — и где не годится

Расчёт нужен всем, кто снимает спектр: при настройке анализаторов и SDR-приёмников, поиске паразитных гармоник и интермодуляции, измерении коэффициента гармоник THD, контроле фазовых шумов гетеродина, вибродиагностике машин. В синтезе сигналов ширина бина задаёт, насколько тонко вы «прицелитесь» частотой — это прямо связано с шагом сетки DDS-синтезатора. При проектировании цифровых линий тем же БПФ смотрят спектр потока, зная его битрейт. Формула не годится, когда сигнал нестационарен в пределах окна (тогда нужен не один БПФ, а спектрограмма с перекрытием окон), и она ничего не говорит о шумовом пороге анализа — динамический диапазон определяется разрядностью АЦП, см. ADC SNR / ENOB. Помните и про алиасинг: разрешение можно сделать сколь угодно мелким, но частоты выше fs/2 в спектр честно не попадут.

Пример

На значениях по умолчанию (fs = 48 кГц, N = 1024, f = 1000 Гц) считаем так. Ширина бина Δf = 48000 / 1024 = 46,875 Гц. Длительность окна T = 1024 / 48000 = 0,021333 с = 21,33 мс. Номер бина для тона 1000 Гц: 1000 / 46,875 = 21,33, округляем до 21-го бина. Верхняя граница спектра fmax = 48000 / 2 = 24 кГц, то есть диапазон 0 … 24 кГц, и весь спектр укладывается в N/2 = 512 полезных бинов. Хотите разрешение вдвое тоньше (≈23 Гц) — задайте N = 2048, но окно вырастет до 42,7 мс.

См. также: Найквист / дискретизация · зеркальная частота · ADC SNR / ENOB · DDS-спектр · битрейт потока · коэффициент гармоник · все калькуляторы


Частые вопросы

Как рассчитать разрешение БПФ?

Ширина одного бина Δf = частота дискретизации / размер БПФ (fs/N). Например, при fs = 48 кГц и N = 1024 разрешение равно 46,875 Гц на бин. Чтобы различить более близкие частоты, увеличивают N или снижают fs.

Почему нельзя одновременно улучшить разрешение по частоте и по времени?

Длительность окна T = N/fs. Улучшая разрешение по частоте (больший N при той же fs), вы удлиняете окно анализа — теряете разрешение по времени. Это фундаментальный компромисс частотно-временного анализа.


Похожие калькуляторы — DSP и сигналы
Найквист / дискретизация  ·  ADC SNR / ENOB  ·  RMS ↔ Vpp ↔ Vсред  ·  Децибелы (отношение)  ·  Зеркальная частота  ·  Битрейт потока  ·  все калькуляторы →


© 2003—2026 «KAZUS.RUN - Электронный портал»