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. 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) 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.
|