General QAM Demodulator Baseband

Демодулируйте данные с модуляцией QAM

Библиотека

AM, в цифровой поддиапазоне базовых частот модуляции

  • General QAM Demodulator Baseband block

Описание

Блок основной полосы частот демодулятора общего QAM демодулирует сигнал, который был модулирован с помощью квадратурной амплитудной модуляции. Вход является представлением модулированного сигнала в основной полосе частот.

Входной вход должен быть комплексным сигналом в дискретном времени. Параметр Signal constellation задает созвездие путем перечисления его точек в векторе length-M с комплексными числами. Блок преобразует mth- точки в векторе Signal constellation в целое число m-1.

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

Параметры

Signal constellation

Действительный или комплексный вектор, который перечисляет точки созвездия.

Output type

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

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

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

Decision type

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

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

Noise variance source

Это поле появляется при установке Approximate log-likelihood ratio или Log-likelihood ratio для Decision type.

Когда вы устанавливаете этот параметр DialogЗатем можно задать отклонение шума в поле Noise variance. Когда вы устанавливаете эту опцию как Portна блоке появляется порт, через который может быть введена отклонение шума.

Noise variance

Этот параметр появляется, когда для Noise variance source задано значение Dialog и задает отклонение шума в входном сигнале. Этот параметр настраивается в режиме normal mode, режим Accelerator и Rapid Accelerator mode.

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

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

  • Inf на -Inf если Noise variance очень высока

  • NaN если Noise variance и степень сигнала очень малы

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

Диаграммы

Потока сигналов с фиксированной точкой

Поток сигналов с фиксированной точкой для жесткого режима принятия решений

Примечание

На рисунке выше M представляет размер Signal constellation.

Общий блок QAM Demodulator Baseband поддерживает операции с фиксированной точкой для вычисления Hard Decision (типа Output установлено на Bit и Decision type установлено на Hard decision) и аппроксимировать LLR (Output type установлено в Bit и Decision type установлено на Approximate Log-Likelihood ratio) выходные значения. Входные значения должны иметь тип данных с фиксированной точкой для операций с фиксированной точкой.

Примечание

Операции с фиксированной точкой еще НЕ поддерживаются для точных выходных значений LLR.

Поток сигналов с фиксированной точкой для аппроксимации режима LLR

Примечание

На рисунке выше M представляет размер Signal constellation.

Поток сигналов с фиксированной точкой для аппроксимации режима LLR: Режимы работы отклонения шума

Примечание

Если для Noise variance задано значение Dialogблок выполняет операции, показанные внутри пунктирной линии, один раз во время инициализации. Блок также выполняет эти операции, если значение Noise variance изменяется во время симуляции.

Атрибуты типов данных

Output

Блок поддерживает следующие опции выхода:

Когда вы устанавливаете параметр равным Inherit via internal rule (настройка по умолчанию), блок наследует тип выходных данных от входного порта. Тип выходных данных совпадает с типом входных данных, если вход имеет тип single или double.

Для целочисленных выходов можно задать выход этого блока равным Inherit via internal rule (настройка по умолчанию), Smallest unsigned integer, int8, uint8, int16, uint16, int32, uint32, single, и double.

Для битовых выходов, когда вы устанавливаете Decision type на Hard decision, можно задать выход равным Inherit via internal rule, Smallest unsigned integer, int8, uint8, int16, uint16, int32, uint32, boolean, single, или double.

Когда вы задаете Decision type Hard decision или Approximate log-likelihood ratio и вход является типом данных с плавающей точкой, затем выход наследует свой тип данных от входа. Для примера, если вход имеет тип данных doubleвыходные выходы также имеют тип данных double. Когда вы задаете Decision type Hard decision или Approximate log-likelihood ratio, и вход является сигналом с фиксированной точкой, параметр Output, расположенный в области параметров алгоритма Fixed-Point вкладки Data-Type, задает тип выходных данных.

Когда вы устанавливаете параметр равным Smallest unsigned integerтип выходных данных выбирается на основе настроек, используемых на панели Hardware Implementation диалогового окна Параметры конфигурации. Если вы выбираете ASIC/FPGA на панели Hardware Implementation выход данных является идеальным минимальным размером, т.е. ufix(1) для битовых выходов, и ufix(log2M) для целочисленных выходов. Для всех других вариантов, тип Output данных является беззнаковым целым числом с наименьшим доступным размером слова, достаточно большой, чтобы соответствовать идеальному минимальному размеру, обычно соответствующему размеру char (например uint8).

Rounding Mode Parameter

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

Для получения дополнительной информации смотрите Режимы округления или Режим округления: самый простой (Fixed-Point Designer).

Saturate on integer overflow

Используйте этот параметр, чтобы задать метод, который будет использоваться, если величина результата вычисления с фиксированной точкой не соответствует области значений типа данных и масштабирования, которая хранит результат:

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

  • Перенос использует арифметику по модулю, чтобы привести переполнение назад в представимую область значений типа данных. Для получения дополнительной информации см. арифметику» (Fixed-Point Designer).

Для получения дополнительной информации смотрите подсекцию параметра Saturate on integer overflow «Задать атрибуты фиксированной точки для блоков».

Signal constellation

Используйте этот параметр, чтобы задать тип данных параметра Signal constellation.

  • Когда вы выбираете Same word length as input Размер слова параметра Signal constellation совпадает с таковым у входа к блоку. Длина дроби вычисляется, чтобы обеспечить лучшую точность для заданных значений сигнального созвездия.

  • Когда вы выбираете Specify word lengthпоявится Word Length поле, и можно ввести значение размера слова. Длина дроби вычисляется, чтобы обеспечить лучшую точность для заданных значений сигнального созвездия.

Accumulator 1

Используйте этот параметр, чтобы задать тип данных для Accumulator 1:

  • Когда вы выбираете Inherit via internal ruleблок автоматически вычисляет выход слова и длину дроби. Для получения дополнительной информации см. раздел «Наследование через внутреннее правило» DSP System Toolbox™ руководства пользователя.

  • Когда вы выбираете Binary point scaling, можно ввести размер слова и длину дроби Accumulator 1, в битах.

Product Input

Используйте этот параметр, чтобы задать тип данных для Product input.

  • Когда вы выбираете Same as accumulator 1характеристики Product Input совпадают с характеристиками Accumulator 1.

  • Когда вы выбираете Binary point scaling можно ввести размер слова и длину дроби Product input, в битах.

Product Output

Используйте этот параметр для выбора типа данных для выхода продукта.

  • Когда вы выбираете Inherit via internal ruleблок автоматически вычисляет тип выхода сигнала. Для получения дополнительной информации смотрите Inherit via Internal Rule подраздела Руководства пользователя DSP System Toolbox.

  • Когда вы выбираете Binary point scaling введите размер слова и длину дроби для Product output в битах.

Accumulator 2

Используйте этот параметр, чтобы задать тип данных для Accumulator 2:

  • Когда вы выбираете Inherit via internal ruleблок автоматически вычисляет тип данных аккумулятора. Внутреннее правило вычисляет идеальный полностью точный размер слова и длину дроби следующим образом:

    WL идеальный аккумулятор 2 = WL вход в аккумулятор 2

    FL идеальный аккумулятор 2 = FL вход в аккумулятор 2

    После вычисления результата полной точности ваше конкретное оборудование может все еще влиять на окончательное слово и длины дроби, заданные внутренним правилом. Для получения дополнительной информации см. раздел «Эффект панели аппаратной реализации» в подразделе «Внутреннее правило» Руководства пользователя DSP System Toolbox.

    Внутреннее правило всегда устанавливает знак типа данных на Unsigned .

  • Когда вы выбираете Binary point scaling, вы можете ввести размер слова и длину дроби Accumulator 2, в битах.

Настройки для следующих параметров с фиксированной точкой применяются только, когда вы задаете Decision type Approximate log-likelihood ratio.

Accumulator 3

Когда вы выбираете Inherit via internal ruleблок автоматически вычисляет тип данных аккумулятора. Внутреннее правило сначала вычисляет идеальный полностью точный размер слова и длину дроби следующим образом:

WL идеальный аккумулятор 3 = WL вход в аккумулятор 3 + 1

FL идеальный аккумулятор 3 = FL вход в аккумулятор 3.

После вычисления результата полной точности ваше конкретное оборудование может все еще влиять на окончательное слово и длины дроби, заданные внутренним правилом. Для получения дополнительной информации см. раздел «Эффект панели аппаратной реализации» в подразделе «Внутреннее правило» Руководства пользователя DSP System Toolbox.

Внутреннее правило всегда устанавливает знак типа данных на Signed.

Noise scaling input
  • Когда вы выбираете Same as accumulator 3характеристики Noise scaling input совпадают с характеристиками Accumulator 3.

  • Когда вы выбираете Binary point scaling Вы можете ввести размер слова и длину дроби Noise scaling input, в битах.

Inverse noise variance

Это поле появляется Noise variance если для источника задано значение Dialog.

  • Когда вы выбираете Same word length as input Размер слова параметра Inverse noise variance совпадает с таковым у входа к блоку. Длина дроби вычисляется, чтобы обеспечить лучшую точность для заданного значения обратного отклонения шума.

  • Когда вы выбираете Specify word lengthпоявится Word Length поле, и можно ввести значение размера слова. Длина дроби вычисляется, чтобы обеспечить лучшую точность для заданного значения обратного отклонения шума.

Output

Когда вы выбираете Inherit via internal rule , Output data type автоматически устанавливается для вас.

Если вы устанавливаете параметр Noise variance source равным Dialog, выход является результатом операции продукта, как показано на схеме потока сигнала отклонения шума Операции режимов для аппроксимации режима LLR: режимы Операции отклонения шума. В этом случае выполняется внутреннее правило для типов данных продукта, заданное в подразделе «Наследование через внутреннее правило» Руководства пользователя DSP System Toolbox.

Если для параметра Noise variance source задано значение Port, выходные данные являются результатом операции деления, как показано на потоке сигналов схеме. В этом случае внутреннее правило вычисляет идеальный полностью точный размер слова и длину дроби следующим образом:

WL выход = max (WL Вход масштабирования шума, WL Отклонение шума)

FL выход = FL Вход масштабирования шума (dividend) - FL Отклонение шума (divisor).

После вычисления результата полной точности ваше конкретное оборудование может все еще влиять на окончательное слово и длины дроби, заданные внутренним правилом. Для получения дополнительной информации см. раздел «Эффект панели аппаратной реализации» в подразделе «Внутреннее правило» Руководства пользователя DSP System Toolbox.

Внутреннее правило для Output всегда устанавливает знак типа данных на Signed.

Дополнительные сведения о параметрах, относящихся к приложениям с фиксированной точкой, см. в разделе «Задание атрибутов фиксированной точки для блоков».

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

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

Вход

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

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

  • Подписанная фиксированная точка, когда Output type Integer или Output type Bit и Decision type есть Hard-decision или Approximate LLR

Вар

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

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

Выход

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

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

  • Логический, когда Output type Bit а Decision type есть Hard-decision.

  • 8-, 16- и 32-битные целые числа со знаком, когда Output type Integer или Output type Bit а Decision type есть Hard-decision

  • 8-, 16- и 32-битные беззнаковые целые числа, когда Output type Integer или Output type Bit а Decision type есть Hard-decision

  • ufix (1) в ASIC/FPGA, когда Output type Bit а Decision type есть Hard-decision

  • ufix(log2M) в ASIC/FPGA, когда Output type Integer

  • Подписанная фиксированная точка, когда Output type Bit а Decision type есть Approximate LLR

Парный блок

General QAM Modulator Baseband

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

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ Simulink ®

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