Demodulate using CPM method and Viterbi algorithm
The CPMDemodulator
object demodulates a signal
that was modulated using continuous phase modulation. The input is
a baseband representation of the modulated signal.
To demodulate a signal that was modulated using continuous phase modulation:
Define and set up your CPM demodulator object. See Construction.
Call step
to demodulate a signal
according to the properties of comm.CPMDemodulator
.
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.CPMDemodulator
creates a demodulator System
object, H
.
This object demodulates the input continuous phase modulated (CPM)
data using the Viterbi algorithm.
H = comm.CPMDemodulator(
creates
a CPM demodulator object, Name
,Value
)H
, with each specified
property set to the specified value. You can specify additional namevalue
pair arguments in any order as (Name1
,Value1
,...,NameN
,ValueN
).
H = comm.CPMDemodulator(M,
creates
a CPM demodulator object, Name
,Value
)H
, with the ModulationOrder
property
set to M
, and the other specified properties set
to the specified values.

Size of symbol alphabet Specify the size of the symbol alphabet. The value of this property
requires a power of two, real, integer scalar. The default is 

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

Symbol encoding Specify the mapping of the demodulated symbols as one of When you set this property to When you set this property to This property applies when you set the 

Modulation index Specify the modulation index. The default is where H1 represents the length of the column vector. When h_{i} varies from interval to interval, the object operates in multih. When the object operates in multih, h_{i} must be a rational number. 

Frequency pulse shape Specify the type of pulse shaping that the modulator has used
to smooth the phase transitions of the input modulated signal as one
of 

Main lobe duration of spectral raised cosine pulse Specify, in number of symbol intervals, the duration of the largest lobe of the spectral
raised cosine pulse. This value is the value that the modulator used to pulseshape the input
modulated signal. The default is 

Rolloff factor of spectral raised cosine pulse Specify the roll off factor of the spectral raised cosine pulse. This value is the value that
the modulator used to pulseshape the input modulated signal. The default is


Product of bandwidth and symbol time of Gaussian pulse Specify the product of bandwidth and symbol time for the Gaussian pulse shape. This value is
the value that the modulator used to pulseshape the input modulated signal. The default is


Pulse length Specify the length of the frequency pulse shape in symbol intervals.
The value of this property requires a real positive integer. The default
is 

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. The default is 

Number of samples per input symbol Specify the expected number of samples per input symbol as a
positive, integer scalar. 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.
The default is 

Data type of output Specify the output data type as one of 
reset  Reset states of CPM demodulator object 
step  Demodulate using CPM method and 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 CPM Demodulator Baseband block reference page. The object properties correspond to the block parameters. For CPM the phase shift per symbol is π × h, where h is the modulation index.