Download as pdf or txt
Download as pdf or txt
You are on page 1of 14

Ass.Prof.Dr.

Thamer Information Theory 4th Class in Communications

BCH Codes
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
discovered by Hocquenghem in 1959 and independently by Bose
and Chaudhuri in 1960 .
For any positive integers m(m ≥ 3) and t (t< 2m-1), there
exists a binary BCH code with the following parameters:

Clearly, this code is capable of correcting any combination of


t or fewer errors in a block of n = 2 m — l digits. We call this
code a t-error-correcting BCH code.
The generator polynomial of this code is specified in terms
of its roots from the Galois field GF(2m). Let be a primitive
m
element in GF(2 ). The generator polynomial g(X) of the t-error-
correcting BCH code of length 2 m — l is the lowest-degr ee
polynomia l over GF(2) which has

….(1)

As its roots [i.e., g( i) = 0 for 1 ≤ i ≤2t. It follows that


2 2t
g(X) has , , .. ., and their conjugates as all its roots.

1
Ass.Prof.Dr.Thamer Information Theory 4th Class in Communications

Let Φi(X) be the minimal polynomial of i. Then g(X) must


be the leas t comm on m ultip le (LCM) of Φ1(X) , Φ2(X) , …..
Φ2t (X), that is,

…(2)
The generator polynomial g(X) of the binary t-error-
correcting BCH code of length 2 m — 1 given by (2) can be
reduced to

…(3)

Since the degree of each minimal polynomial is m or less,


the degree of g(X) is at most mt. That is, the number of parity-
check digits, n — k, of the code is at most equal to mt.
There is no simple formula for enumerating n — k, but if t
is small, n — k is exactly equal to mt. The parameters for all
binary BCH codes of length 2m — 1 with m ≤ 10 , are given in
Table 1. The BCH codes defined above are usually called
prim itive (or narr ow-se nse) BCH codes.

2
Ass.Prof.Dr.Thamer Information Theory 4th Class in Communications

3
Ass.Prof.Dr.Thamer Information Theory 4th Class in Communications

Example 1: Let a be a primitive element of the Galois field


GF(24) given by Table 2 , such that 1 + + 4 = 0. From
3
Table 3 , we find that the minimal polynomials of , , and 5

are

4
Ass.Prof.Dr.Thamer Information Theory 4th Class in Communications

5
Ass.Prof.Dr.Thamer Information Theory 4th Class in Communications

It follows from (3) that the double-error-correcting BCH code of


length n = 24 — 1 = 1 5 is generated by

Thus, the code is a (15, 7) cyclic code with d m i n ≥ 5. Since the


generator polynomial is code polynomial of weight 5, the
minimum distance of this code is exactly 5.

EXAMPLE 2: The triple-error-correcting BCH code of length 15


is generated by

This triple-error-correcting BCH code is a (15, 5) cyclic code with


d m i n ≥ 7. Since the weight of the generator polynomial is 7, the
minimum distance of this code is exactly 7.

Using the primitive polynomial p (X) = 1 + X + X 6 , we


may construct the Galois field GF(26) as shown in Table 4. The
minimal polynomials of the elements in GF(26) are listed in Table

6
Ass.Prof.Dr.Thamer Information Theory 4th Class in Communications

5. Using (3), we find the generator polynomials of all the BCH


codes of length 63 as shown in Table 6.

7
Ass.Prof.Dr.Thamer Information Theory 4th Class in Communications

8
Ass.Prof.Dr.Thamer Information Theory 4th Class in Communications

9
Ass.Prof.Dr.Thamer Information Theory 4th Class in Communications

10
Ass.Prof.Dr.Thamer Information Theory 4th Class in Communications

H matrix (i.e. the parity-check matrix) of the BCH code is


given as

…(4)
m
Note that the entries of H are elements in GF(2 ). Each element
in GF(2m) can be represented by a w-tuple over GF(2). If each
entry of H is replaced by its corresponding m-tuple over GF(2)
arranged in column form, we obtain a binary parity-check matrix
for the code.

Example 3: Consider the double-error-correcting BCH code of


length n = 2" — 1 =15. From Example 1 we know that this is a
(15, 7) code. Let be a primitive element in GF(24). Then the
parity-check matrix of this code is
Using (4) we get that:

11
Ass.Prof.Dr.Thamer Information Theory 4th Class in Communications

15
Using Table 2, the fact that = 1, and representing
each entry of H by its corresponding 4-tuple, we obtain
the following binary parity-check matrix for the code:

The t-error-correcting BCH code denned above indeed has


minimum distance at least 2t + 1. The parameter 2t + 1 is
usually called the desig ned d istance of the /-error-correcting
BCH code. The true minimum distance of a BCH code may or
may not be equal to its designed distance. There are many cases
where the true minimum distance of a BCH code is equal to its
designed distance. However, there are also cases where the true
minimum distance is greater than the designed distance.

12
Ass.Prof.Dr.Thamer Information Theory 4th Class in Communications

REED-SOLOMON CODES

In addition to the binary codes, there are non binary codes. In


fact, if p is a prime number and q is any power of p, there are
codes with symbols from the Galois field GF(q). These codes
are called q-ary c odes .
The special subclass of q-ary BCH codes for which s = 1 is the
most important subclass of q-ary BCH codes. The codes of this
subclass are usually called the Re ed-Solomon codes in honor of
their discoverers . A t-error-correcting Reed-Solomon code with
symbols from GF(q) has the following parameters:

We consider Reed-Solomon codes with code symbols from the


Galois field GF(2m) (i.e., q = 2m). Let be a primitive element in
GF(2m). The generator polynomial of a primitive t-error-
correcting Reed-Solomon code of length 2m — 1 is

…(5)

13
Ass.Prof.Dr.Thamer Information Theory 4th Class in Communications

The code generated by g(X) is an (n, n — 2t) cyclic code which


consists of those polynomials of degree n — 1 or less with
coefficients from GF(2m) that are multiples of g(X). Encoding of
this code is similar to the binary case.

EXAMPLE: Consider a triple-error-correcting Reed-Solomon code


with symbols from GF(24). The generator polynomial of this code
is

H.W: Find the generator polynomial g(X) for a double-error


correcting Reed- Salmon Code (RS) with GF(8) which are
generated by X3 + X2 + 1?

14

You might also like