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

(Не рекомендуемый), Демодулируют использующий M-арный метод PAM

comm.PAMDemodulator не рекомендуется. Используйте pamdemod вместо этого.

Описание

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

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

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

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

Примечание

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

Конструкция

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

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

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

Свойства

ModulationOrder

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

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

BitOutput

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

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

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

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

SymbolMapping

Кодирование совокупности

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

Когда вы устанавливаете это свойство на Gray, объект использует серо-закодированное сигнальное созвездие.

Когда вы устанавливаете это свойство на Binary, целочисленный m, между 0m(ModulationOrder –1), сопоставляет с комплексным числом 2m-ModulationOrder+1.

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.

OutputDataType

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

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

Когда вы устанавливаете это свойство на Full precision, и тип входных данных одинарный, или двойная точность, выходные данные имеют совпадающий тип данных тот из входа.

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

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

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

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

Методы

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

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

Примеры

Модулируйте и демодулируйте сигнал с помощью модуляции с 16 PAM.

    hMod = comm.PAMModulator(16);
    hAWGN = comm.AWGNChannel('NoiseMethod', ...
                    'Signal to noise ratio (SNR)', ...
                    'SNR',20, 'SignalPower', 85);
    hDemod = comm.PAMDemodulator(16);
    %Create an error rate calculator
    hError = comm.ErrorRate;
    for counter = 1:100
      % Transmit a 50-symbol frame
      data = randi([0 hMod.ModulationOrder-1],50,1);
      modSignal = step(hMod, data);
      noisySignal = step(hAWGN, modSignal);
      receivedData = step(hDemod, noisySignal);
      errorStats = step(hError, data, receivedData);
    end
    fprintf('Error rate = %f\nNumber of errors = %d\n', ...
      errorStats(1), errorStats(2))

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

comm.PAMDemodulator не рекомендуется

comm.PAMDEmodulator не рекомендуется. Используйте pamdemod вместо этого.

n = 10000; % Number of symbols to process
M = 8; % Modulation order
x = randi([0 M-1],n,1); % Create message signal.

%% Using PAM modulation and demodulation system objects
pammodObj = comm.PAMModulator(M);
pamdemodObj = comm.PAMDemodulator(M);
yOld = pammodObj(x); % Modulate.
% ... channel filtering ...
zOld = pamdemodObj(complex(y)); % Demodulate.

%% Using PAM modulation and demodulation functions
yNew = pammod(x,M); % Modulate.
% ... channel filtering ...
zNew = pamdemod(y,M); % Demodulate.

Больше о

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

Алгоритмы

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

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

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

|

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