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

Лабораторная 6.8 — OTA DDS tone-наблюдение на stock-shell Zynq

Цель

Передать короткий DDS-generated tone через TX1, принять его на RX1 по воздуху и сохранить результат как воспроизводимый CI16 датасет для офлайн-проверки через Block 9.

Что выполняется

В работе студент:

  1. использует stock-shell Zynq-7020 + AD9361, где уже живы ad9361-phy, DDS и RX capture;
  2. задает LO, sample rate, bandwidth, RX gain и TX attenuation с хоста по IIO;
  3. включает квадратичный DDS tone на TX1_I_F1 и TX1_Q_F1;
  4. снимает короткий CI16 захват с cf-ad9361-lpc;
  5. оформляет manifest с checksum, частотным планом и окном поиска тона;
  6. проверяет результат офлайн-анализатором Lab 9.2.

Результат

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

  • реальный CI16 IQ-файл OTA tone-захвата;
  • manifest датасета;
  • FFT-график и time preview;
  • measured peak, frequency error и SNR;
  • инженерный вывод о готовности stock-shell RF тракта к первому BPSK handoff.

Что приложить к отчету

  • manifest tone-датасета;
  • частоту LO, tone offset, sample rate и bandwidth;
  • RX gain и TX attenuation;
  • checksum IQ-файла;
  • спектр и time preview из офлайн-ридера;
  • краткий вывод, что именно уже доказано для пути TX -> RF -> RX.

Подробная техническая часть

Практический вопрос

Может ли чистый stock shell уже обеспечить безопасное, измеренное RF-доказательство передачи и приёма под управлением хоста до готовности полного overlay BPSK?

Почему эта работа важна сейчас

На текущем этапе стенда:

  • overlay BPSK курса по-прежнему не сохраняет загрузочно-безопасный shell AD9361;
  • stock shell уже предоставляет ad9361-phy, DDS и устройства RX-захвата по сетевому IIO;
  • антенны установлены на TX1 и RX1 на расстоянии нескольких метров друг от друга;
  • аттенюаторов для кондуктивного loopback пока нет.

Поэтому консервативный OTA-тон: правильный следующий аппаратный шаг. Он проверяет:

  • управление TX и RX stock shell с хоста;
  • генерацию тона DDS через cf-ad9361-dds-core-lpc;
  • короткое RF-самонаблюдение по воздуху;
  • создание набора данных CI16 и отслеживание контрольной суммы;
  • офлайн-проверку частотного плана инструментами Блока 9.

Исполняемые файлы

Файл Назначение
blocks/block_06_rf_frontend_and_ad9363/python/lab_6_8_capture_zynq_ota_tone.py настройка LO/усиления/DDS, захват IQ CI16, запись манифеста
datasets/lab6_8_zynq_ota_tone_observation/manifest_tone_915MHz_700kHz_live_20260622.yaml первый отобранный набор данных OTA-тона в stock shell

Команда живого захвата

Запуск из корня репозитория:

python blocks/block_06_rf_frontend_and_ad9363/python/lab_6_8_capture_zynq_ota_tone.py \
  --uri ip:192.168.40.1 \
  --center-frequency-hz 915000000 \
  --sample-rate-hz 3840000 \
  --rf-bandwidth-hz 2000000 \
  --tone-offset-hz 700000 \
  --tone-scale 0.25 \
  --rx-hardwaregain-db 30 \
  --tx-hardwaregain-db -40 \
  --sample-count 262144 \
  --out-iq datasets/lab6_8_zynq_ota_tone_observation/raw/zynq_ota_tone_915MHz_700kHz_live_20260622.ci16 \
  --manifest-out datasets/lab6_8_zynq_ota_tone_observation/manifest_tone_915MHz_700kHz_live_20260622.yaml

Скрипт захвата:

  1. подключается к удалённому контексту IIO;
  2. сохраняет снимок текущего состояния AD9361 RX/TX и DDS;
  3. применяет консервативную настройку OTA-тона;
  4. включает каналы тона DDS TX1_I_F1 и TX1_Q_F1 в квадратуре;
  5. захватывает чередующиеся отсчёты I/Q CI16 с cf-ad9361-lpc;
  6. восстанавливает предыдущее состояние RF и DDS;
  7. записывает файл CI16 и манифест с контрольной суммой, настройками и ожидаемым смещением тона.

Офлайн-анализ

Проанализируйте записанный тон универсальным читателем Блока 9:

python blocks/block_09_recording_and_analysis_tools/python/lab_9_2_read_ci16_iq_and_analyze.py \
  --manifest datasets/lab6_8_zynq_ota_tone_observation/manifest_tone_915MHz_700kHz_live_20260622.yaml

Он записывает:

docs/assets/lab92_lab6_8_zynq_ota_tone_915MHz_700kHz_live_20260622_spectrum.png
docs/assets/lab92_lab6_8_zynq_ota_tone_915MHz_700kHz_live_20260622_time_preview.png
docs/assets/lab6_8_zynq_ota_tone_915MHz_700kHz_live_20260622_metrics.json

Измеренный живой результат

В репозитории есть измеренный живой прогон от 2026-06-22 со следующими параметрами:

  • LO 915 МГц;
  • ожидаемое смещение тона 700 кГц;
  • частота дискретизации 3,84 МС/с;
  • RF-полоса 2,0 МГц;
  • ручное усиление RX 30 дБ;
  • ослабление TX -40 дБ;
  • AGC отключён.

Офлайн-анализатор сообщает:

  • измеренный пик 700019,531 Гц;
  • частотная ошибка 19,531 Гц;
  • оценённый SNR 39,32 дБ;
  • quality_pass = True.

Попытки с меньшей мощностью, такие как TX -60 дБ / RX 20 дБ, всё ещё показывали тон вблизи ожидаемого смещения, но краевые побочные составляющие по всей полосе оставались сильнее полезной линии. Сохранённый здесь измеренный набор данных соответствует наименьшей излучаемой мощности, при которой ожидаемый тон стал доминирующей спектральной линией.

Замечания по интерпретации

  • Это по-прежнему проверка здравого смысла на коротком воздушном тракте, а не калиброванное измерение бюджета линии.
  • Манифест набора данных ограничивает поиск пика окном +-50 кГц вокруг ожидаемого тона. Так сырые краевые побочные составляющие всей полосы не перехватывают метрику.
  • Результат достаточно силён, чтобы проверить план LO, интерпретацию частоты дискретизации и консервативное управление TX/RX до передачи модема BPSK.

Замечания по безопасности

  • Держите AGC отключённым при запуске первого тона.
  • Начинайте с большого ослабления и малого усиления RX, увеличивая только по необходимости.
  • Не считайте эту установку заменой настоящего ослабленного кондуктивного loopback.

Чек-лист отчёта (расширенный)

  • Указаны центральная частота, смещение тона, частота дискретизации и RF-полоса.
  • Записаны усиление RX, ослабление TX и допущения о расстоянии между антеннами.
  • Приложены манифест тона и контрольная сумма.
  • Приложены офлайн-график спектра и превью во времени.
  • Указаны измеренное смещение тона, частотная ошибка и SNR.
  • Указано, что это доказывает для будущего аппаратного маршрута BPSK.

Шаблон инженерного вывода

Платформа AD9361 в stock shell передала тон DDS при LO ____ МГц
с ожидаемым смещением в основной полосе ____ кГц и приняла его на RX1 по короткому OTA-тракту.
Захват использовал частоту дискретизации ____ МС/с, RF-полосу ____ МГц, усиление RX
____ дБ и ослабление TX ____ дБ. Офлайн-анализ CI16 измерил тон на
____ кГц с частотной ошибкой ____ Гц, SNR ____ дБ и контрольной суммой ______.
Это значит, что RF-тракт stock shell готов / не готов к первой контролируемой
передаче BPSK, потому что ______.