Demodulate CPFSK-modulated data
CPM, in Digital Baseband sublibrary of Modulation
The CPFSK Demodulator Baseband block demodulates a signal that was modulated using the continuous phase frequency shift keying method. The input to this block is a baseband representation of the modulated signal. The M-ary number parameter, M, is the size of the input alphabet. M must have the form 2K for some positive integer K.
This block supports multi-h Modulation index. See CPM Modulator Baseband for details.
When you set the Output type parameter to
Integer
, then the block produces odd integers between
-(M-1) and M-1.
When you set the Output type parameter to
Bit
, then the block produces groupings of
K bits. Each grouping is called a binary
word.
In binary output mode, the block first maps each input symbol to an intermediate
value as in the integer output mode. The block then maps the odd integer k to the
nonnegative integer (k+M-1)/2. Finally, the block maps each nonnegative integer to a
binary word, using a mapping that depends on whether the Symbol set
ordering parameter is set to Binary
or
Gray
.
This block accepts a scalar-valued or column vector input signal with a data type
of single
or double
.
In single-rate processing mode, the input and output signals have the same port sample time. The block implicitly implements the rate change by making a size change at the output when compared to the input. The input width must be an integer multiple of the Samples per symbol parameter value, and the input can be a column vector.
When you set Output type to
Bit
, the output width is K
times the number of input symbols.
When you set Output type to
Integer
, the output width is the number of
input symbols.
In multirate processing mode, the input and output signals have different port sample times. The input must be a scalar. The output symbol time is the product of the input sample time and the Samples per symbol parameter value.
When you set Output type to
Bit
, the output width equals the number of
bits per symbol.
When you set Output type to
Integer
, the output is a scalar.
Internally, this block creates a trellis description of the modulation scheme and uses the Viterbi algorithm. The Traceback depth parameter, D, in this block is the number of trellis branches that the algorithm uses to construct each traceback path. D influences the output delay, which is the number of zero symbols that precede the first meaningful demodulated value in the output.
When you set the Rate options parameter to
Allow multirate processing
, and the model
uses a variable-step solver or a fixed-step solver with the
Tasking Mode parameter set to
SingleTasking
, then the delay consists of D+1
zero symbols.
When you set the Rate options parameter to
Enforce single-rate processing
, then the
delay consists of D zero symbols.
The optimal Traceback depth parameter value is dependent on minimum squared Euclidean distance calculations. Alternatively, a typical value, dependent on the number of states, can be chosen using the “five-times-the-constraint-length” rule, which corresponds to 5·log2(numStates).
For the definition of the number of states, see CPM Demodulator Baseband Help page.
The size of the alphabet.
Determines whether the output consists of integers or groups of bits.
Determines how the block maps each integer to a group of output bits. This
field is active only when Output type is set to
Bit
.
Specify the modulation index {hi}. The default is
0.5
. The value of this property must be a real,
nonnegative scalar or column vector.
This block supports multi-h Modulation index. See CPM Modulator Baseband for details.
The initial phase of the modulated waveform.
The number of input samples that represent each modulated symbol, which must be a positive integer. For more information, see Upsample Signals and Rate Changes in Communications Toolbox™ User's Guide.
Select the rate processing method for the block.
Enforce single-rate processing
—
When you select this option, the input and output signals have the
same port sample time. The block implements the rate change by making
a size change at the output when compared to the input. The output
width is the number of symbols (which is given by dividing the input
length by the Samples per symbol parameter value
when the Output type parameter is set to Integer
).
Allow multirate processing
—
When you select this option, the input and output signals have different
port sample times. The output period is the same as the symbol period
and equals the product of the input period and the Samples
per symbol parameter value.
For more information, see Single-Rate Processing and Multirate Processing in the Description section of this page.
The number of trellis branches that the CPFSK Demodulator Baseband block uses to construct each traceback path.
The output data type can be boolean
,
int8
, int16
,
int32
, or double
.
Port | Supported Data Types |
---|---|
Input |
|
Output |
|
[1] Anderson, John B., Tor Aulin, and Carl-Erik Sundberg. Digital Phase Modulation. New York: Plenum Press, 1986.