Channel Coding Contd-Digital Communication Systems-Lecture Slides, Slides of Digital Communication Systems

Dr. Shurjeel Wyne delivered this lecture at COMSATS Institute of Information Technology, Attock for Digital Communication Systems course. In this he discussed: Channel, Coding, Linear, Block, Codes, Decoding, Hamming, Cyclic, Parity, Check, Matrix

Typology: Slides

2011/2012

Uploaded on 07/05/2012

nomi
nomi 🇵🇰

4.3

(22)

24 documents

1 / 12

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
1
1
Digital Communication
Systems
Dr. Shurjeel Wyne
Lecture 13
CH 6 Channel Coding
2
Last time, we talked about:
Linear block codes
Error detection and correction capability
Encoding of Linear block codes
pf3
pf4
pf5
pf8
pf9
pfa

Partial preview of the text

Download Channel Coding Contd-Digital Communication Systems-Lecture Slides and more Slides Digital Communication Systems in PDF only on Docsity!

1

Digital Communication

Systems

Dr. Shurjeel Wyne

Lecture 13

CH 6 – Channel Coding

2

Last time, we talked about:

Linear block codes
 Error detection and correction capability
 Encoding of Linear block codes

3

Generation of Codewords in

Linear block codes

 Encoding an (n,k) block code

 The k rows of matrix G , are linearly independent code vectors from the set {U}, and can generate all the 2k^ code vectors in { U }.

U  mG

...

U is (1 X n) codeword vector from the set of 2k^ possible codewords { U }

G is (k X n) generator matrix for the given linear block code

m is (1 x k) row vector of the k information bits

4

 Systematic block code (n,k)

 For a systematic code, the first (or last) k elements
in the codeword are information bits.&

messagebits

1 2 paritybits

U  u 1 u 2 un  p 1 p 2 pn  k m m mk

( ) matrix

identitymatrix

[ ]

k n k

k k k

k

P

I

G P I

P is the parity array portion of the generator matrix, pij = (0 or 1)

U  mG

Generation of Codewords in

Linear block codes – cont’d

7

Decoding of Linear block codes– cont’d

 Syndrome testing:

S is called syndrome of r , corresponding to the error pattern e.

Format Channelencoding Modulation

Channel Format (^) decoding Demodulation Detection

Data source

Data sink

U

r

m

m ˆ

channel

( , ,...., )errorpattern or vector

( , ,...., )receivedcodewordor vector

1 2

1 2

n

n e e e

r r r

e

r

rUe

U is one of 2 k^ n-tuples, but error pattern e (caused by noise) can force r to become one of 2 n^ n-tuples

Syndrome test performed on corrupted code vector r or on error pattern e that caused it, gives same syndrome S

8

Decoding of Linear block codes – cont’d

i  2 , 3 ,..., 2 n ^ k

 Standard array (an array of 2n^ possible received vectors)

  1. Place all valid codewords in first row
  2. For row , find a vector in of minimum weight which is not already listed in the array.
  3. Call this pattern and form the row as the corresponding coset

V n

e i i :th

zero codeword

coset

Syndrome decoding for error correction of Block codes

coset leaders (correctable error patterns)

The standard array has 2k^ columns and 2(n-k)^ rows Each entry in the standard array is an n-tuple

9

Syndrome decoding for error

correction –Cont’d

 Standard array and syndrome table decoding
  1. Calculate syndrome of r ,
  2. Locate the coset leader, , whose syndrome equals
  3. Calculate and corresponding
 Note that

 If error is corrected.

 If undetectable decoding error occurs.

T SrH e ˆ  e i U ˆ^  re ˆ m ˆ

U ˆ^  r  e ˆ( U  e) ˆ e  U  (e  e ˆ )

e ˆ  e

e ˆ  e

  • The correctable error patterns are the 2n-k^ coset leaders in the first column of the standard array
  • Decoding will be correct if, and only if, the error pattern caused by the channel is one of the coset leaders

10

Linear block codes – cont’d

 Example: Standard array for the (6,3) code

010001 100101 010110

100000 010100

010000 100100

001000 111100

000100 110011 011100 101010 101101 011010 110111 000110

000010 110111 011000 101100 101011 011111 110001 000101

000001 110101 011011 101111 101000 011100 110010 000110

000000 110100 011010 101110 101001 011101 110011 000111

 

  

Coset leaders

coset

codewords

(Correctable error patterns)

13

Hamming codes

 Example: Systematic Hamming code (7,4)
[ ]

33

T

H  I  P
[ ]
G  P I

14

Cyclic block codes

 Cyclic codes are a subclass of linear block

codes.

 Encoding and syndrome calculation are easily

performed using feedback shift-registers.

 Hence, relatively long block codes can be

implemented with a reasonable complexity.

 BCH and Reed-Solomon codes are well-known

examples of cyclic codes.

15

Cyclic block codes

 A linear (n,k) code is called a Cyclic code if
all cyclic shifts of a codeword are also a
codeword.

 Example:

1 1 0 1 2 1

()

0 1 2 1

    

n i n i n n i

i

n

u u u u u u u
u u u u
U
U

i ” cyclic shifts of U

U U U U U

U

    

( 1110 ) ( 0111 ) ( 1011 ) ( 1101 )

( 1101 ) ( 1 ) ( 2 ) ( 3 ) ( 4 )

16

Cyclic block codes

 Algebraic structure of Cyclic codes, allows expressing the n-

vector codewords as polynomials of degree (n-1) or less

 Relationship between a codeword and its cyclic shifts:

 Hence:

( ) ... degree( 1 )

1 1

2

X u 0 u 1 X u 2 X u X n-

n n

U      

U (^ i^ )( X ) Xi U ( X )modulo( Xn  1 )

By extension

U (^1 )( X ) X U ( X )modulo( Xn  1 )

( ) ( 1 )

...

( ) ...,

1

( 1 )

1 1

1 2

2 1 0 1

1

1 2

2 0 1

  

      

   

 

  

 

n n

n

n n

n n n

n n

n n

X u X

u uX uX u X u X u

X X uX uX u X u X

U

U

See Example 6.7 in book

19

Cyclic block codes

 Systematic encoding algorithm for an
(n,k) Cyclic code:
  1. Multiply the message polynomial by
  2. Divide the result of Step 1 by the generator polynomial. Let be the remainder.
  3. Add to to form the codeword
m ( X )

nk

X

g ( X ) p ( X )
p ( X ) X^ ( X )

n k

m

U ( X )

20

Cyclic block codes

 Example: For the systematic (7,4) Cyclic code with

generator polynomial

  1. Find the codeword for the message m (^1011 )

g ( X ) 1  XX^3

( 1001011 )

( ) ( ) ( ) 1

Formthecodewordpolynomial:

( 1 )( 1 ) 1

Divide ( )by ( :

( ) ( ) ( 1 )

( 1011 ) ( ) 1

7 , 4 , 3

paritybitsmessage bits

3 3 5 6

generator remainder()

3 quotient

3 5 6 2 3

3 3 2 3 3 5 6

2 3

     

        

      

    

   

U

U p m

m g

m m

m m

q g p

X X X X X X X

X X X X X X X X

X X X)

X X X X X X X X X X

X X X

n k n k

(X) (X) X

nk

nk

Parity bits Message bits

21

Cyclic block codes

  1. Find the generator and parity check matrices, G and H , respectively for a (7,4) code with g(X)=1+X+X^3

      

0 0 0 1 1 0 1

0 0 1 1 0 1 0

0 1 1 0 1 0 0

1 1 0 1 0 0 0

( ) 1 1 0 2 1 3 ( 0 , 1 , 2 , 3 ) ( 1101 )

G

g X X X X g g g g

Not in systematic form. We do the following:

row(1) row(2) row(4) row(4)

row(1) row(3) row(3)   

 

1 0 1 0 0 0 1

1 1 1 0 0 1 0

0 1 1 0 1 0 0

1 1 0 1 0 0 0

G

  0 0 1 0 1 1 1

0 1 0 1 1 1 0

1 0 0 1 0 1 1 H

I 4 (^)  4

I (^) 3  (^3) P T P

22

Cyclic block codes

 Syndrome decoding for Cyclic codes:

 Received codeword in polynomial form is given by

 The syndrome is the reminder obtained by dividing the received polynomial by the generator polynomial.

 With syndrome and Standard array, error is estimated.

 In Cyclic codes, the size of standard array is considerably reduced.

Received r^ (^ X^ ) U ( X ) e ( X^ ) codeword

Error pattern

r ( X ) q ( X ) g ( X ) S ( X ) Syndrome