7/28/2019 14.Lecture
1/22
1
Lecture 14Lecture 14
BCH CodesBCH Codes
7/28/2019 14.Lecture
2/22
2
99 A class of cyclic codes discoveredA class of cyclic codes discovered
independently byindependently byHocquenghemHocquenghem in 1959 andin 1959 andBose & RayBose & Ray--ChaudhuriChaudhuri in 1960.in 1960.
99
One of the most powerful known classes ofOne of the most powerful known classes ofLinear Cyclic Block CodesLinear Cyclic Block Codes
99 Capable of correcting multiple errorsCapable of correcting multiple errors
99 Easy Encoding and DecodingEasy Encoding and Decoding
7/28/2019 14.Lecture
3/22
3
FeaturesFeatures
AA BCHBCH Code can be defined for anyCode can be defined for any
positive integerspositive integers mm ( m 3) and any( m 3) and any tt(t
7/28/2019 14.Lecture
4/224
Generator PolynomialGenerator Polynomial
This code is capable of correcting anyThis code is capable of correcting any
combination ofcombination oftt or fewer errors in a block lengthor fewer errors in a block lengthofofn=2n=2mm --11 bitsbits..
The generator polynomial of this code can beThe generator polynomial of this code can bespecified in terms of its roots from the extensionspecified in terms of its roots from the extensionfield GF(2field GF(2mm))
The generator polynomialThe generator polynomial g(xg(x)) of theof the tt errorerrorcorrecting BCH code of lengthcorrecting BCH code of length 22mm --11 is the lowestis the lowestdegree polynomial over GF(2) which hasdegree polynomial over GF(2) which has
as its roots [as its roots [ ]]2 3 2, , ,....... t ( ) 0 1 2ig for i t =
7/28/2019 14.Lecture
5/225
g(xg(x) has and their conjugates as all its r) has and their conjugates as all its rootsoots
IfIf
ThenThen
As everyAs everyeven powereven power ofof in the sequence ofin the sequence of
has the same minimal polynomial as sohas the same minimal polynomial as someme
preceding odd power ofpreceding odd power of in the sequence, the expressionin the sequence, the expression
for the generator polynomial reduces tofor the generator polynomial reduces to
2 3 2, , ,....... t
( ) is the minimal polynomial of ii x
1 2 2( ) { ( ), ( ),......, ( )}tg x LCM x x x =
2 3 2, , ,....... t
7/28/2019 14.Lecture
6/22
6
1 3 2 1( ) { ( ), ( ),......, ( )}tg x LCM x x x =
Since the degree of each minimal polynomial is
m or less, the degree ofg(x) is atmost mt.ie. The no. of parity bits,n k, will be atmost
mt.
7/28/2019 14.Lecture
7/22
7
Single error correcting BCH code of lengthSingle error correcting BCH code of length
22mm--1 is generated by1 is generated by
g(xg(x) =) = 11(x)(x)
Since the primitive elementSince the primitive element specifies thespecifies the
primitive polynomialprimitive polynomial 11(x), single error(x), single error
correcting BCH code is a Hamming Code.correcting BCH code is a Hamming Code.
7/28/2019 14.Lecture
8/22
8
Coding ProcedureCoding Procedure
The coding approach is different in BCH codeThe coding approach is different in BCH code
compared with othercompared with other LBCsLBCs
We begin by specifying the no. of random errorsWe begin by specifying the no. of random errors
we want the code to correct for a given blockwe want the code to correct for a given blocklength n.length n.
Then we construct the generator polynomial forThen we construct the generator polynomial forthat code.that code.
7/28/2019 14.Lecture
9/22
9
TheBCHBound
7/28/2019 14.Lecture
10/22
10
Definition: A binaryDefinition: A binarynn--tupletuple is a codewordis a codeword iffiffthethe
polynomialpolynomial
V(xV(x)= v)= v00+v+v11x+x+ .+v.+vnn--11xxnn--11 hashas ,, 22,, 2t2t asas
roots.roots.
This definition is useful in proving theThis definition is useful in proving the
minimum distanceminimum distance of the code.of the code.
7/28/2019 14.Lecture
11/22
11
LetLetV(xV(x)= v)= v00+v+v11x+x+ .+v.+vnn--11xxnn--11 be a codebe a code
polynomial in apolynomial in a tt error correcting BCH code oferror correcting BCH code of
lengthlength n= 2n= 2mm--1.1.
SinceSince ii is a root ofis a root ofv(xv(x) for , then) for , then
This can be written as a matrix product asThis can be written as a matrix product as
1 2i t
2 ( 1)
0 1 2 1( ) ....... 0i i i n i
nv v v v v
= + + + + =
7/28/2019 14.Lecture
12/22
12
2
( 1)
0 1 1
1
.
.
.
( , ,......., ) 0 .1 2
i
i
n i
n
v v v for i t
=
This means that the inner product of
is equal to zero. Now we can form the H matrix as
2 ( 1)
0 1 1( , ,......, ) (1, , ,...... )i i n i
nv v v and
7/28/2019 14.Lecture
13/22
13
7/28/2019 14.Lecture
14/22
14
If for someIf for some i & j,i & j, jj is a conjugate ofis a conjugate ofii, then, then
v(v(jj)=0)=0 iffiffv(v(ii)=0)=0. This says that the inner. This says that the inner
product ofproduct ofv =(vv =(v00,v,v11,,.v.vnn--11)) and theand the ii--thth row ofrow of
H is zero, and the inner product ofH is zero, and the inner product ofvvand theand the jj--thth
row of H is also zero. So therow of H is also zero. So the jj--thth rowrowof H can beof H can beomitted.omitted.
Then theThen the HH matrix can be reduced to thematrix can be reduced to thefollowing form,following form,
7/28/2019 14.Lecture
15/22
15
( ) ( ) ( ) ( )( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
2 3 1
2 3 13 3 3 3
2 3 15 5 5 5
2 3 12 1 2 1 2 1 2 1
1 . .
1 . .
1 . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
1 . .
n
n
n
nt t t t
H
=
The entries of H are elements from GF(2m). Each element in
GF(2m) can be represented by a m-tuple over GF(2). Then we get
the binary parity check matrix for the code.
7/28/2019 14.Lecture
16/22
16
(15,7) BCH code(15,7) BCH code--Parity check matrixParity check matrix
7/28/2019 14.Lecture
17/22
17
To prove the bound we have to show that noTo prove the bound we have to show that no 2t2tor fewer columns ofor fewer columns ofHH sums tosums to zero.zero. SupposeSuppose
that there exists a nonthat there exists a non--zero code vector of weightzero code vector of weight
LetLet
2t
1, 2, 3,( ..... ) be the nonzero components of vj j j jv v v v
7/28/2019 14.Lecture
18/22
18
The second matrix on the right is a square matrix. To satisfy
the equality of the previous expression, the determinant of the
matrix must be zero.
7/28/2019 14.Lecture
19/22
19
7/28/2019 14.Lecture
20/22
20
After taking out the common factor from eachAfter taking out the common factor from each
row of that determinant, we getrow of that determinant, we get
7/28/2019 14.Lecture
21/22
21
The determinant in the above equality is aThe determinant in the above equality is a
VandermondeVandermondeDeterminantDeterminantwhich is nonwhich is non--zero.zero.
Hence the product on the RHS cannot be zero.Hence the product on the RHS cannot be zero.
This is a contradiction and hence our assumptionThis is a contradiction and hence our assumption
that there exists a codeword v of weight isthat there exists a codeword v of weight isinvalid.invalid.
This implies that the minimum weight of the tThis implies that the minimum weight of the terror correcting BCH code iserror correcting BCH code is atleastatleast 2t+1.2t+1.
2t
7/28/2019 14.Lecture
22/22
22
2t+12t+1 is usually the designed distance of theis usually the designed distance of the tt--
error correcting BCH code. The true minimumerror correcting BCH code. The true minimum
distance of a BCH code may be greater than ordistance of a BCH code may be greater than or
equal to its designed distance.equal to its designed distance.