vitdec
Convolutionally decode binary data by using Viterbi algorithm
Syntax
Description
decodes each symbol of the decodedout
= vitdec(msg
,trellis
,tbdepth
,opmode
,dectype
)msg
input by using the Viterbi algorithm.
All other inputs specify the convolutional coding trellis, traceback depth, operating mode,
and decision type, respectively and collectively configure the Viterbi algorithm at
runtime.
specifies a continuous operation mode for decodedout
= vitdec(msg
,trellis
,tbdepth
,'cont',dectype
,___,imetric
,istate
,iinput
)opmode
for any of the
preceding syntaxes. The decoder starts with its initial state metrics, traceback states, and
traceback inputs specified by imetric
, istate
, and
iinput
, respectively.
Continuous operation mode enables you to save the internal state information of the decoder for use in subsequent calls to this function. Repeated calls to this function can be useful if your data is partitioned into a series of vectors that you process within a loop. For workflows that require repeated calls to the Viterbi decoding algorithm, see Tips.
[
also returns the final state metrics, traceback states, and traceback inputs at the end of
the decoding process when using a continuous operation mode for any of the preceding
syntaxes. Use decodedout
,fmetric
,fstate
,finput
] = vitdec(msg
,trellis
,tbdepth
,'cont',___)fmetric
, fstate
, and
finput
as the initial settings of imetric
,
istate
, and iinput
, respectively, in subsequent
calls to this function. For workflows that require repeated calls to the Viterbi decoding
algorithm, see Tips.
Examples
Input Arguments
Output Arguments
More About
Tips
Consider using the
comm.ViterbiDecoder
System object™ when successive calls to the Viterbi algorithm are needed. The System object simplifies the required state retention operation by inherently retaining state metrics, traceback states, and inputs between calls.
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] Heller, J., and I. Jacobs. “Viterbi Decoding for Satellite and Space Communication.” IEEE® Transactions on Communication Technology 19, no. 5 (October 1971): 835–48. https://doi.org/10.1109/TCOM.1971.1090711.
[4] 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.
[5] 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.
[6] 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.
[7] 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.