BCH Codes By Prof G R Patil Army
BCH Codes By Prof G R Patil Army Institute of Technology, Pune
Block diagram of a DCS Format Source encode Channel encode Pulse modulate Bandpass modulate Channel Digital modulation Digital demodulation Format Source decode Channel decode Detect Demod. Sample
Types of Codes Block Codes Linear Block Codes Cyclic Codes BCH Codes RS Codes Hamming Codes Low-Density Parity-Check (LDPC) Convolutional Codes Coded Modulation (TCM)
The arithmetic of Galois field Ø A finite field is also often known as a Galois field, after the French mathematician Pierre Galois. A Galois field in which the elements can take q different values is referred to as GF(q). Ø The formal properties of a finite field are: (a) There are two defined operations, namely addition and multiplication. (b) The result of adding or multiplying two elements from the field is always an element in the field. (c) One element of the field is the element zero, such that a + 0 = a for any element a in the field.
The arithmetic of Galois field (d) One element of the field is unity, such that a • 1 = a for any element a in the field. (e) For every element a in the field, there is an additive inverse element -a, such that a + ( - a) = 0. This allows the operation of subtraction to be defined as addition of the inverse. (f) For every non-zero element b in the field there is a multiplicative inverse element b-1 such that b b-1= 1. This allows the operation of division to be defined as multiplication by the inverse. (g) The associative [a + (b + c) = (a + b) + c, a • (b • c) = [(a • b) • c], commutative [a + b = b + a, a • b = b • a], and distributive [a • (b + c) = a • b + a • c] laws apply.
The arithmetic of Galois field 2. PRIME SIZE FINITE FIELD GF(p) The rules for a finite field with a prime number (p) of elements can be satisfied by carrying out the arithmetic modulo-p. If we take any two elements in the range 0 to p — 1, and either add or multiply them, we should take the result modulo-p.
The arithmetic of Galois field Ø Binary Field A finite field which contains only the elements of 0 and 1 is called a binary field. Ø The arithmetic of addition and multiplication addition multiplication 0+0= 0 0*0= 0 0+1= 1 0*1= 0 1+0= 1 1*0= 0 1+1= 0 1*1= 1
The arithmetic of Galois field Ø Extension Field:For any positive integer m, it is possible to extend the prime field from GF(p) to GF(pm) It is called extension field. Ø Primitive element:In finite field GF(q) a is said to be primitive if a divides q-1. e. g in GF(7) field 3 is primitive. ªThe powers of primitive element generate all elements in the field.
The arithmetic of Galois field Ø Computation with Polynomial: A polynomial over GF(2). E. g. degree 1: x, 1+x Ø A polynomial over GF(2) can be added, sub etc. Ø If polynomial has even terms, divisible by X+1
The arithmetic of Galois field Ø Irreducible polynomial : It can not be decomposed as a product of lower degree polynomial i. e. can not be divisible by poly of lower degree. Ø Example : x 2 +x + 1 and x 4 +x +1 are irreducible polynomials,while x 2+1 is not. Ø The Reason : (x+1)2= x 2 +x+x + 1= x 2 +1 Ø Primitive Polynomial : Irreducible poly p(x) of degree m which divides Xn+1 where n is smallest positive integer where m=2 n -1 Ø E. g. p(x) = x 4 +x +1 divides x 15 +1
The arithmetic of Galois field Ø consider GF(24), p(x) = x 4 + x + 1
The arithmetic of Galois field Ø Properties of GF(2 m) : Ø The polynomial over GF(2) may have roots from GF(2 m) Ø If f(x) is polynomial over GF(2) and is root of f(x) and element in GF(2 m) then 2 l is also root of f(x) (Theorem 11. 2) Ø All nonzero Elements in GF(2 m) form roots of x 2 m + 1 Ø All Elements in GF(2 m) form roots of x 2 m + x
The arithmetic of Galois field Ø Minimal polynomial m m 2 Ø Any element in GF(2 ) is root of x + x. Hence may be root of polynomial over GF(2) with degree less than 2 m Ø The polynomial of smallest degree over GF(2) whose root is called minimal polynomial of Ø E. g. Minimal polynomial of 0 is x Ø Minimal polynomial of 1 is x+1 Ø If is primitive element of GF(2 m) all its 2 2 2 conjugates , … are primitive
BCH code
BCH code
BCH code
BCH code
BCH code Construction of BCH Codes : t-error correcting binary BCH code of length 2 m 1 l Find a degree m primitive polynomial p(x) over GF(2). l Use p(x) to construct GF(2^m). l Let be a primitive element of GF(2^m), i. e. is a root of p(x) in GF(2^m). l Find the Φ(x) , the minimal polynomial of ^i, for i = 1, 3, . . , 2 t 1. l Let g(x) be the minimal degree polynomial with the Φ(x) as factors, ,
BCH code
BCH code ØExample consider GF(24), p(x) = x 4 + x + 1, with tc = 2 then g(x) = LCM{φ1(x), φ3(x)} = (x 4 + x + 1)(x 4 + x 3 + x 2 + x + 1) = x 8 + x 7 + x 6 + x 4 + 1 generates a double-error-correcting binary BCH (15, 7, 5) code.
BCH code Ø Encoding of BCH: So we have got the generator polynomial g(x), the code word v(x) can be consturcted by c(x) = r(x) + x^(n-k)*m(x) Just the same as encoding the cyclic code.
Decoding algorithm of BCH Ø Let v(X)=v 0+v 1 X+····+vn-1 Xn-1 is the code polynomial of a BCH code whose length n is 2 m-1 and the error correcting ability is t , FOR 1<=i<=2 t, i is the roots of v(X),so we can get : v( i)= v 0+v 1 i +····+vn-1 i(n-1)=0 From the above property , we can construct H as follows: H= 1 2 3················· n-1 1 2 ( 2)3 ··········( 2)n-1 1 2 t ( 2 t)2 ( 2 t)3 ·······( 2 t)n-1
Decoding algorithm of BCH Ø According to the concept of conjugate element, H can be simplified as follows: Ø H= 1 2 3················· n-1 1 3 ( 3)2 ( 3)3 ··········( 3)n-1 1 2 t-1 ( 2 t-1)2 ( 2 t-1)3 ·····( 2 t-1)n-1
Decoding algorithm of BCH Ø We assume that the transmission errors occurred, v(X)=v 0+v 1 X+····+vn-1 Xn-1 changed into r(X)=r 0+r 1 X+····+rn-1 Xn-1 In the receiver side, r(X)=v(X)+e(x) s=(s 1, s 2, ·····, s 2 t)=r·HT so we can get the ith component of S: si= r( i)=r 0+r 1 i +····+rn-1 i(n-1) while r(X)=ai(x)φi(X)+bi(X) φi( i)=0 si= r( i)= bi( i)=v( i)+e( i)= e( i) let
Decoding algorithm of BCH Ø From the above analysis , we can get a series of equations about the syndrome: Any method for solving these equations is a kind of decoding algorithm for BCH define the error position polynomial as follows :
Decoding algorithm of BCH Ø The error correcting process of BCH code: 1、calculate syndrome S from the receiver polynomial r(X): s=(s 1, s 2, ·····, s 2 t) 2、get the error polynomial by s 1, s 2, ·····, s 2 t. 3、resolve the roots of ,find the position of errors , and correct the errors of r(X).
Reference Ø Error Control Coding (SECOND EDITION) Written by Shu Lin Daniel J. Costello, Jr.
- Slides: 27