Modulate using continuous phase modulation
CPM, in Digital Baseband sublibrary of Modulation
The Continuous Phase Modulation (CPM) Modulator Baseband block modulates an input signal using continuous phase modulation. The output is a baseband representation of the modulated signal:
$$\begin{array}{l}s(t)\text{\hspace{0.17em}}=\text{\hspace{0.17em}}\mathrm{exp}\left[j\text{\hspace{0.17em}}2\pi \text{\hspace{0.17em}}{\displaystyle \sum _{i\text{\hspace{0.17em}}=\text{\hspace{0.17em}}0}^{n}{\alpha}_{i}{h}_{i}q(tiT)}\right],\\ nT<\text{\hspace{0.17em}}t<(n+1)T\end{array}$$
where
{α_{i}} represents a sequence of Mary data symbols selected from the alphabet ±1, ±3, ±(M 1).
M must have the form 2^{K} for some positive integer K. You specify the value of M using the Mary number parameter.
{h_{i}} represents a sequence of modulation indices and h_{i} moves cyclically through a set of indices { h_{0}, h_{1}, h_{2}, ….,h_{H1} }. When H =1, there is only one modulation index, h_{0}, which is denoted as h.
When h_{i} varies from interval to interval, the block operates in multih. To ensure a finite number of phase states, h_{i} must be a rational number. You specify the value(s) of h_{i} using the Modulation index parameter.
Continuous phase modulation uses pulse shaping to smooth the phase transitions of the modulated signal. The function q(t) is the phase response obtained from the frequency pulse, g(t), through the relation:
$$q(t)={\displaystyle {\int}_{\text{\hspace{0.17em}}\infty}^{t}g(t)dt}$$
Using the Frequency pulse shape parameter, you can select the following pulse shapes:
Rectangular
Raised Cosine
Spectral Raised Cosine
Gaussian
Tamed FM
(tamed frequency modulation)
The pulse shapes, g(t), are defined.
Pulse Shape  Expression 

Rectangular 

Raised Cosine 

Spectral Raised Cosine 

Gaussian 

Tamed FM 

Where:
L_{main} equates to the parameter Main lobe pulse duration (symbol intervals)
β equates to the parameter Rolloff
B_{b} equates to the parameter BT product
The duration of the pulse, LT, equates to the parameter
Pulse length (symbol intervals). The
Spectral Raised Cosine
,
Gaussian
, and Tamed
FM
pulse shapes, as defined by the expression, have
infinite length. For all practical purposes, they are truncated to a finite
length. The parameter Pulse length (symbol intervals)
specifies that truncated length. For more information, see [1].
When you set the Input type parameter to
Integer
, then the block accepts odd integers between
(M1) and M1. M represents the Mary
number block parameter.
When you set the Input type parameter to Bit
,
the block accepts binaryvalued inputs that represent integers. The
block collects binaryvalued signals into groups of K =
log_{2}(M) bits
where
K represents the number of bits per symbol.
The input vector length must be an integer multiple of K. In this configuration, the block accepts a group of K bits and maps that group onto a symbol at the block output. The block outputs one modulated symbol, oversampled by the Samples per symbol parameter value, for each group of K bits.
This block accepts a scalarvalued or column vector input signal. For a column vector input signal, the width of the output frame equals the product of the number of symbols and the value for the Samples per symbol parameter. For a samplebased input signal, the output sample time equals the symbol period divided by the value for the Samples per symbol parameter. For information about the data types each block port supports, see the Supported Data Types table on this page.
In binary input mode, the block maps each binary word to an integer between 0 and
M1, using a mapping that depends on whether the Symbol set
ordering parameter is set to Binary
or
Gray
. The block then maps the integer k to the
intermediate value 2k(M1) and proceeds as in the integer input mode. For more
information, see IntegerValued Signals and BinaryValued Signals on the MPSK
Modulator ref page.
In singlerate 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. In this mode, the input to the block can be multiple symbols.
When you set Input type to
Integer
, the input can be a column vector,
the length of which is the number of input symbols.
When you set Input type to
Bit
, the input width must be an integer
multiple of K, the number of bits per symbol.
The output width equals the product of the number of input symbols and the Samples per symbol parameter value.
In multirate processing mode, the input and output signals have different port sample times. In this mode, the input to the block must be one symbol.
When you set Input type to
Integer
, the input must be a scalar.
When you set Input type to
Bit
, the input width must equal the number of
bits per symbol.
The output sample time equals the symbol period divided by the Samples per symbol parameter value.
The size of the alphabet.
Indicates whether the input consists of integers or groups of bits.
Determines how the block maps each group of input bits to a corresponding
integer. This field is active only when Input type is
set to Bit
.
Specify the modulation index {h_{i}}. The default is
0.5
. The value of this property must be a real,
nonnegative scalar or column vector.
Specify the type of pulse shaping that the block uses to smooth the phase transitions of the modulated signal. You can select from the following pulse shapes:
Rectangular
Raised Cosine
Spectral Raised Cosine
This option requires an additional parameter, Rolloff and Main lobe pulse duration (symbol intervals).
Gaussian
This option requires an additional parameter, BT product.
Tamed FM
(tamed frequency
modulation)
Number of symbol intervals of the largest lobe of the spectral raised
cosine pulse. This field is active only when Frequency pulse
shape is set to Spectral Raised
Cosine
.
The rolloff factor of the spectral raised cosine pulse shape, specified as
a scalar from 0
to 1
. This field
appears only when you set Frequency pulse shape to
Spectral Raised Cosine
.
The product of bandwidth and time, specified as a nonnegative scalar.
BT product can be used to reduce the bandwidth at
the expense of increased intersymbol interference. This field appears only
when Frequency pulse shape is set to
Gaussian
.
The length of the frequency pulse shape.
A scalarvalued or vector signal that specifies the data symbols used before the start of the simulation, in reverse chronological order. If Symbol prehistory is a vector, then its length must be one less than the Pulse length parameter.
The initial phase of the output waveform, measured in radians.
The number of output samples that the block produces for each integer or binary word in the input, which must be a positive integer. For all nonbinary schemes, as defined by the pulse shapes, this value must be greater than 1.
For more information, see Upsample Signals and Rate Changes in Communications System Toolbox™User's Guide.
Select the rate processing option for the block.
Enforce singlerate 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 equals the product of the number of symbols and the Samples
per symbol parameter value.
Allow multirate processing
—
When you select this option, the input and output signals have different
port sample times. The output sample time equals the symbol period
divided by the Samples per symbol parameter value.
The option Inherit from input (this choice will
be removed  see release notes)
will be removed in a
future release. See FrameBased Processing in the Communications
System Toolbox Release
Notes for more information.
Specify the block output data type as double
and
single
.
Port  Supported Data Types 

Input 

Output 

[1] Anderson, John B., Tor Aulin, and CarlErik Sundberg. Digital Phase Modulation. New York: Plenum Press, 1986.