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++ с помощью Coder™ MATLAB ®

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