Перейти к содержанию

Lab 1.0 — Первое наблюдение эфира через RTL-SDR

Назначение

Эта лабораторная работа даёт мягкий вход в курс перед экспериментами с платой Zynq7020 + AD9363. Студент сначала видит реальный радиоспектр, водопад и простую IQ-запись на доступном приёмнике RTL-SDR, а затем связывает увиденное с дальнейшими темами курса: FFT, фильтрацией, переносом частоты, decimation, IQ-форматом и FPGA-реализацией DSP-блоков.

Главная идея: SDR — это не только USB-приёмник и красивая картинка спектра, а перенос значительной части классического радиоприёмника в цифровую обработку сигналов.

Цели

После выполнения работы студент должен уметь:

  • подключить RTL-SDR и проверить его работоспособность;
  • настроить частоту, sample rate, gain и полосу наблюдения;
  • отличать спектр и waterfall;
  • принять широкополосный FM-сигнал как первый безопасный и наглядный пример;
  • записать короткий IQ-фрагмент;
  • зафиксировать параметры эксперимента в воспроизводимом виде;
  • объяснить, какие блоки классического приёмника заменяются DSP-блоками SDR.

Минимальный состав стенда

  • RTL-SDR совместимый приёмник;
  • антенна для выбранного диапазона;
  • ПК с HDSDR, SDRSharp, SDR++ или GNU Radio;
  • установленный драйвер RTL-SDR;
  • папка для сохранения IQ-записей и отчёта.

Плата Zynq7020 + AD9363 в этой лабораторной работе не требуется. Она появится в следующем шаге, когда курс перейдёт от пассивного наблюдения эфира к управляемому эксперименту «генерация → RF → приём → IQ → анализ».

Правила безопасности и правовые ограничения

  1. Работа выполняется только в режиме пассивного приёма.
  2. Нельзя подключать RTL-SDR напрямую к мощному передатчику без аттенюаторов и контроля уровня.
  3. Нельзя публиковать содержимое служебных, авиационных, ведомственных или иных непубличных переговоров.
  4. Для учебного отчёта достаточно скриншота спектра/водопада, параметров настройки и технического описания сигнала без раскрытия содержания сообщений.
  5. При работе рядом с собственной SDR-платой используйте аттенюаторы, экранирование и минимальные уровни мощности.

Ход работы

1. Проверка устройства

Подключите RTL-SDR и убедитесь, что программа видит устройство. Зафиксируйте:

  • модель приёмника;
  • используемую программу;
  • драйвер;
  • частоту дискретизации;
  • режим усиления.

2. Первый обзор спектра

Откройте диапазон с сильными и легко наблюдаемыми сигналами. Для первого запуска удобно использовать вещательное FM-радио.

Рекомендуемые стартовые параметры:

Параметр Начальное значение
Mode WFM
Sample rate 2.048 MS/s или 2.4 MS/s
RF gain ручной, начать с малого значения
FFT size 4096...16384
Audio bandwidth по умолчанию для WFM
Frequency correction 0 ppm, затем уточнить при необходимости

Найдите сильную станцию, настройте уровень усиления так, чтобы спектр не был перегружен, и сделайте скриншот спектра и waterfall.

3. Наблюдение узкополосного сигнала

Выберите один узкополосный сигнал в доступном диапазоне. Для учебной цели важен не тип службы, а форма сигнала:

  • узкая полоса;
  • видимый пик или канал;
  • заметное отличие от широкополосного FM;
  • возможность оценить ширину полосы по спектру.

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

4. IQ-запись

Запишите короткий IQ-фрагмент длительностью 5...20 секунд. В имени файла или рядом с ним сохраните параметры:

receiver: RTL-SDR
center_frequency_hz: <...>
sample_rate_hz: <...>
gain_db: <...>
format: complex IQ
software: <HDSDR / SDRSharp / SDR++ / GNU Radio>
duration_s: <...>
comment: first RF observation lab

Эти метаданные важнее самого файла: без них IQ-запись трудно воспроизвести и интерпретировать.

5. Связь с DSP-блоками

Заполните таблицу соответствия между тем, что видно в программе, и тем, что позже будет реализовано в DSP/FPGA-тракте.

Наблюдение в SDR-программе DSP/FPGA-смысл
Центральная частота Настройка RF frontend или цифрового DDC
Смещение сигнала от центра Остаточная частотная ошибка, CFO или неточная настройка
Ширина спектра Полоса канального фильтра
Waterfall Изменение спектра во времени
Gain слишком большой Перегрузка АЦП или RF-тракта
Слабый сигнал Ограничение SNR, задача AGC и фильтрации
IQ-файл Входной датасет для MATLAB/Python/C++/GNU Radio

Примеры реального запуска

Ниже собраны реальные кадры из первого запуска RTL-SDR V3 Pro и SDR++ в этой сессии. Они закрывают три практических состояния: привязка WinUSB к приёмному интерфейсу, первичная настройка WFM на вещательную FM-станцию и переключение рекордера в Baseband перед IQ-записью.

Zadig WinUSB setup for RTL-SDR interface 0

Реальный скриншот окна Zadig из этой сессии: для Bulk-In, Interface (Interface 0) выбран драйвер WinUSB, а устройство определяется как USB ID 0BDA:2838:00. Именно этот шаг убрал ошибку ProblemCode 28 и перевёл приёмный интерфейс в рабочий режим.

SDR++ tuned to 102.3 MHz in WFM mode

Окно SDR++ после первичной настройки вещательного FM-диапазона: источник RTL-SDR, частота 102.3 MHz, sample rate 2.4 MS/s, ручное усиление и режим WFM. Это соответствует стартовому сценарию из лабораторной перед первым обзором спектра.

SDR++ baseband recording example near 220 MHz

Следующий практический шаг: рекордер переключён в Baseband, а в водопаде уже виден активный узкополосный сигнал около 220 MHz. Такой кадр подходит как пример перед короткой IQ-записью на 5...20 секунд с сохранением метаданных.

Короткие записи, сохранённые в этой сессии

Короткие WAV IQ файлы уже добавлены в dataset-пакет репозитория через Git LFS, а manifests рядом фиксируют checksum, параметры захвата и команду офлайн-анализа.

Запись Длительность Частота Manifest
baseband_103119454Hz_08-55-55_19-06-2026.wav 5.422 s 103119454 Hz datasets/lab1_0_rtl_sdr_observation/manifest_fm_103119454.yaml
baseband_220860000Hz_09-08-33_19-06-2026.wav 5.309 s 220860000 Hz datasets/lab1_0_rtl_sdr_observation/manifest_narrowband_220860000.yaml

Обе записи были сделаны в SDR++ с 2.4 MS/s, в двухканальном WAV IQ контейнере (int16 + int16, little-endian) и могут использоваться как первые реальные артефакты для Block 9 по теме форматов IQ-файлов и метаданных. Перед публикацией в публичный remote стоит отдельно проверить правовой статус narrowband-записи около 220.860 MHz.

Для немедленного офлайн-анализа этих файлов используйте Lab 9.4 — Чтение WAV IQ и офлайн-анализ: python blocks/block_09_recording_and_analysis_tools/python/lab_9_4_read_wav_iq_and_analyze.py --manifest <path-to-manifest>.

Отчёт

Минимальный отчёт должен содержать:

  1. цель работы;
  2. состав стенда;
  3. скриншот спектра и waterfall;
  4. таблицу параметров приёма;
  5. краткое описание принятого сигнала;
  6. сведения об IQ-записи;
  7. вывод: какие действия выполняла SDR-программа и какие DSP-блоки за ними стоят.

Контрольные вопросы

  1. Чем spectrum display отличается от waterfall?
  2. Почему слишком большой gain может ухудшить результат?
  3. Что означает sample rate в SDR-приёмнике?
  4. Почему IQ-файл без метаданных почти бесполезен?
  5. Какой цифровой блок соответствует гетеродину классического приёмника?
  6. Какой цифровой блок соответствует фильтру промежуточной частоты?
  7. Почему после переноса сигнала к нулевой частоте обычно выполняют фильтрацию и decimation?

Связь со следующими лабораториями

Эта работа подготавливает следующие темы курса:

  • Lab 1.1 — управляемый DDS-тон Zynq: Zynq7020 + AD9363 → RTL-SDR → WAV IQ → офлайн-анализ спектра;
  • Block 2 — дискретизация, спектр, aliasing и выбор sample rate;
  • Block 3 — FFT, окна, FIR, digital mixing и decimation;
  • Block 5 — перенос DSP-блоков в RTL;
  • Block 6 — RF frontend, усиление, частотный план и перегрузка;
  • Block 9 — формат IQ-файлов, метаданные и воспроизводимый анализ.

Практический результат

После выполнения лабораторной студент получает первый самостоятельный радиочастотный артефакт курса: скриншот спектра, параметры приёма и короткую IQ-запись, которую можно использовать в следующих разделах для анализа, фильтрации и сравнения инструментов.