ECC-handouts lecture4-BlockCodes
ECC-handouts lecture4-BlockCodes
ECC-handouts lecture4-BlockCodes
Lecture Notes
V. Kühn | Error Control Coding | Forward Error Correcting Codes → General linear block codes 124 / 385
Questions and Examples
Questions
Examples
n = 10
10−3
uncoded
10−4 uncoded
10−5 soft decoding
hard decoding
10−6
−10 −5 0 5 10 15 −10 −5 0 5 10 15
10 log10 (Es /N0 ) in dB → 10 log10 (Eb /N0 ) in dB →
100 uncoded
Hard, BMD
10≠1 Soft, MLD
10≠2
Pw æ
10≠3
10≠5
10≠6
0 1 2 3 4 5 6 7 8 9 10 11 12
10 log10 (Eb /N0 ) in dB æ
V. Kühn | Error Control Coding | Forward Error Correcting Codes → General linear block codes 127 / 385
Generator Matrix of Linear Block Codes
• Each row contains valid code word
g0,0 ... g0,n−1
.. .. ..
G= . . .
gk−1,0 . . . gk−1,n−1
• Encoding: c = u · G mod q
in the sequel, all calculations are carried out mod q
• Code: Γ = {c = uG mod q|u ∈ GF(q)k }
1 0
G = [Ik |Pk×n−k ] = ..
. Pk×n−k
0 1
V. Kühn | Error Control Coding | Forward Error Correcting Codes → General linear block codes 128 / 385
Parity Check Matrix of Linear Block Codes Return
1 1 0
1 1 1
G= 1 1...1 H = ... .. n−1
h i
.
0 0 0
1 0 1
| {z }
n
0 0 0 1 1 1 1
• Parity Check Matrix
0 1 1 1 1 0 0
H= 1 0 1 1 0 1 0
1 1 0 1 0 0 1
• Perfect code: columns of H represent all 2n−k − 1 syndromes
(except 0)
• For appropriate H: position of syndrome s corresponds to position
of error in y → encoder is not systematic any more!
V. Kühn | Error Control Coding | Forward Error Correcting Codes → General linear block codes 131 / 385
Hamming code
• An (n, n − r, 3)q -Hamming code of rank r has length n = qq−1
−1 r
• Examples for q = 2: (3, 1), (7, 4), (15, 11), (31, 26), (63, 57),
(127, 120)
• Hamming codes are perfect codes, i.e. the number of distinct
syndromes equals the number of correctable errors.
V. Kühn | Error Control Coding | Forward Error Correcting Codes → General linear block codes 132 / 385
Simplex and Walsh-Hadamard Code
• Simplex code
• Exchanging G and H of Hamming code (dual code)
• All code words have same pair-wise Hamming distance dH = 2r−1
• (7, 4, 3)2 Hamming code → (7, 3, 4) Simplex code
• Walsh-Hadamard Code
• Extension of Simplex code by a zero in front of each code word
• BPSK mapping (1 → −1, 0 → +1) yields orthogonal code words
• Used as CDMA spreading codes in UMTS
+1 +1 +1 +1 +1 +1 +1 +1
+1 +1 +1 +1 −1 −1 −1 −1
00111100
h i +1
+1
+1
+1
−1
−1
−1
−1
−1
+1
−1
+1
+1
−1
+1
−1
G= 0 1 0 1 1 0 1 0
Γ=
+1 −1 −1 +1 +1 −1 −1 +1
01101001 +1 −1 +1 −1 −1 +1 −1 +1
+1 −1 −1 +1 −1 +1 +1 −1
+1 −1 +1 −1 +1 −1 +1 −1
V. Kühn | Error Control Coding | Forward Error Correcting Codes → General linear block codes 133 / 385
System Model with AWGN and Hard-Input Decoding
u c x
digital channel BPSK
source encoder
Rc = k/n
w
û c̃ y
digital channel hard
sink decoder decision
BSC
s = c̃ · HT mod q = (c + e) · HT mod q
T T
=c·H mod q +e · H mod q = e · HT mod q
| {z }
=0
correctable
V. Kühn | Error Control Coding | Forward Error Correcting Codes → General linear block codes 136 / 385
Error Correction by Syndrome Decoding
Principle of Syndrome Decoding
• Syndrome decoding
1. Compute syndrome s = c̃ · HT mod q
ĉML = c̃ − ê(s)
• Graph-based decoding
• Iterative soft-in soft-out decoding algorithms (see LDPC codes)
V. Kühn | Error Control Coding | Forward Error Correcting Codes → General linear block codes 139 / 385