+ All Categories
Home > Documents > Turbo Codes

Turbo Codes

Date post: 13-Nov-2014
Category:
Upload: idarun5260
View: 3,385 times
Download: 1 times
Share this document with a friend
Description:
turbo codes
24
Turbo codes 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 . Nehru College of Engineering And Research Centre 1
Transcript
Page 1: Turbo Codes

Turbo codes

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

1

Page 2: Turbo Codes

Turbo codes

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

2

Page 3: Turbo Codes

Turbo codes

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.

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

Nehru College of Engineering And Research Centre

errors

Single bit Burst

3

Page 4: Turbo Codes

Turbo codes

Fig (2): Single Bit Error

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.

Nehru College of Engineering And Research Centre

4

Page 5: Turbo Codes

Turbo codes

5. ERROR DETECTION

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.

Nehru College of Engineering And Research Centre

5

Page 6: Turbo Codes

Turbo codes

5. B) Longitudinal redundancy check:

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.

Nehru College of Engineering And Research Centre

6

Page 7: Turbo Codes

Turbo codes

6. ERROR CORRECTION

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.

Nehru College of Engineering And Research Centre

7

Page 8: Turbo Codes

Turbo codes

7. BTC: BLOCK TURBO CODE

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.

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

Nehru College of Engineering And Research Centre

dk

RSC1

RSC2

Interleaver

dk

d1,k

d2,k

8

Page 9: Turbo Codes

Turbo codes

9. TURBO DECODING

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

Nehru College of Engineering And Research Centre

9

Page 10: Turbo Codes

Turbo codes

Most input sequences are associated with parity sequences that are not self-

terminating.

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

10

Page 11: Turbo Codes

Turbo codes

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

11

Page 12: Turbo Codes

Turbo codes

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

12

Page 13: Turbo Codes

Turbo codes

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

Nehru College of Engineering And Research Centre

13

Page 14: Turbo Codes

Turbo codes

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.

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:

Nehru College of Engineering And Research Centre

14

Page 15: Turbo Codes

Turbo codes

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.

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.

Nehru College of Engineering And Research Centre

15

Page 16: Turbo Codes

Turbo codes

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.

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

16

Page 17: Turbo Codes

Turbo codes

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

17


Recommended