Chapter 4
Turbo Convolutional Coding1
4.1 Introduction
In Chapter 2 a rudimentary introduction to convolutional codes and their decoding using the Viterbi algorithm was provided. In this chapter we introduce the concept of turbo coding using convolutional codes as its constituent codes. Our discussions will become deeper, relying on basic familiarity with convolutional coding.
The insightful concept of turbo coding was proposed in 1993 in a seminal contribution by Berrou et al. [12] who reported excellent coding gain results, approaching Shannonian predictions. The information sequence is encoded twice, with an interleaver between the two encoders serving to make the two encoded data sequences approximately statistically independent of each other. Often half-rate Recursive Systematic Convolutional (RSC) encoders are used, with each RSC encoder producing a systematic output which is equivalent to the original information sequence, as well as a stream of parity information. The two parity sequences can then be punctured before being transmitted along with the original information sequence to the decoder. This puncturing of the parity information allows a wide range of coding rates to be realised, and often half the parity information from each encoder is sent. Along with the original data sequence this results in an overall coding rate of 1/2.
At the decoder two RSC decoders are used. Special decoding algorithms must be used which accept soft inputs and ...