Demodulate using GMSK method and the Viterbi algorithm
The GMSKDemodulator
object uses a Viterbi algorithm
to demodulate a signal that was modulated using the Gaussian minimum
shift keying method. The input is a baseband representation of the
modulated signal.
To demodulate a signal that was modulated using Gaussian minimum shift keying:
Define and set up your GMSK demodulator object. See Construction.
Call step
to demodulate a signal
according to the properties of GMSKDemodulator
. The
behavior of step
is specific to each object in the
toolbox.
Starting in R2016b, instead of using the step
method
to perform the operation defined by the System
object™, you can
call the object with arguments, as if it were a function. For example, y
= step(obj,x)
and y = obj(x)
perform
equivalent operations.
H = comm.GMSKDemodulator
creates a demodulator System
object, H
.
This object demodulates the input Gaussian minimum shift keying (GMSK)
modulated data using the Viterbi algorithm.
H = comm.GMSKDemodulator(
creates
a GMSK demodulator object, Name
,Value
)H
. This object has each
specified property set to the specified value. You can specify additional
namevalue pair arguments in any order as (Name1
,Value1
,...,NameN
,ValueN
).

Output data as bits Specify whether the output is groups of bits or integer values.
The default is When you set the When you set the 

Product of bandwidth and symbol time of Gaussian pulse Specify the product of bandwidth and symbol time for the Gaussian
pulse shape as a real, positive scalar. The default 

Pulse length Specify the length of the Gaussian pulse shape in symbol intervals
as a real positive integer. The default 

Symbol prehistory Specify the data symbols used by the modulator prior to the first call to the 

Initial phase offset Specify the initial phase offset of the input modulated waveform
in radians as a real, numeric scalar value. The default is 

Number of samples per input symbol Specify the expected number of samples per input symbol as a
positive, integer scalar value. The default is 

Traceback depth for Viterbi algorithm Specify the number of trellis branches that the Viterbi algorithm
uses to construct each traceback path as a positive, integer scalar
value. The value of this property is also the output delay, and the
number of zero symbols that precede the first meaningful demodulated
symbol in the output. The default is 

Data type of output Specify the output data type as one of When you set the 
reset  Reset states of the GMSK demodulator object 
step  Demodulate using GMSK method and the Viterbi algorithm 
Common to All System Objects  

release  Allow System object property value changes 
This object implements the algorithm, inputs, and outputs described on the GMSK Demodulator Baseband block reference page. The object properties correspond to the block parameters. For GMSK the phase shift per symbol is π/2, which is a modulation index of 0.5.
comm.CPMDemodulator
 comm.CPMModulator
 comm.GMSKModulator