33
REED SOLOMON CODE AND CONVOLUTION CODE

Reed Soloman and convolution codes

Embed Size (px)

Citation preview

Page 1: Reed Soloman and convolution codes

REED SOLOMON CODE AND CONVOLUTION CODE

Page 2: Reed Soloman and convolution codes

REED SOLOMON CODE

Page 3: Reed Soloman and convolution codes

CONTENTS Introduction Properties of RS code RS Encoder RS Decoder Software Implementation Advantages Disadvantages Applications

Page 4: Reed Soloman and convolution codes

INTRODUCTION

Reed–Solomon codes are an important group of error-correcting codes introduced by Irving S. Reed and Gustave Solomon in 1960.

RS codes operate on the information by dividing the message stream into blocks of data, adding redundancy per block depending only on the current inputs.

It is capable to correct both burst errors (where a series of bits in the codeword are received in error) and erasures.

Page 5: Reed Soloman and convolution codes

PROPERTIES OF RS CODE

RS codes are generally represented as RS (n, k), with s-bit symbols.

Block Length: n No. of Original Message symbols: k Number of Parity Digits: n – k

A Reed-Solomon decoder can correct up to t symbols that contain errors in a codeword, where 2t = n-k.

The relationship between the symbol size, m, and the size of the codeword n, is given by n=2s-1

Page 6: Reed Soloman and convolution codes

The following diagram shows a typical Reed-Solomon codeword:

k 2t

n

Data Parity

Page 7: Reed Soloman and convolution codes

Example:- RS(255,223) with 8-bit symbols.

Each codeword contains 255 code word bytes, of which 223 bytes are data and 32 bytes are parity. For this code:

n = 255, k = 223, s = 8

2t = 32, t = 16

The decoder can correct any 16 symbol errors in the code word: i.e. errors upto 16 bytes anywhere in the codeword can be automatically corrected.

Page 8: Reed Soloman and convolution codes

Given a symbol size s, the maximum codeword length (n) for a Reed-Solomon code is n = 2s – 1

For example, the maximum length of a code with 8-bit symbols (s=8) is 255 bytes.

Reed-Solomon codes may be shortened by (conceptually) making a number of data symbols zero at the encoder, not transmitting them, and then re-inserting them at the decoder.

Page 9: Reed Soloman and convolution codes

Example: The (255,223) code described above can be shortened to (200,168). The encoder takes a block of 168 data bytes, (conceptually) adds 55 zero bytes, creates a (255,223) codeword and transmits only the 168 data bytes and 32 parity bytes.

Page 10: Reed Soloman and convolution codes

ENCODER

Page 11: Reed Soloman and convolution codes

Message Polynomial-

c(x) = m(x). xn-k

RS generator Polynomial-

g(x) = g0 + g1. x+ g2 x2+ …. + g2t-1. x2t-1 + x2t

Page 12: Reed Soloman and convolution codes

DECODER

Page 13: Reed Soloman and convolution codes

SOFTWARE IMPLEMENTATION

Until recently, software implementations in real-time required too much computational power for all but the simplest of Reed-Solomon codes (i.e. codes with small values of t).

The following Table gives some example benchmark figures on a 166 MHz Pentium PC:

Code Data rate

RS(255,251) 12 Mb/s

RS(255,239) 2.7 Mb/s

RS(255,223) 1.1 Mb/s

Page 14: Reed Soloman and convolution codes

ADVANTAGES

Reed-Solomon codes are most widely used to correcting burst errors.

Coding gain is very high.

The Coding rate is very high for Reed Solomon code so it is suitable for many applications including storage and transmission.

Page 15: Reed Soloman and convolution codes

DISADVANTAGES

Unlike BCH codes , RS Codes does not perform considerably well in BPSK modulation schemes.

Bit Error Ratio(BER) for Reed-Solomon Codes is not as good as BCH codes.

Page 16: Reed Soloman and convolution codes

APPLICATIONS

Data Storage

Bar Code

Satellite Broadcasting

Spread-Spectrum System

Ultra Wideband(UWB)

Page 17: Reed Soloman and convolution codes

CONVOLUTION CODE

Page 18: Reed Soloman and convolution codes

ERROR CORRECTION CODE

There are four important error correction codes that find applications in digital transmission. They are :

18

Block Parity

Hamming Code

Interleaved Code

Convolutional Code

Page 19: Reed Soloman and convolution codes

INTRODUCTION Convolutional codes are introduced in 1955 by Elias.

Convolution coding is a popular error-correcting coding method used in digital communications. A message is convoluted, and then transmitted into a noisy channel.

This convolution operation encodes some redundant information into the transmitted signal.

19

Page 20: Reed Soloman and convolution codes

CONVOLUTIONAL ENCODER

Convolutional encoding of data is accomplished using a shift register and associated combinatorial logic that performs modulo-two addition.

A shift register is merely a chain of flip-flops.

Page 21: Reed Soloman and convolution codes

PARAMETERS OF CONVOLUTION ENCODER

Convolutional codes are commonly specified by three parameters: n = number of output bits k = number of input bits K = number of shift registers

Code Rate: The quantity k/n is called as code rate. It is a measure of the efficiency of the code.

Constraint Length: The quantity L(or K) is called the constraint length of the code. It represents the number of bits in the encoder memory that affect the generation of the n output bits.

Page 22: Reed Soloman and convolution codes

CONVOLUTIONAL CODE ENCODER

+

+

Shift Register

Linear Algebraic Function Generator

Page 23: Reed Soloman and convolution codes

CONVOLUTION CODE ENCODER

+

+

Constraint Length (K) = 3Code Rate = k/nNo of input bits (k)= 1 state = K-1state = 2k=1 K=3 n=2No of linear Algebraic Function Generator(n) = 2

Page 24: Reed Soloman and convolution codes

CONVOLUTION CODE ENCODER

+

0 0 0

+

11001

k=1 K=3 n=2

Input

1 0 0 1 1

State 10 01 00 10 11

Output

11 10 11 11 01

1 1 111100110111 1

Page 25: Reed Soloman and convolution codes

REPRESENTATION OF CONVOLUTION CODES

State Diagram Tree Diagram Trellis Diagram

Page 26: Reed Soloman and convolution codes

STATE DIAGRAM Contents of shift registers make up "state" of code:

Most recent input is most significant bit of state.

Oldest input is least significant bit of state.

(this convention is sometimes reverse)

Page 27: Reed Soloman and convolution codes

TREE DIAGRAM

1101

k=1 K=3 n=2

Page 28: Reed Soloman and convolution codes

TRELLIS DIAGRAM REPRESENTATION

The trellis diagram is basically a redrawing of the state diagram. It shows all possible state transitions at each time step. Then we connect each state to the next state.

There are only two choices possible at each state. These are determined by the arrival of either a 0 or a 1 bit.

The arrows show the input bit.

The arrows going upwards represent a 0 bit and going downwards represent a 1 bit.

Page 29: Reed Soloman and convolution codes

TRELLIS DIAGRAM

Page 30: Reed Soloman and convolution codes

DIFFERENCE BETWEEN BLOCK CODE AND CONVOLUTION CODE

The difference between block codes and convolution codes is the encoding principle.

In the block codes, the information bits are followed by the parity bits while in convolution codes the information bits are spread along the sequence.

The block codes can be applied only for the block of data whereas convolution coding can be applied to a continuous data stream as well as to blocks of data.

Page 31: Reed Soloman and convolution codes

ADVANTAGES Convolution coding is a popular error-correcting coding method

used in digital communications.

The convolution operation encodes some redundant information into the transmitted signal.

It is simple and has good performance with low implementation cost.

Page 32: Reed Soloman and convolution codes

FACTORS AND PROPERTIES The performance of a convolutional code depends on the coding

rate and the constraint length.

Longer constraint length K

More powerful code

More coding gain

Smaller coding rate R=k/n

More powerful code due to extra redundancy

Less bandwidth efficiency

Page 33: Reed Soloman and convolution codes

THANK YOUE047 E048 E049 E050 E056 E058CREATED

BY: