# comm.GeneralQAMTCMModulator

Encode binary data using convolutional encoder and map result to general QAM constellation

## Description

The `comm.GeneralQAMTCMModulator`

System object™ implements trellis-coded modulation (TCM) by encoding the binary input signal
using a convolutional code and by mapping the result to a general quadrature amplitude
modulation (QAM) signal constellation. For more information about TCM, see the Algorithms
section.

To encode binary data using a convolutional code and map the result to a general QAM constellation:

Create the

`comm.GeneralQAMTCMModulator`

object and set its properties.Call the object with arguments, as if it were a function.

To learn more about how System objects work, see What Are System Objects?

## Creation

### Syntax

### Description

creates a general QAM TCM modulator System object, `gqamtcmMod`

= comm.GeneralQAMTCMModulator`gqamtcmMod`

. This object employs a convolutional
encoder to encode a binary input signal and maps the result to a general QAM
constellation.

additionally sets the `gqamtcmMod`

= comm.GeneralQAMTCMModulator(trellis)`TrellisStructure`

property to
`trellis`

.

creates a general QAM TCM modulator System object using any of the previous syntaxes and
sets properties using one or more name-value arguments. For example,
`gqamtcmMod`

= comm.GeneralQAMTCMModulator(___,`Name=Value`

)`comm.GeneralQAMTCMModulator(TerminationMethod="Continuous")`

sets the
termination method of the encoded frame to `"Continuous"`

.

## Properties

## Usage

### Description

### Input Arguments

### Output Arguments

## Object Functions

To use an object function, specify the
System object as the first input argument. For
example, to release system resources of a System object named `obj`

, use
this syntax:

release(obj)

## Examples

## Algorithms

The trellis-coded modulation technique partitions the constellation into subsets called cosets to maximize the minimum distance between pairs of points in each coset.

As an example, this diagram shows one way to devise a set-partitioned order for the points
for an 8-PSK signal constellation. The figure at the top of the tree is the entire 8-PSK
signal constellation, while the eight figures at the bottom of the tree contain one
constellation point each. Each level of the tree corresponds to a different bit in a binary
sequence (b_{3},b_{2},b_{1}),
while each branch in a given level of the tree corresponds to a particular value for that bit.
Listing the constellation points using the sequence at the bottom of the tree leads to the
vector `exp(2*pi*j*[0 4 2 6 1 5 3 7]/8)`

.

## References

[1] Biglieri, E., D. Divsalar, P.J. McLane, and M.K. Simon, *Introduction to Trellis-Coded Modulation with Applications*, New York, Macmillan, 1991.

[2] Proakis, John G. *Digital Communications*.
4th ed. New York: McGraw Hill, 2001.

[3] Ungerboeck, G. “Channel Coding with Multilevel/Phase Signals,”
*IEEE Transactions on Information Theory*, Vol. IT28, Jan.
1982, pp. 55–67.

## Extended Capabilities

## Version History

**Introduced in R2012a**