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 → анализ».
Правила безопасности и правовые ограничения¶
- Работа выполняется только в режиме пассивного приёма.
- Нельзя подключать RTL-SDR напрямую к мощному передатчику без аттенюаторов и контроля уровня.
- Нельзя публиковать содержимое служебных, авиационных, ведомственных или иных непубличных переговоров.
- Для учебного отчёта достаточно скриншота спектра/водопада, параметров настройки и технического описания сигнала без раскрытия содержания сообщений.
- При работе рядом с собственной 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 из этой сессии: для Bulk-In, Interface (Interface 0) выбран драйвер WinUSB, а устройство определяется как USB ID 0BDA:2838:00. Именно этот шаг убрал ошибку ProblemCode 28 и перевёл приёмный интерфейс в рабочий режим.

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

Следующий практический шаг: рекордер переключён в 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>.
Отчёт¶
Минимальный отчёт должен содержать:
- цель работы;
- состав стенда;
- скриншот спектра и waterfall;
- таблицу параметров приёма;
- краткое описание принятого сигнала;
- сведения об IQ-записи;
- вывод: какие действия выполняла SDR-программа и какие DSP-блоки за ними стоят.
Контрольные вопросы¶
- Чем spectrum display отличается от waterfall?
- Почему слишком большой gain может ухудшить результат?
- Что означает sample rate в SDR-приёмнике?
- Почему IQ-файл без метаданных почти бесполезен?
- Какой цифровой блок соответствует гетеродину классического приёмника?
- Какой цифровой блок соответствует фильтру промежуточной частоты?
- Почему после переноса сигнала к нулевой частоте обычно выполняют фильтрацию и 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-запись, которую можно использовать в следующих разделах для анализа, фильтрации и сравнения инструментов.