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