Jump to content

BCJR algorithm: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
+ short description
This article is mostly just a stub, with an unsorted collection of reference to partially very specific subtopics or implementations. A reader new to the topic should be warned of that!
Tag: Reverted
Line 1: Line 1:
{{Stub}}
{{short description|Error correction algorithm}}
{{short description|Error correction algorithm}}
The '''BCJR algorithm''' is an algorithm for [[maximum a posteriori]] decoding of [[error correcting code]]s defined on trellises (principally [[convolutional code]]s). The algorithm is named after its inventors: Bahl, Cocke, [[Frederick Jelinek|Jelinek]] and Raviv.<ref name="bcjr">L.Bahl, J.Cocke, F.Jelinek, and J.Raviv, "Optimal Decoding of Linear Codes for minimizing symbol error rate", IEEE Transactions on Information Theory, vol. IT-20(2), pp. 284-287, March 1974.</ref> This algorithm is critical to modern iteratively-decoded error-correcting codes including [[turbo code]]s and [[low-density parity-check code]]s.
The '''BCJR algorithm''' is an algorithm for [[maximum a posteriori]] decoding of [[error correcting code]]s defined on trellises (principally [[convolutional code]]s). The algorithm is named after its inventors: Bahl, Cocke, [[Frederick Jelinek|Jelinek]] and Raviv.<ref name="bcjr">L.Bahl, J.Cocke, F.Jelinek, and J.Raviv, "Optimal Decoding of Linear Codes for minimizing symbol error rate", IEEE Transactions on Information Theory, vol. IT-20(2), pp. 284-287, March 1974.</ref> This algorithm is critical to modern iteratively-decoded error-correcting codes including [[turbo code]]s and [[low-density parity-check code]]s.

Revision as of 09:42, 25 March 2022

The BCJR algorithm is an algorithm for maximum a posteriori decoding of error correcting codes defined on trellises (principally convolutional codes). The algorithm is named after its inventors: Bahl, Cocke, Jelinek and Raviv.[1] This algorithm is critical to modern iteratively-decoded error-correcting codes including turbo codes and low-density parity-check codes.

Steps involved

Based on the trellis:

  • Compute forward probabilities
  • Compute backward probabilities
  • Compute smoothed probabilities based on other information (i.e. noise variance for AWGN, bit crossover probability for binary symmetric channel)

Variations

SBGT BCJR

Berrou, Glavieux and Thitimajshima simplification.[2]

Log-Map BCJR

[3]

Implementations

See also

References

  1. ^ L.Bahl, J.Cocke, F.Jelinek, and J.Raviv, "Optimal Decoding of Linear Codes for minimizing symbol error rate", IEEE Transactions on Information Theory, vol. IT-20(2), pp. 284-287, March 1974.
  2. ^ Sichun Wang and François Patenaude, "A Systematic Approach to Modified BCJR MAP Algorithms for Convolutional Codes," EURASIP Journal on Applied Signal Processing, vol. 2006, Article ID 95360, 15 pages, 2006. doi:10.1155/ASP/2006/95360 unflagged free DOI (link)
  3. ^ P. Robertson, P. Hoeher and E. Villebrun, "Optimal and Sub-Optimal Maximum A Posteriori Algorithms Suitable for Turbo Decoding", European Transactions on Telecommunications, Vol. 8, 1997.