Если вы зашли на эту страницу, скорее всего, у вас уже есть HackRF One — или вы планируете его купить и хотите понять, реально ли сделать из него нормальный спектральный анализатор. Ответ: да, реально, но с оговорками. HackRF — это не готовый анализатор спектра вроде тех, что стоят на столе у радиоинженера. Это SDR-приёмник, который при правильном подходе можно превратить в вполне рабочий инструмент для наблюдения радиочастот. Разберёмся, как именно.
Что реально можно получить от HackRF в роли анализатора спектра
HackRF One — это программно-определяемый радиоприёмник, который работает в диапазоне от 1 МГц до 6 ГГц. Ширина мгновенной полосы — до 20 МГц. Этого достаточно для наблюдения широкополосных сигналов: Wi-Fi, LTE, LoRa, аналогового телевидения, радиомаяков, гармоник и помех. Но важно понимать ограничения:
- Нет встроенного генератора — вы не сможете провести полноценное сканирование в режиме анализатора цепей (VNA). Только приём.
- Разрешение по частоте зависит от выбранной полосы и БПФ. При 20 МГц полосы и БПФ 2048 точек — шаг около 10 кГц. Для грубого анализа нормально, для точного — маловато.
- Динамический диапазон ограничен 8-битным АЦП. Одновременно видеть слабый сигнал рядом с сильным не получится — сильный «ослепит» приёмник.
- Чувствительность ниже, чем у специализированных анализаторов. Слабые сигналы ниже шума собственной платы вы не увидите.
Тем не менее, для диагностики радиоэфира, поиска источников помех, проверки работоспособности передатчиков и обучения — этого вполне достаточно.
Что понадобится помимо самого HackRF
Одного только «китайского» корпича с антенной недостаточно для адекватной работы. Вот минимальный набор:
- HackRF One — оригинал или качественный клон. С дешёвыми клонами бывают проблемы с тактовым генератором и уровнем шума.
- Антенна — штатная не годится для серьёзной работы. Нужна под ваш диапазон: широкополансовая (лог-периодическая, discone) или узкополосная (патч, штырьёвая) под конкретный диапазон.
- Аттенюатор (10–20 дБ) — если вы собираетесь смотреть на сигналы высокой мощности (передатчики, вышки сотовой связи). Без него можно спалить вход.
- Фильтр ВЧ — полосовой или ФВЧ, чтобы отсечь внеполосные помехи. Например, если вы работаете на 2,4 ГГц, фильтр уберёт влияние мощных сигналов ниже 2 ГГц.
- Кабель — качественный, с хорошими разъёмами. SMA, не переходники на марку.
- Компьютер — желательно с USB 3.0, чтобы не было потерь при потоковой передаче данных с полосой 20 МГц.
Программное обеспечение: что ставить
Без софта HackRF — просто плата. Вот основные варианты для работы в режиме спектрального анализатора:
| Программа | Платформа | Режим спектра | Удобство | Примечание |
|---|---|---|---|---|
| SDR# (SDRSharp) | Windows | Встроенный спектрограмма + водопад | Высокое | Самый популярный вариант для начинающих. Много плагинов. |
| GQRX | Linux, macOS | Спектр + водопад, запись IQ | Среднее | Стабильный, удобный интерфейс. Хорошо работает на Linux. |
| GNU Radio | Linux | Любой — настраивается через блоки | Низкое (порог входа) | Максимальная гибкость, но нужно собирать схему самому. |
| Universal Radio Hacker | Linux, Windows | Спектр, анализ модуляции, запись | Среднее | Хорош для исследования протоколов, не только спектра. |
| inspectrum | Linux, macOS | Водопад, анализ сигналов с модуляцией | Среднее | Удобен для разбора цифровых сигналов после записи IQ. |
Для начала рекомендую SDR# на Windows или GQRX на Linux. Они дают картинку спектра сразу после установки, без необходимости собирать схемы.
Пошаговая настройка и калибровка
Шаг 1. Установка драйверов и софта
- Подключите HackRF к компьютеру через USB.
- Если Windows — установите драйверы через Zadig (выберите HackRF One, установите WinUSB).
- Установите SDR# или GQRX. Для SDR# скачайте последнюю версию с официального репозитория, распакуйте, запустите.
- В настройках выберите источник — HackRF. Установите частоту, например, 100 МГц (FM-диапазон) для проверки работоспособности.
Шаг 2. Первичная проверка
Вы должны увидеть шумовую подложку и, если рядом есть радиостанции, — пики на частотах FM-станций. Если видите ровный шум без единого пика — проверьте антенну и частоту. Если видите «лес» из сигналов везде — скорее всего, наводки от USB или питания. Попробуйте отключить другие USB-устройства или использовать ферритовый фильтр на кабель.
Шаг 3. Настройка усиления
В SDR# есть ползунки усиления: LNA (малошумящий усилитель), VGA (усилитель с переменным усилением) и усиление ЦАП. Вот как их правильно выставить:
- LNA — ставьте около 16–24 дБ для начала. Слишком высокое значение даст искажения от сильных сигналов.
- VGA — 20–30 дБ. Подбирайте так, чтобы шумовая подложка была видна, но не «заливала» весь экран.
- Усиление ЦАП — обычно оставляют около 30–40 дБ.
Главное правило: лучше меньше усиления и более чистая картина, чем больше усиления и куча искажений.
Шаг 4. Калибровка частоты
У HackRF есть кварцевый генератор с погрешностью до 20 ppm (частей на миллион). Это означает, что на частоте 1 ГГц реальная частота может отличаться от указанной на ±20 кГц. Для грубой работы это не критично, но если вам нужна точность — откалибруйте:
- Найдите сигнал с известной точной частотой. Например, маяк сигнала точного времени (в России — РBU на 66,(6) кГц, но это вне диапазона HackRF), или GPS-частоту L1 (1575,42 МГц), или известную FM-станцию.
- В SDR# или GQRX настройтесь на эту частоту и посмотрите, куда реально попадает пик.
- Запишите смещение в герцах. В SDR# это делается через настройку «Frequency Correction» (в ppm). В GQRX — через параметр коррекции частоты.
- Подставьте формулу: если на частоте 1575 МГц вы видите сигнал на 1575,418 МГц вместо 1575,420 МГц, смещение — 2 кГц. В ppm это 2000 / 1575,42 = около 1,27 ppm. Введите это значение со знаком минус в поле коррекции.
После этого частота должна совпадать с реальной в пределах 1–2 кГц, что для большинства задач достаточно.
Шаг 5. Калибровка мощности (амплитуды)
Это сложнее и требует эталонного источника. Если у вас есть генератор сигналов с известной выходной мощностью:
- Подключите генератор ко входу HackRF через аттенюатор (чтобы не перегрузить вход).
- Установите генератор на нужную частоту и мощность, например, −30 дБм на 900 МГц.
- В SDR# посмотрите уровень пика на спектрограмме. Запишите значение в дБ (относительно полной шкалы).
- Постройте таблицу соответствия: реальная мощность (дБм) против показаний SDR. Это и будет ваша калибровочная кривая.
Если генератора нет — можно использовать известные сигналы из эфира. Например, сигналы сотовой связи на вышках имеют примерно известную мощность, но с большой погрешностью. Для серьёзной калибровки без генератора не обойтись.
Шаг 6. Настройка разрешения и скорости обновления
В SDR# настройте:
- Разрешение БПФ (FFT) — 2048 или 4096 для лучшего частотного разрешения. 8192 — для детального анализа узкополосных сигналов, но скорость обновления упадёт.
- Время усреднения — 0–5 кадров. Больше усреднение — более гладкая картинка, но медленнее реакция на изменение сигнала.
- Полоса просмотра (span) — 2–20 МГц. Узкая полоса — больше деталей, широкая — обзор всего диапазона.
Типичные сценарии использования
Сценарий 1: Поиск источника помех
Если у вас появились наводки в эфире — например, мешает приёму радио или падает скорость Wi-Fi:
- Настройтесь на частоту интереса (например, 2437 МГц — 6-й канал Wi-Fi).
- Включите режим водопада с усреднением по времени.
- Наблюдайте, когда появляется помеха — постоянно или периодически.
- Перемещайтесь с HackRF и антенной, отслеживая изменение уровня сигнала. Направление на максимум — примерное направление на источник.
Сценарий 2: Проверка передатчика
Нужно убедиться, что ваш передатчик (например, на 433 МГц или 868 МГц) работает и выдаёт ожидаемую мощность:
- Подключите передатчик к HackRF через аттенюатор 20 дБ (обязательно, иначе сожжёте вход).
- Настройтесь на частоту передатчика.
- Включите передатчик и посмотрите на пик спектра. Сравните уровень с калибровочной таблицей.
- Проверьте ширину спектра сигнала — нет ли нежелательных излучений за пределами полосы.
Сценарий 3: Обучение и исследование сигналов
HackRF — отличный инструмент для изучения радиосвязи. Вы можете записывать IQ-данные и разбирать их в GNU Radio или Universal Radio Hacker. Это даёт понимание того, как работают различные виды модуляции, как выглядят реальные сигналы в эфире.
Частые ошибки и как их избежать
- Перегрузка входа. Подключение антенны рядом с мощным передатчиком без аттенюатора. Результат — интермодуляционные искажения, ложные сигналы по всему спектру. Всегда используйте аттенюатор, если не уверены в уровне сигнала.
- Плохая антенна. Штатная антенна от комплекта — кусок провода. Она работает, но плохо. Купите хотя бы простую широкополосную антенну за разумные деньги — разница будет заметна сразу.
- Игнорирование калибровки частоты. Без коррекции генератора вы будете настраиваться не туда, куда думаете. Особенно критично на высоких частотах (выше 2 ГГц).
- Работа без фильтрации. В городском эфире столько мощных сигналов, что без полосового фильтра вы получите кашу. Фильтр под ваш диапазон — не роскошь, а необходимость.
- Потеря данных через USB. Если компьютер не справляется с потоком 20 МГц, вы будете видеть пропуски данных. Снизьте полосу до 8–10 МГц или используйте компьютер с USB 3.0 и быстрым процессором.
- Ожидания от дорогого анализатора. HackRF — это не Rohde & Schwarz. Он не покажет вам уровень шума −150 дБм/Гц или раздваивание сигналов на 1 кГц. Он даст общую картину эфира, и это нормально.
Как лучше сделать: практические рекомендации
Если вы новичок: начните с SDR# на Windows. Установите, подключите HackRF, настройтесь на FM-диапазон и посмотрите на радиостанции. Это даст понимание того, как работает спектр. Потом переходите к конкретным задачам.
Если вы работаете на Linux: GQRX — ваш лучший выбор для начала. Он стабильный, с хорошим интерфейсом и поддержкой записи IQ. Для глубокого анализа — GNU Radio, но будьте готовы потратить время на обучение.
Если вам нужна мобильность: HackRF + Raspberry Pi 4 + портативный экран. Получается компактный анализатор, который можно брать с собой. Установите GQRX или напишите скрипт на Python с библиотекой hackrf для автоматического сканирования.
Если бюджет позволяет улучшить систему: добавьте внешний малошумящий усилитель (LNA) перед HackRF. Например, на базе микросхемы PGA-103+ или SPF5189Z. Это заметно улучшит чувствительность, особенно на высоких частотах.
Итог
HackRF One — это не анализатор спектра в классическом смысле, но при грамотной настройке и калибровке он становится мощным инструментом для наблюдения радиоэфира. Ключевые шаги: установите софт (SDR# или GQRX), откалибруйте частоту по известному сигналу, настройте усиление без перегрузки, используйте фильтры и аттенюатор при необходимости. Не ждите от него лабораторной точности — но для диагностики помех, проверки передатчиков и изучения радиосигналов его возможностей более чем достаточно.
Начните с простого: подключите, настройтесь на известный сигнал, посмотрите спектр. Постепенно углубляйтесь в настройки, калибровку и анализ. Через пару вечеров вы будете уверенно ориентироваться в эфире и понимать, что происходит в радиочастотном диапазоне вокруг вас.
