Beruflich Dokumente
Kultur Dokumente
on
BCH Codes
(Bose , Chaudhuri, Hocquenghem Codes)
Presented by
Umamaheswar.V
4JN12LDS17
MTech DECS, III Sem
CONTENTS
first slide
CONTENTS
Introduction
Binary primitive BCH codes
Generator polynomial of Binary BCH Codes
Properties of Binary BCH Codes
Parity Check Matrix of the BCH code
Decoding procedures
Syndrome computation.
Determination of the error pattern.
Error correction.
Umamaheswar.V
BCH Codes
2 / 35
Introduction
Introduction
The Bose, Chaudhuri, and Hocquenghem (BCH) codes form a large
class of powerful random error-correcting cyclic codes.
This class of codes is a remarkable generalization of the Hamming
codes for multiple-error correction.
Binary BCH codes were first discovered by Hocquenghem in 1959 and
independently by Bose and Chaudhuri in 1960.
The original applications of BCH codes were restricted to binary
codes of length 2m 1 for some integer m. These were extended later
by Gorenstein and Zieler (1961) to the nonbinary codes with symbols
from Galois field GF(q).
Among the nonbinary BCH codes, the most important subclass is the
class of Reed-Solomon (RS) codes.
Among all the decoding algorithms for BCH codes, Berlekamps
iterative algorithm, and Chiens search algorithm are the most efficient
ones.
Umamaheswar.V
BCH Codes
3 / 35
BCH Codes
4 / 35
Umamaheswar.V
BCH Codes
5 / 35
Note that the generator polynomial of the binary BCH code is originally
found to be the least common multiple of the minimum polynomials
1 (x), 2 (x), 3 (x)..., 2t (x)
g (x) = LCM{1 (x), 2 (x), 3 (x)..., 2t (x)}
However, generally, every even power of in GF( 2m ) has the same
minimal polynomial as some preceding odd power of in GF( 22m ).As a
consequence, the generator polynomial of the t-error-correcting binary
BCH code can be reduced to
g (x) = LCM{1 (x), 3 (x)..., 2t1 (x)}
Umamaheswar.V
BCH Codes
6 / 35
Example 1
Example:
Let be a primitive element of the Galois field GF(24 )given by table below
such that 1++4 =0 Find the generator polynomial of Single
error,double error and tripple error correcting BCH code.
The minimal polynomials of ,3 and 5 are
1 (x) = 1 + X + X 4
3 (x) = 1 + X + X 2 + X 3 + X 4
5 (x) = 1 + X + X 2
The single-error-correcting BCH codes of length n=24 -1=15 is generated
by g(x)=1 (x) since t =1.
The double-error-correcting BCH code of length 15 is generated by
g (x) = LCM{1 (x), 3 (x)}
Since 1 (x) and 3 (x) are two distinct irreducible polynomials,
g(x)=(1 + X + X 4 )(1 + X + X 2 + X 3 + X 4 )
=1 + X 4 + X 6 + X 7 + X 8
Umamaheswar.V
BCH Codes
7 / 35
Example 1
Thus the code is a (15,7)cyclic code with dmin 5.Because the weight of
the generator plolynomial is 5, the minimum distance of this code is
exactly 5.
The triple-error-correcting BCH code of length 15 is generated by
g (x) = LCM{1 (x), 3 (x), 5 (x)}
=(1 + X + X 4 )(1 + X + X 2 + X 3 + X 4 )(1 + X + X 2 )
=1 + X + X 2 + X 4 + X 5 + X 8 + X 10
Its a (15,5) cyclic code with dmin 7.Because the weight of the generator
plolynomial is 7, the minimum distance of this code is exactly 7.
Umamaheswar.V
BCH Codes
8 / 35
Power
representation
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Umamaheswar.V
Example 1
Polynomial
4 Tuple
representation
representation
0
(0000)
1
(1000)
(0100)
2
(0010)
3
(0001)
1+
(1100)
+ 2
(0110)
2 + 3
(0011)
3
1++
(1101)
1 + 2
(1010)
3
+
(0101)
1 + 2 + 3
(1110)
+ 2 + 3
(0111)
2
3
1++ +
(1111)
1 + 2 + 3
(1011)
3
1+
(1001)
BCH Codes
9 / 35
BCH Codes
10 / 35
Umamaheswar.V
1
i
2i
.
.
.
(n1)i
= 0 for 1 i 2t
BCH Codes
11 / 35
1 ... n1
1 (2 )...(2 )n1
H =
.
2t
2t
n1
1 ( )...( )
If v is a code word in the t-error-correcting BCH code, then
v HT = 0
j is a conjugate of i , then v(j )=0 iff v(i )=0(Thm. 2.11) j-th row of
H can be omitted. As a result H can be reduced to the following form :
1 2 ... n1
1 3 (3 )2 ... (3 )n1
H =
.
BCH Codes
12 / 35
Umamaheswar.V
BCH Codes
13 / 35
H =
100010011010111
010011010111100
001001101011110
000100110101111
100011000110001
000110001100011
001010010100101
011110111101111
BCH Codes
14 / 35
Umamaheswar.V
BCH Codes
15 / 35
Umamaheswar.V
BCH Codes
16 / 35
Example 6.3:Consider the Galois field GF(26 ).The element =3 has order
n=21.Let t=2.Let g(x) be the binary polynomial of minimum degree that
has , 2 , 3 , 4 as roots.
The elements , 2 and 4 have the same minimal polynomial,which is
1 (x) = 1 + X + X 2 + X 4 + X 6
The minimal polynomial of 3 is
3 (x) = 1 + X 2 + X 3
Therefore,
g (x) = 1 (x)3 (x)
= 1 + X + X4 + X5 + X7 + X8 + X9
The (21,12) code generated by g(x) is a double-error- correcting
nonprimitive BCH code.
Umamaheswar.V
BCH Codes
17 / 35
Umamaheswar.V
BCH Codes
18 / 35
Decoding
BCH Codes
19 / 35
Decoding
Computation:
Let i (x) be the minimum polynomial of i .
Dividing r(x) by i (x),we obtain
r (x) = ai (x)i (x) + bi (x)
Where bi (x) is the remainder and i (i )=0.
Then Si = r (i ) = bi (i )
Thus, the syndrome component Si can be obtained by computing bi (x)
with x=i .
Umamaheswar.V
BCH Codes
20 / 35
Decoding
EX6.4
Let be a primitive element of the Galois field GF (24 ) such that
1 + + 4 = 0.Consider double-error-correcting (15, 7) BCH code. If r =
(100000001000000)is the received vector, find the syndrome components.
The corresponding received polynomial is
r (x) = 1 + x 8
The syndrome consists of four components:
S = (S1 , S2 , S3 , S4 )
The minimal polynomials for , 2 and 4 are identical and
1 (x) =2 (x) =4 (x) =1 + x + x 4
The minimal polynomials of 3 is
3 (x) =1 + x + x 2 + x 3 + x 4
Umamaheswar.V
BCH Codes
21 / 35
Decoding
BCH Codes
22 / 35
Decoding
BCH Codes
23 / 35
Decoding
S1 =1 +2 +...+v
2
2
2
S2 =1 +2 +...+v
power sum symmetricfunction
..
Umamaheswar.V
BCH Codes
24 / 35
Decoding
Define
(x) = (1 + 1 x)(1 + 2 x)...(1 + v x)
= 0 + 1 x + 2 x 2 + ... + v x v
Where (x)is called the error-location polynomial.
The roots of (x) are 11 , 21 , ..., v1 which are the inverse of the
error location numbers.
Coefficients of (x):
0 = 1
1 = 1 + 2 + ... + v
2 = 1 2 + 2 3 + ... + v 1 v
..
.
v = 1 2 ...v
Umamaheswar.V
BCH Codes
25 / 35
Decoding
Umamaheswar.V
BCH Codes
26 / 35
Decoding
Umamaheswar.V
BCH Codes
27 / 35
Decoding
(+1)
The polynomial 2t (x) in the last row should be the required (x).
Umamaheswar.V
BCH Codes
28 / 35
Decoding
Ex 6.5: Let be a primitive element of the Galois field GF (24 ) such that
1 + + 4 = 0.Consider (15,5) triple-error-correcting BCH codes with
p(x) = 1 + x + x 4 .
Assume that the codeword of all zeros,
v = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
is transmitted and the received vector is
r = (0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0)
Then r (x) = x 3 + x 5 + x 12
Obtain the error polynomial and corrected vector.
Solution:
The minimal polynomials for , 2 and 4 are identical and
1 (x) =2 (x) =4 (x) =1 + x + x 4
Umamaheswar.V
BCH Codes
29 / 35
Decoding
Umamaheswar.V
BCH Codes
30 / 35
Decoding
BCH Codes
31 / 35
(+1)
Decoding
(+1)
d+1 = S+2 + 1
S+1 + ... + l+1 S+2l+1
(+1)
()
(x) = 1 + 1.1.x.1 = 1 + x
l1 = max(l0 , l1 + ) = max(0, 0 + 0 + 1) = 1
l = 1 l1 = 1 1 = 0
(1)
d1 = S2 + 1 S1 = 1 + 1.1 = 0
(2) (x) = (1) (x) = 1 + x
l2 = l1 = 1
l = 2 l2 = 2 1 = 1
(2)
(2)
d2 = S3 + 1 S2 + 2 S1 = 10 + 1.1 + 0.1 = (1 + + 2 ) + 1 = 5
Umamaheswar.V
BCH Codes
32 / 35
Decoding
d2 = 5 6= 0
=0
(3) (x) = (2) (x) + d2 d01 x (20) (0) (x) = 1 + x + 5 .1.x 2 .1
= 1 + x + 5 x 2
l3 = max(l2 , l0 + ) = max(1, 0 + 2 0) = 2
l = 3 l3 = 3 2 = 1
(3)
(3)
(3)
d3 = S4 + 1 S3 + 2 S2 + 3 S1 = 1 + 1.10 + 5 .1 + 0.1
= 1 + (1 + + 2 ) + ( + 2 ) = 0
Umamaheswar.V
BCH Codes
33 / 35
Decoding
BCH Codes
34 / 35
End
Umamaheswar.V
BCH Codes
35 / 35