linear block code 指導教授:黃文傑 博士 學生:吳濟廷 2004.02.10. 2 outline...

Post on 14-Dec-2015

233 Views

Category:

Documents

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Linear Block Code

指導教授:黃文傑 博士學生:吳濟廷2004.02.10

2

OUTLINE Introduction Encoding

Generator matrix Decoding

Parity check matrix Syndrome Error correction

Conclusion

3

4

Source v.s. Channel Coding Why source coding ?

Eliminate redundancy in the data Send same information in fewer bits

Why channel coding ? Combat channel effects Coding gain

5

Code taxonomy

Today

6

Linear Block Code A (n,k) block code , where

Block : encoder accepts a block of message symbols and generates a block of codeword

Linear : addition of any two valid codeword results in another valid codeword

n k

7

Code Rate Code rate

Code rate increases , error correcting capability decreases

more bandwidth efficiency Code rate decreases , error correcting capability increases

waste of bandwidth

k

n

8

Vector Space In a binary field

011

100

10+

addition multiplication

101

000

10

9

Vector Space and Subspace Vector space : set of all binary n-tuples , Vector subspace : subset S of vector space

All-zeros vector is in S Sum of any two vectors in S is also in S

nV

nV

0000 0001 0010 0011 0100 0101 0110 0111

1000 1001 1010 1011 1100 1101 1110 1111

= 16 4-tupels4

4 2V

4VSubset of

0000 0101 1010 1111

10

Vector Space structure

Packing the space with as many codewords as possible

Codewords to be as far apart from one another as possible

Linear block-code structure

nV

11

A (6,3) Linear Block Code

6-tuples 32 message vector 32

But ….. How to generate all these codewords ?

12

Generator Matrix We could use look-up table for small k But for larger k, we use the generator matrix G For (6,3) code

1

2

3

1 1 0 1 0 0

0 1 1 0 1 0

1 0 1 0 0 1

V

G V

V

1

4 2

3

1 2 3

1 1 0 1 1 0

1 1 0

1 1 0 1 0 0 0 1 1 0 1 0

1 0 1 1 1 0

V

U G V

V

V V V

The same method for the other messages….

13

Generator Matrix

11 12 1,( )

21 22 2,( )

1 2 ,( )

1 0 0

0 1 0

0 0 1

k

n k

n k

k k k n k k n

G P I

P P P

P P P

P P P

where P is the parity array

and is the k*k identity matrix

(0,1)ijp

kI

(n-k)

k

k

14

Codeword using Generator MatrixFor a (n,k) code

where

15

Parity-Check Matrix Parity-check matrix H enable us to decode For (k*n) generator matrix G, there exist an (n-k)*n

matrix H

(n-k)

k

(n-k)

16

Parity-Check Matrix It’s easy to verify that for each codeword U, ge

nerated by G and the

to check if each basis still has orthogonality

TH

1 2 1 211 21 1,( )

21 2,( )

1 2 ,( )

1 1 2 2

1 0 0

0 1 0

0

0 0 1, ,..., , , ,...,

, ,..., 0

Tn k k

n k

n k

k k k n k

n k n k

UH p p p m m mp p p

p p

p p p

p p p p p p

17

Syndrome Testing Let r be a received vector,

where is an error pattern Syndrome of r is defined

r U e

1 2, ,..., ne e e e

( )

T

T

T T

T

S rH

U e H

UH eH

eH

18

Syndrome Testing For example, if transmited

and received The syndrome

And the syndrome of error pattern

1 0 1 1 1 0U

0 0 1 1 1 0r error

1 3 1 6

6 3

1 0 0

0 1 0

0 0 10 0 1 1 1 0

1 1 0

0 1 1

1 0 1

1 1 1 1 1 1 0 0

TS rH

1 0 0 0 0 0 1 0 0T TS eH H

19

Error Correction Stand array : represent possible received vectors

contains all the correctable error

=0

coset

Coset leader

2n k

2k

(n,k) standard array

20

Standard Array Coset : a set of numbers having a common syndrome

Coset leader : correctable error patterns Received vector doesn’t mean the Tx mes

sage is for sure except the error pattern is

( ) T Ti j jS U e H e H

i jr U e

iU je

21

Error Correction Decoding Procedure Calculate syndrome of r : Locate the coset leader : Corrected codeword :

TS rH

je

jU r e

22

Example for (6,3) code

1 0 0

0 1 0

0 0 1

1 1 0

0 1 1

1 0 1

jS e

Standard array for (6,3) code

23

Example for (6,3) code Assume transmitted

received Syndrome

Use look-up table

1 0 1 1 1 0U

0 0 1 1 1 0r

0 0 1 1 1 0 1 0 0TS H

ˆ 1 0 0 0 0 0eˆ ˆ

0 0 1 1 1 0 1 0 0 0 0 0

1 0 1 1 1 0

U r e

The same as transmitted codeword !!

24

Conclusion Linear block code is easy to implement Will be extended to space-time block code Still some other kinds of code to introduce …

top related