Демодулируйте данные 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
Один символ находится в состоянии ошибки. Повторите вычисление ошибки после отбрасывания первого символа.
y - входной сигнал с модуляцией DPSK вектор | матрица
DPSK-модулированный входной сигнал, заданный как действительный или комплексный вектор или матрица. Если y является матрицей, функция обрабатывает столбцы независимо.
Типы данных: double Поддержка комплексного числа: Да
M - Порядок модуляции целочисленная степень двойки
Порядок модуляции, заданный как целочисленная степень двойки.
Вращение фазы модуляции DPSK, заданное в радианах как действительный скаляр. Общий сдвиг фазы на символ является суммой phaserot и фазу, сгенерированную дифференциальной модуляцией.
Если вы задаете phaserot как пустой, тогда dspkdemod использует вращение фазы на 0 степени.
Пример: pi/4
Типы данных: double
symorder - Порядок символов 'bin' (по умолчанию) | 'gray'
Порядок символа, заданный как 'bin' или 'gray'. Этот аргумент задает, как функция присваивает двоичные векторы соответствующим целым числам.
Если symorder является 'bin', функция использует естественное двоичное закодированное упорядоченное расположение.
Если symorder является 'gray', функция использует Серый-закодированное упорядоченное расположение.
z - DPSK-демодулированный выходной сигнал вектор | матрица
DPSK-демодулированный выходной сигнал, возвращаемый в виде вектора или матрицы, имеющей одинаковое число столбцов, что и входной сигнал y.
Примечание
Дифференциальный алгоритм, используемый в этой функции, сравнивает два последовательных элементов массива модулированного сигнала. Определить первый элемент вектора z, или первая строка матрицы z, функция использует начальное вращение фазы 0.
Расширенные возможности
Генерация кода C/C + + Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.