Демодулировать данные ЦФМ в канале связи, в котором введен фазовый сдвиг.
Создайте четырехмерный вектор данных и модулируйте его с помощью 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.