Demodulate convolutionally encoded data mapped to arbitrary QAM constellation
The GeneralQAMTCMDemodulator
object uses the
Viterbi algorithm to decode a trelliscoded modulation (TCM) signal
that was previously modulated using an arbitrary signal constellation.
To demodulate a signal that was modulated using a trelliscoded, general quadrature amplitude modulator:
Define and set up your general QAM TCM modulator object. See Construction.
Call step
to demodulate
a signal according to the properties of comm.GeneralQAMTCMDemodulator
.
The behavior of step
is specific to each object in
the toolbox.
Note
Starting in R2016b, instead of using the step
method
to perform the operation defined by the System object™, you can
call the object with arguments, as if it were a function. For example, y
= step(obj,x)
and y = obj(x)
perform
equivalent operations.
H = comm.GeneralQAMTCMDemodulator
creates
a trelliscoded, general quadrature amplitude (QAM TCM) demodulator System object, H
.
This object demodulates convolutionally encoded data that has been
mapped to an arbitrary QAM constellation.
H = comm.GeneralQAMTCMDemodulator(
creates
a general QAM TCM demodulator object, Name
,Value
)H
, with each
specified property set to the specified value. You can specify additional
namevalue pair arguments in any order as (Name1
,Value1
,...,NameN
,ValueN
).
H = comm.GeneralQAMTCMDemodulator(TRELLIS,
creates
a general QAM TCM demodulator object, Name
,Value
)H
. This
object has the TrellisStructure
property set to TRELLIS
,
and the other specified properties set to the specified values.

Trellis structure of convolutional code Specify trellis as a MATLAB structure that contains the trellis
description of the convolutional code. Use the 

Termination method of encoded frame Specify the termination method as one of When you set this property to When you set this property to When you set this property to 

Traceback depth for Viterbi decoder Specify the scalar, integer number of trellis branches to construct
each traceback path. The default is When you set the When you set the 

Enable demodulator reset input Set this property to 

Signal constellation Specify a double or singleprecision complex vector. This vector lists the points in the signal constellation that were used to map the convolutionally encoded data. The constellation must be specified in setpartitioned order. See documentation for the General TCM Encoder block for more information on setpartitioned order. The length of the constellation vector must equal the number of possible input symbols to the convolutional decoder of the general QAM TCM demodulator object. This corresponds to 2^{N }for a rate K/N convolutional code. The default corresponds to a setpartitioned order for the points of an 8PSK signal constellation. This value is expressed as exp($$2\times \pi \times j\times \raisebox{1ex}{$[\begin{array}{cccccccc}0& 4& 2& 6& 1& 5& 3& 7\end{array}]$}\!\left/ \!\raisebox{1ex}{$8$}\right.$$). 

Data type of output Specify output data type as one of 
reset  Reset states of the general QAM TCM demodulator object 
step  Demodulate convolutionally encoded data mapped to arbitrary QAM constellation 
Common to All System Objects  

release  Allow System object property value changes 
This object implements the algorithm, inputs, and outputs described on the General TCM Decoder block reference page. The object properties correspond to the block parameters.