Version:

Last Modified: February 7, 2018

Generates a symbol map with an input matrix of symbol values and I/Q symbol amplitude arrays that you specify. 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 optional **gain** parameter can be used to multiply the generated symbol map by a scalar value. The node internally reads the **symbol values** matrix row-wise and uses the I/Q symbol amplitudes array values to assign the symbol amplitudes to each element in the row.

The number of rows in the symbol amplitudes matrix must exactly equal the length of the **symbol amplitudes (Q)** array. Additionally, the number of columns of the symbol amplitudes matrix must exactly equal the length of the **symbol amplitudes (I)** array. If these conditions are violated, the node returns an error.

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

The in-phase amplitudes of the I/Q constellation points corresponding to the **symbol values** array.

For example, in the case of 8-QAM, assume that the symbol values are specified as $\left[\begin{array}{ccc}0& 1& 2\\ 3& -1& 4\\ 5& 6& 7\end{array}\right]$, while the I-symbol amplitudes are specified as [-1 0 1]. Then, the symbol values [0 3 5] are assigned an I-amplitude of -1, the symbol values [1 6] are assigned an I-amplitude of 0, and the symbol values [2 4 7] are assigned an I-amplitude of 1.

**Default: **empty

The quadrature-phase amplitudes of the I/Q constellation points corresponding to the **symbol values** array.

For example, in the case of 8-QAM, assume that the symbol values are specified as $\left[\begin{array}{ccc}0& 1& 2\\ 3& -1& 4\\ 5& 6& 7\end{array}\right]$, while the Q-symbol amplitudes are specified as [1 0 -1]. Then, the symbol values [0 1 2] are assigned a Q-amplitude of 1, the symbol values [3 4] are assigned a Q-amplitude of 0, and the symbol values [5 6 7] are assigned a Q-amplitude of -1.

**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 optional scalar constant by which to multiply the **symbol map** (amplitudes defined by the **symbol amplitudes I/Q** arrays).

**Default: **1

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