Last Modified: January 9, 2017

Calculates parameters for use with either MT Modulate QAM or MT Demodulate QAM. The node accepts an input array of **symbol values** that explicitly specifies the positions of the symbol map.

An array of symbol values with an order that corresponds to the symbol map. The number of QAM states in the array must be 2^{ N }, where *N* is the number of bits per symbol. The length or magnitude of the vector for the symbols farthest from the origin must be 1.

This node expects a two-dimensional, square array of integers for the **symbol values** parameter. 4-QAM expects a 2×2 array (2 rows, 2 columns), 16-QAM expects a 4×4 array, and so on. The integers 0 through (*M*-1) must all be included only once in the **symbol values** array, where *M* is the *M*-ary number of the modulation. *M* must be less than 256. The binary representation (LSB first convention) of the integers represents the bit pattern that is mapped to the corresponding symbol location in the **symbol values** array.

For example, for 4-QAM, if you specify **symbol values** as

[3 1]

[0 2]

the generated QAM symbol map is [(-0.707 - 0.707*i*), (0.707 + 0.707*i*), (0.707 - 0.707*i*), (-0.707 + 0.707*i*)].

In order to create a custom QAM symbol map that does not fit into a square 2 dimensional array, for example 32-QAM, set the additional spaces in the array to negative numbers. The negative number will not be considered as a part of the symbol map.

Error conditions that occur before this node runs. The node responds to this input according to standard error behavior.

**Default: **no error

Parameter values defining the QAM system. Wire this cluster to the corresponding **system parameters** cluster of MT Modulate QAM or MT Demodulate QAM.

Number of samples per symbol in the modulated output complex waveform. For error-free operation, the **samples per symbol** must be an even number.

An ordered array that maps each symbol value to its desired coordinates in the complex plane. The number of QAM states in the array must be 2^{ N }, where *N* is the number of bits per symbol. The length of the vector for the symbols farthest from the origin must be 1.

Number of bits represented by each symbol. This value is equal to Log_{ 2 }(*M*), where *M* is the order of the modulation (for example, for 16-QAM, *M* = 16).

**Where This Node Can Run: **

Desktop OS: Windows

FPGA: Not supported