TURBO CODES   

 

INTRODUCTION

     Turbo Codes are a new class of error correction codes that were introduced in 1993, by a group of researchers from France, along with a practical decoding algorithm. The importance of turbo codes is that they enable reliable communications with power efficiencies close to the theoretical limit predicted by Claude Shannon. Since their introduction, turbo codes have been proposed for low-power applications such as deep-space and satellite communications, as well as for interference limited applications such as third generation cellular and personal communication services. Due to the use of a pseudo - random interleaver , turbo codes appear random to the channel , yet possess enough structure that decoding can be physically realized.
     From various simulation results we find that that turbo codes are capable of achieving an arbitrarily low Bit Error Rate (BER) of 10 -5 at an Eb/No ratio of just 0.7decibels . However in order to achieve this level of performance , large block sizes of 65,532 data bits are required.Because of this prohibitively long block size , the original turbo code is not well suited for real time voice communication systems such as IS-95 CDMA cellular standard .But however current work on this has focussed on the design of short block length codes that are compatible with IS -95 standard.

PARALLEL CONCATENATED CODING

A turbo code is the parallel concatenation of two or more systematic codes. A generalized turbo encoder is shown in figure 1.

     In this figure, a data block u, which is k bits long enters the encoder. The PAD block appends n - k tail bits to the data block, which yields the sequence x0 . This n bit sequence is then fed in parallel into M sets of interleavers ai and en coders ENC i . Each interleaver scrambles the x0 sequence in a pseudo-random fashion and feeds its output into a constituent encoder. Each of the M constituent encoders presents a parity sequence xi at its output. The information sequence xo together with the M parity sequences are concatenated to form the code word. The overall code rate of such an encoder is:

R = k / n(M +1) ------------------------------(1)

     It is common practice in the literature to neglect the fractional reduction of code rate caused by the use of tail bits and simply approximate the code rate as:

R = 1 / (M + 1) -------------------------------(2)

     For most applications, only two constituent encoders are used and the input to the first encoder is not interleaved. The constituent encoders themselves are identical, and are usually systematic recursive convolutional encoders. The purpose of adding the tail bits is to ensure that the constituent convolutional encoders return to the all-zeros state at the end of each block.

next >>

     

Home | Error Correcting Codes | Block Codes | Convolution Codes | Turbo Codes | References
________________________________________________________________________________________________
For comments and suggestions
contact the Webmaster