System object: comm.ViterbiDecoder
Package: comm
Decode convolutionally encoded data using Viterbi algorithm
Y = step(H,X)
Y = step(H,X,ERASURES)
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)
decodes encoded data, X
,
using the Viterbi algorithm and returns Y
. X
,
must be a column vector with data type and values that depend on how
you set the InputFormat
property. If the convolutional
code uses an alphabet of 2N possible
symbols, the length of the input vector, X
, must
be LN for
some positive integer L. Similarly, if the decoded
data uses an alphabet of 2K possible
output symbols, the length of the output vector, Y
,
is LK.
Y = step(H,X,ERASURES)
uses the binary
column input vector, ERASURES
, to erase the symbols
of the input codewords. The elements in ERASURES
must
be of data type double or logical. Values of 1
in
the ERASURES
vector correspond to erased symbols,
and values of 0
correspond to non-erased symbols.
The lengths of the X
and ERASURES
inputs
must be the same. This syntax applies when you set the ErasuresInputPort
property
to true.
Y = step(H,X,R)
resets the internal states
of the decoder when you input a non-zero reset signal, R
. R
must
be a double precision or logical scalar. This syntax applies when
you set the TerminationMethod
property to Continuous
and
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.