Presentation is loading. Please wait.

Presentation is loading. Please wait.

Class Report 林格名 : Reed Solomon Encoder. Reed-Solomom Error Correction When a codeword is decoded, there are three possible outcomes –If 2s + r < 2t (s.

Similar presentations


Presentation on theme: "Class Report 林格名 : Reed Solomon Encoder. Reed-Solomom Error Correction When a codeword is decoded, there are three possible outcomes –If 2s + r < 2t (s."— Presentation transcript:

1 Class Report 林格名 : Reed Solomon Encoder

2 Reed-Solomom Error Correction When a codeword is decoded, there are three possible outcomes –If 2s + r < 2t (s errors, r erasures) then the original transmitted code word will always be recovered –The decoder will detect that it cannot recover the original code word and indicate this fact –The decoder will mis-decode and recover an incorrect code word without any indication The probability of each of the three possibilities depends on the particular Reed-Solomom code and on the number and distribution of errors Reed-Solomon codes are particularly suited to correcting burst errors (a series of bit errors) One symbol error means one bit or more than one bits in a symbol are incorrect

3 RS(15,9) Example Parameters Any valid code polynomial must a multiple of the generator polynomial It implies that it must have roots the same 2t consecutive powers of  that form the roots of g(x) Block lengthn = 15 symbols Message lengthk = 9 symbols Code rater = k/n = 60% Parity-check symbols lengthn – k = 6 symbols Minimum distanced = n – k + 1 symbols Error-correction capabilityt = (n – k)/2 = 3 symbols Finite field orderq = n + 1 = 2 m = 2 4 = 16 symbols Field generatorp(x) = x 4 + x + 1 Code generator polynomialg(x) = x 6 +  10 x 5 +  14 x 4 +  4 x 3 +  6 x 2 +  9 x +  6

4 DVB RS(204,188) Code  Reed-Soromon RS(204,188,8) is applied.  Code length 204  Data length 188  Correct up to 8 random erroneous bytes  Overhead 16/204 = 7.84%  Code Generator Polynomial with = 02 HEX g(x) = (x+ 0 )(x+ 1 )(x+ 2 )  (x+ 15 )  Field Generator Polynomial p(x) = x 8 + x 4 + x 3 + x 2 +1 16 Parity bytes187 bytes Randomized Data SYNCn Reed-Solomon RS(204,188,8) error protected packets

5 RS(n,k,t) Code Encoding 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 n – k = 2t d k-1 d k-2 d1d1 d0d0 c0c0 c1c1 c 2t-2 c 2t-1 User Data Parity

6 Encoding of Systematic RS Codes To encode RS code in a systematic manner, the codeword polynomials generated by a use of the division algorithm. Dividing the shifted message polynomial x d-1 m(x) by g(x), we obtain where g(x) is the generator polynomial and p(x) is the parity Check polynomial. The codeword vector will be in a form of c = (p 0, p 1, , p d-2, m 0, m 1, , m k-1 ) Example: Consider the (15,9) RS code with g(x) = x 6 +  10 x 5 +  14 x 4 +  4 x 3 +  6 x 2 +  9 x +  and m(x) =  11 x. Then, c(x) = x 6 m(x) + (x 6 m(x) mod g(x)) = (x 6 )(  11 x) + (x 6 )(  11 x) mode g(x) =  11 x 7 +  8 x 5 +  10 x 4 +  4 x 3 +  14 x 2 +  8 x +  12 The message symbol appears unchanged in the encode codeword.

7 Finding Parity Check Symbols by LFSR RS is a cyclic code and often implemented as a LFSR with GF(2 m ) operators Example Input Data Parity Path Output Data g0g0 g1g1 g2g2 g 2t-1 Galois Multiply Galois Addition s-bit register 163163 3 326 66 55 55 22 LFSR: Linear Feedback Shift Register (parity byte, input messages) = (6 2 3 3 3 6 1) L1L1 L2L2 L3L3 L4L4 G(x) = (x +  0 )(x +  1 )(x +  2 )(x +  3 )

8 Finite Field – Galois Field GF(2 4 ) Power Repre. Binary Repre. Polynomial Representation 00 0 0 10 0 0 11  0 0 1 0  22 0 1 0 0 22 33 1 0 0 0 33 44 0 0 1 1 1 +  55 0 1 1 0  +  2 66 1 1 0 0  2 +  3 77 1 0 1 1 1 +  +  3 88 0 1 1 +  2 99 1 0  +  3  10 0 1 1 1 1 +  +  2  11 1 1 1 0  +  2 +  3  12 1 1 1 +  +  2 +  3  13 1 1 0 1 1 +  2 +  3  14 1 0 0 1 1 +  3  GF Addition and subtraction is the same by using the exclusive OR operation  Example of GF multiplication  4   5 = (1 +  )  (  +  2 ) =  +  2 +  2 +  3 =  +  3 =  9  Example of GF division  4 /  10 =  4   (15-10) =  9 Primitive polynomial: x 4 +x +1 = 0

9 Example of Reed-Solomon Encoder DDDD 121315 Output Input Control jj kk  (j+k) mod 15 66 00 44  12 jj kk j  kj  k g0g0 g1g1 g2g2 g3g3 Message: m(x) = x 14 + 2x 13 + 3x 12 + 4x 11 + 5x 10 + 6x 9 + 7x 8 + 8x 7 + 9x 6 + 10x 5 + 11x 4 Generator: g(x) = x 4 + 15x 3 + 3x 2 + x + 12 Remainder: r(x) = 3x 3 + 3x 2 + 12x + 12 Codeword: c(x) = m(x) + r(x) (11 10 9 8 7 6 5 4 3 2 1) Parity (12 12 3 3) Linear Feedback Shift Register

10 Pipelined Polynomial Division for (15,11) Reed-Solomon Encoder Initial 0 0 0 0 1 g(x)  1 1 15 3 1 12 latch 15 3 1 12 2 g(x)  13 13 7 4 13 3 latch 4 5 1 3 3 g(x)  7 7 11 9 7 2 latch 14 8 4 2 4 g(x)  10 10 12 13 10 1 latch 4 9 8 1 5 g(x)  1 1 15 3 1 12 latch 6 11 0 12 6 g(x)  0 0 0 0 0 0 latch 11 0 12 0 7 g(x)  12 12 8 7 12 15 latch 8 11 12 15 8 g(x)  0 0 0 0 0 0 latch 11 12 15 0 9 g(x)  2 2 13 6 2 11 latch 1 9 2 11 10 g(x)  11 11 3 14 11 13 latch 10 12 0 13 0 11 g(x)  1 1 15 3 1 12 latch 3 3 12 12 Message: m(x) = x 14 + 2x 13 + 3x 12 + 4x 11 + 5x 10 + 6x 9 + 7x 8 + 8x 7 + 9x 6 + 10x 5 + 11x 4 Generator: g(x) = x 4 + 15x 3 + 3x 2 + x + 12 Remainder: r(x) = 3x 3 + 3x 2 + 12x + 12 Codeword: c(x) = m(x) + r(x)

11 Polynomial Division x 14 x 13 x 12 x 11 x 10 x 9 x 8 x 7 x 6 x 5 x 4 x 3 x 2 x 1 x 0 1 2 3 4 5 6 7 8 9 10 11 0 0 0 0  x 10 1 15 3 1 12 13 0 5 9 6  13x 9 13 7 4 13 3 7 1 4 5 7  7x 8 7 11 9 7 2 10 13 2 5 8  10x 7 10 12 13 10 1 1 15 15 9 9  x 6 1 15 3 1 12 0 12 8 5 10  0x 5 0 0 0 0 0 12 8 5 10 11  12x 4 12 8 7 12 15 0 2 6 4 0  0x 3 0 0 0 0 0 2 6 4 0 0  2x 2 2 13 6 2 11 11 2 2 11 0  11x 1 11 3 14 11 13 1 12 0 13 0  1x 0 1 15 3 1 12 3 3 12 12 Message: x 14 + 2x 13 + 3x 12 + 4x 11 + 5x 10 + 6x 9 + 7x 8 + 8x 7 + 9x 6 + 10x 5 + 11x 4 Generator: x 4 + 15x 3 + 3x 2 + x + 12, Remainder: 3x 3 + 3x 2 + 12x + 12, c(x) = m(x) + r(x)


Download ppt "Class Report 林格名 : Reed Solomon Encoder. Reed-Solomom Error Correction When a codeword is decoded, there are three possible outcomes –If 2s + r < 2t (s."

Similar presentations


Ads by Google