Jump to content

BCJR algorithm

From Wikipedia, the free encyclopedia
(Redirected from BCJR)

The Bahl-Cocke-Jelinek-Raviv (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

[edit]

Based on the trellis:

Variations

[edit]

SBGT BCJR

[edit]

Berrou, Glavieux and Thitimajshima simplification.[2]

Log-Map BCJR

[edit]

[3]

Implementations

[edit]

See also

[edit]

References

[edit]
  1. ^ Bahl, L.; Cocke, J.; Jelinek, F.; Raviv, J. (March 1974). "Optimal Decoding of Linear Codes for minimizing symbol error rate". IEEE Transactions on Information Theory. 20 (2): 284–7. doi:10.1109/TIT.1974.1055186.
  2. ^ Wang, Sichun; Patenaude, François (2006). "A Systematic Approach to Modified BCJR MAP Algorithms for Convolutional Codes". EURASIP Journal on Applied Signal Processing. 2006: 95360. Bibcode:2006EJASP2006..242W. doi:10.1155/ASP/2006/95360.
  3. ^ Robertson, P.; Hoeher, P.; Villebrun, E. (1997). "Optimal and Sub-Optimal Maximum A Posteriori Algorithms Suitable for Turbo Decoding". European Transactions on Telecommunications. 8 (2): 119–125. doi:10.1002/ett.4460080202.
[edit]