Sie sind auf Seite 1von 17

Turbo codes 1

1. INTRODUCTION

TURBO CODES constitute major development in the field of Forward Error


Correction (FEC).

In electrical engineering and digital communications turbo codes are a class of


high performance error correction code developed in 1993 which are finding use in
deep satellite communication and other applications where designers seek to achieve
maximal information transfer over a limited bandwidth communication link in the
presence of data corrupting noise.

Exhibiting performance approaching the Shannon limit, Turbo Codes (TC)


have the TC block set features efficient encoder and decoder designs seen rapid
adoption in the design of digital communication systems. Desirable and Designable
introduces the basics of turbo codes in their different flavors (more specifically,
parallel concatenated convolutional turbo codes and block turbo codes). Through the
application of systemic design methodology that considers data transfer and storage as
top priority candidates for optimization, the authors show how turbo codes can be
implemented and the attractive performance results that can be achieved in
throughput, latency .

The last ten years have seen the appearance of a new type of correction code -
the turbo code. This represents a significant development in the field of error-
correcting codes. The principle of decoding is to be found in an iterative exchange of
information between elementary decoders, called extrinsic information, and it is this
principle from which the term turbo originates. The turbo concept is now applied to
block codes as well as other parts of a digital transmission system, such as detection,
demodulation. Applications that integrate turbo codes into their standards are mobile
communications, wireless networks and local radio loops. Future applications could
include cable transmission, short-distance communication or data storage includes
cable transmission, short-distance communication or data storage.

Nehru College of Engineering And Research Centre


Turbo codes 2

2. THE “TURBO PRINCIPLE”

Allows a single very complex operation (decoding a turbo code) to be split


into two much simpler operations (decoding component codes).

Use “soft information” from output of one operation to assist with the other operation.

3. ERROR DETECTION AND CORRECTION

•Errors can be categorized as follows:


a). Single bit: one bit error per data unit.
b). Burst: two or more bit bit errors per data unit.
•Redundancy is the concept of sending extra bits for use in error detection.
•For common methods of error detection are the following:
a). Vertical redundancy check(VRC)
b). Longitudinal redundancy check (LRC)
c). Cyclic redundancy check (CRC)
d). Checksum
•In VRC an extra bit is added to the data unit.
•VRC can detect only an odd number of errors: it cannot detect an odd number of
errors.
•In LRC, a redundant data unit is follows n data units.
•CRC, the most powerfull of the redundancy checking techniques, is based on binary
division.
•Checksum is used by the higher layer protocols ( TCP/IP) for error detection.
a). To divides the data into sections .
b). Add the sections together using one's complement arithmetic.
c). Take the complement of the final sum; this is the checksum.
•The hamming code is a single bit error correction method using redundant bits.

Nehru College of Engineering And Research Centre


Turbo codes 3

4. TYPES OF ERRORS

Wherever an electromagnetic signal flow one point to another ,it is subject to


unpredictable inference from heat,magnetism and other forms of electricity.This
inference can change the shape or timing of the signal.There are two types of errors
:single bit error and burst error.In single bit error a ‘0’ is changed to ‘1’ or a ‘1’ is
changed to ‘0’.In burst error ,multiple bits are changed.

errors

Single bit Burst

Fig(1) : Types of errors

4. A) SINGLE BIT ERROR

The term single bit error means that only one bit of given data unit is
changed from 1 to 0 or from 0 to 1. In single bit error only one bit in the data unit has
changed.

0 0 0 0 1 0 1 0


0 changed to 1

0 0 0 0 0 0 1 0

Fig (2): Single Bit Error

Nehru College of Engineering And Research Centre


Turbo codes 4

Figure shows the effect of a single bit error as a data unit.For a


single bit error to occur ,the noise must have a duration of ‘1’ microsecond.A single
bit error can happen if we are sending data using parallel transmission.

Example:

If 8 wires are used to send all of the 8 bits of a byte at the sametime and one of
the wires is noisy one bit can be corrupted in each time.

BURST ERROR

A burst error means that two or more bits in the data unit have changed.

0 0 0 1 1 0 1 0

↓ ↓

0 0 1 1 1 1 1 0

Fig (3): Burst Error

Figure shows the effect of burst error on a data unit.In this case
‘00011010 ‘ was send but ‘00111110’ was received.The length of the burst is
measured from the first corrupted bit to the last corrupted bit.Burst error is most
likely to happen in a serial communication.the number of bits affected depends on the
data rate and duration of noise.

5. ERROR DETECTION

Nehru College of Engineering And Research Centre


Turbo codes 5

Detection:
We can de detect many errors during transmission

Redundancy:
One error detection mechanism allows to send every data unit twice. the
receiving device would them be able to do a bit for bit comparison between the two
versions of the data, instead of repeating the entire data stream ,a shorter groups of
bits may be appended to the end of each unit. This technique is called redundancy.
Error detection uses the concept of redudundancy, means adding extra bits to
detecting errors at the destination.

Detection Methods

A.VRC
B.LRC
C.CRC
D.CHECKSUM

5. A) Vertical redundancy check:

In a vertical redundancy check the parity bit is added to every data unit. So that the
total number of 1’s becomes even. It is most common and least expensive mechanism.

Performance:
VRC cannot detect errors where the total number of bits changed is even. If any two
bits change in transmission ,the changes cancel each other and the data unit will pass
a parity check even though the data unit is damaged.The same holds true for any even
number of errors.VRC can detect all single-bit errors.It can detect burst errors only if
the total number of errors in each data unit is odd.

5. B) Longitudinal redundancy check:

Nehru College of Engineering And Research Centre


Turbo codes 6

A block of bits organized in a table. a block of bits divided into rows and a
redundant row of bits is added to the whole block. These two are based on addition.

Performance:
LRC detecting burst errors .If two bits in one unit are damaged and two bits in
exactly the same positions in another data unit are also damaged, the LRC checker
will not detect an error.

5. C) Cyclic redundancy check:

CRC is based on binary division. In CRC a no: of redundant bits, called CRC
remainder is appended to the end of data units so that the redundancy data unit
becomes exactly divisible by a second, predetermined binary number. As its
destination the incoming data units is divided by the same number. If at this step there
is no remainder, the data unit is accepted. The remainder indicates that the data units
have been damaged in transmit and must be rejected.

Performance
CRC is very effective error detection method.CRC can detect all burst errors
that affect an odd number of bits.

5. D) Checksum
The error detection method used by the higher layer protocols is called
checksum. In the sender the checksum generator subdivides the data units in to equal
segments of n bits. These segments are added together using 1’s complement
arithmetic. The total is then complemented and appended to the end of the original
data units is redundancy bits, called the checksum failed.The extended data unit is
transmitted across the network. So if the sum of the data segment T, The checksum
will be –T.

6. ERROR CORRECTION

Nehru College of Engineering And Research Centre


Turbo codes 7

This can be handled in two ways. In one when an error is discovered the
receiver can have the sender retransmit the entire data units. In other, a receiver can
use an error correcting code, which automatically corrects certain errors.It requires
more redundancy bits than detection codes.

6. A) Single bit error correction:

A bit has two states 0 and 1.an errors occurs when receiver reads a 1 bit 0 or a
0 bit as a 1.to correct the error the receiver simply reverse the value of the altered bit.

6. B) Hamming code:

It can be applied to data units of any length and uses the relationships between
data and redundancy. The number of redundancy bits required to make these
corrections, in dramatically higher than that required for single bit correction.

7. BTC: BLOCK TURBO CODE

Nehru College of Engineering And Research Centre


Turbo codes 8

Block Turbo Code (BTC) is a type of turbo codes. . Block Turbo-codes (BTC) are
promising forward error correction (FEC) codes providing close-to-optimal coding
gain for rather high coding rate (R > 0.7) and less subject to an error floor than
Convolution Turbo Codes (CTC).

8. CONVOLUTIONAL CODE

In telecommunication, a convolutional code is a type of error-correcting code in


which (a) each m-bit information symbol (each m-bit string) to be encoded is
transformed into an n-bit symbol, where m/n is the code rate (n ≥ m) and (b) the
transformation is a function of the last information symbols, where k is the constraint
length of the code.

dk

RSC1 
Interleaver
π

RSC2 

FIG(4) : Convolutional Code

The original Turbo code used a parallel concatenation of two relatively simple
recursive systematic covolutional (RSC) codes with large interleaving. Although the
component codes are weak, the output turbo code word is very powerful due to the
“Interleaver gain” which produces a random-like overall codeword or floor than
Convolution Turbo Codes (CTC).

9. TURBO DECODING

Nehru College of Engineering And Research Centre


Turbo codes 9

• Decoders are associated with each component encoder.


• Decoders take turns estimating and exchanging distribution on information
bits.

Information about the decoded input bits is passed iteratively between the two
decoders.

Fig(5) : Turbo Decoding

Interleaver

 The interleaver’s function is to permute low weight code words in one encoder
into high weight code words for the other encoder.
 Most input sequences are associated with parity sequences that are not self-
terminating.

Nehru College of Engineering And Research Centre


Turbo codes 10

Input sequences with self-terminating parity sequences form terminating code words.
The original Turbo code used a parallel concatenation of two relatively simple
recursive systematic convolutional (RSC) codes with large interleaving.

Although the component codes are weak, the output turbo code word is very
powerful due to the “Interleaver gain” which produces a random-like overall
codeword.

Fig(6) : Concatenated encoder and decoder

The encoder is formed by the parallel concatenation of two convolutional


codes separated by an interleaver or permuter. An iterative process through the two
corresponding decoders is used to decode the data received from the channel. Each
elementary decoder passes to the other soft (probabilistic) information about each bit
of the sequence to decode. This soft information, called extrinsic information, is
updated at each iteration.

Nehru College of Engineering And Research Centre


Turbo codes 11

10.THE MINIMUM DISTANCE OF TURBO-LIKE


CODE

We derive worst-case upper bounds on the minimum distance of parallel


concatenated Turbo codes, serially concatenated Turbo codes, repeat-accumulate
codes, repeat-convolute codes, and generalizations of these codes obtained by
allowing non-linear and large-memory constituent codes. We show that parallel-
concatenated

Turbo codes and repeat-convolute codes with sub-linear memory are


asymptotically bad. We also show that depth-two serially concatenated codes with
constant-memory outer codes and sub-linear-memory inner codes are asymptotically
bad. In contrast, we prove that depth-three serially concatenated codes obtained by
concatenating a repetition code with two accumulator codes through random
permutations can be asymptotically good.

11.TURBO CODES IN IEEE

The goal is to describe the main ideas behind the new class of codes called
turbo codes, whose performance in terms of bit error probability has been shown to be
very close to the Shannon limit. A numerical example, using a simple concatenated
coding scheme, provides a vehicle for illustrating how error performance can be
improved when soft outputs from the decoders are used in an iterative decoding
process.

Nehru College of Engineering And Research Centre


Turbo codes 12

12. ADVANTAGES & DISADVANTAGES

ADVANTAGES

Of all practical error correction methods known to date, turbo codes and low-
density parity-check codes (LDPCs) come closest to approaching the Shannon limit,
the theoretical limit of maximum information transfer rate over a noisy channel.

Turbo codes make it possible to increase data rate without increasing the
power of a transmission, or they can be used to decrease the amount of power used to
transmit at a certain data rate. Their main drawbacks are the relatively high decoding
complexity and relatively high latency, which make them unsuitable for some
applications. For satellite use, this is not of great concern, since the transmission
distance itself introduces latency due to the finite propagation speed.

Prior to Turbo codes, because practical implementations of LDPCs had not


been developed, the most widespread technique that approached the Shannon limit
combined Reed-Solomon error correction block codes.

DISADVANTAGES

 Their main drawbacks are the relatively high decoding complexity and
relatively high latency, which make them unsuitable for some applications. For
satellite use, this is not of great concern, since the transmission distance itself
introduces latency due to the finite propagation speed.

Nehru College of Engineering And Research Centre


Turbo codes 13

13. TURBO CODES : PRINCIPLES AND


APPLICATIONS
This is intended for use by advanced level students and professional engineers
involved in coding and telecommunication research. The material is organized into a
coherent framework, starting with basic concepts of block and Convolutional coding,
and gradually increasing in a logical and progressive manner to more advanced
material, including applications

The application of turbo-codes in digital communication systems, mainly in


three parts. The first part considers systems of combined turbo-code and modulation.

It is shown that by optimizing the labeling method and/or modifying the


puncturing pattern, improvements of more than 0. 5 dB in signal to noise ratio (SNR)
are achieved at no extra cost of energy, complexity, or delay. Conventional turbo-
codes with binary signaling divide the bit energy equally among the transmitted turbo-
encoder output bits. The second proposes a turbo-code scheme with unequal power
allocation to the encoder output bits. 5 dB can be achieved over the conventional
turbo-coding scheme. The third part of this tackles the question of ``the sensitivity of
the turbo-code performance towards the choice of the interleaver'', which was brought
up since the early studies of these codes. This is the first theoretical approach taken
towards this subject. The variance of the bound is evaluated. It is proven that the ratio
of the standard deviation over the mean of the bound is asymptotically constant (for
large interleaver length, N), decreases with N, and increases with SNR. The
distribution of the bound is also computationally developed.

It is shown that as SNR increases, a very low percentage of the interleavers


deviate quite significantly from the average bound but the majority of the random
interleavers result performances very close to the average. The contributions of input
words of different weights in the variance of performance bound are also evaluated.
Results show that these contributions vary significantly with SNR and N. New turbo
codes based on the (8, 4, 3, 8) UM Hamming code are developed and shown to
possess better performance potential in some senses. The standard turbo decoding
algorithms, however, do not appear to achieve this potential.

Nehru College of Engineering And Research Centre


Turbo codes 14

14. THE MODEL

OSI is the model.It allows for communication across all types of


computer systems.It consist of seven but related layers,each of which defines the
process of moving information across a network.The OSI model is not a protocol ;it is
a model for understanding and designing a network architecture that is interoperable.

15.LAYERED ARCHITECTURE

The OSI model is built of seven ordered layers:

a. Physical layer
b. Data link layer
c. Network layer
d. Transport layer
e. Session layer
f. Presentation layer
g. Application layer

PHYSICAL LAYER:

This is the lowest layer in a communication system and is responsible for the
conversion of a stream of bits into signal that can be transmitted on the other
side. The receiver at the other physical layer converts back the signals to streams.

DATA LINK LAYER:

The main task of this layer includes multiplexing of different data streams,
correction of transmission errors .The data link layer is responsible for a reliable
point to point connection between two devices or a point to multipoint connection
between one sender and several receivers.

Nehru College of Engineering And Research Centre


Turbo codes 15

NETWORK LAYER:

This third layer is responsible for routing packets through a network or


establishing a connection between two entities over many other systems.Important
functions are addressing, routing, device location etc.

TRANSPORT LAYER:

This layer is used in the reference model to establish an end to end


connection .Topics like flow and congestion control are relevant,especially if the
transport protocols known from the Internet ,TCP and UDP are over the link.

SESSION LAYER:

The session layer is the network dialog controller. It establishes maintains the
interaction between communicatng systems.It allows the communication between two
processes to take place in half-duplex or full-duplex.

PRESENTATION LAYER:

This layer is responsible for translation, encryption and compression.


Translation:
The information should be changed to bit streams before being transmitted.
Encryption:
To carry information, a system must be able assure privacy. Encryption means
that the sender transforms the original information to another form and sends the
resulting message over the network.
Compression:
Data compression reduces the number of bits to be transmitted.

APPLICATION LAYER:
The application layer enables the user, to access the network, it provides user
interface and support for mail such as electronic mail, file transfer, shared database
management system etc.

Nehru College of Engineering And Research Centre


Turbo codes 16

16.CONCLUSION

• Today, many modern systems use TURBO CODES.


• We can use turbo codes for compression of binary sequences. Networks must
be able to transfer data from one device to another with complete
accuracy.Anytime data are transmitted from source to destination; they can
become corrupted in passage. For reliable communication, errors must be
deleted and corrected. Error detect ion and correction are implemented either
at the data link layer or the transport layer of the OSI model.

Nehru College of Engineering And Research Centre


Turbo codes 17

17.REFERENCES

Websites:

1) www.wikipedia.org
2) www.ieee.org
3) www.turbo-codes.com
4) www.lib-asc.ekm.org

Nehru College of Engineering And Research Centre

Das könnte Ihnen auch gefallen