dpskdemod

Дифференциальные фазовые демодуляции

Описание

пример

z = dpskdemod(y,M) демодулирует сложную огибающую, yDPSK-модулированного сигнала, имеющего порядок модуляции M.

z = dpskdemod(y,M,phaserot) задает вращение фазы модуляции DPSK.

z = dpskdemod(y,M,phaserot,symorder) также задает порядок обозначения.

Примеры

свернуть все

Демодулируйте данные DPSK в канале связи, в котором вводится сдвиг фазы.

Сгенерируйте вектор 4-арных данных и модулируйте его с помощью DPSK.

M = 4;                          % Alphabet size
dataIn = randi([0 M-1],1000,1); % Random message
txSig = dpskmod(dataIn,M);      % Modulate

Примените случайный сдвиг фазы, полученный в результате процесса передачи.

rxSig = txSig*exp(2i*pi*rand());

Демодулируйте принятый сигнал.

dataOut = dpskdemod(rxSig,M);

Модулятор и демодулятор имеют одно и то же начальное условие. Однако только принятый сигнал испытывает сдвиг фазы. В результате первый демодулированный символ, вероятно, будет в ошибку. Поэтому при использовании DPSK всегда следует отбрасывать первый символ.

Найдите количество ошибок символа.

errs = symerr(dataIn,dataOut)
errs = 1

Один символ находится в состоянии ошибки. Повторите вычисление ошибки после отбрасывания первого символа.

errs = symerr(dataIn(2:end),dataIn(2:end))
errs = 0

Входные параметры

свернуть все

DPSK-модулированный входной сигнал, заданный как действительный или комплексный вектор или матрица. Если y является матрицей, функция обрабатывает столбцы независимо.

Типы данных: double
Поддержка комплексного числа: Да

Порядок модуляции, заданный как целочисленная степень двойки.

Пример: 2 | 4 | 16

Типы данных: double

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

Если вы задаете phaserot как пустой, тогда dspkdemod использует вращение фазы на 0 степени.

Пример: pi/4

Типы данных: double

Порядок символа, заданный как 'bin' или 'gray'. Этот аргумент задает, как функция присваивает двоичные векторы соответствующим целым числам.

  • Если symorder является 'bin', функция использует естественное двоичное закодированное упорядоченное расположение.

  • Если symorder является 'gray', функция использует Серый-закодированное упорядоченное расположение.

Типы данных: char

Выходные аргументы

свернуть все

DPSK-демодулированный выходной сигнал, возвращаемый в виде вектора или матрицы, имеющей одинаковое число столбцов, что и входной сигнал y.

Примечание

Дифференциальный алгоритм, используемый в этой функции, сравнивает два последовательных элементов массива модулированного сигнала. Определить первый элемент вектора z, или первая строка матрицы z, функция использует начальное вращение фазы 0.

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

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

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