pamdemod

Импульсная амплитудная демодуляция

Синтаксис

z = pamdemod(y,M)
z = pamdemod(y,M,ini_phase)
z = pamdemod(y,M,ini_phase,symbol_order)

Описание

z = pamdemod(y,M) демодулирует комплексный конверт y из импульсной амплитуды модулируемый сигнал. M размер алфавита. Идеал модулируемый сигнал должен иметь минимальное Евклидово расстояние 2.

z = pamdemod(y,M,ini_phase) задает начальную фазу модулируемого сигнала в радианах.

z = pamdemod(y,M,ini_phase,symbol_order) задает, как функция присваивает двоичные слова соответствующим целым числам. Если symbol_order установлен в 'bin' (значение по умолчанию), функция использует естественное двоично кодированное упорядоченное расположение. Если symbol_order установлен в 'gray', это использует серо-закодированное упорядоченное расположение.

Примеры

свернуть все

Модулируйте и демодулируйте случайные целые числа с помощью импульсной амплитудной модуляции. Проверьте, что выходные данные совпадают с исходными данными.

Установите порядок модуляции и сгенерируйте 100 M-арных символов данных.

M = 12;
dataIn = randi([0 M-1],100,1);

Выполните операции модуляции и демодуляции.

modData = pammod(dataIn,M);
dataOut = pamdemod(modData,M);

Сравните первые пять символов.

[dataIn(1:5) dataOut(1:5)]
ans = 5×2

     9     9
    10    10
     1     1
    10    10
     7     7

Проверьте, что нет никаких ошибок символа в целой последовательности.

symErrors = symerr(dataIn,dataOut)
symErrors = 0

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

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

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