| Products & Services | Solutions | Academia | Support | User Community | Company |
| Download Product Updates | | | Get Pricing | | | Trial Software |
| Documentation → Communications Blockset |
| Contents | Index |
| Learn more about Communications Blockset |
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 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.
The Modulation index parameter times π radians is the phase shift in the modulated signal due to the latest symbol, when that symbol is the integer 1. The Phase offset parameter is the initial phase of the modulated waveform.
Internally, this block creates a trellis description of the modulation scheme and uses the Viterbi algorithm. The Traceback length parameter, D, in this block is the number of trellis branches used 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.
If the input signal is sample-based, then the delay consists of D+1 zero symbols.
If the input signal is frame-based, then the delay consists of D zero symbols.
The optimal Traceback length parameter value choice is dependent on minimum squared Euclidean distance calculations. Alternatively, a typical value can be chosen using the "five-times-the-constraint-length" rule which depends on the number of states given by:
![]()
h = m/p is the modulation index proper rational form
m = numerator of modulation index
p = denominator of modulation index
L is the Pulse length
M is M-ary number
If the Output type parameter is set to Integer, then the block produces odd integers between -(M-1) and M-1.
If the Output type parameter is set 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. For more information about Gray and binary coding, see Binary-Valued and Integer-Valued Signals in Communications Blockset User's Guide.
The input can be either a scalar or a frame-based column vector and must be of type single or double.
The input signal can be an upsampled version of the modulated signal. The Samples per symbol parameter is the upsampling factor. It must be a positive integer. For more information, see Upsampled Signals and Rate Changes in Communications Blockset User's Guide.

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.
The number of half-revolutions of phase shift in the modulated signal after modulating the latest symbol of 1.
The initial phase of the modulated waveform.
The number of input samples that represent each modulated symbol.
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.
CPM Demodulator Baseband, Viterbi Decoder, M-FSK Demodulator Baseband
[1] Anderson, John B., Tor Aulin, and Carl-Erik Sundberg. Digital Phase Modulation. New York: Plenum Press, 1986.
![]() | Convolutional Interleaver | CPFSK Modulator Baseband | ![]() |

Learn more about Simulink through this collection of videos, articles, technical literature and the Getting Started with Simulink Guide.
| © 1984-2009- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |