BCH Codes
BCH Codes
BCH Codes
A class of cyclic codes discovered independently by Hocquenghem in 1959 and Bose & Ray Chaudhuri in 19!"# $ne of the most po%erful &no%n class of 'inear Cyclic Bloc& Codes Capable of correcting multiple errors (asy (ncoding and )ecoding
Features
A BCH Code can be defined for any positive inetgers m ( m 3) and any t (t<2m-1) with the fo owing parameters Bloc& 'ength* n+,m 1 -o# of parity chec& bits* n . & mt /inimum )istance* dmin ,t01
Generator Polynomial
1his code is capable of correcting any combination of t or fe%er errors in a bloc& length of n+,m 1 bits# 1he generator polynomial of this code can be specified in terms of its roots from the e2tension field 345,m6 1he generator polynomial g526 of the t error correcting BCH code of length ,m 1 is the lo%est degree polynomial over 345,6 %hich has * , * 9 *####### ,t as its roots 7 g 5 i 6 = " for 1 i ,t 8
g526 has * , * 9 *####### ,t and their con:ugates as all its roots i ;f i 5 x6 is the minimal polynomial of 1hen
g 5 x6 = LCM =1 5 x 6* , 5 x 6*######* ,t 5 x 6>
As every even po%er of < in the sequence of * , * 9 *####### ,t has the same minimal polynomial* the e2pression for the generator polynomial reduces to
?ingle error correcting BCH code of length ,m 1 is generated by g526 + @1526 ?ince the primitive element < specifies the primitive polynomial @1526* single error correcting BCH code is a Hamming Code#
Coding Procedure
1he coding approach is different in BCH code compared %ith other 'BCs Ae begin by specifying the no# of random errors %e %ant the code to correct for a given bloc& length n# 1hen %e construct the generator polynomial for that code#
)efinitionB A binary n tuple is a code%ord iff the polynomial C526+ v"0v120 D#0vn 12n 1 has <* <,* D <,t as roots# 1his definition is useful in proving the minimum distance of the code#
'et C526+ v"0v120 D#0vn 12n 1 be a code polynomial in a t error correcting BCH code of length n+ ,m 1# ?ince <i is a root of v526 for1 i ,t * then
v5 6 = v" + v1 + v, + ####### + vn 1
i i ,i
5 n 16 i
="
5 n 16 i
;f for some i & :* <: is a con:ugate of <i* then v5<:6+" iff v5<i6+"# 1his says that the inner product of v +5v"*v1*D#vn 16 and the i th ro% of H is Eero* and the inner product of v and the : th ro% of H is also Eero# ?o the : th ro% of H can be omitted# 1hen the H matri2 can be reduced to the follo%ing form*
1 1 1 H = # # # # 1
# # # # # # # # # # # # # #
( ) ( )
9 5
( ) ( )
# # # #
9 ,
5 ,
( ) ( )
# # # #
9 9
5 9
# # # #
, t 1
( ) ( ) ( )
, t 1 ,
, t 1 9
# #
9 n 1 ( ) n 1 5 ( ) # # # # , t 1 n 1 ( )
n 1
The entries of " are elements from #$(%m). &ach element in #$(%m) can be represented by a m'tuple o(er #$(%). Then we get the binary parity check matrix for the code.
1o prove the bound %e have to sho% that no ,t or fe%er columns of H sums to Eero# ?uppose that there e2ists a non Eero code vector of ,t %eight
5v j1* v j ,* v j 9* #####v j 6 be the nonEero components of v
'et
The second matrix on the right is a square matrix. To satisfy the equality of the pre(ious expression, the determinant of the matrix must be ero.
After ta&ing out the common factor from each ro% of that determinant* %e get
1he determinant in the above equality is a Vandermonde Determinant %hich is non Eero# Hence the product on the RH? cannot be Eero# 1his is a contradiction and hence our v of ,t assumption that there e2ists a code%ord %eight is invalid# 1his implies that the minimum %eight of the t error correcting BCH code is atleast ,t01#
,t01 is usually the designed distance of the t error correcting BCH code# 1he true minimum distance of a BCH code may be greater than or equal to its designed distance#