exponenta event banner

Прямоугольная модулирующая полоса демодулятора QAM

Демодуляция прямоугольно-КАМ-модулированных данных

Библиотека

AM, в цифровом поддиапазоне модулирования

  • Rectangular QAM Demodulator Baseband block

Описание

Блок основной полосы частот демодулятора прямоугольного КАМ демодулирует сигнал, который был модулирован с использованием квадратурной амплитудной модуляции с помощью совокупности на прямоугольной решетке.

Примечание

Все значения мощности принимают номинальный импеданс 1 Ом.

Сигнальная совокупность имеет M точек, где M - параметр M-ary числа. M должен иметь вид, 2K для некоторого положительного целого K. Блок масштабирует сигнальную совокупность на основе того, как задается параметр метода нормализации. Для получения более подробной информации см. справочную страницу блока основной полосы частот модулятора прямоугольного QAM.

Этот блок принимает входной сигнал скалярного вектора или вектора столбца. Для получения информации о типах данных, поддерживаемых каждым блочным портом, см. таблицу Поддерживаемые типы данных на этой странице.

Алгоритм жесткого решения

Алгоритм демодулятора отображает принятые значения совокупности входных сигналов в индексы M-ary целых I и Q символов между 0 и M 1, а затем отображает эти индексы демодулированных символов в форматированные выходные значения.

Вычисление индекса целочисленного символа выполняется посредством первого деротирования и масштабирования комплексной совокупности входных сигналов (возможно, с шумом) на коэффициент деротации и коэффициент денормализации соответственно. Эти коэффициенты получаются из смещения фазы, метода нормализации и связанных параметров. Эти деотированные и денормализованные значения добавляются к M 1, чтобы перевести их в приблизительный диапазон между 0 и 2 × (M − 1) (плюс шум). Полученные значения затем масштабируются посредством деления на два (или, что эквивалентно, сдвига вправо на один бит для операции с фиксированной точкой), чтобы получить диапазон приблизительно от 0 до M − 1 (плюс шум) для I и Q. Шумные значения индекса округляются до ближайшего целого числа и обрезаются посредством насыщения и отображаются на целочисленные значения символов в диапазоне [0 M-1]. Наконец, на основе других параметров блока целочисленный индекс сопоставляется со значением символа, которое форматируется и приводится к выбранному типу выходных данных.

Следующие рисунки содержат блок-схемы сигналов для работы алгоритма с плавающей и фиксированной точками. Диаграммы с плавающей запятой применяются, когда типом данных входного сигнала является double или single. Диаграммы с фиксированной точкой применяются, когда входной сигнал является подписанным типом данных с фиксированной точкой. Обратите внимание, что диаграмма упрощается, когда фазовое смещение кратно δ/2, и/или производный коэффициент денормализации равен 1.

Диаграммы потока сигналов с тривиальным фазовым смещением и коэффициентом денормализации, равным 1

Диаграммы потока сигналов с нетривиальным фазовым смещением и коэффициентом денормализации Nonunity

Параметры

M-арное число

Количество точек в созвездии сигналов. Он должен иметь форму 2K для некоторого положительного целого K.

Метод нормализации

Определяет способ масштабирования блока сигнальной совокупности. Варианты: Min. distance between symbols, Average Power, и Peak Power.

Минимальное расстояние

Этот параметр появляется, если для метода нормализации установлено значение Min. distance between symbols.

Расстояние между двумя ближайшими точками созвездия.

Средняя мощность, 1 Ом (Вт)

Средняя мощность символов в созвездии, привязанная к 1 Ом. Это поле появляется только в том случае, если для метода нормализации установлено значение Average Power.

Пиковая мощность, 1 Ом (Вт)

Максимальная мощность символов в созвездии, привязанная к 1 Ом. Это поле появляется только в том случае, если для метода нормализации установлено значение Peak Power.

Фазовое смещение (рад)

Вращение сигнальной группировки в радианах.

Упорядочение созвездий

Определяет, как блок назначает двоичные слова точкам сигнальной совокупности. Более подробная информация приведена на справочной странице для блока основной полосы частот модулятора прямоугольного QAM.

Выбор User-defined отображает поле Constellation mapping, позволяющее выполнять сопоставление, заданное пользователем.

Отображение созвездий

Этот параметр появляется, когда User-defined выбирается в раскрывающемся списке Constellation ordering.

Вектор строки или столбца размера M должен иметь уникальные целочисленные значения в диапазоне [0, M-1]. Значения должны иметь тип данных double.

Первый элемент этого вектора соответствует крайней верхней левой точке созвездия, а последующие элементы идут вниз по столбцам слева направо. Последний элемент соответствует крайней нижней правой точке.

Тип выходного документа

Определяет, создает ли блок целые числа или двоичные представления целых чисел.

Если установлено значение Integerблок производит целые числа.

Если установлено значение Bitблок создает группу из K битов, называемых двоичным словом, для каждого символа, когда тип решения установлен в Hard decision. Если для типа решения установлено значение Log-likelihood ratio или Approximate log-likelihood ratioблок выводит побитовое LLR и приблизительное LLR соответственно.

Тип решения

Этот параметр появляется, когда Bit выбран в раскрывающемся списке Output type.

Определяет использование жесткого решения, LLR или приблизительного LLR во время демодуляции. Подробные сведения об алгоритме см. в разделе Точный алгоритм LLR и приблизительный алгоритм LLR в Руководстве пользователя Communications Toolbox™.

Источник дисперсии шума

Этот параметр появляется, когда Approximate log-likelihood ratio или Log-likelihood ratio выбран для типа решения.

Если установлено значение Dialog, дисперсию шума можно задать в поле дисперсии шума. Если установлено значение Portв блоке появляется порт, через который может быть введена дисперсия шума.

Дисперсия шума

Этот параметр появляется, если для источника дисперсии шума установлено значение Dialog и определяет дисперсию шума во входном сигнале. Этот параметр настраивается в обычном режиме, в режиме ускорителя и в режиме ускорителя.

Если для создания исполняемого файла RSIM используется цель Rapid Simulink ® Coder™ (RSIM), можно настроить параметр без повторной компиляции модели. Это полезно при моделировании Монте-Карло, при котором моделирование выполняется несколько раз (возможно, на нескольких компьютерах) с различным уровнем шума.

Алгоритм LLR включает в себя вычисление экспоненций очень больших или очень малых чисел с использованием арифметики конечной точности и дает:

  • Inf кому -Inf если дисперсия шума очень высока

  • NaN если дисперсия шума и мощность сигнала очень малы

В таких случаях используйте приблизительное LLR, так как его алгоритм не включает вычисления экспонентов.

Продукция

Если для параметра установлено значение 'Inherit via internal rule' (установка по умолчанию), блок наследует тип выходных данных из входного порта. Тип выходных данных будет таким же, как и тип входных данных, если входные данные имеют тип single или double. В противном случае тип выходных данных будет таким, как если бы для этого параметра было установлено значение 'Smallest unsigned integer'.

Если для параметра установлено значение 'Smallest unsigned integer'тип выходных данных выбирается на основе настроек, используемых на панели Аппаратная реализация (Hardware Implementation) диалогового окна Параметры конфигурации (Configuration Parameters) модели. Если ASIC/FPGA выбран на панели Hardware Implementation, тип выходных данных - идеальный минимальный размер, т. е. ufix(1) для битовых выходов, и ufix(ceil(log2(M))) для целочисленных выходов. Для всех остальных вариантов выбора это беззнаковое целое число с наименьшей доступной длиной слова, достаточной для соответствия идеальному минимальному размеру, обычно соответствующему размеру символа (например, uint8).

Для целочисленных выходов этот параметр может иметь значение Smallest unsigned integer, int8, uint8, int16, uint16, int32, uint32, single, и double. Для битовых выходов опции: Smallest unsigned integer, int8, uint8, int16, uint16, int32, uint32, boolean, single, или double.

Коэффициент деротата

Этот параметр применяется только в том случае, если входной сигнал имеет фиксированную точку, а фазовое смещение не кратно δ/2.

Можно установить значение Same word length as input или Specify word length, в этом случае поле включается для ввода пользователем.

Коэффициент денормализации

Этот параметр применяется только в том случае, если входной сигнал имеет фиксированную точку, а производный коэффициент денормализации не равен единице (не равен 1). Этот коэффициент масштабирования определяется методом нормализации и другими значениями параметров в диалоговом окне блока.

Можно установить значение Same word length as input или Specify word length, в этом случае поле включается для ввода пользователем. Всегда используется длина дроби с наилучшей точностью.

Выход продукта

Этот параметр применяется только в том случае, если входной сигнал представляет собой сигнал с фиксированной точкой и имеется ненулевой (не равный 1) денормированный коэффициент. Для него можно установить значение Inherit via internal rule или Specify word length, которая включает поле для пользовательского ввода.

Установка для Inherit via internal rule вычисляет длину слова произведения полной точности и длину дроби. Внутреннее правило для типов данных продукта в DSP System Toolbox™ Руководство пользователя описывает внутреннее правило вывода продукта с полной точностью.

Установка для Specify word length позволяет определить длину слова. Блок вычисляет длину дроби с лучшей точностью на основе заданной длины слова и предварительно вычисленного значения результата произведения в наихудшем случае (мин/макс) в реальном масштабе. Результат выхода наихудшего варианта произведения предварительно вычисляется путем умножения денормализованного коэффициента на диапазон входного сигнала наихудшего варианта (мин/макс), исключительно на основе типа данных входного сигнала.

Блок использует режим округления, когда результат вычисления с фиксированной точкой не отображается точно на число, представляемое типом данных и масштабированием, сохраняющим результат. Дополнительные сведения см. в разделах Режимы округления или Режим округления: простейший (конструктор фиксированных точек).

Сумма

Этот параметр применяется только в том случае, если вход является сигналом с фиксированной точкой. Для него можно установить значение Inherit via internal rule, Same as product output, или Specify word length, в этом случае поле включено для ввода пользователем

Установка для Inherit via internal rule вычисляет суммарную длину слова полной точности и длину дроби, основываясь на двух входных значениях суммы в схеме последовательности сигналов алгоритма жесткого решения с фиксированной точкой. Правило совпадает с правилом наследования с фиксированной точкой внутреннего параметра типа данных Accumulator в блоке Simulink Sum (Simulink).

Установка для Specify word length позволяет определить длину слова. Длина дроби наилучшей точности вычисляется на основе длины слова, заданной в заранее вычисленном максимальном диапазоне, необходимом для демодулированного алгоритма для получения точных результатов. Подписанный тип данных с фиксированной точкой, имеющий наилучшую точность, полностью содержит значения в диапазоне 2 * (M − 1) для заданной длины слова.

Установка для Same as product output позволяет типу данных Sum совпадать с типом данных вывода продукта (при использовании вывода продукта). Если выходные данные продукта не используются, этот параметр будет проигнорирован, и Inherit via internal rule Будет использована настройка суммы.

Примеры

развернуть все

Модулировать и демодулировать шумный КАМ-сигнал.

Используйте кнопку Open model для открытия модели демодуляции QAM.

Запустите моделирование. Результаты сохраняются в базовой рабочей области, где переменная ErrorVec является вектором строки 1 на 3. BER находится в первом элементе.

Просмотрите статистику ошибок. Для полученного Eb/No, 2 дБ, результирующий BER составляет приблизительно 0,1. Ваши результаты могут немного отличаться.

ans =

    0.0948

Увеличьте значение Eb/No до 4 дБ. Повторно запустите моделирование и убедитесь, что BER уменьшился.

ans =

    0.0167

Поддерживаемые типы данных

ПортПоддерживаемые типы данных

Вход

  • Плавающая точка с двойной точностью

  • Плавающая точка с одинарной точностью

  • Подпись с фиксированной точкой, когда M-ary число является четной степенью 2 и:

    • Тип вывода: Integer

    • Тип вывода: Bit и Тип решения: Hard-decision

Вар

  • Плавающая точка с двойной точностью

  • Плавающая точка с одинарной точностью

Продукция

  • Плавающая точка с двойной точностью

  • Плавающая точка с одинарной точностью

  • Логическое значение, если тип Output имеет значение Bit

  • 8-, 16- и 32-разрядные целые числа со знаком

  • 8-, 16- и 32-разрядные целые числа без знака

  • ufix (1) в ASIC/FPGA, если тип вывода Bit

  • ufix (log2M) в ASIC/FPGA, если тип вывода Integer

Ссылки

[1] Смит, Джоэл Г., «Нечетная квадратурная амплитудная манипуляция», IEEE Transactions on Communications, том COM-23, март 1975, 385-389.

Расширенные возможности

Создание кода C/C + +
Создайте код C и C++ с помощью Simulink ® Coder™

.
Представлен до R2006a