Лабораторная 8.8 — QPSK-модем, искажения и BER¶
Цель¶
Расширить BPSK-тракт до QPSK с двумя битами на символ и проверить два уровня реализации:
- синтезируемый QPSK-модем, восстанавливающий полный кадр с
BER = 0в идеальном HDL-loopback; - модель канала с AWGN и CFO, показывающую влияние искажений на созвездие и BER.
Модем и проверка¶
QPSK использует две ортогональные BPSK-оси. Mapper формирует Gray-кодированные точки, после чего общий тракт выполняет upsampling, RRC-фильтрацию, выборку символов и hard decision:
dibit source → QPSK mapper → upsampler → RRC TX → loopback →
RRC RX → symbol sampler → hard decision → BER counter
Testbench tb_qpsk_zynq_ber_top проверяет 140 символов / 280 бит и получает BER = 0.
Искажения¶
- AWGN размывает четыре кластера и при снижении
Eb/N0вызывает пересечение границ решений. - CFO поворачивает созвездие от символа к символу и без коррекции превращает четыре точки в кольцо.
- Для Gray QPSK теоретическая побитовая вероятность ошибки совпадает с BPSK:
Q(√(2·Eb/N0)).
Запуск¶
python blocks/block_08_modulation_and_synchronization/python/qpsk_impairments_ber.py
python tools/run_block5_hdl_smoke.py
Ожидаемый результат: симуляционная BER-кривая совпадает с теорией, HDL-loopback проходит без ошибок, а CFO-набор демонстрирует необходимость восстановления несущей.
Следующий шаг¶
Lab 8.9 замыкает CFO-проблему с помощью петли Костаса и снятия неоднозначности 90° по известной преамбуле.