page_title: Viterbi decoder
section_title: Traceback unit (TBU)
hierarchical_section_title: Viterbi decoder / Hardware implementation / Traceback unit (TBU)
caption_attribution_description: English: A traceback unit for hardware viterbi decoder
context_page_description: A Viterbi decoder uses the Viterbi algorithm for decoding a bitstream that has been
  encoded using a convolutional code or trellis code.
  There are other algorithms for decoding a convolutionally encoded stream. The Viterbi algorithm is the most resource-consuming, but it does the maximum likelihood decoding. It is most often used for decoding convolutional codes with constraint lengths k≤3, but values up to k=15 are used in practice.
  Viterbi decoding was developed by Andrew J. Viterbi and published in the paper Viterbi, A. "Error Bounds for Convolutional Codes and an Asymptotically Optimum Decoding Algorithm". IEEE Transactions on Information Theory. 13: 260–269. doi:10.1109/tit.1967.1054010.
  There are both hardware and software implementations of a Viterbi decoder.
  Viterbi decoding is used in the iterative Viterbi decoding algorithm.
context_section_description: Back-trace unit restores an (almost) maximum-likelihood path from the decisions made by PMU. Since it does it in inverse direction, a viterbi decoder comprises a FILO (first-in-last-out) buffer to reconstruct a correct order.
  Note that the implementation shown on the image requires double frequency. There are some tricks that eliminate this requirement.
caption: A sample implementation of a traceback unit
exif: {}