Main Content

M-PAM Modulator Baseband

Modulate using M-ary pulse amplitude modulation

Library

AM, in Digital Baseband sublibrary of Modulation

  • M-PAM Modulator Baseband block

Description

The M-PAM Modulator Baseband block modulates using M-ary pulse amplitude modulation. 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. It must be an even integer.

Note

All values of power assume a nominal impedance of 1 ohm.

Constellation Size and Scaling

Baseband M-ary pulse amplitude modulation using the block's default signal constellation maps an integer m between 0 and M-1 to the complex value

2m - M + 1

Note

This value is actually a real number. The block's output signal is a complex data-type signal whose imaginary part is zero.

The block scales the default signal constellation based on how you set the Normalization method parameter. The following table lists the possible scaling conditions.

Value of Normalization Method ParameterScaling 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 Average power parameter
Peak Power The maximum power of the symbols in the constellation is the Peak power parameter

Integer-Valued Signals and Binary-Valued 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 between 0 and M-1. M represents the M-ary number block parameter.

When you set the Input type parameter to Bit, the block accepts binary-valued inputs that represent integers. The block collects binary-valued signals into groups of K = log2(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 for each group of K bits.

The Constellation ordering parameter indicates how the block assigns binary words to points of the signal constellation.

  • If Constellation ordering is set to Binary, then the block uses a natural binary-coded constellation.

  • If Constellation ordering is set to Gray, then the block uses a Gray-coded constellation.

    For details about the Gray coding, see the reference page for the M-PSK Modulator Baseband block.

Parameters

M-ary number

The number of points in the signal constellation. It must be an even integer.

Input type

Indicates whether the input consists of integers or groups of bits. If this parameter is set to Bit, then the M-ary number parameter must be 2K for some positive integer K.

Constellation ordering

Determines how the block maps each group of input bits to a corresponding integer.

Normalization method

Determines how the block scales the signal constellation. Choices are Min. distance between symbols, Average Power, and Peak Power.

Minimum distance

The distance between two nearest constellation points. This field appears only when Normalization method is set to Min. distance between symbols.

Average power, referenced to 1 ohm (watts)

The average power of the symbols in the constellation, referenced to 1 ohm. This field appears only when Normalization method is set to Average Power.

Peak power, referenced to 1 ohm (watts)

The maximum power of the symbols in the constellation, referenced to 1 ohm. This field appears only when Normalization method is set to Peak Power.

Output data type

The output data type can be set to double, single, Fixed-point, User-defined, or Inherit via back propagation.

Setting this parameter to Fixed-point or User-defined enables fields in which you can further specify details. Setting this parameter to Inherit via back propagation, sets the output data type and scaling to match the following block.

Output word length

Specify the word length, in bits, of the fixed-point output data type. This parameter is only visible when you select Fixed-point for the Output data type parameter.

User-defined data type

Specify any signed built-in or signed fixed-point data type. You can specify fixed-point data types using the fixdt (Simulink) function. This parameter is only visible when you select User-defined for the Output data type parameter.

Set output fraction length to

Specify the scaling of the fixed-point output by either of the following methods:

  • Choose Best precision to have the output scaling automatically set such that the output signal has the best possible precision.

  • Choose User-defined to specify the output scaling in the Output fraction length parameter.

This parameter is only visible when you select Fixed-point for the Output data type parameter or when you select User-defined and the specified output data type is a fixed-point data type.

Output fraction length

For fixed-point output data types, specify the number of fractional bits, or bits to the right of the binary point. This parameter is only visible when you select Fixed-point or User-defined for the Output data type parameter and User-defined for the Set output fraction length to parameter.

Supported Data Types

PortSupported Data Types

Input

  • Double-precision floating point

  • Single-precision floating point

  • Boolean when Input type is Bit

  • 8-, 16-, 32-bit signed integers

  • 8-, 16-, 32-bit unsigned integers

  • ufix(log2M) when Input type is Integer

Output

  • Double-precision floating point

  • Single-precision floating point

  • Signed fixed-point

More About

expand all

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Version History

Introduced before R2006a