Демодулируйте данные о 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
Один символ по ошибке. Повторите ошибочное вычисление после отбрасывания первого символа.
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++ с помощью MATLAB® Coder™.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.