L. J. Wang 1 Introduction to Reed-Solomon Coding ( Part I )
L. J. Wang 2 Introduction o One of the most error control codes is Reed- Solomon codes. o These codes were developed by Reed & Solomon in June, o The paper I.S. Reed and Gus Solomon, “ Polynominal codes over certain finite fields ”, Journal of the society for industrial & applied mathematics.
L. J. Wang 3 o Reed-Solomon (RS) codes have many applications such as compact disc (CD, VCD, DVD), deep space exploration, HDTV, computer memory, and spread-spectrum systems. o In the decades, since RS discovery, RS codes are the most frequency used digital error control codes in the world.
L. J. Wang 4 Effect of Noise
L. J. Wang 5 digital data Reconstructed data encoder check bits, r=2 1 1 information bits, k=1 block length of code, n=3 000, 111 code word a ( n, k ) code, n=3, k=1, and r=n-k=3-1=2 code rate, p=k/n=1/3 encoder receiver decoder
L. J. Wang 6 A (7,4) hamming code n=7, k=4, r=n-k=7-4=3, p=4/ I1 I2 I3 I4 encoder receiver decoder A (7,4) HAMMING CODE
L. J. Wang 7 Let a 1, a 2,..., a k be the k binary of message digital. Let c 1, c 2,..., c r be the r parity check bits. An n-digital codeword can be given by a 1 a 2 a 3...a k c 1 c 2 c 3...c r n bits The check bits are chosen to satisfy the r=n-k equations, 0 = h 11 a 1 h 12 a 2 ... h 1k a k c 1 0 = h 21 a 1 h 22 a 2 ... h 2k a k c 2..(1). 0 = h r1 a 1 h r2 a 2 ... h rk a k c r
L. J. Wang 8 Equation (1) can be writen in matrix notation, h 11 h h 1k a 1 0 h 21 h h 2k a ak=0. c10. c20... h r1 h r2... h rk c r 0 r n n 1 r 1 H T = 0
L. J. Wang 9 Let E be an n 1 error pattern at least one error, that is e 1 0 e E =. =e j = 1.. e n 0 Also let R be the received codeword, that is r 1 a 1 0 r 2 a R =.= T + E =a k +e j = 1.c r n c r 0
L. J. Wang 10 Thus S = H R = H (T+E) = H T + H E = H E S = H E where S is an r 1 syndorme pattern. Problem, for given S, Find E s 1 h 11 h 12 0 s 2 h 21 h =. e 1 +. e e n (2).... s r h r1 h r2 1
L. J. Wang 11 Assume e 1 =0, e 2 =1, e 3 =0,..., e n =0 s 1 h 12 s 2 h 22. =... s r h r2 The syndrome is equal to the second column of the parity check matrix H. Thus, the second position of received codeword is error.
L. J. Wang 12 o A (n,k) hamming code has n=r+k=2 r -1, where k is message bits and r=n-k is parity check bits. o The rate of the hamming code is given by o Hamming code is a single error correcting code. o In order to correct two or more errors, cyclic binary code, BCH code and Reed-Solomon code are developed to correct t errors, where t ≧ 1.
L. J. Wang 13 In GF(2 4 ), let p(x)=x 4 +x+1 be a primitive irreducible polynomial over GF(2 4 ). Then the elements of GF(2 4 ) are Single-error-correcting Binary BCH code
L. J. Wang 14 o The parity check matrix of a (n=15,k=11) BCH code for correcting one error is o Encoder: o Let the codeword of this code is information bitsparity check bits
L. J. Wang 15
L. J. Wang 16 o Decoder: o Let received word be R= C+E codeworderror pattern H ‧ R=H(C+E)=H ‧ C+H ‧ E T =H ‧ E T = where o Let R=C+E=( )+( ) =( )
L. J. Wang 17
L. J. Wang 18 o Let Information polynomial be I(x)= o The codeword is Information polynomial parity check polynomial I(x) R(x)
L. J. Wang 19 o Note that C(x)=Q(x) ‧ g(x) where g(x) is called a generator polynomial, C(x) is a codeword if and only if C(x) is a multiple of g(x). o For example, to encode a (15,11) BCH code, the generator polynomial is g(x)=x 4 +x+1, where α is a order of 15 in GF(2 4 ) and is called a minimum polynomial of α.
L. J. Wang 20 o To encode, one needs to find C 3,C 2,C 1,C 0 or R(x) = such that satisfies o To show this, dividing I(x) by g(x), one obtains I(x)=Q(x)g(x)+R(x) o Encoder C(x)=I(x)+R(x)=Q(x)*g(x) o Since C(x) is a multiple of g(x); then C(x)=I(x)+R(x) is a (15,11) BCH code.
L. J. Wang 21 o Example : I(x)=Q(x)g(x)+R(x) C(x)=Q(x)g(x)=I(x)+R(x) = = …
L. J. Wang 22 o To decode, let the error polynomial is E(x)= o The received word polynomial is R’(x)=C(x)+E(x)= o The syndrome is = is the error location in a received word.
L. J. Wang 23 o To encode a (n=15, I=7) BCH code over GF(2 4 ), which can correct two errors. o Let C(x)=K(x)g 1 (x)g 2 (x) where g 1 (α) is the minimal polynomial of α. => g 1 (α) = 0 g 2 (α 3 ) is the minimal polynomial of α 3. => g 2 (α 3 ) = 0 Double-error-correcting Binary BCH code
L. J. Wang 24 o The minimal polynomial of αis o The minimal polynomial of α 3 is o The generator polynomial of a(15,7) BCH code is
L. J. Wang 25 o An RS code is a cyclic symbol error-correcting code. o 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. o 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. Reed-Solomon (RS) code
L. J. Wang 26 o In order to be able to correct ‘t’ symbol errors, the minimum distance of the code words ‘D’ is given by D=2t+1. o 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 ) P = D – 1.