Лабораторная 11.21 — Захват WAV монитором RTL-SDR во время BPSK TX ZynqSDR в стоковом shell¶
Цель¶
Использовать USB-ключ RTL-SDR как независимый RF-монитор для записи по воздуху пакета BPSK, передаваемого ZynqSDR, пока ZynqSDR работает в режиме стокового shell (конфигурация Lab 11.14). Получившийся файл WAV: основной вход офлайн-анализа BER в Lab 11.20.
Зачем внешний монитор¶
Собственный тракт PL RX у ZynqSDR стоит на rx_valid_count = 0 под runtime-overlay. RTL-SDR даёт совершенно независимую приёмную цепь, на которую не влияет состояние FPGA-overlay курса, поэтому он может подтвердить, действительно ли сигнал TX ZynqSDR излучается, независимо от любых проблем PL RX.
Аппаратная установка¶
антенна TX1 ZynqSDR ─── (воздушный промежуток, ~1–5 м) ─── антенна RTL-SDR
│
USB 2.0
│
ПК-хост
(rtl_sdr / SoapySDR)
- Центральная частота ZynqSDR: 915 МГц, ослабление TX: -50 дБ.
- RTL-SDR настроен на ту же центральную частоту с усилением тюнера 10–20 дБ.
- Антенны должны быть в одной комнате; для этого короткого пути аттенюаторы не нужны.
Файлы¶
| Путь | Назначение |
|---|---|
blocks/block_11_integrated_sdr_project/python/lab_11_21_capture_rtl_sdr_monitor_wav.py |
запустить BPSK TX стокового shell, одновременно захватить WAV RTL-SDR, сохранить манифест |
Запуск¶
python blocks/block_11_integrated_sdr_project/python/\
lab_11_21_capture_rtl_sdr_monitor_wav.py \
--center-frequency-hz 915000000 \
--sample-rate-hz 2400000 \
--tuner-gain-db10 200 \
--capture-duration-s 5.0 \
--wav-out datasets/lab11_21_rtl_monitor/capture_live.wav \
--manifest-out datasets/lab11_21_rtl_monitor/manifest_live.yaml \
--run-tag stock_bpsk_rtl_monitor
Скрипт:
- настраивает тракт TX AD9361 стокового shell по SSH (те же настройки, что в Lab 11.14);
- запускает циклический пакет BPSK от стокового DMA TX хоста;
- одновременно открывает устройство RTL-SDR и записывает сырые I/Q в файл WAV;
- останавливает TX через
--capture-duration-sсекунд; - возвращает AD9361 в безопасное состояние;
- сохраняет файл WAV и манифест YAML со всеми метаданными захвата.
Формат выходного WAV¶
codec: PCM 16-битные знаковые целые
channels: 2 (левый = I, правый = Q)
sample rate: значение --sample-rate-hz (записывается в заголовок WAV)
endianness: little
WAV может быть загружен Lab 11.20 напрямую без какого-либо преобразования.
Ключевые параметры¶
| Параметр | По умолчанию | Примечания |
|---|---|---|
--center-frequency-hz |
915 000 000 | Должна совпадать с LO TX ZynqSDR |
--sample-rate-hz |
2 400 000 | Аппаратная частота RTL-SDR; должна быть ≥ 2× полосы сигнала |
--tuner-gain-db10 |
200 (= 20,0 дБ) | Увеличить, если сигнал слаб |
--capture-duration-s |
5,0 | Должна быть достаточной, чтобы захватить весь пакет |
Живой результат 2026-06-23¶
RTL-SDR захватил 5-секундный WAV при 2,4 МС/с, пока был активен циклический пакет BPSK стокового shell. Офлайн-анализ (Lab 11.20) этого WAV нашёл преамбулу, восстановил 281 бит и измерил BER = 0 / EVM ≈ 55 %. Захват подтверждает, что тракт TX1 ZynqSDR излучает обнаруживаемый, демодулируемый сигнал BPSK на 915 МГц.
Чек-лист отчёта¶
- Подтверждены индекс устройства RTL-SDR и драйвер (rtlsdr / SoapySDR).
- Записаны усиление тюнера и фактическая настройка AGC.
- Указаны ослабление TX ZynqSDR и частота дискретизации.
- Приложен манифест YAML.
- Проведена перекрёстная ссылка на офлайн-результат BER Lab 11.20.
Шаблон инженерного вывода¶
Монитор RTL-SDR захватил ____ секунд WAV при ____ МС/с, пока BPSK TX ZynqSDR в стоковом shell
был активен на ____ МГц с ослаблением TX ____ дБ. WAV содержит обнаруживаемый / необнаруживаемый
пакет BPSK, потому что ____. Офлайн-результат BER Lab 11.20: ____. Жизнеспособность OTA TX:
подтверждена / не подтверждена.