Лабораторная 6.6 — Zynq RX-only наблюдение на чистом образе¶
Цель¶
Получить первый короткий CI16 IQ-захват с платы Zynq-7020 + AD9361 на
чистом курсовом образе без передачи, а затем сравнить его с уже записанным
FM-наблюдением через RTL-SDR.
Что выполняется¶
В работе студент:
- использует чистый stock Pluto-подобный образ с course overlay;
- настраивает
RX LO, sample rate, RF bandwidth и gain с хоста поIIO; - снимает короткий
CI16захват сcf-ad9361-lpc; - оформляет manifest с checksum и параметрами захвата;
- прогоняет офлайн-анализ через
Lab 9.2; - строит качественное сравнение
Zynq RXпротив ранее записанногоRTL-SDRFM-пакета.
Результат¶
После выполнения работы должны быть получены:
- реальный
CI16IQ-файл изRX-onlyрежима; - manifest датасета;
- FFT-график и time preview;
- overlay-график
Zynq vs RTL-SDR; - инженерный вывод о готовности clean-image
RXтракта к следующим лабораторным.
Что приложить к отчёту¶
- manifest нового Zynq-захвата;
- частоту центра, sample rate, RF bandwidth и gain mode;
- checksum IQ-файла;
- спектр из офлайн-ридера;
- график сравнения с
RTL-SDR; - краткий вывод, что именно уже подтверждено на железе, а что ещё нет.
Подробная техническая часть¶
Практический вопрос¶
Может ли очищенный образ платы уже выдавать воспроизводимый пакет RX-захвата на стороне хоста, до того как доступны какая-либо работа с TX или loopback через аттенюаторы?
Почему эта работа важна сейчас¶
На текущем этапе стенда:
- аттенюаторов ещё нет;
- TX намеренно остаётся консервативным в course-clean overlay;
- антенны подключены к
RX1платы Zynq и к независимому тракту RTL-SDR.
Поэтому RX-only: правильный следующий аппаратный шаг. Он проверяет:
- запуск чистого образа;
- сетевой доступ к IIO;
- настройку RX AD9361 с хоста;
- создание набора данных CI16;
- офлайн-воспроизведение через инструменты Блока 9;
- качественное сравнение приёмников на том же вещательном FM-диапазоне.
Исполняемые файлы¶
| Файл | Назначение |
|---|---|
blocks/block_06_rf_frontend_and_ad9363/python/lab_6_6_capture_zynq_rx_only.py |
настройка RX, захват IQ CI16, запись манифеста |
blocks/block_06_rf_frontend_and_ad9363/python/lab_6_6_compare_receivers.py |
наложение FM-спектров Zynq и RTL-SDR |
datasets/lab6_6_zynq_rx_observation/manifest_fm_103119454.yaml |
первый отобранный набор данных RX чистого образа |
datasets/lab6_6_zynq_rx_observation/manifest_fm_103119454_live_20260622.yaml |
повторный живой набор данных RX-only, снятый 2026-06-22 |
Команда живого захвата¶
Запуск из корня репозитория:
python blocks/block_06_rf_frontend_and_ad9363/python/lab_6_6_capture_zynq_rx_only.py \
--uri ip:192.168.40.1 \
--center-frequency-hz 103119454 \
--sample-rate-hz 2400000 \
--rf-bandwidth-hz 2000000 \
--gain-control-mode manual \
--rx-hardwaregain-db 50 \
--rf-port-select A_BALANCED \
--sample-count 262144 \
--out-iq datasets/lab6_6_zynq_rx_observation/raw/zynq_rx_fm_103119454Hz.ci16 \
--manifest-out datasets/lab6_6_zynq_rx_observation/manifest_fm_103119454.yaml
Скрипт захвата:
- подключается к удалённому контексту IIO;
- сохраняет снимок текущего состояния RX;
- применяет короткую конфигурацию приёма только для наблюдения FM;
- захватывает чередующиеся отсчёты I/Q в формате CI16 с
cf-ad9361-lpc; - восстанавливает предыдущее состояние RX;
- записывает файл CI16 и манифест набора данных с контрольной суммой и метаданными захвата.
Офлайн-анализ¶
Проанализируйте захваченный пакет CI16 универсальным читателем Блока 9:
python blocks/block_09_recording_and_analysis_tools/python/lab_9_2_read_ci16_iq_and_analyze.py \
--manifest datasets/lab6_6_zynq_rx_observation/manifest_fm_103119454.yaml
Он записывает:
docs/assets/lab92_lab6_6_zynq_rx_fm_103119454_spectrum.png
docs/assets/lab92_lab6_6_zynq_rx_fm_103119454_time_preview.png
docs/assets/lab6_6_zynq_rx_fm_103119454_metrics.json
Сравнение приёмников¶
Наложите набор данных RX Zynq и существующее FM-наблюдение RTL-SDR:
python blocks/block_06_rf_frontend_and_ad9363/python/lab_6_6_compare_receivers.py \
--zynq-manifest datasets/lab6_6_zynq_rx_observation/manifest_fm_103119454.yaml \
--rtl-manifest datasets/lab1_0_rtl_sdr_observation/manifest_fm_103119454.yaml
Он записывает:
docs/assets/lab66_lab6_6_zynq_rx_fm_103119454_vs_lab1_0_rtl_sdr_fm_103119454_spectrum.png
docs/assets/lab66_lab6_6_zynq_rx_fm_103119454_vs_lab1_0_rtl_sdr_fm_103119454_metrics.json
Последний измеренный повторный прогон¶
В репозитории также хранится повторный живой прогон от 2026-06-22:
datasets/lab6_6_zynq_rx_observation/manifest_fm_103119454_live_20260622.yaml
docs/assets/lab92_lab6_6_zynq_rx_fm_103119454_live_20260622_spectrum.png
docs/assets/lab92_lab6_6_zynq_rx_fm_103119454_live_20260622_time_preview.png
docs/assets/lab6_6_zynq_rx_fm_103119454_live_20260622_metrics.json
docs/assets/lab66_lab6_6_zynq_rx_fm_103119454_live_20260622_vs_lab1_0_rtl_sdr_fm_103119454_spectrum.png
docs/assets/lab66_lab6_6_zynq_rx_fm_103119454_live_20260622_vs_lab1_0_rtl_sdr_fm_103119454_metrics.json
Этот прогон использовал:
- центральную частоту
103,119454 МГц; - частоту дискретизации
2,4 МС/с; - RF-полосу
2,0 МГц; - ручное усиление RX
45 дБ; - пассивный приём
RX-onlyпо воздуху.
Что нужно записать¶
Как минимум, сохраните:
- URI контекста и строки прошивки/модели из чистого образа;
- центральную частоту, частоту дискретизации, RF-полосу, режим усиления и усиление;
- выбор RF-порта (допущения о тракте
RX1); - контрольную сумму файла CI16;
- график FFT и превью во времени;
- одну короткую заметку о сравнении с наблюдением RTL-SDR.
Замечания по интерпретации¶
- Это базовый уровень только для приёма, а не абсолютно калиброванное измерение.
- График наложения следует интерпретировать по форме спектра и занятости, а не по абсолютной амплитуде.
- Широкополосный FM: не узкий одиночный тон, поэтому положение бина пика: лишь быстрая проверка здравого смысла.
- Следующий инженерный шаг после этой работы: контролируемая таблица усиления/перегрузки RX, а не loopback TX.
Чек-лист отчёта (расширенный)¶
- Указано, что TX оставался в безопасном состоянии course-clean по умолчанию.
- Приложен манифест CI16 Zynq.
- Записаны точный режим усиления RX и аппаратное усиление.
- Приложен офлайн-график спектра от читателя CI16.
- Приложено наложение для сравнения приёмников.
- Указано, готов ли RX-тракт чистого образа Zynq к будущим работам Блоков 6/7.
Шаблон инженерного вывода¶
Плата Zynq с чистым образом наблюдалась в режиме только приёма на ____ МГц при
частоте дискретизации ____ МС/с, RF-полосе ____ МГц, режиме усиления ____ и усилении RX ____ дБ.
Захват сохранён в CI16 с контрольной суммой ______ и воспроизведён читателем
Блока 9. По сравнению с прежним FM-наблюдением RTL-SDR захват Zynq
показывает / не показывает согласованную форму занятого FM-диапазона, потому что ______.
Это значит, что RX-тракт чистого образа готов / не готов к следующей аппаратной работе, потому что ______.