comm.GMSKDemodulator System object

Description

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:

Call step to demodulate a signal
according to the properties of GMSKDemodulator. The
behavior of step is specific to each object in the
toolbox.

Note:
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.

Construction

H = comm.GMSKDemodulator(Name,Value) creates
a GMSK demodulator object, H. This object has each
specified property set to the specified value. You can specify additional
name-value pair arguments in any order as (Name1,Value1,...,NameN,ValueN).

Properties

BitOutput

Output data as bits

Specify whether the output is groups of bits or integer values.
The default is false.

When you set the BitOutput property
to false, the step method outputs
a column vector of length equal to N/SamplesPerSymbol. N is
the length of the input signal, which is the number of input baseband
modulated symbols. The elements of the output vector are –1 or 1.

When you set the BitOutput property to true,
the step method outputs a binary column vector of
length equal to N/SamplesPerSymbol with
bit values of 0 or 1.

BandwidthTimeProduct

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 0.3.

PulseLength

Pulse length

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

SymbolPrehistory

Symbol prehistory

Specify the data symbols used by the modulator prior to the
first call to the step method. The default is 1.
This property requires a scalar or vector with elements equal to -1 or 1.
If the value is a vector, its length must be one less than the value
you set in the PulseLength property.

InitialPhaseOffset

Initial phase offset

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

SamplesPerSymbol

Number of samples per input symbol

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

TracebackDepth

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 16.

OutputDataType

Data type of output

Specify the output data type as one of int8 | int16 | int32 | double,
when you set the BitOutput property
to false.

When you set the BitOutput property to true,
specify the output data type as one of logical | double.
The default is double.