Минимальная модуляция манипуляции переключением
y = mskmod(x,nsamp)
y = mskmod(x,nsamp,dataenc)
y = mskmod(x,nsamp,dataenc,ini_phase)
[y,phaseout] = mskmod(...)
y = mskmod(x,nsamp) выводит сложную огибающую y модуляции сигнала сообщения x использование дифференциально кодированной модуляции минимальной манипуляции сдвигом (MSK). Элементы x должно быть 0 или 1. nsamp обозначает количество выборок на символ в y и должно быть положительным целым числом. Начальная фаза модулятора MSK равна 0. Если x является матрицей с несколькими строками и столбцами, функция рассматривает столбцы как независимые каналы и обрабатывает их независимо.
y = mskmod(x,nsamp, задает метод кодирования данных для MSK. dataenc)dataenc может быть либо 'diff' для дифференциально кодированных MSK или 'nondiff' для недифференцированно кодированного MSK.
y = mskmod(x,nsamp, определяет начальную фазу модулятора MSK. dataenc,ini_phase)ini_phase - вектор строки, длина которого представляет собой число каналов в y и значения которых являются целыми кратными pi/2. Чтобы избежать переопределения значения по умолчанию dataenc, комплект dataenc кому [].
[y,phaseout] = mskmod(...) возвращает заключительную фазу y. Это полезно для поддержания непрерывности фазы при модуляции будущего битового потока с дифференциально кодированным MSK. phaseout имеет те же размеры, что и ini_phase и принимает значения 0, pi/2, pi, и 3*pi/2.
[1] Пасупатия, Суббараян, «Минимальная манипуляция сдвигами: спектрально эффективная модуляция», журнал IEEE Communications Magazine, июль 1979, стр. 14-22.