Демодуляция с минимальным сдвигом
z = mskdemod(y,nsamp)
z = mskdemod(y,nsamp,dataenc
)
z = mskdemod(y,nsamp,dataenc
,ini_phase)
z = mskdemod(y,nsamp,dataenc
,ini_phase,ini_state)
[z,phaseout] = mskdemod(...)
[z,phaseout,stateout] = mskdemod(...)
z = mskdemod(y,nsamp)
демодулирует сложную огибающую y
сигнала, использующего дифференциально закодированный способ минимальной манипуляции (MSK). nsamp
обозначает количество выборок на символ и должно быть положительным целым числом. Начальная фаза демодулятора равна 0. Если y
является матрицей с несколькими строками и столбцами, функция обрабатывает столбцы как независимые каналы и обрабатывает их независимо.
z = mskdemod(y,nsamp,
задает метод кодирования данных для MSK. dataenc
)dataenc
может быть либо 'diff'
для дифференциально закодированных MSK или 'nondiff'
для недифференциально закодированного MSK.
z = mskdemod(y,nsamp,
задает начальную фазу демодулятора. dataenc
,ini_phase)ini_phase
- вектор-строка, длина которого является количеством каналов в y
и чьи значения являются целочисленными кратными pi/2
. Чтобы избежать переопределения значения по умолчанию dataenc
, задать dataenc
на []
.
z = mskdemod(y,nsamp,
задает начальное состояние демодулятора. dataenc
,ini_phase,ini_state)ini_state
содержит последнюю половину символа ранее принятого сигнала. ini_state
является nsamp
-by-C матрица, где C - количество каналов в y
.
[z,phaseout] = mskdemod(...)
возвращает конечную фазу y
, что важно для демодуляции будущего сигнала. Область выхода phaseout
имеет те же размерности, что и ini_phase
вход, и принимает значения 0
, pi/2
, pi
, и 3*pi/2
.
[z,phaseout,stateout] = mskdemod(...)
возвращает окончательную nsamp
значения y
, что полезно для демодуляции первого символа будущего сигнала. stateout
имеет те же размерности, что и ini_state
вход.
[1] Pasupathy, Subbarayan, «Minimum Shift Keying: A Spectrally Effective Modulation», IEEE Communications Magazine, июль 1979, стр. 14-22.