Sie sind auf Seite 1von 49

Presentation

On
Reed Solomon Encoding And Decoding

Submitted by:
Akhilesh Yadav
Table of Contents
1. Introduction
2. Elements Of RS Codes
3. GF Multiplication
4. GF division
5. RS Encoding
6. RS Decoding
1.Introduction

• Reed Solomon(RS) coding is the powerful forward error correction


techniques.

• RS coding is used in Gigabit Automotive ethernet to compact


channel noise during data transmission.

• The Gigabit Automotive ethernet uses 9-bit based shortened


(450,406) codes.

• RS codes are useful for correcting errors that occur in burst.


1.Introduction(cont.)
••  
The RS codes are more particularly used in

1) Communication System.

2) Storage System.

• Capable of correcting both burst error and random error.

• The RS codes are represented as RS(n,k) with M-bit symbol.

• The relation between symbol size M and codeword n is

, and parity bits=n-k.


1.Introduction(cont.)

• RS codes are encoded by simply adding parity symbols at the end of


K symbols message block.

Fig.1. RS Encoder
2.Elements Of RS codes

• Primitive elements(alpha)  {α0,α1, α2,α4,...,α256,α512}.

• Primitive Polynomial.

• Generator Polynomial

• Parity bits

• Galois Field(GF[2^9])
2.Elements Of RS codes(cont.)
• Primitive
  polynomial for RS(450,406) is.

• Generator polynomial for RS(450,406) is


2.Elements Of RS codes(cont.)
• Number of parity bits calculated as.
2.Primitive Elements
  Primitive polynomial is
Index 8 7 6 5 4 3 2 1 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1

0 0 0 0 0 0 0 1 0

0 0 0 0 0 0 1 0 0

…. … …. …

1 0 0 0 0 0 0 0 0

0 0 0 0 1 0 0 0 1

… … … … .. ..
1 0 0 0 0 1 0 0 0

Reed Solomon encoding decoding


3. GF multiplication
a8 a7 a6 a5 a4 a3 a2 a1 a0
b8 b7 b6 b5 b4 b3 b2 b1 b0
a8. a7. a6. a5. a4. a3. a2. a1. a0.
b0 b0 b0 b0 b0 b0 b0 b0 b0
a8. a7. a6. a5. a4. a3. a2. a1. a0.
b1 b1 b1 b1 b1 b1 b1 b1 b1
. .
. .
. .
. .
a8. a7. a6. a5. a4. a3. a2. a1. a0. .
b8 b8 b8 b8 b8 b8 b8 b8 b8
X O R - O P E R A T I O N
10
5. GF Division
 • Let a polynomial
 • Primitive polynomial

MSB 9 8 7 6 5 4 3 2 1 LSB
10 0
P(x) 0 1 0 0 0 0 1 0 0 0 1
i
g(x) 1 1 1 1 1 1 0 0 1 1 1
j

• Calculate the position of 1 from the MSB of p(x) and g(x).


• Shift p(x) to left by (j-i).
• Taking the EX-OR of p(x) and g(x).
5.Reed Solomon Encoder
••  
Inputs of RS encoder consist of 406, 9-bitsymbol.

• Message polynomial input to the encoder is –

• This polynomial is first multiplied by (

• Divide this by generator polynomial


• Remainder
• Code word
5.Reed Solomon Encoder(cont.)

Fig. 2. Architecture of RS Encoder


6. RS Decoder
• 
• Compute the syndrome value .

• Calculate the error location and evaluator polynomial.

• Determine the error positions .

• Determine the error values.

• Error correction.
6. RS Decoder(cont.)

Fig. 3. Block diagram of RS decoder


1. Syndrom Calculator
• 
• The syndrome is the result of parity check performed on r.

• If the value of syndrom(S) is zero, there is no error.

• Any non-zero value of S indicates presence of errors.

• rx).

• for


1. Syndrom Calculator(cont.)

Fig. 4. Structure of syndrome calculator


Key-equation solver(KES) Block
• 
• KES is used to solve the error locator and error evaluator polynomial.

• Solving the KES is the hardest part of the decoding process.

• For calculating KES, syndrome values are used.

• Key equation is given by .

• .


Key-equation solver(KES) Block(cont.)

• We can use three algorithm to calculate KES.

1) PGZ(Peterson- Gorenstein –Zieter)

2) Berlekamp- massey decoding (BM, iBM, RiBM).

3) Sugiyama’s Euclidean (SE) or Extended Euclidean(EE).


1.PGZ(Peterson-Gorenstein –Zieter)
• PGZ algorithm in general has the least computational
complexity for small error values.

• It provides the simplest way to realize the RS decoder.

• It is very cost-effective for systems that require only small


correcting capability.

• PGZ algorithm is a single correction capability.


1.Peterson-Gorenstein –Zieter(cont.)
• For calculating the value of error locator coefficient.
1.Peterson-Gorenstein –Zieter(cont.)
1.Peterson-Gorenstein –Zieter(cont.)
Fig.5. PGZ flow
1.Peterson-Gorenstein –Zieter(cont.)

• There are many limitations of PGZ algorithm.

1. Strict order of execution.

2. We can use this algorithm for more number of error.

3. Calculation the roots of error locator polynomial causes


problems .

4. Greater complexity of PGZ.


2.Berlekamp-massey Algorithm(BM or iBM)

• Berlekamp-massey algorithm is in the iterative computation of


discrepancies followed by the updating of the error-locator
polynomial.

• BM algorithm computes both the error-locator and the error-


evaluator polynomials.

• Total 3t cycles are needed to calculate error locator and error-


evaluator polynomials.
2.Berlekamp-massey Algorithm(cont.)

•• Relation
  between syndrome and coefficient of error locator polynomial which
is called as the Newton’s identities.

..
..
2.Berlekamp-massey Algorithm(cont.)

• 
• BM is more efficient for calculating the polynomial.

• BM algorithm begins with polynomials

• And iteratively determines polynomials and satisfying the polynomial.

• Where r is varies from 1 to 2t and obtain solution of and .


2.Berlekamp-massey Algorithm(cont.)

••  
Two “scratch” polynomials with initial values =1 and =-1.

• For each successive value of the algorithm determines and from and .

• Similarly the algorithm determines and from and .

• There are so many formulation of BM algorithm is given by researchers.


2.Berlekamp-massey Algorithm(cont.)
••  If each iteration is completed in one clock cycle, then clock cycles are needed to
find the error-locator and error-evaluator polynomials.

• BM algorithm trades off space against time.

• It is necessary to divide each coefficient of by a quantity .

• These divisions are most efficiently handled by first computing , the inverse of
and then multiplying each coefficient of by inverse of .

• The resulting circuit implementation would have a smaller critical path delay and
higher clock speeds would be usable.
2.1 Inversionless Berlekamp-massey Algorithm

• BM algorithm can process decoding with faster speed.

• BM algorithm is more popular in hardware implementation.

• But due to multiplication inverse used in BM algorithm, complexity of


hardware of circuit increases significantly.

• Some scholars had provided number of improved BM algorithm.

• The most mature one in use should be inversionless BM algorithm.


2.1 Inversionless Berlekamp-massey Algorithm(cont.)
• 
• In iBM algorithm actually finds scalar multiples and.

• Chien -search will give the same error location.

• Forney algorithm will give the same error values.

• As a minor implementation detail.

• Input for this algorithm is


2.1.1 Architecture of iBM algorithm
• 
• Two major computational structures:

1) Discrepancy computation (DC).

2) Error locator update (ELU).

• DC block contains:

1) Latches for storing syndroms.

2) GF( Arithmetic for computing discrepancy.

3) Control unit for entire structure.


2.1.1 Architecture of iBM algorithm(cont.)

Fig. 6. The iBM architecture


2.1.1 Architecture of iBM algorithm(cont.)
••  
During the clock cycle DC block computes the discrepancy


• This values passes together with and MC(r) to ELU block.

• Using the previous value, we calculates the next value of the

•: .,.

• Control unit contains two counter for r and k(r).


2.1.1 Architecture of iBM algorithm(cont.)

Fig. 7. The discrepancy computation (DC) block


2.1.1 Architecture of iBM algorithm(cont.)
• 
• If

• Then

.
• If the condition is not true:

then = .

=,.
2.1.1 Architecture of iBM algorithm(cont.)

Fig. 8. Architecture of control unit.


2.1.1 Architecture of iBM algorithm(cont.)

Fig. 9. Architecture ELU unit


2.1.1 Architecture of iBM algorithm(cont.)

••  
These three steps will be executed to 2t cycle and after 2t cycle one t
cycle will be executed for calculating the value of error evaluator
polynomial.

• Error evaluator polynomial uses the value of error location polynomial.

• DC block computes error evaluator polynomial in next t cycle.


3. Chien -Search Algorithm
• 
• This algorithm is used to evaluate the error position.

• First calculate the roots of the error locator polynomial (.

• By substituting each of finite elements of the GF).

• Inverse of the roots are the error position of the codeword.

• Since if , then position equal to


3. Chien -Search Algorithm(cont.)

Fig. 10. Architecture of Chien-search algorithm.


4. Forney Algorithm

• There are two popular methods to calculate the error value.

1) Transform decoding process.

2) Forney algorithm.

• Transform decoding process does not need Chien search.

• It requires very large area and greater complexity.

• So we used Forney algorithm of its lower circuit complexity.


4. Forney Algorithm(cont.)
• 
• It is also using Galois field multiplier as the Chien search algorithm.

• The equation for the error values is :-

•.
• Equation gives the valid results for the symbol position containing an error.

• is the derivative of the error locator polynomial.


4. Forney Algorithm(cont.)

omega v-1

Fig. 11. Architecture of the Forney algorithm.


4. Forney Algorithm(cont.)

• For calculating inversions:

1) Extended Euclid’s algorithm.

2) Itoh-Tsuzii inversion algorithm.

3) Brute-force search.
3. Brute-force search
• 
• Suppose and are the polynomials in

• Let be an irreducible polynomial in .

• Multiplicative inverse of is given by

(f(p) . a(p))(mod m(p))=1


5.Error corrector
• 
• Received code performs XOR operation with error equation.

Fig. 12. Error correction module.


THANK YOU

Das könnte Ihnen auch gefallen