comm.GeneralQAMDemodulator

Демодулируйте использующее произвольное созвездие QAM

Описание

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

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

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

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

Примечание

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

Конструкция

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

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

H = comm.GeneralQAMDemodulator(CONST,Name,Value) создает общий объект демодулятора QAM, H. Этот объект имеет Constellation набор свойств к CONST, и другой заданный набор свойств к заданным значениям.

Свойства

Constellation

Сигнальное созвездие

Задайте точки созвездия как действительный или комплексный, вектор типа данных с двойной точностью. Значением по умолчанию является exp (2×π×1i×(0:7)8). Длина вектора определяет порядок модуляции.

Когда вы устанавливаете BitOutput свойство к false, step метод выводит вектор с целочисленными значениями. Эти целые числа между 0 и M –1, где M является длиной этого вектора свойства. Длина выходного вектора равняется длине входного сигнала.

Когда вы устанавливаете BitOutput свойство к true, выходной сигнал содержит биты. Для битных выходных параметров размер сигнального созвездия требует целочисленной степени двойки, и продолжительность выхода является целочисленным кратным количество битов на символ.

BitOutput

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

Задайте, состоит ли выход из групп битов или целочисленных значений символа. Значением по умолчанию является false.

Когда вы устанавливаете это свойство на true step метод выводит вектор-столбец битных значений с длиной, равной log2 (M) времена количество демодулируемых символов, где M является длиной сигнального созвездия, заданного в Constellation свойство. Длина M определяет порядок модуляции.

Когда вы устанавливаете это свойство на false, step метод выводит вектор-столбец длины, равной вектору входных данных. Вектор содержит целочисленные значения символа между 0 и M –1.

DecisionMethod

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

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

VarianceSource

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

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

Variance

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

Задайте отклонение шума как ненулевое, действительное скалярное значение. Значением по умолчанию является 1. Если это значение очень мало (т.е. ОСШ очень высок), расчеты отношения логарифмической правдоподобности (LLR) могут дать к Inf или-Inf. Этот результат происходит, потому что алгоритм LLR вычислил бы экспоненциал очень больших или очень небольших чисел с помощью арифметики конечной точности. В таких случаях, с помощью аппроксимированного LLR рекомендуется, потому что его алгоритм не вычисляет экспоненциалы. Это свойство применяется, когда вы устанавливаете 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 или Approximate log-likelihood ratio. В этом случае, когда вы устанавливаете OutputDataType свойство к Full precision, тип выходных данных совпадает с типом входа, когда входные данные имеют один или тип данных с двойной точностью.

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

Когда входной сигнал является целочисленным типом данных, у вас должна быть пользовательская лицензия Fixed-Point Designer™, чтобы использовать это свойство в Smallest unsigned integer или Full precision режим.

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

Когда вы устанавливаете BitOutput свойство к true и DecisionMethod свойство к Approximate log-likelihood ratio можно только установить это свойство на Full precision | Custom.

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

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

Методы

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

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

Примеры

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

 % Setup a three point constellation
 c = [1 1i -1];
 hQAMMod = comm.GeneralQAMModulator(c);
 hAWGN = comm.AWGNChannel('NoiseMethod', ...
     'Signal to noise ratio (SNR)','SNR',15,'SignalPower',0.89);
 hQAMDemod = comm.GeneralQAMDemodulator(c);

 %Create an error rate calculator
 hError = comm.ErrorRate;
 for counter = 1:100
     % Transmit a 50-symbol frame
     data = randi([0 2],50,1);
     modSignal = step(hQAMMod, data);
     noisySignal = step(hAWGN, modSignal);
     receivedData = step(hQAMDemod, noisySignal);
     errorStats = step(hError, data, receivedData);
 end
 fprintf('Error rate = %f\nNumber of errors = %d\n', ...
      errorStats(1), errorStats(2))

Больше о

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

Алгоритмы

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

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

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

Функции

Объекты

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