Kalpana Kalpana (Editor)

BCJR algorithm

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit

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. This algorithm is critical to modern iteratively-decoded error-correcting codes including turbo codes and low-density parity-check codes.

Contents

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)
  • SBGT BCJR

    Berrou, Glavieux and Thitimajshima simplification.

    Implementations

  • Susa framework implements BCJR algorithm for forward error correction codes and channel equalization in C++.
  • References

    BCJR algorithm Wikipedia