1 / 22

Introduction to Reed-Solomon Coding ( Part II )

Introduction to Reed-Solomon Coding ( Part II ). Reed-Solomon (RS) code. The RS code is a cyclic symbol error-correcting code. An RS codeword will consist of I information or message symbols, together with P parity or check symbols. The word length is N=I+P .

jennis
Download Presentation

Introduction to Reed-Solomon Coding ( Part II )

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to Reed-Solomon Coding( Part II )

  2. Reed-Solomon (RS) code • The RS code is a cyclic symbol error-correcting code. • An RS codeword will consist of I information or message symbols, together with P parity or check symbols. The word length is N=I+P. • The symbols in an RS codeword are usually not binary, i.e., each symbol is represent by more than one bit. In fact, a favorite choice is to use 8-bit symbols. This is related to the fact that most computers have word length of 8 bits or multiples of 8 bits.

  3. In order to be able to correct ‘t’ symbol errors, the minimum distance of the code words ‘D’ is given by D=2t+1. • If the minimum distance of an RS code is D, and the word length is N, then the number of message symbols I in a word is given by I = N – ( D – 1 ) • Combining with the formula N=I+P, above, P = D – 1

  4. An example of the structure of a code word in a practical RS code is as follow: 1 223 255 32 parity symbols 223 message symbols Each symbol consists of 8 bits. Thus, each codeword has 255 symbols, or 255*8 bits, consisting of 223*8 message bits and 32*8 check bits. This code is capable of correcting 16 symbol errors.

  5. Relationships between RS coding and Finite Field GF(Fn) • The symbols used in the RS code must be elements of GF(Fn), where Fn=22n+1. • It is convenient to choose the codeword length N=2n+1. • The number of bits needed to represent a symbol is determined by the number of different symbols used, which is equal to 22n+1. Therefore, for Fn=22n+1, the number of bits/symbol is 2n+1.

  6. To construct an RS code of wordlengthEqual to 8 symbols,and capable of correcting 2 symbol errors • Since N=8=2n+1, we choose n=2, i.e., GF(F2)= GF(222+1)=GF(17). • The symbols in the RS code will be the elements of GF(17). Also, the number of bits/symbol will be 22+1=5. • In order to correct 2 errors, the minimum distance of the codeword is D=2t+1=2*2+1=5. • The number of message codeword is I=N-(D-1)=8-(5-1)=4. • The number of check symbols is P=N-I=8-4=4.

  7. To construct an RS code with minimum distance D, we first define a generator polynomial as follows:

  8. Assume the message symbols to be • Let us form f(Z)=Z7+2Z6+3Z5+2Z4 of degree N-1=7, using the message symbols as coefficients. • In order to generate a “codeword in a polynomial C(Z),” which is a multiple of g(Z), we proceed as follows: f(Z) = q(Z)g(Z) + R(Z) where q(Z) = quotient polynomial, g(Z) = generator polynomial, R(Z) = residue polynomial. • C(Z) =q(Z)g(Z) = f(Z) - R(Z)

  9. Thus, f(Z) = Z7+2Z6+3Z5+2Z4 g(Z) = Z4+4Z3+8Z2-8Z+4 q(Z) = Z3-2Z2+3Z-3 R(Z) = 2Z3+5Z2-2Z+12 • The encoded codeword is C(Z) =q(Z)g(Z) = f(Z) - R(Z) = Z7+2Z6+3Z5+2Z4 -2Z3-5Z2+2Z-12 = Z7+2Z6+3Z5+2Z4 -2Z3-5Z2+2Z+5

  10. The codewords have the properties C(2i) =q(2i)g(2i) = q(2i)0 = 0, for i = 1,2,3,4 • Thus, it can be shown that C(21) =0 C(22) =0 C(23) =0 C(24) =0

  11. It can be shown also that if there are errors in the received codewords: r(21)≠0 r(22)≠0 r(23)≠0 r(24)≠0

  12. Suppose 2 errors exist in the received codeword at the positions underlined below: r(Z) = 5Z0+2Z1+9Z2+15Z3+2Z4+1Z5+2Z6+Z7 or, written differently, (r0,r1,r2,…,r7) = (5,2,9,15,2,1,2,1) = (5,2,12-3,15,2,3-2,2,1) • The error pattern (e0,e1,e2,…,e7) is (0,0,-3,0,0,-2,0,0) or (0,0,14,0,0,15,0,0)

  13. The received pattern can be rewritten as (C0,C1,C2,…,C7) + (e0,e1,e2,…,e7) = (5,2,12,15,2,3,2,1) + (0,0,14,0,0,15,0,0) where (C0,C1,C2,…,C7) are the uncorrupted symbols.

  14. The syndromes Sk can be computed by for k=1,2,…,D-1=2t (i.e., k=1,2,3,4).

  15. The problem in decoding the RS code is to try to determine the value of ei , i=0,1,2,…,7. • Since ei are not known, we let Yi and Xi be the ith error amplitude and the ith error location, respectively. • Thus, the syndrome Sk can be re-expressed as where t is the maximum number of symbol errors that can be corrected.

  16. Hence, ∴ S1=-8, S2=-5, S3=11, S4 = -1. • Also,

  17. Since • The rest of the transform, i.e., E0, E5, E6, E7, can be computed from those already known, i.e., E1, E2, E3, E4. • Let us define a generating function as in which it is noted that E8= E0, E9= E1 , etc.

  18. Hence, where

  19. σ(x) is called the “error location polynomial” since its roots help to locate the errors: • It can be shown that σ(x) can be obtained by the “continued fraction method” as

  20. Since • Multiplying by • Substituting • ∴ • Thus,

  21. Thus, • Since the inverse DFT of Ek is defined by • Since E0, ..., E7 are now known, e0, ..., e7 can be solved.

  22. Thus, • ∵ received codeword = (5,2,9,15,2,1,2,1) error pattern = (0,0,14,0,0,15,0,0) • ∴ corrected codeword = (5,2,9,15,2,1,2,1) - (0,0,14,0,0,15,0,0) = (5,2,-5,15,2,-14,2,1) = (5,2,12,15,2,3,2,1)

More Related