Beruflich Dokumente
Kultur Dokumente
Telecommunications Engineering
DT
ELE5TEL 114
Channel Coding I
• Signal transformation to improve communication perfor-
mance by making signals robust to noise, interference
and fading.
Waveform coding
• Try to make the encoded waveforms to be as different
from each other as possible.
• Cross-correlation
T
1
Z
zij = si (t)sj (t)dt
E 0
DT
ELE5TEL 115
Structured sequences
DT
ELE5TEL 116
DT
ELE5TEL 117
Channel models
P (0/1) = P (1/0) = p
P (0/0) = P (1/1) = 1 − p
symmetric probability for the two symbols.
DT
ELE5TEL 118
(n − k)
Redundancy =
k
k
Code rate = ≤1
n
• rectangular code.
1. Addition:
0 ⊕ 0 = 0, 1 ⊕ 0 = 1, 0 ⊕ 1 = 1, 1 ⊕ 1 = 0
2. Multiplication:
DT
ELE5TEL 119
DT
ELE5TEL 120
Generator matrix
• Efficient way to perform encoding.
U = m1 V1 + m2 V2 + . . . + mk Vk
DT
ELE5TEL 121
m = [ m1 m2 ... mk ]
U = mG
Example
V1 1 1 0 1 0 0
V2 = 0
G= 1 1 0 1 0
V3 1 0 1 0 0 1
m=[ 1 1 0 ]
V1
U = [ 1 1 0 ]
V2
V3
DT
ELE5TEL 122
= V1 + V2 = [ 1 0 1 1 1 0 ]
• If m = [ m1 m2 ... mk ]
where the first part contain the parity bits and the second
part contain the message bits.
DT
ELE5TEL 123
• Orthogonal to G matrix:
G HT = 0
H = [ In−k | PT ]
UHT = m GHT = 0
DT
ELE5TEL 124
Syndrome testing
U −→ r = U + e
• Syndrome of r is defined as
Since UHT = 0
S = eHT
Example:
U=[ 1 0 1 1 1 0 ]
r=[ 0 0 1 1 1 0 ]
DT
ELE5TEL 125
1 0 0
0 1 0
0 0 1
S=[ 0 0 1 1 1 0 ] =[ 1 0 0 ]
1 1 0
0 1 1
1 0 1
p1 = m1 + m2 + m4
p2 = m1 + m3 + m4
p3 = m1 + m2 + m3
p4 = m2 + m3 + m4
where mi are the message bits and pi are the check bits.
DT
ELE5TEL 126
Solution:
(a)
1 1 1 0 1 0 0 0
1 0 1 1 0 1 0 0
G = [ P | Ik ] =
0 1 1 1 0 0 1 0
1 1 0 1 0 0 0 1
1 0 0 0 1 1 0 1
0 1 0 0 1 0 1 1
T
H = [ In−k | P ] =
0 0 1 0 1 1 1 0
0 0 0 1 0 1 1 1
(b) S = r HT = [1 0 1 0 1 0 1 0] HT = [0 0 1 1] NOT
VALID.
(c) S = r HT = [0 1 0 1 1 1 0 0] HT = [0 0 0 0] VALID.
Error correction
• Construct the standard array as follows:
DT
ELE5TEL 127
DT
ELE5TEL 128
S = rHT
Û = r + ej (= r − ej )
DT
ELE5TEL 129
Decoding example:
U=[ 1 0 1 1 1 0 ]
transmitted codeword.
r=[ 0 0 1 1 1 0 ]
received codeword.
Syndrome calculated earlier using H shown earlier
S = rHT = [ 1 0 0 ]
DT
ELE5TEL 130
ê = [ 1 0 0 0 0 0 ]
Decoded vector
Û = r + ê = [ 1 0 1 1 1 0 ]=U
correct decoding.
Question: Is it possible a non-zero error pattern produce a
syndrome S = 0? Explain. If yes, how many such error
pattern can give this results for a given (n, k)?
Answer: YES. If the error pattern itself is a valid codeword,
e.g. e = [110100] from the example in figure 6.11, then the
syndrome S = 0 by definition. There are 2k valid codeword
and only one is the zero vector. Therefore there are 2k − 1
such error patterns.
These error patterns are known as undetectable errors. The
aim of designing good codes is to ensure these error patterns
do not occur frequently.
Decoder implementation
1. Calculate syndrome.
DT
ELE5TEL 131
Cyclic codes
U = [ u0 u1 ... un−1 ]
then
U(1) = [ un−1 u0 u1 ... un−2 ]
is also a code. Any number of shifts will yield a valid
codeword.
DT
ELE5TEL 132
or
U(i) (X) = X i U(X) modulo (X n + 1)
Example: U = [ 1 1 0 1 ] (n = 4).
U(X) = 1 + X + X 3
With i = 3
X i U(X) = X 3 + X 4 + X 6
Divide X 3 U(X) by (X 4 + 1) using long division (see end of
notes for details) gives
q(X) = X 2 + 1
DT
ELE5TEL 133
U(3) (X) = 1 + X 2 + X 3
U(3) = [ 1 0 1 1 ]
g(X) = g0 + g1 X + g2 X 2 + . . . + gp X p
DT
ELE5TEL 134
Let
DT
ELE5TEL 135
g(X) = 1 + X + X 3
Message m = [ 1 0 1 1 ]
m(X) = 1 + X 2 + X 3
X n−k m(X) = X 3 (1 + X 2 + X 3 ) = X 3 + X 5 + X 6
X 3 + X 5 + X 6 = (1 + X + X 2 + X 3 )(1 + X + X 3 ) + 1
• (1 + X + X 2 + X 3 ): quotient.
• (1 + X + X 3 ): generator.
• 1: remainder.
Codeword polynomial
U=[ 1 0 0 1 0 1 1 ]
DT
ELE5TEL 136
• The remainder from Z(X) and e(X) are the same which
is S(X). Hence the syndrome obtained from dividing
Z(X) by g(X) will give information about the error.
DT
ELE5TEL 137
1. Hamming codes
(n, k) = (2m − 1, 2m − 1 − m)
where m = 2, 3, . . ..
4. Reed-Solomon codes
DT
ELE5TEL 138
m(X) = 1 + X 2
X n−k m(X) = X 4 (1 + X 2 ) = X 4 + X 6
X 4 + X 6 = X 2 (1 + X + X 2 + X 4 ) + (X 2 + X 3 )
• X 2 : quotient.
• 1 + X + X 2 + X 4 : generator.
• X 2 + X 3 : remainder.
Codeword polynomial
U=[ 0 0 1 1 1 0 1 ]
DT
ELE5TEL 139
g(X) = 1 + X + X 2 + X 5 + X 8 + X 10
(a) Find the code polynomial (in systematic form) for the
message m(X) = 1 + X 2 + X 4 .
Solution:
(a)
X n−k m(X) = X 10 (1 + X 2 + X 4 ) = X 10 + X 12 + X 14
X 10 +X 12 +X 14 = (1+X 4 )(1+X +X 2 +X 5 +X 8 +X 10 )
+(1 + X + X 2 + X 4 + X 6 + X 8 + X 9 )
Remainder is 1 + X + X 2 + X 4 + X 6 + X 8 + X 9 .
Codeword polynomial
= 1 + X + X 2 + X 4 + X 6 + X 8 + X 9 + X 10 + X 12 + X 14
DT
ELE5TEL 140
1 + X 4 + X 6 + X 8 + X 14
2 5 8 10
= (1 + X 2 + X 4 )
1+X +X +X +X +X
X + X3 + X4 + X7 + X9
+
1 + X + X 2 + X 5 + X 8 + X 10
Remainder not zero, NOT A VALID CODEWORD.
DT