Лабораторная 8.11 — 16-QAM: BER, EVM и ограничения реализации¶
Цель¶
Перейти от QPSK к более высокой спектральной эффективности:
- реализовать Gray mapping/demapping по четыре бита на символ;
- нормировать среднюю мощность и использовать пороги
{-2, 0, +2}/√10; - измерить BER/EVM по
Eb/N0; - проверить чувствительность к gain/phase imbalance;
- измерить fixed-point quantization и saturation;
- заменить QPSK на 16-QAM в payload-поднесущих OFDM.
Зачем это нужно¶
QPSK: рабочая лошадка курса, но каналы, которым нужна большая скорость в той же полосе, переходят на QAM высших порядков. Компромисс просто сформулировать и легко недооценить: 16-QAM несёт 4 бита на символ вместо 2, но точки расположены теснее, поэтому любое искажение (шум, дисбаланс усиления/фазы, квантование, ограничение) съедает большую долю запаса решения. Эта работа измеряет такую цену в трёх местах: против шума, против аналогового дисбаланса и против разрядности fixed-point, чтобы вы могли решить, когда дополнительная плотность бит того стоит.
Запуск¶
python blocks/block_08_modulation_and_synchronization/python/lab_8_11_16qam_tradeoffs.py
Артефакты¶
docs/assets/lab811_16qam_ber.png
docs/assets/lab811_16qam_imbalance.png
docs/assets/lab811_16qam_fixed_point.png
docs/assets/lab811_16qam_metrics.json
Чего ожидать¶
BER и EVM в зависимости от Eb/N0 (200 000 сравниваемых бит на точку). Последний столбец это замкнутое приближение для 16-QAM с кодом Грея BER ≈ (3/8)·erfc(sqrt(0,4·Eb/N0)):
| Eb/N0 | ошибок | BER | EVM | теория |
|---|---|---|---|---|
| 0 дБ | 28 371 | 1,42e-1 | 50,1 % | 1,39e-1 |
| 4 дБ | 11 749 | 5,87e-2 | 31,6 % | 5,86e-2 |
| 8 дБ | 1 825 | 9,13e-3 | 19,9 % | 9,25e-3 |
| 12 дБ | 31 | 1,55e-4 | 12,5 % | 1,39e-4 |
| 16 дБ | 0 | 0 (< 5e-6) | 7,9 % | 6e-9 |
- Симуляция совпадает с теорией в пределах шума Монте-Карло это подтверждает отображение Грея и пороги решений
{-2, 0, +2}/sqrt(10). - BER = 0 при 16 дБ означает «меньше примерно 1 ошибки на 200 000 бит», а не «без ошибок»: теоретическое значение около 6e-9, намного ниже разрешающей способности 200 000 бит.
- EVM плавно следует за Eb/N0 (50 % → 8 %), пока BER падает на порядки; поэтому EVM: лучший ранний индикатор (сравните с Лабораторной 8.7).
Развёртки по дисбалансу и по разрядности не содержат шума, поэтому они показывают чистый эффект искажения, и BER во всех строках остаётся 0, а EVM меняется. Дисбаланс усиления/фазы от (−2 дБ, 0°) до (+2 дБ, 12°) даёт EVM 23,4 %, 11,8 %, 6,2 %, 14,9 %, 26,9 %: созвездие заметно ухудшается задолго до того, как решение перевернётся, а шума, который перебросил бы точки через порог, пока нет. Для fixed-point EVM падает с 23,8 % (4 бита) до 11,0 % (6), 8,6 % (8) и 8,1 % (10 бит) и перестаёт улучшаться. Причина в счётчике насыщения, который равен 50 144 при любой разрядности: развёртка подаёт сигнал с коэффициентом 1,15, поэтому внешние уровни созвездия (0,95 × 1,15 = 1,09) выходят за диапазон +1,0 и ограничиваются независимо от разрядности, что задаёт пол EVM около 8 %. BER остаётся 0 лишь потому, что ограниченная внешняя точка всё ещё по правильную сторону порога решения; именно поэтому в интерпретации выше сказано, что дополнительные биты не исправят ограничение из-за недостатка запаса.
Упражнения¶
- Найдите
Eb/N0, при котором 16-QAM достигает BER 1e-3, иEb/N0, при котором его достигает QPSK (0,5·erfc(sqrt(Eb/N0))). Сколько дБ стоит удвоенная плотность бит? - В
fixed_point_sweepзамените коэффициент подачи1.15на1.0, затем на0.9. Счётчик насыщения падает (при 1,0 он доходит до нуля начиная с 8 бит), и EVM теперь продолжает падать с ростом разрядности: при 1,0 около 0,6 % на 8 битах и 0,06 % на 10. Объясните, почему раньше пределом был запас по амплитуде, а не разрядность. - Развёртка по дисбалансу не содержит шума. Добавьте шум канала при
Eb/N0 = 12 дБповерх дисбаланса (+1 дБ, 8°). Остаётся ли BER около значения без искажений, примерно 1,5e-4? Сначала предскажите, потом запустите.
Ответы (проверены запуском скрипта лабораторной)
- QPSK достигает 1e-3 при Eb/N0 = 6,79 дБ. Для 16-QAM с кодом Грея приближение ближайших соседей
(3/8)·erfc(√(0,4·Eb/N0))даёт 10,52 дБ, и симуляция лабораторной согласуется (1,02e-3 при 10,5 дБ на 1,6 млн бит). Удвоение бит на символ стоит около 3,7 дБ. - С уровнем 1,15 сигнал выходил за полную шкалу, счётчик насыщений был занят, и пол ошибки задавало ограничение, а не округление: дополнительные биты уточняли значения, которые и так были неверны. С уровнем 1,0 пики помещаются, насыщения исчезают начиная с 8 бит, и EVM падает примерно в 10 раз на каждые два бита: ожидаемое поведение округления. Сначала запас по уровню, потом разрядность.
- Нет: становится примерно в 20 раз хуже. Дисбаланс сам по себе (EVM 14,8 %) не даёт ошибок в канале без шума, но при Eb/N0 = 12 дБ BER: 2,8e-3 вместо 1,35e-4 при одном шуме. Дисбаланс съедает расстояние до границ решений, и шум, который иначе был бы безвреден, теперь их пересекает. Искажение, которое «ничего не стоит» без шума, оборачивается потерянным запасом по SNR при шуме.
Интерпретация¶
Модель сравнивает 200 000 бит на точку. При 52 активных поднесущих QPSK несёт 104 бита на OFDM-символ, а 16-QAM: 208. Плата за удвоение плотности: меньший decision margin и большая чувствительность EVM к дисбалансу и saturation.