Modulate using M-ary phase shift keying method
PM, in Digital Baseband sublibrary of Modulation
The M-PSK Modulator Baseband block modulates using the M-ary phase shift keying method. The output is a baseband representation of the modulated signal. The M-ary number parameter, M, is the number of points in the signal constellation.
The block accepts scalar or column vector input signals. For information about the data types each block port supports, see Supported Data Types.
Alternative configurations of the block determine how the block interprets its input and arranges its output, as explained in the following sections.
When you set the Input type parameter to
the block accepts integer values between
0 and M-
1. M represents
the M-ary number block parameter.
When you set the Input type parameter to
the block accepts binary-valued inputs that represent integers. The
block collects binary-valued signals into groups of K =
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 for each group of K bits.
For example, the following schematics illustrate how the block
processes two 8-ary integers or binary words in one time step. The
block processes all input signals as frames. In both cases, the Phase
offset parameter is
The Constellation ordering parameter indicates
how the block maps a group of K input bits to a
corresponding symbol. When you set the parameter to
the block maps [u(1) u(2) ... u(K)] to the
and behaves as if this integer were the input value. u(1) is the most significant bit.
For example, if you set M = 8, Constellation ordering to
and the binary input word is [1 1 0],
the block converts [1 1 0] to the
integer 6. The block produces the same output when the input is 6
and the Input type parameter is
When you set Constellation ordering to
the block uses a Gray-coded arrangement and assigns binary inputs
to points of a predefined Gray-coded signal constellation. The predefined
M-ary Gray-coded signal constellation assigns the binary representation
The zeroth phase in the constellation is the Phase offset parameter.
Successive phases are in the counterclockwise direction.
Note This transformation seems counterintuitive because it constitutes a Gray-to-binary mapping. However, the block must use it to impose a Gray ordering on the signal constellation, which has a natural binary ordering.
In other words, if the block input is the natural binary representation, u, of the integer U, the block output has phase
jθ + j2πm/M
where θ is the Phase offset parameter and m is an integer between 0 and M-1 that satisfies
For example, if M = 8, the binary representations that correspond to the zeroth through seventh phases are as follows.
M = 8; m = [0:M-1]'; de2bi(bitxor(m,floor(m/2)), log2(M),'left-msb') ans = 0 0 0 0 0 1 0 1 1 0 1 0 1 1 0 1 1 1 1 0 1 1 0 0
The following diagram shows the 8-ary Gray-coded constellation that the block uses if the Phase offset parameter is .
The M-PSK Modulator Baseband block provides the capability to visualize a signal constellation from the block mask. This Constellation Visualization feature allows you to visualize a signal constellation for specific block parameters. For more information, see the Constellation Visualization section of the Communications System Toolbox™ User's Guide.
The number of points in the signal constellation.
The phase of the zeroth point of the signal constellation.
Determines how the block maps an integer or group of K input bits to the corresponding symbol.
If set to
Binary, baseband M-ary phase shift
keying modulation with a phase offset of θ maps an integer m between
0 and M-1 to the complex value
exp(jθ + j2πm/M)
If set to
Gray, the block uses a
Gray-coded signal constellation. As a result, binary representations
that differ in more than one bit cannot map to consecutive integers
User-defined displays the Constellation
mapping parameter, which allows you to specify the mapping
technique for the block.
This field appears when you select
the Constellation ordering drop-down list.
This parameter is a row or column vector of size M and must
have unique integer values in the range [0, M-1]. The values must
be of data type
The first element of this vector corresponds to the constellation point at 0 + Phase offset angle, with subsequent elements running counterclockwise. The last element corresponds to the -2π/M + Phase offset constellation point.
Indicates whether the input consists of integers or groups of bits.
To use integer values between
0 and M-1
as inputs, set this parameter to
If this parameter is set to
the M-ary number parameter must be 2K for
some positive integer K. K consecutive
elements in the input represent a symbol, where K =
This block supports the following output data types:
Inherit via back propagation.
Set this property to
enable parameters in which you specify additional details. Set this
Inherit via back propagation to match
the output data type and scaling to the following block in the model.
Specify the word length, in bits, of the fixed-point output
data type. This parameter appears when you select
the Output data type parameter.
Specify any signed built-in or signed fixed-point data type.
You can specify fixed-point data types using the
from Fixed-Point Designer™ software. This parameter appears when
User-defined for the Output
data type parameter.
Specify the scaling of the fixed-point output by either of the following methods:
Best precision to
automatically scale the output signal so that it has the best possible
specify the output scaling in the Output fraction length parameter.
This parameter appears when you select
the Output data type parameter or when you select
the specified output data type is a fixed-point data type.
For fixed-point output data types, specify the number of fractional
bits, or bits to the right of the binary point. This parameter appears
when you select
the Output data type parameter and
the Set output fraction length to parameter.
|Port||Supported Data Types|
This block supports HDL code generation using HDL Coder™. HDL Coder provides additional configuration options that affect HDL implementation and synthesized logic. For more information on implementations, properties, and restrictions for HDL code generation, see M-PSK Modulator Baseband in the HDL Coder documentation.