EEE436 - PowerPoint PPT Presentation

About This Presentation
Title:

EEE436

Description:

... is the Reed-Solomon Code RS Codes A t-error-correcting RS code has the following ... polynomial of a t-error correcting BCH code of length 2m ... – PowerPoint PPT presentation

Number of Views:41
Avg rating:3.0/5.0
Slides: 24
Provided by: MohdN2
Category:

less

Transcript and Presenter's Notes

Title: EEE436


1
EEE436
  • DIGITAL COMMUNICATION
  • Coding

En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) nazriee_at_eng.usm.my Room 2.14
2
Error Detection and Correction Syndrome Decoding
Decoding involves parity-check information
derived from the codes coefficient matrix,
P. Associated with any systematic linear (n,k)
block code is a (n-k)-by-n matrix, H called the
parity-check matrix. H is defined as H
In-k PT Where PT is the transpose of the
coefficient matrix, P and is an (n-k)-by-k
matrix. In-k is the (n-k)-by-(n-k) identity
matrix. For error detection purposes, the parity
check matrix, H has the following
property c.HT (0 0 .. 0) (ie Null
matrix)
3
Syndrome Decoding c.HT (0 0 .. 0)
(ie Null matrix) Since cm.G, therefore m.G.HT
(0 0 . 0) This property is satisfied only
when c is correctly received. Errors are
indicated by the presence of non-zero elements in
the matrix. Let r denotes the 1-by-n received
vector that results from sending the code vector
c over a noisy channel. When there is an error,
the decoding operation will give a syndrome
vector, s whose elements contain at least 1
non-zero element.
4
Syndrome Decoding Example for the (7,4) Hamming
Code A (7,4) Hamming code with the following
parameters n7 k4, m7-43 The k-by-(n-k)
(4-by-3) coefficient matrix, P The
generator matrix, G is, G
1 1 0
0 1 1
1 1 1
1 0 1
P
1 1 0 1 0 0 0
0 1 1 0 1 0 0
1 1 1 0 0 1 0
1 0 1 0 0 0 1
G
5
Syndrome Decoding Example for (7,4) Hamming
Code Associated with the (7,4) Hamming Code is a
3-by-7 matrix, H called the parity-check
matrix. H is defined as H In-k
PT When a codeword is correctly received,
the c.HT will result in a null matrix,
otherwise it will result in a syndrome vector, s.
1 0 0 1 0 1 1
0 1 0 1 1 1 0
0 0 1 0 1 1 1
6
Syndrome Decoding Example for (7,4) Hamming
Code Example The received code vector is
1110010, check whether this is a correct
codeword c.HT 1110010
1 0 0
0 1 0
0 0 1
1 1 0
0 1 1
1 1 1
0 0 1
7
Syndrome Decoding Example for (7,4) Hamming
Code Example The received code vector is
1100010, check whether this is a correct
codeword c.HT 1100010
1 0 0
0 1 0
0 0 1
1 1 0
0 1 1
1 1 1
0 0 1
0 0 1 this is called
the error syndrome
8
Error pattern
  • Error pattern is an error vector E whose nonzero
    element mark the position of the transmission
    errors in the received codeword
  • We can work out all syndromes and find the
    corresponding error patterns and store them in a
    look up table for decoding purposes
  • For example the (7,4) Hamming code



9
Error detection correction
  • The error pattern, E is essentially the modulo-2
    sum of the correct code vector and the erroneous
    received code vector. For example , c 1110010
    and r1100010 (ie error in the 3rd bit)
  • c r E
  • 1110010 1100010 0010000
  • This error pattern corresponds to a syndrome
    vector in the look up table, 001
  • Recall that the syndrome vector, s rHT
  • s (c E)HT
  • cHT EHT
  • EHT



10
Error detection and correction
  • Therefore, the decoding procedure involves
    working out the syndrome for the received code
    vector and look up for the corresponding error
    pattern.
  • Then, modulo-2 sum the error pattern, E and the
    received vector, r , so that c r E, and the
    correct codeword can be recovered.



11
Error detection and correctionExample
  • For message word 0010, the correctly encoded
    codeword is c 1110010. Due to channel noise,
    the received code vector is r 1100010. Show
    how the decoder recover the correct codeword.
  • The decoder uses r and the HT to find the error
    syndrome, s
  • Sr.HT 001
  • 2) Using the resulting syndrome, refer the look
    up table for the corresponding assumed error
    vector, E.
  • S001 corresponds to assumed error vector, E
    0010000
  • 3) Then ex-OR E and r to recover the correct
    codeword
  • Er 0010000 1100010 1110010



12
Error detection and correctionExercise
  1. For message word 0110, the correctly encoded
    codeword is c 1000110. Due to channel noise,
    the received code vector is r 1100110. Show
    how the decoder recover the correct codeword.
  2. For message word 0110, the correctly encoded
    codeword is c 1000110. Due to channel noise,
    the received code vector is r 1100100. Show
    how the decoder performs its decoding operation.
    What is your observation and explain it.



13
BCH Codes
  • A class of cyclic codes discovered in 1959 by
    Hocquenghem and in 1960 by Bose and
    Ray-Chaudhuri.
  • Include both binary and multilevel codes
  • Identified in the form of (n,k) BCH code for
    example (15,7) BCH code
  • A t-error Binary BCH codes consist of binary
    sequences of length n 2m 1 m indicates the
    corresponding Galois Field
  • Specified by its generator polynomial, g
  • The generator polynomial is specified in terms of
    its roots from the Galois Field, GF(2m)

14
BCH Codes
  • To work out the corresponding generator
    polynomial for example (15,7) BCH code
  • First, we need to find m since n2m -1,
    therefore, for n15 m 4
  • Then we need to find the primitive polynomial for
    m4 from a specified reference table
  • Then, based on the primitive polynomial,
    construct the elements of GF(24)
  • Then find the minimal polynomials of the elements
    of GF(24) from a specified reference table
  • Then based on these minimal polynomials , we can
    work out the generator polynomial.

15
Binary BCH Codes
  • For our example, (15,7) BCH code consider a
    Galois Field with m4 GF(24)
  • A polynomial p(X) over GF(24) of degree 4 that is
    primitive is taken from the following Table of
    primitive polynomials

16
Binary BCH Codes
  • Then, based on the primitive polynomial, 1 X
    X4 construct the elements of GF(24)
  • Let alpha (?) be a primitive element in GF(2m)
  • Set p(?)1 ? ?4 0 , then ?4 1 ?
  • Using this relation, we can construct GF(24)
    elements as below

17
Binary BCH Codes
  • Then find the minimal polynomials of the elements
    of GF(24) from a specified reference table

18
Binary BCH Codes
  • Then the generator polynomial of a t-error
    correcting BCH code of length 2m 1 is given by
  • g(x) LCM ?1(X), ?2(X) , .., ?2t (X)
  • Since every even power of ? in the elements
    sequence has the same minimal polynomial as some
    preceding odd power of ? in the elements sequence
  • g(x) LCM ?1(X), ?3(X) , .., ?2t-1 (X)

19
Binary BCH Codes generator polynomial Example
A(15,7) BCH code (ie n15) m2m-1
m4 Therefore , refer to Galois Field with m4
GF(24) A polynomial p(X) over GF(24) of degree 4
that is primitive is taken the table
p(X) 1 X X4 Then, based on
the primitive polynomial, 1 X X4 construct
the elements of GF(24) Then find the minimal
polynomials of the elements of GF(24) from the
table Then the generator polynomial of a t-error
correcting BCH code of length 2m 1 is given by
g(x) LCM ?1(X), ?3(X) , .., ?2t-1 (X)

20
Binary BCH Codes generator polynomial Example
Then the generator polynomial of a t-error
correcting BCH code of length 2m 1 is given by
g(x) LCM ?1(X), ?3(X) , .., ?2t-1 (X) For
2-error correcting t2 Therefore, g(x) LCM
?1(X), ?3(X) ?1(X) 1 X X4 and ?3(X)
1 X X2 X3 X4 g(x) ?1(X). ?3(X) 1
X4 X6 X7 X8 Exercise Try out for
3-error correcting BCH code of the same length
21
Binary BCH Codes generator polynomials Example


22
Non-Binary or M-ary BCH Codes
  • Unlike binary these codes are multilevel codes
  • Operates on multiple bits rather than individual
    bits
  • The general (n,k) encoder encodes k m-bit symbols
    into blocks consisting of n2m-1 symbols of total
    m(2m-1) bits
  • Thus the encoding expands a block of k symbols to
    n symbols by adding n-k redundant symbols
  • An example of non-binary BCH code is the
    Reed-Solomon Code

23
RS Codes
  • A t-error-correcting RS code has the following
    parameters
  • Block length n 2m-1
  • Message size k symbols
  • Parity-check size n-k2t symbols
  • Minimum distance 2t 1
  • Example RS(7,4) with m3 bits
Write a Comment
User Comments (0)
About PowerShow.com