comm.RectangularQAMDemodulator

(Чтобы быть удаленным), Демодулируют использующее прямоугольное сигнальное созвездие QAM

comm.RectangularQAMDemodulator будет удален в будущем релизе. Используйте qamdemod вместо этого. Для получения дополнительной информации см. Вопросы совместимости.

Описание

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

Чтобы демодулировать сигнал, который модулировался с помощью квадратурной амплитудной модуляции:

  1. Задайте и настройте свой прямоугольный объект демодулятора QAM. Смотрите Конструкцию.

  2. Вызовите step демодулировать сигнал согласно свойствам comm.RectangularQAMDemodulator. Поведение step характерно для каждого объекта в тулбоксе.

Примечание

Запуск в R2016b, вместо того, чтобы использовать step метод, чтобы выполнить операцию, заданную Системой object™, можно вызвать объект с аргументами, как будто это была функция. Например, y = step(obj,x) и y = obj(x) выполните эквивалентные операции.

Конструкция

H = comm.RectangularQAMDemodulator создает Системный объект демодулятора, H. Этот объект демодулирует входной сигнал с помощью прямоугольного метода квадратурной амплитудной модуляции (QAM).

H = comm.RectangularQAMDemodulator(Name,Value) создает прямоугольный объект демодулятора QAM, H, с каждым заданным набором свойств к заданному значению. Можно задать дополнительные аргументы пары "имя-значение" в любом порядке как (Name1, Value1..., NameN, ValueN).

H = comm.RectangularQAMDemodulator(M,Name,Value) создает прямоугольный объект демодулятора QAM, H. Этот объект имеет ModulationOrder набор свойств к M, и другой заданный набор свойств к заданным значениям.

Свойства

ModulationOrder

Число точек в сигнальном созвездии

Задайте число точек в сигнальном созвездии как скалярное значение с положительной, целочисленной степенью двойки. Значением по умолчанию является 16.

PhaseOffset

Смещение фазы созвездия

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

BitOutput

Выходные данные как биты

Задайте, состоит ли выход из групп битов или целочисленных значений символа. Когда вы устанавливаете это свойство на истину, метод шага выводит вектор-столбец битных значений, длина которых равняется log2 (ModulationOrder) времена количество демодулируемых символов. Когда вы устанавливаете это свойство на false, step метод выводит вектор-столбец с длиной, равной вектору входных данных. Этот вектор содержит целочисленные значения символа между 0 и ModulationOrder-1. Значением по умолчанию является false.

SymbolMapping

Кодирование созвездия

Задайте, как объект сопоставляет целое число или группу log2 (ModulationOrder) биты к соответствующему символу как один из Binary | Gray | Custom. Значением по умолчанию является Gray. Когда вы устанавливаете это свойство на Gray, объект использует серо-закодированное сигнальное созвездие. Когда вы устанавливаете это свойство на Binary, объект использует естественное двоично кодированное созвездие. Когда вы устанавливаете это свойство на Custom, объект использует сигнальное созвездие, заданное в CustomSymbolMapping свойство.

CustomSymbolMapping

Пользовательское кодирование созвездия

Задайте пользовательский вектор отображения символа созвездия. Значением по умолчанию является 0:15. Это свойство является строкой или вектор-столбцом с размером ModulationOrder и с уникальными целочисленными значениями в области значений [0, ModulationOrder-1]. Значения должны иметь тип данных double. Первый элемент этого вектора соответствует главной крайней левой точке созвездия, с последующими элементами, бегущими по столбцам, слева направо. Последний элемент соответствует самой правой нижней частью точке. Это свойство применяется, когда вы устанавливаете SymbolMapping свойство к Custom.

NormalizationMethod

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

Укажите, что метод раньше нормировал сигнальное созвездие как Minimum distance between symbols | Average power | Peak power. Значением по умолчанию является Minimum distance between symbols.

MinimumDistance

Минимальное расстояние между символами

Задайте расстояние между двумя самыми близкими точками созвездия как положительное, действительное значение числового скаляра. Значением по умолчанию является 2. Это свойство применяется, когда вы устанавливаете NormalizationMethod свойство к Minimum distance between symbols.

AveragePower

Средняя степень созвездия

Задайте среднюю степень символов в созвездии как положительное, действительное значение числового скаляра. Значением по умолчанию является 1. Это свойство применяется, когда вы устанавливаете NormalizationMethod свойство к Average power.

PeakPower

Пиковая мощность созвездия

Задайте максимальную мощность символов в созвездии как положительное, действительное значение числового скаляра. Значением по умолчанию является 1. Это свойство применяется, когда вы устанавливаете NormalizationMethod свойство к Peak power.

DecisionMethod

Метод решения демодуляции

Задайте метод решения объектное использование в качестве Hard decision | Log-likelihood ratio | Approximate log-likelihood ratio. Значением по умолчанию является Hard decision. Когда вы устанавливаете BitOutput свойство к false объект всегда выполняет демодуляцию трудного решения. Это свойство применяется, когда вы устанавливаете BitOutput свойство к true.

VarianceSource

Источник шумового отклонения

Задайте источник шумового отклонения как Property | Input port. Значением по умолчанию является Property. Это свойство применяется, когда вы устанавливаете BitOutput свойство к true и DecisionMethod свойство к Log-likelihood ratio или Approximate log-likelihood ratio.

Variance

Шумовое отклонение

Задайте отклонение шума как положительное, действительное скалярное значение. Значением по умолчанию является 1. Если это значение очень мало (т.е. ОСШ очень высок), расчеты отношения логарифмической правдоподобности (LLR) могут дать к Inf или-Inf. Этот результат происходит, потому что алгоритм LLR вычисляет экспоненциал очень больших или очень небольших чисел с помощью арифметики конечной точности. В таких случаях, с помощью аппроксимированного LLR рекомендуется, потому что его алгоритм не вычисляет экспоненциалы. Это свойство применяется, когда вы устанавливаете BitOutput свойство к true, DecisionMethod свойство к Log-likelihood ratio или Approximate log-likelihood ratio, и VarianceSource свойство к Property. Это свойство является настраиваемым.

OutputDataType

Тип данных выхода

Задайте тип выходных данных как Full precision | Smallest unsigned integer | double | single | int8 | uint8 | int16 | uint16 | int32 | uint32. Значением по умолчанию является Full precision.

Это свойство применяется только, когда вы устанавливаете BitOutput свойство к false или когда вы устанавливаете BitOutput свойство к true и DecisionMethod свойство к Hard decision. В этом случае, когда OutputDataType свойство установлено в Full precision, и тип входных данных является одним - или с двойной точностью, выходные данные имеет совпадающий тип данных как вход.

Когда входные данные имеют фиксированную точку, тип выходных данных ведет себя, как будто вы установили OutputDataType свойство к Smallest unsigned integer.

Когда вы устанавливаете BitOutput свойство к true и DecisionMethod свойство к Hard Decision, затем logical тип данных становится допустимой опцией.

Когда вы устанавливаете BitOutput свойство к true и DecisionMethod свойство к Log-likelihood ratio или Approximate log-likelihood ratio, тип выходных данных совпадает с типом входа. В этом случае тот тип данных может только быть одним - или с двойной точностью.

 Свойства фиксированной точки

Методы

созвездие(Чтобы быть удаленным), Вычисляют или строят идеальное сигнальное созвездие
шаг(Чтобы быть удаленным), Демодулируют использующий прямоугольный метод QAM
Характерный для всех системных объектов
release

Позвольте изменения значения свойства Системного объекта

Примеры

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

В этом примере показано, как модулировать и демодулировать данные с помощью 16-QAM модуляции.

Создайте прямоугольный модулятор QAM и объекты демодулятора с набором порядка модуляции к 16.

hMod = comm.RectangularQAMModulator('ModulationOrder',16);
hDemod = comm.RectangularQAMDemodulator('ModulationOrder',16);

Создайте объект канала AWGN.

hAWGN = comm.AWGNChannel('EbNo',2,'BitsPerSymbol',4);

Чтобы отследить количество ошибок, создайте объект счетчика коэффициента ошибок.

hError = comm.ErrorRate;

Установите генератор случайных чисел на его состояние по умолчанию гарантировать воспроизводимость.

rng default

Сгенерируйте случайные символы данных и примените 16-QAM модуляцию.

dataIn = randi([0 15],10000,1);
txSig = step(hMod,dataIn);

Передайте модулируемые данные через канал AWGN.

rxSig = step(hAWGN,txSig);

Отобразите шумное созвездие с помощью scatterplot функция.

scatterplot(rxSig)

Демодулируйте полученные символы данных.

dataOut = step(hDemod,rxSig);

Используя step функция hError, вычислите ошибочную статистику.

errorStats = step(hError,dataIn,dataOut);

Отобразите ошибочную статистику, где можно заметить, что 8 ошибок были зарегистрированы в 10 000 переданных символов.

fprintf('\nError rate = %f\nNumber of errors = %d\nNumber of symbols = %d\n', ...
errorStats)
Error rate = 0.000800
Number of errors = 8
Number of symbols = 10000

Больше о

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

Алгоритмы

Этот объект реализует алгоритм, входные параметры и выходные параметры, описанные на странице с описанием блока Rectangular QAM Demodulator Baseband. Свойства объектов соответствуют параметрам блоков.

Вопросы совместимости

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

Не рекомендуемый запуск в R2018b

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

Смотрите также

Функции

Объекты

Представленный в R2012a

Для просмотра документации необходимо авторизоваться на сайте