mskdemod
Minimum shift keying demodulation
Syntax
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(...)
Description
z = mskdemod(y,nsamp)
demodulates the complex envelopey
of a signal using the differentially encoded minimum shift keying (MSK) method.nsamp
denotes the number of samples per symbol and must be a positive integer. The initial phase of the demodulator is 0. Ify
is a matrix with multiple rows and columns, the function treats the columns as independent channels and processes them independently.
z = mskdemod(y,nsamp,
specifies the method of encoding data for MSK.dataenc
)dataenc
can be either'diff'
for differentially encoded MSK or'nondiff'
for nondifferentially encoded MSK.
z = mskdemod(y,nsamp,
specifies the initial phase of the demodulator.dataenc
,ini_phase)ini_phase
is a row vector whose length is the number of channels iny
and whose values are integer multiples ofpi/2
. To avoid overriding the default value ofdataenc
, setdataenc
to[]
.
z = mskdemod(y,nsamp,
specifies the initial state of the demodulator.dataenc
,ini_phase,ini_state)ini_state
contains the last half symbol of the previously received signal.ini_state
is annsamp
-by-C matrix, where C is the number of channels iny
.
[z,phaseout] = mskdemod(...)
returns the final phase ofy
, which is important for demodulating a future signal. The outputphaseout
has the same dimensions as theini_phase
input, and assumes the values0
,pi/2
,pi
, and3*pi/2
.
[z,phaseout,stateout] = mskdemod(...)
returns the finalnsamp
values ofy
, which is useful for demodulating the first symbol of a future signal.stateout
has the same dimensions as theini_state
input.
Examples
References
[1]Pasupathy, S., "Minimum Shift Keying: A Spectrally Efficient Modulation".IEEE Communications Magazine, July, 1979, pp. 14–22.