exponenta event banner

коммуникация. GeneralQAMDemodulator

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

Описание

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

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

  1. Определите и настройте объект демодулятора QAM. См. раздел Строительство.

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

Примечание

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

Строительство

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

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, где М - длина этого вектора свойств. Длина выходного вектора равна длине входного сигнала.

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

BitOutput

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

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

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

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

DecisionMethod

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

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

VarianceSource

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

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

Variance

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

Задайте дисперсию шума как ненулевое вещественное скалярное значение. Значение по умолчанию: 1. Если это значение очень мало (т.е. SNR очень высокое), вычисления логарифмического отношения правдоподобия (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))

Подробнее

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

Алгоритмы

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

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

.

См. также

Функции

Объекты

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