the theory and technology of error control coding
DESCRIPTION
The Theory and Technology of Error Control Coding. Chapter 2 Block code ----BCH. Summary. The arithmetic of Galois field Linear Block Code Cyclic Code Code Construction of BCH Codes Decoding of binary BCH codes ---BMA. The arithmetic of Galois field. Self-sealed arithmetic : - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/1.jpg)
Wireless Mobile Communication and Transmission Lab.
Chapter 2
Block code ----BCH
The Theory and Technology of Error Control Coding
![Page 2: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/2.jpg)
Wireless Mobile Communication and Transmission Lab.
Summary
The arithmetic of Galois field Linear Block Code Cyclic Code Code Construction of BCH Codes Decoding of binary BCH codes ---BMA
![Page 3: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/3.jpg)
Wireless Mobile Communication and Transmission Lab.
The arithmetic of Galois field
Self-sealed arithmetic : If the elements of a set are still in the set by some kind of ope
ration (e.g. addition ,subtraction ,multiplication and division) ,then the set is called arithmetic seal up.
Field : the collection of arithmetic seal up elements is called field.
Finite field : a field with finite number of elements is called a finite field or Galois field , written as GF(2).
![Page 4: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/4.jpg)
Wireless Mobile Communication and Transmission Lab.
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
![Page 5: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/5.jpg)
Wireless Mobile Communication and Transmission Lab.
The arithmetic of Galois field
Irreducible polynomial : It can not be decomposed as a product of lower degree polynomial
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
![Page 6: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/6.jpg)
Wireless Mobile Communication and Transmission Lab.
The arithmetic of Galois field
GF(2m) There is a primitive element a GF(2^m), such that ev∈
ery nonzero element β in GF(2^m) can be expressed as , 0 ≤i ≤ 2^m − 2.
This element a is the root of an irreducible polynomial, called a primitive polynomial, p(x) over {0, 1}, that is, p(a) = 0.
A primitive element a of the field GF(2^m) satisfies the equation a^(2^m−1) = 1, and n = 2^m − 1 is the smallest positive integer such that a^n = 1.
i
![Page 7: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/7.jpg)
Wireless Mobile Communication and Transmission Lab.
The arithmetic of Galois field
{0 , 1 , a , a2 , a3 , ·····,a -2 } make up the elements of GF(2m) 。
EXAMPLE: Let ‘a’ be a primitive element of GF(2^3) such that p
(a) = a^3 + a + 1 = 0 and a^7 = 1. Show the ways to express the elements in GF(2^3).
m2
![Page 8: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/8.jpg)
Wireless Mobile Communication and Transmission Lab.
The arithmetic of Galois field
Minimal polynomial the minimal polynomial fi(x) of ai is the polynomial
with the smallest degree which takes ai as its root. fi
(x) has binary coefficients, and is irreducible. Conjugate Elements besides , 、 、 ····· are also the elem
ents of fi(x) , and they are called the conjugate elements of ai.
i 2i 22 i12k i
![Page 9: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/9.jpg)
Wireless Mobile Communication and Transmission Lab.
Introduction of Linear Block Code
Definition The block code whose length is n and the numbe
r of the codewords is 2k , if and only if the 2k codewords constitute a k-dimensional vector subspace of all n-dimensional vector space of the field GF (2) , the code is called a (n, k) linear code.
Necessary and sufficient condition : adding any two codewords using mold 2 addition, the result is still the codeword of the block code.
![Page 10: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/10.jpg)
Wireless Mobile Communication and Transmission Lab.
Introduction of linear block code
Encoding:(n,k) linear block code C is a k-dimensional
subspace of Vn , we can find k codewords which are linearly independent of each other,g0 , g1 , ···· , gk-1 , and make any codeword v in C be a linear combination of these k codewords.
v=u0g0+u1g1+····+uk-1gk-1
![Page 11: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/11.jpg)
Wireless Mobile Communication and Transmission Lab.
Introduction of linear block code
Taking the k-linearly independent code words as row vectors ,we can get a k*n matrix:
![Page 12: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/12.jpg)
Wireless Mobile Communication and Transmission Lab.
Introduction of linear block code
IF u= ( u0 , u1 , ·····uk-1 ) is the message sequence which is to be encoded, then the codeword V is as follows described:
v=u·G
The linear block word C is generated by the rows of the matrix G , so the matrix G is called the generator matrix of C.
![Page 13: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/13.jpg)
Wireless Mobile Communication and Transmission Lab.
Introduction of linear block code
For the linear block , the code word is divided into two parts , the message part and the redundant checking part. the message part is made up of the original message without changing, and the redundant checking part is made up of n-k parity codes. Linear block code with this construction is called systematic linear block code .
Redundant checking part Message part
n-k K
![Page 14: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/14.jpg)
Wireless Mobile Communication and Transmission Lab.
Introduction of linear block code
Generator matrix G of systematic form can be written as follows G=[P,Ik]
The matrix G of systematic form can be got from G of non-systematic form via row/columm transformation.
![Page 15: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/15.jpg)
Wireless Mobile Communication and Transmission Lab.
Introduction of linear block code
Parity-check matrix For any k*n matrix G which was made up of k lin
early independent row vectors, there exist a (n-k)*n matrix H which was made up of n-k linearly dependent row vector , and the row vectors of H are orthogonal with any row vector of G. H is called the parity-check matrix.Thus,
G·HT=0 ,that is v·HT=0
![Page 16: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/16.jpg)
Wireless Mobile Communication and Transmission Lab.
Introduction of linear block code
If G is the systematic form , then:H=[In-k,PT]
![Page 17: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/17.jpg)
Wireless Mobile Communication and Transmission Lab.
Introduction of linear block code
Decoding Let v= ( v0 , v1 , ···· , vn-1 ) is a codeword tha
t was transmitted over a noisy channel, r= ( r0 , r1 , ···· , rn-1 ) is the received code
V and R may be different,then e=v+r= ( e0 , e1 , ···· , en-1 ) e is called error pattern.
![Page 18: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/18.jpg)
Wireless Mobile Communication and Transmission Lab.
Introduction of linear block code
Syndrome
The value of syndrome is defined as follows:
![Page 19: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/19.jpg)
Wireless Mobile Communication and Transmission Lab.
Introduction of linear block code
Since While v·HT=0 so we can get s=e·HT
That is
The n - k linear equations above do not have an unique solution but have 2^k solutions . To minimize the probability of a decoding error, the most probable error pattern that satisfies the equations is chosen as the true error vector.
If the channel is a BSC, the most probable error pattern is the one that has the smallest number of nonzero digits.
![Page 20: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/20.jpg)
Wireless Mobile Communication and Transmission Lab.
Introduction of Cyclic Code
Definition A linear code that satisfies that any cyclic shift of
a codeword is still a codeword of the linear code is called Cyclic code
Advantages: a . simpler encoded mechanism because the process can be
implemented by Shift registers b . simpler decoded mechanism because of fixed
algebra structure
![Page 21: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/21.jpg)
Wireless Mobile Communication and Transmission Lab.
Introduction of Cyclic Code
Generator polynomial.
Parity-check polynomial From the equality :g ( x ) ·h ( x ) =xn+1 , we can get the parity-check polynomial h ( x )
![Page 22: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/22.jpg)
Wireless Mobile Communication and Transmission Lab.
Introduction of Cyclic Code
Encoding of cyclic code Non-systematic encoding: v(x)=u(x)g(x)
Systematic encoding: v(x)=xn-ku(x)+[xn-ku(x)modg(x)]
![Page 23: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/23.jpg)
Wireless Mobile Communication and Transmission Lab.
Introduction of Cyclic Code
General decoding of cyclic codes Let r(x) = v(x) + e(x)
e(x) the error polynomial v(x) the code polynomial
r(x) the received code polynomial
Then define the syndrome polynomial as
![Page 24: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/24.jpg)
Wireless Mobile Communication and Transmission Lab.
BCH code
BCH code which was named after the inventors (Bose- Chaudhurl-Hocquenghem), is one of cyclic code that can correct more than one errors since 1959. As the code generator polynomial is related to the minimum distance, the code construction can be easily determined by the error correcting ability. Therefore, BCH is one of the widely used error control codes .
![Page 25: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/25.jpg)
Wireless Mobile Communication and Transmission Lab.
BCH code
Definition: A BCH code of dmin ≥ 2td + 1 is a cyclic code whose ge
nerator polynomial g(x) has 2td consecutive roots:
So, a binary BCH (n, k, dmin) code has a generator polynomial:
121,``````,, dtbbb
g(x) = LCM{φb(x), φb+1(x), . . . , φb+2td−1(x)},Length n = LCM{nb, nb+1, . . . , nb+2td−1},and dimension k = n − deg[g(x)]
![Page 26: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/26.jpg)
Wireless Mobile Communication and Transmission Lab.
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 ro
ot 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, ,
![Page 27: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/27.jpg)
Wireless Mobile Communication and Transmission Lab.
BCH code
Simplification of generator matrix: According to the arithmetic of finite field , If then , while i’ is odd. i and i’ are conjugate elements ,so they have the sa
me minimal polynomial,
then the generator matrix can be simplified as follows:
![Page 28: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/28.jpg)
Wireless Mobile Communication and Transmission Lab.
BCH code
Example consider GF(24), p(x) = x4 + x + 1,with td = 2 and b =1. then
g(x) = LCM{φ1(x), φ3(x)} = (x4 + x + 1)(x4 + x3 + x2 + x
+ 1) = x8 + x7 + x6 + x4 + 1generates a double-error-correcting binary BCH (15,7,5)
code.
![Page 29: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/29.jpg)
Wireless Mobile Communication and Transmission Lab.
BCH code
Encoding of BCH: So we have got the generator polynomial g(x), the cod
e word v(x) can be consturcted by
v(x) = b(x) + X^(n-k)*m(x).Just the same as encoding the cyclic code mentioned before.
![Page 30: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/30.jpg)
Wireless Mobile Communication and Transmission Lab.
Decoding algorithm of BCH
BMA(Berlekamp-Massey Agorithm ) The BMA was invented by Berlekamp (1984), Masse
y (1969). This is a computationally efficient method to solve the key equation, in terms of the number of operations in GF(2^m).
EA(Euclidean Agorithm) Direct solution
![Page 31: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/31.jpg)
Wireless Mobile Communication and Transmission Lab.
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 2 3·································· n-1 1 2 (2)2 (2)3 ····················( 2 ) n-1
1 2t (2t)2 (2t)3 ··············( 2t ) n-1
![Page 32: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/32.jpg)
Wireless Mobile Communication and Transmission Lab.
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 2t-1 (2t-1)2 (2t-1)3 ·····( 2t-1 ) n-1
![Page 33: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/33.jpg)
Wireless Mobile Communication and Transmission Lab.
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
![Page 34: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/34.jpg)
Wireless Mobile Communication and Transmission Lab.
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 :
![Page 35: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/35.jpg)
Wireless Mobile Communication and Transmission Lab.
Decoding algorithm of BCH
The error correcting process of BCH code : 1 、 calculate syndrome S from the receiver polynomi
al r(X): s=(s1,s2,·····,s2t)
2 、 get the error polynomial by s1,s2,·····,s2t .
3 、 resolve the roots of , find the position of e
rrors ,and correct the errors of r(X).
)(X
)(X
![Page 36: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/36.jpg)
Wireless Mobile Communication and Transmission Lab.
BMA
The goal of the BMA is to find a (connection) polynomial σ^ (i+1)(x) of minimal degree that satisfies the following equations, derived from
(a)
The discrepancy at iteration i defined as
If di = 0, then the equations (a) are satisfied for
If di! = 0: Let σ ^(m)(x) be the solution at iteration m, such that −1 ≤ m < i, dm = 0,and (m − lm) is maximal. Then
![Page 37: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/37.jpg)
Wireless Mobile Communication and Transmission Lab.
BMA
With an initial value of i = 0, the computation of σ (i+1)(x) continues until the conditions i ≥ i+1 + td − 1 or i = 2td − 1 or both are satisfied. The initial conditions of the algorithm are:
![Page 38: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/38.jpg)
Wireless Mobile Communication and Transmission Lab.
BMA
Example 3.5.1 Let C be the triple-error-correcting BCH (15,5,7) code of Example 3.3.3. As a reference, to check the numerical computations, the power and vector representations of GF(2^4), with primitive polynomial p(x) = 1 + x + x4, are listed. A generator polynomial for C is
![Page 39: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/39.jpg)
Wireless Mobile Communication and Transmission Lab.
BMA
Suppose that the information polynomial is
Then the corresponding code polynomial is given by
Let
be the polynomial associated with a vector r = v + e received after transmission of code word v over a BSC channel.
![Page 40: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/40.jpg)
Wireless Mobile Communication and Transmission Lab.
BMA
The vector e corresponds to the error polynomial e(x) = 1 + x6 + x12. Obviously, the decoder does not know this. However, in computing the syndromes below, this knowledge is used to simplify expressions. The syndromes are:
![Page 41: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/41.jpg)
Wireless Mobile Communication and Transmission Lab.
BMA
Berlekamp–Massey algorithm:
![Page 42: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/42.jpg)
Wireless Mobile Communication and Transmission Lab.
BMA
![Page 43: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/43.jpg)
Wireless Mobile Communication and Transmission Lab.
BMA
![Page 44: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/44.jpg)
Wireless Mobile Communication and Transmission Lab.
BMA
Chien search and error correcting
To find the roots of σ(x), a simple trial-and-error procedure – called Chien search – is performed. All nonzero elements β of GF(2m) are generated in sequence 1, a, a^2, . . . And the condition = 0 tested.
For binary BCH codes, once the error locations j1, . . . , jv are known, the corresponding bits in the received word are complemented and the estimated code word v(x) generated.
1( )
![Page 45: The Theory and Technology of Error Control Coding](https://reader035.vdocuments.us/reader035/viewer/2022062323/56815a73550346895dc7d8aa/html5/thumbnails/45.jpg)
Wireless Mobile Communication and Transmission Lab.
Reference
The Art of Error Correction Coding (SECOND EDITION) Written by Robert H.morelos-Zaragoza
Error Control Coding (SECOND EDITION) Written by Shu Lin Daniel J.Costello,Jr.