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

Лабораторная 8.12 — GFSK: BT, полоса и BER

Цель

Построить continuous-phase GFSK-канал и исследовать:

  • Gaussian pulse shaping и компромисс BT;
  • constant envelope и PAPR около 0 dB;
  • quadrature/discriminator receiver;
  • occupied bandwidth и BER по Eb/N0;
  • отличие от OFDM back-off и CSS processing gain.

Зачем это нужно

Не каждое радио может позволить себе линейный усилитель мощности. GFSK (модуляция Bluetooth и многих маломощных суб-ГГц каналов) сохраняет постоянную огибающую, поэтому дешёвый эффективный нелинейный усилитель может её передавать без роста боковых составляющих спектра. Цена платится в двух местах, которые измеряет эта работа: произведение BT гауссова фильтра меняет занимаемую полосу на межсимвольную интерференцию (ISI), а простой дискриминаторный приёмник намного менее чувствителен, чем когерентный.

Запуск

python blocks/block_08_modulation_and_synchronization/python/lab_8_12_gfsk_bt_ber.py

Артефакты

docs/assets/lab812_gfsk_bt_waveforms.png
docs/assets/lab812_gfsk_bandwidth.png
docs/assets/lab812_gfsk_ber.png
docs/assets/lab812_gfsk_metrics.json

Чего ожидать

BT задаёт 99-процентную занимаемую полосу (в долях частоты дискретизации, 8 отсчётов на символ): 0,079 при BT = 0,3, 0,099 при BT = 0,5 и 0,123 при BT = 1,0, то есть 0,63, 0,79 и 0,98 символьной скорости. Ошибка постоянства огибающей на уровне шума плавающей точки (2e-16), а PAPR равен 0 дБ при любом BT в этом весь смысл модуляции.

Развёртка BER (BT = 0,5, около 40 000 бит на точку):

Eb/N0 BER
0 дБ 0,466
8 дБ 0,330
16 дБ 0,130
24 дБ 0,080
32 дБ 0,034
40 дБ 0,0084

Читайте эту кривую как есть:

  • Ей нужны нелепые 40 дБ, чтобы достичь 1 %. Хороший приёмник GFSK достигает этого примерно при 10–12 дБ. У приёмника этой работы нет канального фильтра: он суммирует «сырые» разности фаз по отсчётам на каждом символе, поэтому интегрирует шум всей полосы частоты дискретизации, и решает по сумме, выровненной по символу, которая оставляет очень малый запас для худших шаблонов ISI. Кривая показывает тенденцию (BER падает с ростом Eb/N0) и относительную цену такого приёмника, а не достижимое качество реальной GFSK-линии.
  • ISI видна без всякого шума. Совсем без шума этот дискриминатор не делает ошибок при BT = 0,5 и 1,0, но при BT = 0,3 уже ошибается примерно в 20 % бит. Узкий фильтр так размазывает каждый символ по соседям, что этот простой детектор не может их восстановить; реальные приёмники для малого BT используют согласованный (гауссов) приёмный фильтр или детектирование последовательностей.
  • BER доходит до нуля лишь около 60 дБ по быстрой проверке, потому что худшие шаблоны бит оставляют малый запас решения; это свойство детектора, а не GFSK.

Упражнения

  1. Воспроизведите результат без шума: запустите discriminator_demodulate на сигнале без шума при BT = 0,3, 0,5 и 1,0. Какой BER получится и что это говорит о выборе BT?
  2. Добавьте скользящее среднее (длиной в символ) к принятому сигналу перед дискриминатором. Снизится ли Eb/N0, необходимое для BER 1e-2? Попробуйте 2, 4 и 8 отсчётов.
  3. Сравните занимаемую полосу с BT. Где «колено» и как оно связано с ISI, измеренной в упражнении 1?
Ответы (проверены запуском скрипта лабораторной)
  1. На 20 000 битах: BER 0,199 при BT = 0,3 и 0 при BT = 0,5 и 1,0 (0,187 при BT = 0,4, 0,280 при BT = 0,2). Ниже BT ≈ 0,5 гауссов фильтр так растягивает каждый символ на соседей, что этот детектор ошибается вообще без шума. BT: регулятор полосы, за которым для простого приёмника обрыв.
  2. Нет. Среднее длиной в символ (8 отсчётов) снижает BER при малом Eb/N0 (0,33 → 0,15 при 8 дБ), но добавляет собственную МСИ, которая создаёт пол около 0,1, поэтому 1e-2 не достигается вовсе; 2–3 отсчёта оставляют точку 1e-2 на 40–42 дБ, а начиная с 5 отсчётов ошибки появляются даже без шума. Причина в детекторе: сумма разностей фаз за символ телескопируется в разность фаз его первого и последнего отсчётов, поэтому ничего не усредняет, а его ошибки дают немногие битовые шаблоны с очень малым запасом. Фильтр, достаточно длинный, чтобы срезать шум, этот запас ещё уменьшает. Настоящее решение: согласованный гауссов приёмный фильтр с решением в центре символа или детектирование последовательностей.
  3. Полоса 99 % растёт с BT плавно: 0,066, 0,079, 0,090, 0,098, 0,111 и 0,123 частоты дискретизации для BT = 0,2, 0,3, 0,4, 0,5, 0,7 и 1,0 (×8 для символьной скорости: от 0,53 до 0,98). Излом не в полосе, а в МСИ из упражнения 1, которая скачком появляется между BT = 0,4 и 0,5. Переход с 0,5 на 0,3 экономит лишь около 20 % полосы и стоит 20 % ошибочных бит: поэтому стандарты с BT = 0,3 используют более совершенные приёмники.

Интерпретация

Меньший BT сужает спектр, но растягивает переходы на соседние символы. GFSK удобен для нелинейного передатчика благодаря постоянной огибающей, однако простой discriminator receiver уступает когерентным схемам по чувствительности. Поэтому лабораторная измеряет решения BER, а не ограничивается спектром.