IntrRSCode

396 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
396
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
40
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

IntrRSCode

  1. 1. Introduction to Reed-Solomon Code Peng XuC5000 Software Development Group Texas Instruments Inc. Stafford, Texas
  2. 2. What is Reed-Solomon Code?♦ Word-oriented non-binary BCH code♦ Simplicity, Robustness and good performance for burst errors♦ Code block length N = 2 − 1 m♦ t errors correcting capacity with 2t parity check words♦ Galois Field based coding technique
  3. 3. Generator Polynomial♦ The generator polynomial determines the properties of the code: G(x) = (x −α m0 +1 )(x −α m0 +2 ) (x −α m0 +2t ) 2t −1 = x + g2t−1x 2t + + g1x + g0x 0 where α is a primitive element of GF ( 2 m ) m0 is some integer usually set to 0
  4. 4. Encoding RS Codes C ( x) = D( x) ⋅ x 2t − [ D( x) ⋅ x 2t mod G ( x)] where C(x) is the transmitted codeword polynomial, of degree N-1 D(x) is the user data polynomial, of degree K-1 G(x) is the generator polynomial of the code, of degree 2t and N – K = 2t d K −1 d K − 2 d1 d0 c2t −1 c2t − 2 c1 c0 User Data Parity
  5. 5. Encoding RS Codes− d0 , ,− d K − 2 , − d K −1 + -D(x) − g 2t −1 − g1 − g0 + + c2t −1 c2 t − 2 c1 c0 RS Encoder Polynomial Remainder Circuit
  6. 6. Decoding RS Codeslet R(x) = C(x) + E(x)where R(x) is the received message polynomial with errors C(x) is the transmitted correct codeword polynomial E(x) is the unknown error polynomiallet S(x) = R(x) mod G(x) = E(x) mod G(x)where S(x) is the syndrome of the received message G(x) is the generator polynomial of the code
  7. 7. RS Decoding Procedure1. Calculate Syndrome Ei = r(αi ) i = 0,1,...,2t −12. Calculate Error Locator Polynomial Λ (x) using Berlekamp–Massey algorithm3. Determine the roots of Λ (x) which are related to the error locations using Chien Search4. Calculate the coefficients of the error evaluator polynomial Ω(x) using Forney Algorithm5. Calculate the error magnitude6. Recover the corrected codeword
  8. 8. Syndrome &Error Locator polynomialSyndrome Ei = r (α i ) i = 0,1,...,2t − 1Error Locator polynomial v Λ( x) = ∏ (1 − α ) = 1 + Λ1 x1 + ljx Λv xv j =1where the are the index of the errors lj v Et −1 E0 Λ1 Et = E2t −2 Et −1 Λ t E2t −1
  9. 9. Berlekamp-Massey AlgorithmThis algorithm was developed by Berlekmapand Massey to solve the problem ofdetermining the error locator polynomial.It reduces the complexity from O(t 3 ) ofmatrix inversion to O(t 2 ) .
  10. 10. Chien Search Factoring the roots of the error locator polynomial is typically done by evaluating it at every point and testing to see if the result is zero. The Chien search is a way of doing this which has a fairly regular structure.
  11. 11. Forney algorithmError Evaluator polynomial E ( x)Λ( x) = Ω( x)( x n − 1)Error Value α k Ω(α − k ) ek = Λ′(α −k )
  12. 12. Future Tasks♦ More flexible generator polynomial?♦ More Logarithm tables of GF?♦ Convert C54x to C55x codes?♦ Application Notes?♦ More…

×