comm.ViterbiDecoder
Decode convolutionally encoded data using Viterbi algorithm
Description
The comm.ViterbiDecoder
System object™ uses Viterbi algorithm to decode convolutionally encoded input symbols to
produce binary output symbols. A trellis structure specifies a convolutional encoding scheme.
For more information, see the Trellis Description of a Convolutional Code topic.
Create the
comm.ViterbiDecoder
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 Viterbi decoder System object. This object uses the Viterbi algorithm to decode convolutionally encoded
input data.viterbidecoder
= comm.ViterbiDecoder
sets the TrellisStructure property
set to viterbidecoder
= comm.ViterbiDecoder(trellis)trellis
.
sets Properties using one or more name-value arguments in addition to
any argument combinations in previous syntaxes. For example, viterbidecoder
= comm.ViterbiDecoder(___,Name
,Value
)viterbidecoder =
comm.ViterbiDecoder('TerminationMethod','Continuous')
specifies the
termination method as continuous to save the internal state metric at the end of each
frame for use with the next frame.
Properties
Usage
Syntax
Description
specifies symbols of the input codewords for the object to erase. To enable this syntax,
set the decmsg
= viterbidecoder(codeword
,erasures
)ErasuresInputPort
property to 1
(true
).
specifies the input to reset the internal states of the decoder. To enable this syntax,
set the decmsg
= viterbidecoder(codeword
,resetstate
)TerminationMethod
property to 'Continuous'
and the
ResetInputPort
property to 1
(true
).
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
More About
References
[1] Clark, George C., and J. Bibb Cain. Error-Correction Coding for Digital Communications. Applications of Communications Theory. New York: Plenum Press, 1981.
[2] Gitlin, Richard D., Jeremiah F. Hayes, and Stephen B. Weinstein. Data Communications Principles. Applications of Communications Theory. New York: Plenum Press, 1992.
[3] Yasuda, Y., K. Kashiki, and Y. Hirata. “High-Rate Punctured Convolutional Codes for Soft Decision Viterbi Decoding.” IEEE® Transactions on Communications 32, no. 3 (March 1984): 315–19. https://doi.org/10.1109/TCOM.1984.1096047.
[4] Haccoun, D., and G. Begin. “High-Rate Punctured Convolutional Codes for Viterbi and Sequential Decoding.” IEEE Transactions on Communications 37, no. 11 (November 1989): 1113–25. https://doi.org/10.1109/26.46505.
[5] Begin, G., D. Haccoun, and C. Paquin. “Further Results on High-Rate Punctured Convolutional Codes for Viterbi and Sequential Decoding.” IEEE Transactions on Communications 38, no. 11 (November 1990): 1922–28. https://doi.org/10.1109/26.61470.
[6] Moision, B. "A Truncation Depth Rule of Thumb for Convolutional Codes." In Information Theory and Applications Workshop (January 27 2008-February 1 2008, San Diego, California), 555-557. New York: IEEE, 2008.