BCH Code & Reed Solomon Code
-
Upload
arun-gopinath -
Category
Documents
-
view
227 -
download
0
Transcript of BCH Code & Reed Solomon Code
-
8/22/2019 BCH Code & Reed Solomon Code
1/59
Raj
-
8/22/2019 BCH Code & Reed Solomon Code
2/59
Large class of powerful random error correctingcyclic codes
Discovered by
(1) Hocquenghem in 1059(2) Bose in 1960
(3) Chaudhuri in 1960
-
8/22/2019 BCH Code & Reed Solomon Code
3/59
For any positive integer m (m3) and t (t
-
8/22/2019 BCH Code & Reed Solomon Code
4/59
Specified in terms of roots from GF(2
m
)g(X) is lowest degree polynomial over GF(2)which has , 2, 3, .. ,2t as roots
g(i)=0 for 1 i 2t
Let i(X) be the minimal polynomial ofi
g(X) = LCM{1(X),
2(X), .. ,
2t(X)}
-
8/22/2019 BCH Code & Reed Solomon Code
5/59
If is even theni =(
i)2l
iis odd andl 1iis the conjugate ofiEvery even powers ofis the conjugate of
some odd power of
Even powers ofandsome odd power ofhas the same (X)
i(X)=i(X)g(X)=LCM{1(X), 3(X), 5(X).,.2t - 1(X)}
-
8/22/2019 BCH Code & Reed Solomon Code
6/59
Maximum degree ofi(X) is m.There are t such polynomials
Degree of g(X) = tm
-
8/22/2019 BCH Code & Reed Solomon Code
7/59
Code defined for m
10
-
8/22/2019 BCH Code & Reed Solomon Code
8/59
n=2m-1, m
3, t=1, dmin
=2t+1=3
is the primitive element of GF(2m)is the only root (t=1)g(X)=
1(X)
1(X) is the primitive polynomial of degree 3
Single Error correcting BCH code with lengthn=2m-1 is the Hamming Code
-
8/22/2019 BCH Code & Reed Solomon Code
9/59
n=2m-1, m3, t=1, dmin=2t+1=3
is the primitive element of GF(2m)is the only root (t=1)g(X)=1(X)
1(X) is the primitive polynomial of degree 3Single Error correcting BCH code with lengthn=2m-1 is the Hamming Code
-
8/22/2019 BCH Code & Reed Solomon Code
10/59
m=4, n=2m-1=15 is the primitive element of GF(24)minimal polynomials are
: 1(X) = 1 + X + X4
3 : 3(X) = 1 + X + X2 + X3 + X45 : 5(X) = 1 + X + X2
-
8/22/2019 BCH Code & Reed Solomon Code
11/59
Double Error Correcting Code t=2
, 3 are the roots (2t-1=2x2-1=3)g(X)= LCM{1(X), 3(X)} = 1(X). 3(X)
g(X)= 1 + X4 + X6 + X7 + X8
n-k mt =(4 x 2) = 8k = n-(n-k)=15-8=7
(15, 7) Code
dmin=2t+1=2x2+1=5
-
8/22/2019 BCH Code & Reed Solomon Code
12/59
Triple Error Correcting Code t=3
, 3 , 5 are the roots (2t-1=2x3-1=5)g(X)= LCM{1(X), 3(X) , 5(X)} = 1(X) . 3(X) . 5(X)
g(X)= 1 X + X2 + X4 + X5 + X8 + X10
n-k = 10k = n-(n-k)=15-10=5
(15, 5) Code
dmin=2t+1=2x3+1=7
-
8/22/2019 BCH Code & Reed Solomon Code
13/59
v(X)=v0 + v1X+ + vn-1Xn-1
if v(X) has , 2, 3, 2t as roots v(X) isdivisible by 1(X), 2(X), 3(X), .. ,2t(X)
v(X) divisible g(X) and it is a code polynomial
Let v(X) be a code polynomial
v(i)= v0 + v1(i)+ + vn-1(
i)n-1 for 1i2t
-
8/22/2019 BCH Code & Reed Solomon Code
14/59
v(i)= v0 + v1(i)+ v2(
i)2 + vn-1(i)n-1 for 1i2t
v(i)= v0 + v1i
+ v22i + vn-1
(n-1)i
2 3 n 1
2 3 n 12 2 2 2
2 3 n 13 3 3 3
2 3 n 12 t 2 t 2t 2t
1
1
H 1
1
-
8/22/2019 BCH Code & Reed Solomon Code
15/59
Conjugate roots can be omitted
2 3 n 1
2 3 n 13 3 3 3
2 3 n 12t 1 2t 1 2t 1 2t 1
1
1
H
1
n - columns
t-rows
Tv.H 0
-
8/22/2019 BCH Code & Reed Solomon Code
16/59
m=4, t=1, dmin=2t+1=5, n=15, k=7
H contain elements from GF(24)GF(24) tuples 4-tuples
, 3 are the roots
2 3 4 5 6 7 8 9 10 11 12 13 14
3 6 9 12 15 18 21 24 27 30 33 36 39 42
1H
1
-
8/22/2019 BCH Code & Reed Solomon Code
17/59
power tuple
00001 1000
2
01003 11004 00105 10106 01107 1110
power tuple
8 00019 100110
010111 110112 001113 101114 011115 1111
-
8/22/2019 BCH Code & Reed Solomon Code
18/59
-
8/22/2019 BCH Code & Reed Solomon Code
19/59
Parameter 2t+1 is called designed distance
dmin of BCH code may or may not be equal todesigned distance
-
8/22/2019 BCH Code & Reed Solomon Code
20/59
Multiple error correction capability
Syndrome may be many componentsith component of syndrome
s i=r(i)= r0 + r1(
i)+ r2(i)2 + rn-1(
i)n-1 1i2t
Syndrome components are elements in GF(2m)
There are 2t syndrome components
-
8/22/2019 BCH Code & Reed Solomon Code
21/59
Dividing r(X) by polynomial i(X)
r(X) = ai(X)+i(X)+bi(X)i(
i)=0
s i=r(i)= bi(
i)
Syndrome component s i is obtained byevaluating bi(X) with X=
i
-
8/22/2019 BCH Code & Reed Solomon Code
22/59
Double error correcting BCH Code, t=2
r = ( 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 )r(X) = 1 + X8
s=(s1, s2, s3, s4)
minimal polynomials are : 1(X) = 1 + X + X42 : 2(X) = 1 + X + X43
: 3(X
)= 1 + X + X
2
+ X
3
+ X
4
4 : 4(X) = 1 + X + X4
-
8/22/2019 BCH Code & Reed Solomon Code
23/59
b1(X)=b2(X)=b4(X) = rem(r(X) / 1(X) ) = X2
b3(X) = rem(r(X) / 3(X) ) = 1+X3
s1=b1()= (1)2 = 4
s2=b1()= (2)2 = 4
s3=b3()= 1+(3)3 =1+9=1+ +3 = 7s4=b1()= (
4)2 = 8
s=(2, 4, 7, 8)
-
8/22/2019 BCH Code & Reed Solomon Code
24/59
r(X)=v(X)+e(X)
si=r(i)=v(i)+e(i)=e(i) 1 i 2t
Let e(X)= Xj1 + Xj2 + . + Xjv 0 j1 j1 . j1 n
s1
= j1 + j2 + .. + jv
s2 = (j1)2 + (j2)2 + .. + (jv)2
s3 = (j1)3 + (j2)3 + .. + (jv)3
...
s2t = (j1)2t + (j2)2t + .. + (jv)2t
j1, j2, . , jv are unknown
-
8/22/2019 BCH Code & Reed Solomon Code
25/59
Let e(X)= Xj1 + Xj2 + . + Xjv 0 j1 j1 . j1 n
s1
= j1 + j2 + .. + jv
s2 = (j1)2 + (j2)2 + .. + (jv)2
.........................
s2t = (j1)2t + (j2)2t + .. + (jv)2t
j1, j2, . , jv are unknown
Any method of solving above equations is thedecoding algorithm.
Solutions yields the smallest number of errors is
the right solution.
This is the most probable error pattern e(X)caused by channel.
-
8/22/2019 BCH Code & Reed Solomon Code
26/59
Let l= ji 1 l v
s1 = 1 + 2 + .. + v
s2 = (1)2 + (2)
2 + .. + (v)2
...
s2t = (1)2t + (2)
2t + .. + (v
)2t
Above 2t equations are called power sumsymmetric functions
1,2, .. , v are error location numbers
-
8/22/2019 BCH Code & Reed Solomon Code
27/59
Define (X) = (1+ 1X) (1+ 2X).. (1+ vX)
(X) = 0 + 1X + 2X + + vXV
Roots are 1-1,2
-1, .. , v-1
(X) is the unknown polynomial whose
coefficients must be determined(X) is know as error location polynomial
-
8/22/2019 BCH Code & Reed Solomon Code
28/59
Define (X) = (1+ 1X) (1+ 2X).. (1+ vX)
0 = 11 = 1 + 2 + ..+v
2 = 12+ 23 ++V-1v
..v = 12. vis
are knows are elementary symmetric
functions ofi
s.
-
8/22/2019 BCH Code & Reed Solomon Code
29/59
Newtons Identities
s1 + 1 =0s2 + 1s1 + 22 =0
s3 + 1s2 +2s1 + 33 =0
..sv + 1sv-1 + +v-1s1 + vv =0
sv+1 + 1sv + +v-1s2 + vs1 =0
ii= i for a odd i ii= 0 for even iSolutions that yield (X) of minimal degree giveinformation about most probable error pattern
if v
t
(X)will give the actual error pattern e(X).
-
8/22/2019 BCH Code & Reed Solomon Code
30/59
Compute the syndrome s=(s1, s2,,s2t) from r(X)
Determine error location polynomial (X) fromthe syndrome components s1, s2,,s2tDetermine the error location numbers
1,2, .. , v by finding the roots of the (X)and correct the errors in r(X)
-
8/22/2019 BCH Code & Reed Solomon Code
31/59
Compute the syndrome s=(s1, s2,,s2t) from r(X)
Determine error location polynomial (X) fromthe syndrome components s1, s2,,s2tDetermine the error location numbers
1,2, .. , v by finding the roots of the (X)and correct the errors in r(X)
-
8/22/2019 BCH Code & Reed Solomon Code
32/59
Berlekamp iterative algorithm
Find minimum degree polynomial (1)(X) whosecoefficients satisfy the first Newtons identitys1 + 1 =0
Next step is to test whether the coefficients of(1)(X) satisfy the second Newtons identitys2 + 1s1 + 22 =0
If the coefficients of(1)(X) satisfy second
Newtons identity we set(2)(X)=
(1)(X)
-
8/22/2019 BCH Code & Reed Solomon Code
33/59
If the coefficients of(1)(X) does not satisfy
second Newtons identity a correction term isadded to (1)(X) to form (2)
(X) such that (2)
(X)has minimum degree and its coefficients satisfyfirst two Newton's identities
There are at the end of second step we obtain aminimum degree polynomial (2)(X) whosecoefficients satisfy first two Newtons identifies
-
8/22/2019 BCH Code & Reed Solomon Code
34/59
The third step is to find the minimal polynomial
(3)
(X) from (2)
(X) such that (3)
(X) coefficientssatisfy first three Newtons identities
Again we test (2)(X) satisfy third Newton'sidentity s3 + 1s2 +2s1 + 33 =0
If they do not, a correction term is added to(2)(X) to from
(3)(X)
Iteration continues until (2t)(X) is obtained
The (2t)(X) is taken to be error locationpolynomial (X)
(X) =(2t)
(X)
-
8/22/2019 BCH Code & Reed Solomon Code
35/59
Let ()(X) =1 +1()X + 2
()X2 + .+ l()Xl
be the minimum polynomial determined at theth step of iteration whose coefficients satisfyNewtons identities
To determine
(+1)
(X) we compute the
following quantity
d = s+1+ 1()s+1+ 2
()s-1+..+l()s+1l
The discalleddiscrepancy
If d=0 the coefficients of()
(X) satisfy(+1)th Newton's identity and (+1)(X) =
()(X)
-
8/22/2019 BCH Code & Reed Solomon Code
36/59
If d0 the coefficients of()
(X) do not satisfy
(+1)th
Newton's identity and a correction termmust be added to ()(X) to obtain (+1)
(X)
Go back to the steps prior to th step anddetermine a polynomial ()(X) such that theth discrepancy d0 and ( -l)[lis thedegree of()(X)] has the largest value.
(+1)(X)= ()
(X) + dd-1X (-)()(X)
-
8/22/2019 BCH Code & Reed Solomon Code
37/59
To carry out iteration of finding ()(X) we begin
with following table and proceed to fill out thetable wherel is the degree ()
(X)
The (+1)th is can be fill out as followsIf d=0 then
(+1)(X)=
()(X) andl+1=l
If d0, find another row prior to the throwsuchthat d0 and the number (-l) in the lastcolumn of the table has the largest value.
(+1)
(X)= ()
(X) + dd-1
X(-)
()
(X)l+1 = max(l,l+ - )
-
8/22/2019 BCH Code & Reed Solomon Code
38/59
()
(X) d l -l-1 1 1 0 -1
0 1 s1 0 0
1
2
2t
-
8/22/2019 BCH Code & Reed Solomon Code
39/59
Consider a (15,5) triple error correcting code.
v = ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 )r = ( 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 )
r(X)= X3 + X5 + X12
Minimal Polynomials : 1(X) = 1 + X + X
4
2 : 2(X) = 1 + X + X4
3 : 3
(X) = 1 + X + X2 + X3 + X4
4 : 4(X) = 1 + X + X4
5 : 5(X) = 1 + X + X2
6 : 6(X) = 1 + X + X2 + X3 + X4
-
8/22/2019 BCH Code & Reed Solomon Code
40/59
Dividing r(X) by 1(X), 3(X) and 5(X)
We obtain the following remaindersb1(X) = 1
b3(X) = 1+X2+X3
b5(X) = X2Syndrome Components are
s1=s2=s4=1
s3=1 + 6 + 9 = 10 and s6=1 + 12 + 18 = 5s5=
10
-
8/22/2019 BCH Code & Reed Solomon Code
41/59
s1 = 1
s2 = 1
s3 = 10
s4 = 1
s5 = 10
s6 = 5
()(X) d l -l Remarks-1 1 1 0 -1
0 1 1 0 0
-
8/22/2019 BCH Code & Reed Solomon Code
42/59
s1 = 1
s2 = 1
s3 = 10
s4 = 1
s5 = 10
s6 = 5
()(X) d l -l Remarks-1 1 1 0 -1
0 1 1 0 0
1 1 + X 0 1 0 take = -1
-
8/22/2019 BCH Code & Reed Solomon Code
43/59
s1 = 1
s2 = 1
s3 = 10
s4 = 1
s5 = 10
s6 = 5
()(X) d l -l Remarks-1 1 1 0 -1
0 1 1 0 0
1 1 + X 0 1 0 take = -1
2 1 + X 5 1 1
-
8/22/2019 BCH Code & Reed Solomon Code
44/59
s1 = 1
s2 = 1
s3 = 10
s4 = 1
s5 = 10
s6 = 5
()(X) d l -l Remarks-1 1 1 0 -1
0 1 1 0 0
1 1 + X 0 1 0 take = -1
2 1 + X 5 1 1
3 1 + X + 5X2 0 2 1 take = 0
-
8/22/2019 BCH Code & Reed Solomon Code
45/59
s1 = 1
s2 = 1
s3 = 10
s4 = 1
s5 = 10
s6 = 5
()(X) d l -l Remarks-1 1 1 0 -1
0 1 1 0 0
1 1 + X 0 1 0 take = -1
2 1 + X 5 1 1
3 1 + X + 5X2 0 2 1 take = 0
4 1 + X + 5X2 10 2 2
-
8/22/2019 BCH Code & Reed Solomon Code
46/59
s1 = 1
s2 = 1
s3 = 10
s4 = 1
s5 = 10
s6 = 5
()(X) d l -l Remarks-1 1 1 0 -1
0 1 1 0 0
1 1 + X 0 1 0 take = -1
2 1 + X 5 1 1
3 1 + X + 5X2 0 2 1 take = 0
4 1 + X + 5X2 10 2 2
5 1 + X + 5X3 0 3 2 take = 2
-
8/22/2019 BCH Code & Reed Solomon Code
47/59
s1 = 1
s2 = 1
s3 = 10
s4 = 1
s5 = 10
s6 = 5
()(X) d l -l Remarks-1 1 1 0 -1
0 1 1 0 0
1 1 + X 0 1 0 take = -1
2 1 + X 5 1 1
3 1 + X + 5X2 0 2 1 take = 0
4 1 + X + 5X2 10 2 2
5 1 + X + 5X3 0 3 2 take = 2
6 1 + X + 5X3 - - 2
-
8/22/2019 BCH Code & Reed Solomon Code
48/59
(X)=(6)(X) = 1 + X + 5X3
roots of(X) are 3, 10, 12There inverses are 12, 5, 3
3= 3,5=
5,12=
12
j3=3, j5=4, j12=12e(X)=Xj1 + Xj2 + . + Xjv
Therefore error pattern is
e(X)=X3 + X5 + X12Adding e(X) to v(X) we obtain all zero codevector
-
8/22/2019 BCH Code & Reed Solomon Code
49/59
If p is prime number and q is a any power of p
there are codes with symbols from Galois fieldGF(q)
Codes are called q - ary codes
Concepts and properties developed for binarycodes apply q - ary codes with littlemodifications
-
8/22/2019 BCH Code & Reed Solomon Code
50/59
An (n, k) linear code with symbols from GF(q) is
a k dimensional subspace of vector space of alln-tuples over GF(q)
A q-ary (n, k) cyclic code generated by apolynomial of degree (n k) with coefficients
from GF(q) which is a factor Xn + 1
Encoding and decoding are similar to that of abinary cods
-
8/22/2019 BCH Code & Reed Solomon Code
51/59
In binary BCH codes defined can be generalized
to non-binary codes in a straight forwardmanner.
For any choice of positive integer s and t, thereexists a q-ary BCH code of length n=qs-1 which is
capable of correcting any combination of t orfewer errors and requires no more than 2stparity check digits
-
8/22/2019 BCH Code & Reed Solomon Code
52/59
Let be a t-error correcting q-ary BCH code is
the polynomial of lower degree with coefficientform GF(q) for which , 2, .. ,2t are the roots
Let i(X) be the minimal polynomial ofi then
g=(X) = LCM{1
(X), 2
(X), .. ,2t
(X)}
Degree of each minimal polynomial is s or less
Therefore degree of g(X) is at most 2st.
Hence number of parity check digits of codegenerated by g(X) is no more than 2st
For q=2 we obtain BCH codes
-
8/22/2019 BCH Code & Reed Solomon Code
53/59
Special subclass of q-ary BCH code for which s=1
A t-error correcting Reed-Solomon code withsymbols from GF(q) has the followingparameters
Block length: n = q 1
No. parity check digits n-k = 2t
Minimum distance dmin = 2t + 1
-
8/22/2019 BCH Code & Reed Solomon Code
54/59
Length of the code is one less than the size of
code symbols (q-1) and minimum distance isone greater than the no: of parity check digits(2t + 1)
Codes with code symbols from Galois field
GF(2m), q=2m
A (n, k) RS-code have dmin > (n-k+1) and itbelongs to maximum distance separable code
category of LBCRS code are particularly useful in situationswhere errors tends to happen in bursts ratherthan randomly
-
8/22/2019 BCH Code & Reed Solomon Code
55/59
Let be the primitive element in GF(2m)
The generator polynomial g(X)g(X)= (X+) (X+ 2) .. (X+ 2t)
g(X)=g0 + g1X +.. + g2t-1X2t-1 + X2t
g(X) has , 2, .. ,2t as all roots and hascoefficients form GF(2m)
k=n-(n-k)=n-2t
Code generated by g(X) is an (n, n t)
-
8/22/2019 BCH Code & Reed Solomon Code
56/59
Cyclic code which consists of those polynomials
of degree (n 1) or less with coefficients fromGF(2m) that are multiples of g(X)
-
8/22/2019 BCH Code & Reed Solomon Code
57/59
Similar to binary case
Encoder operates on multiple bits rather thanindividual bits
Let message, a(X) = a0 + a1X +.. + ak-1Xk-1
Where k=n 2tIn systematic form the 2t parity check digits arethe coefficients of remainder b(X) resulting fromdividing message polynomial X2ta(X) by
generator polynomial g(X)
b(X) = rem(X2ta(X)/g(X))= b0 + b1X +.. + b2t-1X2t-1
-
8/22/2019 BCH Code & Reed Solomon Code
58/59
Incoming data stream bits are grouped into
blocks of m symbols GF(2m
) of block lengthn=2m-1
Each block is treated as k symbols with eachsymbol having m bits
Encoding algorithm expands a block of ksymbols to a n symbols by adding n k paritycheck digits
-
8/22/2019 BCH Code & Reed Solomon Code
59/59
Similar to binary code