Version:

Last Modified: February 7, 2018

Generates a symbol map, using the matrix of **symbol values** that you specify, a matrix representing the symbol phases in degrees, and an array representing the radii of each discrete circle. Use the **symbol map** parameter of the **system parameters** cluster to configure the operation of the demodulation and modulation nodes.

The **symbol values** matrix defines how the *M*-ary binary data are mapped to the discrete I/Q symbols on the constellation diagram. The node maps the specified symbol values to I/Q constellation points using the polar representation
$j\pi \frac{{\theta}_{i}}{180}$. The node reads the **symbol values/symbol phases** matrices row-wise. Each row of symbol values/symbol phases is then mapped onto I/Q symbol points, which are located on a circle with a radius that is specified in the **symbol radii** array.

A matrix of integers that define how the *M*-ary (bits per symbol) binary data are mapped to discrete I/Q symbols on the constellation diagram. Use negative values to specify holes (missing points) in the constellation diagram.

The binary representation of the symbol values is performed using the LSB first convention. For example, in 8-QAM, the symbol values matrix can be specified as

$\left[\begin{array}{ccc}0& 1& 2\\ 3& -1& 4\\ 5& 6& 7\end{array}\right]$

This matrix corresponds to the following bit values:

$\left[\begin{array}{ccc}000& 100& 010\\ 110& XXX& 001\\ 101& 011& 111\end{array}\right]$

The term *XXX* here refers to a hole (missing point) on the constellation plot.

**Default: **empty

Phases, in degrees, corresponding to the location of the elements of the symbol values matrix on the I/Q constellation diagram.

**Default: **empty

Radii of discrete concentric circles that contain the I/Q constellation points. There is a one-to-one mapping between every entry on the **symbol radii** array and every row in the **symbol values/symbol phases** matrix.

**Default: **empty

Error conditions that occur before this node runs.

The node responds to this input according to standard error behavior.

Standard Error Behavior

Many nodes provide an **error in** input and an **error out** output so that the node can respond to and communicate errors that occur while code is running. The value of **error in** specifies whether an error occurred before the node runs. Most nodes respond to values of **error in** in a standard, predictable way.

**Default: **No error

An ordered array to be bundled with the **system parameters** cluster that is passed to the digital demodulation and modulation nodes.

The generated symbol maps must be bundled onto the **system parameters** cluster prior to being passed to the corresponding modulation node.

Error information.

The node produces this output according to standard error behavior.

Standard Error Behavior

**error in** input and an **error out** output so that the node can respond to and communicate errors that occur while code is running. The value of **error in** specifies whether an error occurred before the node runs. Most nodes respond to values of **error in** in a standard, predictable way.

Use MT Generate Symbol Map (Rectangular) to create a custom symbol map for a generic amplitude modulation scheme such as quadrature amplitude modulation (QAM). Use MT Generate Symbol Map (Circular) to create a custom symbol map for a combined amplitude-phase modulation scheme.

The following example demonstrates 8-QAM symbol map creation. Define the symbol values as $\left[\begin{array}{ccc}0& 1& 2\\ 3& -1& 4\\ 5& 6& 7\end{array}\right]$.

Define the I symbol amplitude array as $\left[\begin{array}{ccc}-1& 0& 1\end{array}\right]$.

Define the Q symbol amplitude array as $\left[\begin{array}{c}1\\ 0\\ -1\end{array}\right]$.

Define gain as 1.0.

These settings result in the following symbol map.

**Where This Node Can Run: **

Desktop OS: Windows

FPGA: Not supported

Web Server: Not supported in VIs that run in a web application