Upcoming SlideShare
×

# IntrRSCode

353 views

Published on

Published in: Technology
0 Likes
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
Your message goes here
• Be the first to comment

• Be the first to like this

Views
Total views
353
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
6
0
Likes
0
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…