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

Лабораторная 8.4 — Полная цепочка синхронизации

Цель

Объединить timing offset, CFO, phase offset и шум в одной QPSK-модели и проверить staged receiver: timing recovery, CFO correction, phase correction и расчёт BER/EVM.

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

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

  1. генерирует oversampled QPSK-сигнал;
  2. вносит несколько impairment одновременно;
  3. выполняет timing phase search;
  4. оценивает и компенсирует CFO;
  5. компенсирует фазовое смещение;
  6. сравнивает EVM/BER по этапам.

Результат

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

  • raw constellation;
  • constellation после timing recovery;
  • final synchronized constellation;
  • график EVM по стадиям;
  • BER summary;
  • metrics JSON.

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

  • все внесённые impairments;
  • порядок staged receiver;
  • timing/CFO/phase estimates;
  • EVM by stage;
  • BER до/после;
  • вывод о готовности к real RF receiver chain.

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

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

Как восстановление тайминга, коррекция CFO и коррекция фазы работают вместе в полной приёмной цепочке?

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

Среда Файл Результат
Python blocks/block_08_modulation_and_synchronization/python/lab_8_4_end_to_end_sync_chain.py созвездия по этапам, сводки EVM/BER и JSON с метриками в docs/assets

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

python blocks/block_08_modulation_and_synchronization/python/lab_8_4_end_to_end_sync_chain.py

Сгенерированные артефакты:

docs/assets/lab84_sync_constellation_raw.png
docs/assets/lab84_sync_constellation_after_timing.png
docs/assets/lab84_sync_constellation_final.png
docs/assets/lab84_sync_timing_search.png
docs/assets/lab84_sync_evm_stages.png
docs/assets/lab84_sync_ber_summary.png
docs/assets/lab84_sync_chain_metrics.json

Цепочка обработки

flowchart LR
    BITS[Случайные биты] --> QPSK[Символы QPSK]
    QPSK --> OS[Сигнал с передискретизацией]
    OS --> IMP[Тайминг + CFO + фаза + шум]
    IMP --> TIMING[Поиск фазы тайминга]
    TIMING --> CFO[Оценка/коррекция CFO]
    CFO --> PHASE[Коррекция фазы]
    PHASE --> DEC[Жёсткие решения]
    DEC --> METRICS[EVM и BER]

Поэтапный приёмник

Учебный приёмник применяет синхронизацию в таком порядке:

  1. Поиск фазы тайминга: выбрать фазу выборки с наибольшей энергией децимированных символов.
  2. Оценка/коррекция CFO: оценить остаточный наклон частоты по известным эталонным символам.
  3. Коррекция фазы: убрать оставшееся постоянное вращение созвездия.
  4. Жёсткие решения: преобразовать скорректированные символы в биты.
  5. Метрики: вычислить EVM и BER до и после синхронизации.

Чего ожидать

Запуск по умолчанию (детерминированный, как печатает скрипт) даёт:

Timing offset true/estimated: 3/6 samples
CFO true/estimated/error: 1350.000/1349.996/-0.004 Hz
Phase true/estimated/error: 0.550000/0.600344/-0.000550 rad
EVM raw/timing/CFO/final: 3413.163/19524.022/4.857/4.857 %
BER raw/final: 5.141602e-01/0.000000e+00

Как читать таблицу по этапам:

  • Первые два значения EVM (3413 % и 19524 %) это не «ошибки в 34 и 195 раз». Оба намного выше 100 %: созвездие ещё вращается (CFO не убран), и скалярному выравниванию не за что зацепиться. Значение EVM становится осмысленным только после этапа CFO (4,857 %). Интересное падение в BER: с 0,514 (подбрасывание монеты) до 0.
  • Оценённая фаза тайминга (6) отличается от введённого сдвига (3), и это нормально. Как и в Лабораторной 8.3, при прямоугольных импульсах верна любая фаза внутри плоской части символа; этапу достаточно избежать отсчётов, принадлежащих соседнему символу.
  • Ошибка CFO −0,004 Гц на 1350 Гц: аппроксимация по тысячам известных символов очень точна в синтетической модели с плоским символом. Реальные захваты так хороши не будут.
  • «EVM после CFO» и «EVM final» одинаковы (4,857 %). Эти значения EVM считаются после скалярного выравнивания усиления/фазы по эталону, которое поглощает любую постоянную фазу, поэтому этап фазы не может их изменить. BER же считается по собственному выходу приёмника без такого выравнивания, так что неверная оценка фазы проявилась бы там битовыми ошибками.
  • Оценённая фаза: 0,600 рад, а не введённые 0,55, и это правильно. Приёмник берёт отсчёт на фазе 6, а CFO 1350 Гц поворачивает сигнал на 2*pi*1350*6/1e6 = 0,051 рад за эти 6 отсчётов. Относительно момента выборки ошибка фазы всего −0,0006 рад.

Искажения в модели

Искажение Смысл
сдвиг тайминга приёмник берёт отсчёт в неверной точке внутри символьного интервала
CFO созвездие вращается со временем
сдвиг фазы созвездие имеет постоянный поворот
шум размазывает точки созвездия и ограничивает EVM/BER

Метрики

Метрика Смысл
оценённая фаза тайминга фаза выборки, выбранная поиском тайминга
оценённый CFO частотный сдвиг, измеренный после выбора тайминга
ошибка CFO оценённый CFO минус истинный CFO
оценённая фаза остаточная фаза, измеренная после коррекции CFO
EVM raw ошибка до синхронизации
EVM после тайминга ошибка после выбора фазы выборки
EVM после CFO ошибка после коррекции частоты
EVM final ошибка после полной синхронизации
BER raw/final качество решений до и после всей цепочки

Почему эта работа завершает Блок 8

Работы 8.1–8.3 изолируют отдельные проблемы синхронизации. Работа 8.4 объединяет их в приёмную цепочку:

Предыдущая работа Роль в Lab 8.4
Lab 8.1 CFO этап коррекции частоты
Lab 8.2 фаза финальная коррекция поворота созвездия
Lab 8.3 тайминг выбор фазы выборки
Lab 7.3 метрики loopback стиль отчётности EVM/BER

Ограничения

Это всё ещё учебная модель. Промышленному приёмнику дополнительно потребуются:

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

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

  • Указаны все введённые искажения.
  • Объяснён порядок этапов приёмника.
  • Приложено исходное созвездие.
  • Приложено созвездие после восстановления тайминга.
  • Приложено финальное созвездие.
  • Приложен EVM по этапам.
  • Приложен BER до/после.
  • Указаны оставшиеся ограничения перед реальным RF.

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

Синтетический приёмник использовал сдвиг тайминга ____ отсчётов, CFO ____ Гц и сдвиг фазы ____ рад.
Поэтапный синхронизатор оценил фазу тайминга ____, CFO ____ Гц и фазу ____ рад.
EVM улучшился с ____ % до ____ %, а BER изменился с ____ до ____.
Это закрывает / не закрывает базовую цепочку синхронизации, потому что ______.