410 likes | 680 Views
BCH Codes. By Prof G R Patil Army Institute of Technology, Pune. Block diagram of a DCS. Source encode. Channel encode. Pulse modulate. Bandpass modulate. Format. Digital modulation. Channel. Digital demodulation. Source decode. Demod. Sample. Channel decode. Format. Detect.
E N D
BCH Codes ByProf G R Patil Army Institute of Technology, Pune
Block diagram of a DCS Source encode Channel encode Pulse modulate Bandpass modulate Format Digital modulation Channel Digital demodulation Source decode Demod. Sample Channel decode Format Detect
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 additionmultiplication 0+0=00*0=0 0+1=10*1=0 1+0=11*0=0 1+1=01*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 : x2 +x + 1 and x4 +x +1 are irreducible polynomials,while x2+1 is not. • The Reason : (x+1)2= x2 +x+x + 1= x2 +1 • Primitive Polynomial : Irreducible poly p(x) of degree m which divides Xn+1 where n is smallest positive integer where m=2n -1 • E.g. p(x) = x4 +x +1 divides x15 +1
The arithmetic of Galois field • consider GF(24), p(x) = x4 + x + 1
The arithmetic of Galois field • Properties of GF(2m) : • The polynomial over GF(2) may have roots from GF(2m) • If f(x) is polynomial over GF(2) and is root of f(x) and element in GF(2m) then 2l is also root of f(x) (Theorem 11.2) • All nonzero Elements in GF(2m) form roots of x2m + 1 • All Elements in GF(2m) form roots of x2m + x
The arithmetic of Galois field • Minimal polynomial • Any element in GF(2m) is root of x2m + x. Hence may be root of polynomial over GF(2) with degree less than 2m • The polynomial of smallest degree over GF(2) whose root is 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(2m) all its conjugates 2, 22… are primitive
BCH code Code Construction of BCH Codes : t-error correcting binary BCH code of length 2m 1 • Find a degree m primitive polynomial p(x) over GF(2). • Use p(x) to construct GF(2^m). • Let be a primitive element of GF(2^m), i.e. is a root of p(x) in GF(2^m). • Find the Φ(x) ,the minimal polynomial of ^i, for i = 1, 3, .., 2t 1. • Let g(x) be the minimal degree polynomial with the Φ(x) as factors,,
BCH code • Example consider GF(24), p(x) = x4 + x + 1,with tc = 2 then g(x) = LCM{φ1(x), φ3(x)} = (x4 + x + 1)(x4 + x3 + x2 + x + 1) = x8 + x7 + x6 + x4 + 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)=v0+v1X+····+vn-1Xn-1 is the code polynomial of a BCH code whose length n is 2m-1 and the error correcting ability is t , FOR 1<=i<=2t, i is the roots of v(X),so we can get : v(i)= v0+v1 i +····+vn-1 i(n-1)=0 From the above property ,we can construct H as follows: H= 1 23··································n-1 1 2 (2)2 (2)3····················(2)n-1 1 2t (2t)2 (2t)3··············(2t)n-1
Decoding algorithm of BCH • According to the concept of conjugate element, H can be simplified as follows: • H= 1 23··································n-1 1 3 (3)2 (3)3····················(3)n-1 1 2t-1 (2t-1)2 (2t-1)3·····(2t-1)n-1
Decoding algorithm of BCH • We assume that the transmission errors occurred,v(X)=v0+v1X+····+vn-1Xn-1 changed into r(X)=r0+r1X+····+rn-1Xn-1 In the receiver side, r(X)=v(X)+e(x) s=(s1,s2,·····,s2t)=r·HT so we can get the ith component of S: si= r(i)=r0+r1 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=(s1,s2,·····,s2t) 2、get the error polynomial by s1,s2,·····,s2t . 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.