comm.ViterbiDecoder
Decode convolutionally encoded data using Viterbi algorithm
Description
The comm.ViterbiDecoder
System object™ decodes convolutionally encoded input symbols to produce binary output symbols
by using the Viterbi algorithm.
To decode convolutionally encoded data using the Viterbi algorithm:
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 using one or more
name-value arguments in addition to any argument combinations in previous syntaxes. For
example, viterbidecoder
= comm.ViterbiDecoder(___,Name
,Value
)'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.