Wireless Mobile Communication and Transmission Lab.

advertisement
The Theory and Technology of Error
Control Coding
Chapter 2
Block code ----BCH
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
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
operation (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).
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
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
Wireless Mobile Communication and Transmission Lab.
The arithmetic of Galois field
 GF(2m)
There is a primitive element a ∈ GF(2^m), such that
every nonzero element β in GF(2^m) can be expressed
i

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.
Wireless Mobile Communication and Transmission Lab.
The arithmetic of Galois field
m
2 -2
2
3
 {0,1,a,a ,a ,·····,a }
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).
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
elements of fi(x),and they are called the
conjugate elements of ai.
i
2i
2
2 i
2
k 1
i
Wireless Mobile Communication and Transmission Lab.
Introduction of Linear Block Code
 Definition
The block code whose length is n and the
number 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.
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
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:
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.
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
n-k
Message part
K
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.
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
linearly independent row vectors, there exist a (nk)*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
Wireless Mobile Communication and Transmission Lab.
Introduction of linear block code
If G is the systematic form ,then:
H=[In-k,PT]
Wireless Mobile Communication and Transmission Lab.
Introduction of linear block code
 Decoding
 Let v=(v0,v1,····,vn-1)is a codeword that
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.
Wireless Mobile Communication and Transmission Lab.
Introduction of linear block code
Syndrome
The value of syndrome is defined as follows
:
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.
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
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)
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)]
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
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 .
Wireless Mobile Communication and Transmission Lab.
BCH code
 Definition:
A BCH code of dmin ≥ 2td + 1 is a cyclic code whose
generator polynomial g(x)b hasb2td
b  2 t d roots:
1
 1 consecutive
 ,  ,``````, 
So, a binary BCH (n, k, dmin) code has a
generator polynomial:
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)]
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
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, ,
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 same minimal polynomial,
then the generator matrix can be simplified as
follows:
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 + 1
generates a double-error-correcting binary BCH
(15,7,5) code.
Wireless Mobile Communication and Transmission Lab.
BCH code
Encoding of BCH:
So we have got the generator polynomial g(x), the
code 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.
Wireless Mobile Communication and Transmission Lab.
Decoding algorithm of BCH
BMA(Berlekamp-Massey Agorithm)
The BMA was invented by Berlekamp (1984),
Massey (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
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
,we can construct H 
asn-1follows:
1  property
2 3··································
H=
1 2 (2)2 (2)3 ····················(2)n-1
1 2t (2t)2 (2t)3 ··············(2t)n-1
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
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
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 :
Wireless Mobile Communication and Transmission Lab.
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
 (X )
by s1,s2,·····,s2t .
3、resolve the roots of  ( X ) ,find the position of
errors ,and correct the errors of r(X).
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
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:
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
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.
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:
Wireless Mobile Communication and Transmission Lab.
BMA
Berlekamp–Massey algorithm:
Wireless Mobile Communication and Transmission Lab.
BMA
Wireless Mobile Communication and Transmission Lab.
BMA
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  (   1 ) = 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.
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.
Wireless Mobile Communication and Transmission Lab.
Download