From BCJR to turbo decoding: MAP algorithms made easier - Sílvio A. Abrantes (2004)
In 1974 Bahl, Cocke, Jelinek and Raviv published the decoding algorithm based on a posteriori probabilities later on known as the BCJR, Maximum a Posteriori (MAP) or forward-backward algorithm. The procedure can be applied to block or convolutional codes but, as it is more complex than the Viterbi algorithm, during about 20 years it was not used in practical implementations. The situation was dramatically changed with the advent of turbo codes in 1993. Their inventors, Berrou, Glavieux and Thithimajshima, used a modified version of the BCJR algorithm, which has reborn vigorously that way. There are several simplified versions of the MAP algorithm, namely the log-MAP and the max-log-MAP algorithms. The purpose of this tutorial text is to clearly show, without intermediate calculations, how all these algorithms work and are applied to turbo decoding. A complete worked out example is presented to illustrate the procedures. Theoretical details can be found in the Appendix.