linear block code 指導教授:黃文傑 博士 學生:吳濟廷 2004.02.10. 2 outline...
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 …