Как собрать и откалибровать спектральный анализатор на базе HackRF One

Как собрать и откалибровать спектральный анализатор на базе HackRF One

Если ты хочешь видеть, что происходит в радиочастотном спектре — от FM-радио до Wi-Fi, Bluetooth, спутниковых сигналов или даже неизвестных помех — HackRF One это один из немногих доступных инструментов, которые позволяют сделать это без покупки дорогого лабораторного оборудования. Но просто подключить его к компьютеру — не значит получить рабочий спектральный анализатор. Без калибровки ты будешь видеть искажённую картину: частоты сдвинуты, амплитуды — неадекватны, шумы — непонятной природы. Я расскажу, как собрать систему, которая работает, а не просто «светится».

Что тебе реально нужно

Ты не должен покупать всё подряд. Вот минимальный набор, который работает:

  • HackRF One (в оригинале, не подделка — проверь номер серийный на корпусе)
  • USB 3.0 кабель (не длиннее 1 метра, иначе будут обрывы связи)
  • Антенна с подходящим диапазоном (например, широкополосная активная антенна для 10 МГц – 6 ГГц)
  • Компьютер с Linux или Windows 10/11 (macOS не рекомендую — драйверы нестабильны)
  • Программа: GNU Radio + gr-osmosdr (лучше всего) или SDR# (если на Windows)
  • Калибровочный сигнал (необязательно, но сильно ускоряет процесс — см. ниже)

Не трать деньги на «усилители», «фильтры» и «экраны» на первом этапе. Сначала сделай базовую систему, которая показывает реальные частоты — и только потом думай о доработках.

Шаг 1: Подключение и базовая настройка

Подключи HackRF One к USB-порту. Не в USB-хаб — только напрямую в компьютер. Если ты видишь в системе устройство с именем HackRF One — это хорошо. Проверить можно так:

  1. На Linux: в терминале введи hackrf_info. Должен появиться вывод с версией прошивки, серийным номером и статусом «HackRF One is available».
  2. На Windows: установи Zadig, найди HackRF в списке устройств, замени драйвер на libusb-win32 (не WinUSB).

Если устройство не определяется — проблема в кабеле, драйвере или подделке. Не пытайся «починить» — замени кабель или устройство. HackRF One — это не игрушка. Если он не определяется на 100% — он не будет работать корректно даже с идеальной калибровкой.

Шаг 2: Установка программного обеспечения

Для анализа спектра я рекомендую GNU Radio Companion (GRC). Почему? Потому что он позволяет не просто «смотреть», а понимать, что происходит внутри. Но если ты не хочешь вникать в блок-схемы — используй SDR# на Windows. Он проще, но менее точен.

Установи:

  • Linux: sudo apt install gnuradio gr-osmosdr
  • Windows: скачай SDR# с сайта sdrsharp.com, установи HackRF драйвер через Zadig, запусти SDR# и выбери «HackRF» в списке устройств.

Запусти SDR# или GRC. Настрой частоту на 100 МГц (FM-радио). Если ты слышишь музыку — ты уже на правильном пути. Если нет — проверь антенну, кабель и уровень усиления (LNA, VGA).

Шаг 3: Почему калибровка — не «опционально», а обязательна

HackRF One — это не лабораторный прибор. Его кварцевый генератор имеет погрешность до ±2 ppm. Это значит: на частоте 1000 МГц ты можешь видеть сигнал не на 1000.000 МГц, а на 999.998 или 1000.002 МГц. Это не критично для прослушивания радио, но для анализа цифровых сигналов — смертельно. Например, LTE-сигналы имеют ширину канала 1.4–20 МГц. Если частота сдвинута на 5 кГц — ты пропустишь часть сигнала или ошибочно определишь его мощность.

Кроме того, внутренние усилители (LNA, VGA) имеют нелинейные характеристики. Сигнал на -50 дБм может отображаться как -45 или -55 дБм — в зависимости от частоты. Это делает сравнение сигналов бессмысленным без калибровки.

Шаг 4: Как откалибровать частоту

Тебе нужен стабильный источник сигнала с известной частотой. Лучший вариант — GPS-сигнал. Он есть везде, и его частота известна с точностью до 0.001 ppm.

Способ:

  1. Подключи к HackRF антенну, которая ловит GPS (например, активная антенна 1575.42 МГц).
  2. Настрой SDR# или GRC на частоту 1575.42 МГц.
  3. Найди пик сигнала. Он должен быть в районе 1575.42 МГц, но скорее всего ты увидишь его на 1575.418 или 1575.423.
  4. Запиши разницу. Например: ты видишь пик на 1575.422 МГц, а должен был на 1575.420 — значит, сдвиг +2 кГц.
  5. В SDR# в настройках устройства есть поле «Frequency Correction». Введи туда -2000 (в Гц). Это компенсирует сдвиг.
  6. Перезагрузи приложение. Проверь снова. Если пик теперь точно на 1575.420 — калибровка частоты завершена.

Если GPS-антенны нет — используй радиостанцию с известной частотой: например, погодную станцию на 162.4 МГц, или радио «Радио России» на 101.5 МГц. Главное — чтобы частота была точно известна и стабильна.

Шаг 5: Калибровка амплитуды — сложнее, но важнее

Частоту можно калибровать «на глаз». Амплитуду — нельзя. Ты не увидишь разницу между -60 дБм и -65 дБм без эталона.

Нужен калибровочный сигнал. Идеальный вариант — генератор с точной мощностью, например, Mini-Circuits ZFBT-4R2GW+ (выход 0 дБм на 1 ГГц). Но он стоит $300. Не у всех есть.

Альтернатива: сигнал от Wi-Fi роутера. Да, это не эталон, но он стабилен и часто используется в любительских измерениях.

Как сделать:

  1. Включи Wi-Fi роутер на 2.4 ГГц. Убедись, что он работает на одном канале (например, канал 6 — 2.437 ГГц).
  2. Поднеси HackRF к роутеру на расстояние 10–20 см (без преград).
  3. Настрой SDR# на 2.437 ГГц. Найди пик сигнала Wi-Fi.
  4. Запиши его амплитуду в дБм. Скорее всего, ты увидишь -30…-40 дБм.
  5. Теперь подключи к антенне аттенюатор 10 дБ. Повтори измерение. Сигнал должен упасть ровно на 10 дБ.
  6. Если упал на 8 дБ — значит, у тебя ошибка в усилении на -2 дБ на этой частоте.
  7. Повтори на 900 МГц, 1.8 ГГц, 2.4 ГГц, 5.8 ГГц — если антенна поддерживает.

Теперь ты знаешь, насколько твой HackRF One «завышает» или «занижает» мощность на разных частотах. Это — твоя калибровочная таблица. Её можно вручную применять в Excel или в скрипте GNU Radio.

Сравнение методов калибровки

Метод Точность частоты Точность амплитуды Сложность Стоимость Подходит для
GPS-сигнал ±0.001 ppm Нет Низкая $50–100 (антенна) Калибровка частоты
Радиостанция (FM/AM) ±1–5 кГц Нет Низкая Бесплатно Базовая калибровка
Wi-Fi роутер + аттенюатор ±50 кГц ±2–5 дБ Средняя $10 (аттенюатор) Приблизительная амплитуда
Калибратор 0 дБм ±0.0001 ppm ±0.5 дБ Высокая $300+ Профессиональная работа

Если ты просто хочешь найти неизвестный сигнал — хватит GPS + Wi-Fi. Если ты анализируешь помехи в системе связи — тебе нужен калибратор. Если ты пишешь научную статью — без калибратора не пройдёшь.

Частые ошибки

  • Используешь USB-хаб — HackRF One требует стабильный ток. Хаб = обрывы связи = артефакты на спектре.
  • Пытаешься калибровать без эталона — «я просто вижу, что пик где-то тут» — это не калибровка, это гадание.
  • Игнорируешь температуру — HackRF One греется. После 10 минут работы частота может сдвинуться на 1–3 кГц. Калибруй при рабочей температуре.
  • Используешь пассивную антенну на высоких частотах — на 5 ГГц пассивная антенна не ловит ничего. Ты думаешь, что «нет сигнала», а на самом деле — антенна не работает.
  • Думаешь, что калибровка — разовая — нет. После перезагрузки, смены кабеля, или даже смены USB-порта — нужно проверять.

Как лучше сделать — реальные советы

  • Сделай постоянную калибровочную таблицу: запиши частоты и поправки в Excel. Используй её как справочник.
  • Если ты часто работаешь с 2.4 ГГц — купи калибровочный джампер (сигнал от генератора через кабель в антенный разъём). Подключай его вместо антенны — это даёт точность ±1 дБ.
  • Используй скрипт GNU Radio с калибровочными поправками. Можно сделать автоматический корректор — он будет применять поправки в реальном времени.
  • Не калибруй на максимальном усилении. Используй LNA=0 дБ, VGA=20 дБ — это диапазон, где шум минимальный, а нелинейности — наименьшие.
  • Если ты видишь «пик» на частоте, где его не должно быть — это может быть гармоника или интермодуляция. Проверь, не включены ли другие устройства рядом (USB 3.0, монитор, ноутбук).

Что выбрать в зависимости от ситуации

  • Ты — студент, хочешь просто увидеть, что в воздухе — калибруй частоту по GPS, амплитуду игнорируй. Работает.
  • Ты — радиолюбитель, ищешь помехи в домашней сети — калибруй частоту по FM-радио, амплитуду по Wi-Fi. Достаточно для локализации помех.
  • Ты — инженер, проверяешь совместимость устройств — купи калибратор 0 дБм, калибруй на 5 точках, используй скрипт. Без этого — не пройдёшь тестирование.
  • Ты — исследователь, пишешь статью — калибровка должна быть документирована: где, когда, при какой температуре, с каким эталоном. Без этого — результат не воспроизводим.

Итог: что делать прямо сейчас

Если ты дочитал до этого места — ты уже на 90% готов. Вот твой план на сегодня:

  1. Подключи HackRF One напрямую к USB-порту.
  2. Установи SDR# или GNU Radio.
  3. Найди GPS-сигнал или FM-радиостанцию с известной частотой.
  4. Измерь сдвиг частоты и введи поправку в настройки.
  5. Поднеси HackRF к Wi-Fi роутеру, измерь мощность, добавь аттенюатор 10 дБ — проверь, упал ли сигнал ровно на 10 дБ.
  6. Запиши поправки в таблицу.
  7. Запусти анализ — теперь ты видишь не «что-то», а реальные частоты и мощности.

Не жди идеальной калибровки. Жди достаточной. Если ты можешь отличить Wi-Fi от Bluetooth, найти источник помехи и сравнить мощность сигналов — ты уже достиг цели. Доработки придут позже. Главное — начать с правильных измерений.

Информация в этой статье носит ознакомительный характер. Работа с радиочастотными устройствами может нарушать законодательство о радиоэлектронных средствах. Перед использованием убедись, что твои действия соответствуют местным нормам и не создают помехи для лицензированных служб.

radio-blog.ru — электроника и технологии