MPAM Modulator Baseband
Modulate using Mary pulse amplitude modulation
Libraries:
Communications Toolbox /
Modulation /
Digital Baseband Modulation /
AM
Description
The MPAM Modulator Baseband block modulates a signal by using Mary pulse amplitude modulation. The output is a baseband representation of the modulated signal.
Note
All values of power assume a nominal impedance of 1 ohm.
Examples
Plot MPAM Constellation in Simulink
The doc_pam_mod
model uses the MPAM Modulator Baseband block to modulate input data. Observe changes in the constellation size and scaling for various normalization methods and modulation orders.
A Random Integer Generator block generates a vector of integers over the range [0, M1] as input for a modulator that applies MPAM.
Update mask parameters in the MPAM Modulator Baseband block. Set the modulation order to 8 and the default minimum distance between symbols normalization method. Click the View Constellation
parameter on the MPAM Modulator Baseband block mask to observe the constellation.
Update the MPAM Modulator Baseband block mask to set the average power normalization method. Click the View Constellation
parameter on the MPAM Modulator Baseband block mask to observe the change in the constellation scaling.
Update the MPAM Modulator Baseband block mask to set the peak power normalization method. Click the View Constellation
parameter on the MPAM Modulator Baseband block mask to observe the change in the constellation scaling.
Update the MPAM Modulator Baseband block mask to set the modulation order to 4. Click the View Constellation
parameter on the MPAM Modulator Baseband block mask to observe the constellation.
Update the MPAM Modulator Baseband block mask to set the modulation order to 2. Click the View Constellation
parameter on the MPAM Modulator Baseband block mask to observe the constellation.
Ports
Input
In — Input signal
scalar  column vector
Input signal, specified as a scalar or column vector. The input data must be binary values or integers in the range [0, (M – 1)], where M is the modulation order as specified by the Mary number parameter. This port is unnamed on the block.
Data Types: single
 double
 int8
 int16
 int32
 uint8
 uint16
 uint32
 Boolean
Output
Out — MPAMmodulated baseband signal
scalar  column vector
MPAMmodulated baseband signal, returned as a scalar or column vector. Use the Output data type parameter to specify the output data type. This port is unnamed on the block.
Data Types: single
 double
 fixed point
Parameters
To edit block parameters interactively, use the Property Inspector. From the Simulink^{®} Toolstrip, on the Simulation tab, in the Prepare gallery, select Property Inspector.
Main
Mary number — Modulation order
4
(default)  positive, even integer
Modulation order, specified as a positive, even integer. The modulation order, M, specifies the number of points in the signal constellation. The block scales the signal constellation based on how you set the Normalization method parameter. For more information, see Constellation Size and Scaling.
Input type — Type of input value
Integer
(default)  Bit
Type of input value, specified as Integer
or Bit
. When you set this parameter to
Bit
, the Mary
number parameter must be
2^{K} for some
positive integer K.
Constellation ordering — Mapping order of symbols
Binary
(default)  Gray
Mapping order of the symbols, specified as
Gray
or
Binary
. This parameter indicates how the
block maps binary words to points of the signal constellation.
When you set this parameter to
Binary
, the block uses binarycoded constellation.When you set this parameter to
Gray
, the block uses a Graycoded constellation.
Normalization method — Scaling method for constellation
Min. distance between
symbols
(default)  Average Power
 Peak Power
Scaling method for the constellation, specified as Min.
distance between symbols
, Average
Power
, or Peak Power
. For
more information, see Constellation Size and Scaling.
Minimum distance — Distance between two nearest constellation points
2
(default)  positive scalar
Distance between the two nearest constellation points, specified as a positive scalar.
Dependencies
This parameter appears when you set Normalization method to Min. distance
between symbols
.
Average power, referenced to 1 ohm (watts) — Average power
1
(default)  positive scalar
Average power of the symbols in the constellation in watts, specified as a positive scalar. Power values assume a nominal impedance of 1 ohm.
Dependencies
This parameter appears when you set Normalization method to Average
Power
.
Peak power, referenced to 1 ohm (watts) — Maximum power
1
(default)  positive scalar
Maximum power of the symbols in the constellation in watts, specified as a positive scalar. Power values assume a nominal impedance of 1 ohm.
Dependencies
This parameter appears when you set Normalization method to Peak
Power
.
View Constellation — Option to plot reference constellation
button
Click View Constellation on the block mask to visualize a signal constellation for the specified block parameters. Before viewing a constellation, apply the parameter settings. For more information, see View Constellation of Modulator Block.
Data Types
Output data type — Output data type
double
(default)  single
 fixdt(1,16)
 fixdt(1,16,0)
 Inherit: Inherit via back
propagation
 <data type expression>
Output data type, specified as double
,
single
,
fixdt(1,16)
,
fixdt(1,16,0)
, Inherit:
Inherit via back propagation
, or <data
type expression>
.
fixdt(1,16)
,fixdt(1,16,0)
, or<data type expression>
enables parameters in which you can further specify details.Inherit: Inherit via back propagation
sets the output data type and scaling to match the following block.
The Data Type Assistant helps you set data attributes. To use the Data Type Assistant, click Show data type assistant . For more information, see Specify Data Types Using Data Type Assistant (Simulink).
Block Characteristics
Data Types 

Multidimensional Signals 

VariableSize Signals 

^{a} ufix(1) at the input if ''input type'' is set to ''bit''. ufix(ceil(log2(M))) at input if ''input type'' is set to ''integer'' for Mary modulation. ^{b} Fixedpoint outputs must be signed. 
Algorithms
Constellation Size and Scaling
The block outputs the realvalued constellation symbols as a complex signal with the imaginary part equal to zero. Constellation symbols map an integer m in the range [0, (M – 1)] to the complex value 2m – M + 1. M is the modulation order as specified by the Mary number parameter.
The block scales the default signal constellation based on the setting of the Normalization method parameter. This table lists the possible scaling conditions.
Value of Normalization Method Parameter  Scaling Condition 

Min. distance between
symbols  The nearest pair of points in the constellation is separated by the value of the Minimum distance parameter. 
Average Power  The average power of the symbols in the constellation is the value of the Average power, referenced to 1 ohm (watts) parameter. 
Peak Power  The maximum power of the symbols in the constellation is the value of the Peak power, referenced to 1 ohm (watts) parameter. 
The Plot MPAM Constellation in Simulink example demonstrates the constellation scaling based to normalization method.
The Constellation ordering parameter specifies whether the block assigns signal constellation points using binarycoded or Graycoded mapping. For details about Gray coding and symbol mapping, see Digital Baseband Modulation and View Constellation of Modulator Block.
IntegerValued Signals and BinaryValued Signals
This block accepts a scalar or column vector input signal.
When you set the Input type parameter to
Integer
, the block accepts integer values in the range [0
, (M1
)]. M is the modulation order as specified by 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 is the number of bits per symbol and
M is the modulation order. 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.
Extended Capabilities
C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.
Version History
Introduced before R2006a
See Also
Blocks
Functions
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
 América Latina (Español)
 Canada (English)
 United States (English)
Europe
 Belgium (English)
 Denmark (English)
 Deutschland (Deutsch)
 España (Español)
 Finland (English)
 France (Français)
 Ireland (English)
 Italia (Italiano)
 Luxembourg (English)
 Netherlands (English)
 Norway (English)
 Österreich (Deutsch)
 Portugal (English)
 Sweden (English)
 Switzerland
 United Kingdom (English)