BCJR algorithm


The BCJR algorithm is an algorithm for maximum a posteriori decoding of error correcting codes defined on trellises. The algorithm is named after its inventors: Bahl, Cocke, Jelinek and Raviv. 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:

SBGT BCJR

Berrou, Glavieux and Thitimajshima simplification.

Log-Map BCJR

Implementations