Products & Services Industries Academia Support User Community Company

Learn more about Communications Blockset   

General TCM Encoder - Convolutionally encode binary data and map using arbitrary constellation

Library

Trellis-Coded Modulation

Description

The General TCM Encoder block implements trellis-coded modulation (TCM) by convolutionally encoding the binary input signal and mapping the result to an arbitrary signal constellation. The points in the signal constellation are listed in set-partitioned order in the Signal constellation parameter. This parameter is a complex vector whose length, M, equals the number of possible output symbols from the convolutional encoder. (That is, log2M is equal to n for a rate k/n convolutional code.)

Input and Output Signals

If the convolutional encoder represents a rate k/n code, then the General TCM Encoder block's input must be a frame-based binary column vector whose length is L*k for some positive integer L.

The output from the General TCM Encoder block is a frame-based complex column vector of length L.

The input signal must be a binary value.

Specifying the Encoder

To define the convolutional encoder, use the Trellis structure parameter. This parameter is a MATLAB structure whose format is described in the section Trellis Description of a Convolutional Encoder in the Communications Toolbox documentation. You can use this parameter field in two ways:

The encoder registers begin in the all-zeros state. You can configure the encoder so that it resets its registers to the all-zeros state during the course of the simulation. To do this, set the Operation mode to Reset on nonzero input via port. The block then opens a second input port, labeled Rst. The signal at the Rst port is a scalar signal. When it is nonzero, the encoder resets before processing the data at the first input port.

Signal Constellations

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

As an example, the diagram below 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 (b3,b2,b1), 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)

which is a valid value for the Signal constellation parameter in this block.

For other examples of signal constellations in set-partitioned order, see [1] or the reference pages for theM-PSK TCM Encoder andRectangular QAM TCM Encoder blocks.

Coding Gains

Coding gains of 3 to 6 decibels, relative to the uncoded case can be achieved in the presence of AWGN with multiphase trellis codes [3].

Dialog Box

Trellis structure

MATLAB structure that contains the trellis description of the convolutional encoder.

Operation mode

In Continuous mode (default setting), the block retains the encoder states at the end of each frame, for use with the next frame.

In Truncated (reset every frame) mode, the block treats each frame independently. I.e., the encoder states are reset to all-zeros state at the start of each frame.

In Terminate trellis by appending bits mode, the block treats each frame independently. For each input frame, extra bits are used to set the encoder states to all-zeros state at the end of the frame. The output length is given by , where x is the number of input bits, and (or, in the case of multiple constraint lengths, s =sum(ConstraintLength(i)-1)). This mode is supported for frame based inputs only.

In Reset on nonzero input via port mode, the block has an additional input port, labeled Rst. When the Rst input is nonzero, the encoder resets to the all-zeros state.

Signal constellation

A complex vector that lists the points in the signal constellation in set-partitioned order.

Output data type

The output type of the block can be specified as a single or double. By default, the block sets this to double.

Pair Block

General TCM Decoder

See Also

M-PSK TCM Encoder, Rectangular QAM TCM Encoder, poly2trellis

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, Fourth edition, New York, McGraw-Hill, 2001.

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

  


Related Products & Applications

Learn more about Simulink through this collection of videos, articles, technical literature and the Getting Started with Simulink Guide.

 © 1984-2009- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS