System object: comm.GeneralQAMTCMDemodulator
Package: comm
Demodulate convolutionally encoded data mapped to arbitrary QAM constellation
Y = step(H,X)
Y = step(H,X,R)
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.
Y = step(H,X)
demodulates the general QAM
modulated input data, X
, and uses the Viterbi algorithm
to decode the resulting demodulated convolutionally encoded bits. X
must
be a complex double or single precision column vector. The step
method
outputs a demodulated binary column data vector, Y
.
When the convolutional encoder represents a rate K/N code,
the length of the output vector equals KL,
where L is the length of the input vector, X
.
Y = step(H,X,R)
resets the decoder states
of the general QAM TCM demodulator System object to the all-zeros
state when you input a non-zero reset signal, R
. R
must
be a double precision or logical scalar integer. This syntax applies
when you set the ResetInputPort
property to true
.
Note
obj
specifies the System object on
which to run this step
method.
The object performs an initialization the first time the step
method
is executed. This initialization locks nontunable
properties and input specifications, such as dimensions,
complexity, and data type of the input data. If you change a nontunable
property or an input specification, the System object issues an
error. To change nontunable properties or inputs, you must first call
the release
method to unlock the object.