BCJR algorithm

{{short description|Error correction algorithm}}

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.{{cite journal |first1=L. |last1=Bahl |first2=J. |last2=Cocke |first3=F. |last3=Jelinek |first4=J. |last4=Raviv |title=Optimal Decoding of Linear Codes for minimizing symbol error rate |journal=IEEE Transactions on Information Theory |volume=20 |issue=2 |pages=284–7 |date=March 1974 |doi=10.1109/TIT.1974.1055186 }} 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:

Variations

=SBGT BCJR=

Berrou, Glavieux and Thitimajshima simplification.{{cite journal |first1=Sichun |last1=Wang |first2=François |last2=Patenaude |title=A Systematic Approach to Modified BCJR MAP Algorithms for Convolutional Codes |journal=EURASIP Journal on Applied Signal Processing |volume=2006 |issue= |pages=95360 |date= 2006|doi=10.1155/ASP/2006/95360 |bibcode=2006EJASP2006..242W |doi-access=free }}

=Log-Map BCJR=

{{Expand section|date=September 2022}}

{{cite journal |first1=P. |last1=Robertson |first2=P. |last2=Hoeher |first3=E. |last3=Villebrun |title=Optimal and Sub-Optimal Maximum A Posteriori Algorithms Suitable for Turbo Decoding |journal=European Transactions on Telecommunications |volume=8 |issue=2 |pages=119–125 |date=1997 |doi=10.1002/ett.4460080202 |doi-access=free }}

Implementations

  • [http://libsusa.org/ Susa] framework implements BCJR algorithm for forward error correction codes and channel equalization in C++.

See also

References