0% found this document useful (0 votes)
4 views

Notes of Turbo Codes -1

Turbo codes, introduced in 1993, are a class of forward error correction codes that enhance communication system performance through iterative decoding. They utilize parallel concatenated convolutional codes to introduce redundancy and randomization, improving error correction capabilities in various mobile communication standards. Variations include symmetric and asymmetric turbo codes, which differ in encoder structure and performance optimization, impacting their complexity and application suitability.

Uploaded by

Shanti Trivedi
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

Notes of Turbo Codes -1

Turbo codes, introduced in 1993, are a class of forward error correction codes that enhance communication system performance through iterative decoding. They utilize parallel concatenated convolutional codes to introduce redundancy and randomization, improving error correction capabilities in various mobile communication standards. Variations include symmetric and asymmetric turbo codes, which differ in encoder structure and performance optimization, impacting their complexity and application suitability.

Uploaded by

Shanti Trivedi
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

Turbo Codes

Berrou, Glavieux and Thitimajshima introduced in 1993 a novel and apparently


revolutionary error-control coding technique, which they called turbo coding.

Boosting the performance of a communication system through iterative


decoding, which improves error correction step by step.
Turbo Codes
Turbo codes are a class of forward error correction codes

They are widely used in various communication systems, especially in mobile communication
standards like 3G, 4G LTE, and WiMAX.

If we switch to turbo codes, a special kind of convolutional code, we can make the code longer.
Making it longer adds more randomness, which makes it more secure compared to regular
convolutional codes.

The key concept behind turbo codes is the use of parallel concatenated convolutional codes

In simple terms, turbo codes employ multiple convolutional encoders and an interleaver to introduce
redundancy and spread errors across the encoded data stream.

This redundancy helps in correcting errors that may occur during transmission.
Randomization of Error Patterns:

if errors occur in consecutive bits, they are now spread out across
different parts of the transmitted block due to interleaving.
This randomization ensures that the errors are no longer
concentrated in specific regions, making them more easier to
correct by the decoding algorithm.
Types of Turbo code
Asymmetric and symmetric turbo codes refer to variations in the structure of turbo codes based on how the constituent encoders are
configured. These variations impact the performance, complexity, and specific applications of the turbo codes. Here's an explanation of
each:

1. Symmetric Turbo Codes:


○ In symmetric turbo codes, the constituent encoders are identical in terms of structure and parameters.
○ The same encoder is used for both encoders in parallel (PCCC) or as the inner encoder in serial (SCCC) concatenation.
○ Symmetric turbo codes are easier to design and implement due to the identical structure of the constituent encoders.
○ They are often used in applications where simplicity and ease of implementation are prioritized over maximum
performance.
2. Asymmetric Turbo Codes:
○ In asymmetric turbo codes, the constituent encoders have different structures and parameters.
○ Asymmetric turbo codes may use encoders with different constraint lengths, code rates, or polynomial structures.
○ The choice of asymmetric configurations allows for better performance optimization in specific scenarios.
○ Asymmetric turbo codes can offer improved error correction performance compared to symmetric turbo codes, especially
in situations where the channel characteristics are known and can be exploited.
○ However, asymmetric turbo codes typically require more complex design and implementation processes compared to
symmetric turbo codes.
Turbo Encoder
1/(1+x)= 1+x+x2+x3+..

Msg bits

Reordering of msg
bits

c1 and c2= parity output bits


Turbo Encoder Procedure

● The two Recursive Systematic Convolutional


(RSC) encoders work in parallel.
● The RSC encoder 1 takes the data bits x
and produces a low-weight parity bits (p1k)
from them.
● The RSC encoder 2 gets the data bits x
scrambled by an interleaver and computes
high-weight parity bits (p2k) from the
scrambled input bits.
● Thus, moderate weight turbo code is
generated with combined low-weight code
from encoder 1 and high-weight code from
encoder 2.
● Finally, the original input sequence x along
with the two strings of parity bits is
transmitted over the channel.
Multiple turbo code

Code rate = ¼ for 3 encoder and 2 interleaver


1100
1/(1+x)
1+x+x2+x3+...
1100
1001
Turbo Decoder How we get a priori knowledge:
Initially we don’t know about the
information so we assume the
information bit is equally likely to 0
and 1

This i/p: a-priori knowledge about the information sequence


Iteration will go on till
Parity bit 1 they converge to
particular decision
whether the bit is 1 or
0 (fixed or some
stopping criteria)
Information seq

Parity bit 2 These 2 i/p from channel


Turbo Decoder
1. Once the data is encoded, it is transmitted over a noisy channel, which could be wireless, satellite,
or any other medium susceptible to noise and interference.
2. At the receiving side, the signal is noisy and may contain errors due to interference. The turbo
decoder's goal is to correct as many of these errors as possible and reconstruct the original data.
3. The first decoder extracts partial information from the channel, while the rest of the information
comes from decoder 2, known as a-priori knowledge about the information sequence.
4. Once the inputs for decoder 1 are received, it operates like the trellis structure of convolutional
code. The estimated output of decoder 1 is passed to decoder 2 via an interleaver. Interleaving helps
to spread burst errors into random errors, making them easier to correct using error correction
algorithms.
5. The interleaver supplies input such that decoder 2 produces high-weight output. Concatenation of
weak and strong codewords enhances the codeword's quality.
6. Decoder 2 takes information from both the channel and decoder 1 and estimates the information.
The second decoder is then feed back to decoder 1, completing the first interaction.
7. The final decoded data is obtained after the turbo decoder completes all iterations.

You might also like