Beruflich Dokumente
Kultur Dokumente
Introduction
Declarations and definitions, general principle of channel coding
Structure of digital communication systems
Convolutional Codes
Structure, algebraic and graphical presentation
Distance properties and error rate performance
Optimal decoding with Viterbi algorithm
Universitt
Bremen
1 2
1 2
n-1
1 2
m=2
110
0
11
u(l)
0011001
001100
00110
0011
001
00
0
g10 =1
u(l-1)
0
10
g20 =1
g11 =1
g12 =1
u(l-2)
01
0
g21 =0
g22 =1
1110
Universitt
Bremen
u (l )
1
0
0
1
1
0
0
state
00
10
01
00
10
11
01
following state
10
01
00
10
11
01
00
output
11
10
11
11
01
01
11
Block codes:
Code words x are independent
Universitt
Bremen
Universitt
Bremen
g1 = g1,0
g1,1
g1,2
g 2 = g 2,0
g 2,1
g 2,2 = [1 0 1] 58
u(l)
g10 =1
g11 =1
u(l-1)
g20 =1
g12 =1
u(l-2)
g21 =0
g22 =1
m
i =0
g ,i ul 1 mod 2
Volker Khn Channel Coding I
i =0
xi z
D-Transform
X ( D) =
i =0
Generator polynomials
G ( D ) =
m
i =0
g ,i D i
Example
xi D i
X ( D ) = [ X 1 ( D)
X 2 ( D)
X n ( D)] = U ( D ) G ( D )
Gn ( D) ]
x1(l)
Generator polynomials
G1 ( D ) = 1 + D + D
G2 ( D ) = 1 + D
u(l)
u(l-1)
Encoding
x2(l)
X ( D ) = [ X 1 ( D)
X 2 ( D)]
= U ( D ) G1 ( D )
U ( D ) G2 ( D )
= (1 + D 3 + D 4 ) (1 + D + D 2 )
(1 + D
= 1 + D + D 2 + D3 + D 6
[11
Universitt
Bremen
u(l-2)
+ D 4 ) (1 + D 2 )
1 + D 2 + D3 + D 4 + D5 + D6
10 11 11 01 01 11]
Volker Khn Channel Coding I
g11 =1
g10 =1
u(l-1)
g20 =1
g12 =1
g21 =0
g22 =1
0/11
0/10
10
u(l-2)
00
01
1/00
1/01
0/01
11
1/10
Universitt
Bremen
00
00
0/11
10
0/10
10
01
1/00
1/01
1/11
0/11
1/00
0/10
01
1/01
0/01
11
0/01
11
1/10
Universitt
Bremen
0/00
l=0
l=1
l=2
1/10
l=3
l=4
10
Universitt
Bremen
11
12
U ( D)
A( D) =
G1 ( D)
A( D)
m
i =0
g1,i Di = U ( D)
m
i =1
g1,i a (l i ) = u (l )
a (l ) = u (l ) +
m
i =1
g1,i a (l i )
13
U ( D)
1 + D + D2
a (l ) = u (l ) + a(l 1) + a (l 2)
0/00
x1 ( l )
1/11
g11 =1
a(l)
u(l)
a(l-1)
g20 =1
g12 =1
g21 =0
g22 =1
01
0/00
0/01
x2 ( l )
Universitt
Bremen
1/11
1/10
10
a(l-2)
00
0/01
11
1/10
14
U ( D)
1 + D2
a(l ) = u (l ) + a(l 2)
0/00
x1 ( l )
g11 =0
a(l)
u(l)
a(l-1)
g20 =1
g12 =1
g22 =1
1/11
01
0/00
1/10
x2 ( l )
Universitt
Bremen
00
0/01
10
a(l-2)
g21 =1
1/11
1/10
11
0/01
15
g11 =0
g10 =1
u(l-1)
g20 =1
g12 =1
g21 =1
g22 =0
0/10
0/01
10
u(l-2)
00
01
1/01
1/10
0/11
11
1/00
Universitt
Bremen
16
G=
G1
G0
Gm
G1
Gm
G0
G1
Gm
G0
Universitt
Bremen
with
G i = g1,i
g 2,i
g n ,i
G1
G0
17
G0
Generator matrix: G =
G1
G0
RcTail =
Gm
G1
Gm
G0
Universitt
Bremen
N
N
= Rc
n ( N + m)
N +m
G1
Gm
18
G0
G1
G0
Gm
G1
Generator matrix: G =
Gm
G0
G1
Gm
Gm
G0
G1
Universitt
Bremen
Gm
G1
G0
19
20
WD2L
10
Sa
11
DL
WL
DL
01
D2L
00
Se
L = sequence length
W = weight of uncoded input sequence
D = weight of coded output sequence
S10 = WD 2 L S a + WL S01
S01 = DL S10 + DL S11
S11 = WDL S11 + WDL S10
Solution:
Se
WD 5 L3
=
=: T (W , D, L )
2
Sa 1 WDL WDL
Se = D 2 L S01
Universitt
Bremen
21
+W 2 D 6 L4 + W 2 D 6 L5
+W 3 D 7 L5 + 2W 3 D 7 L6 + W 3 D 7 L7 +
=
Tw,d ,l W w D d Ll
w
Interpretation:
1 sequence of length l = 3 with input weight w = 1 and output weight d = 5
1 sequence with input weight w = 2 and output weight d = 6 of length l = 4
and l = 3
1 sequence with input weight w = 3 and output weight d = 7 of length l = 5
and l = 7 and 2 sequences of length l = 6
Universitt
Bremen
22
00
0/11
1/00
1/11
10
0/10
01
1/01
0/01
11
l=0
Universitt
Bremen
l=1
l=2
1/10
l=3
l=4
l=5
l=6
l=7
23
aS p b
p =0
a: state transition of state 0 into all other states with parameters W, D and L
S: state transition between states S01 up to S11 (without state 0)
b: state transitions of all states into state 0
S01 S10
S11
a = 0 WD 2 L 0
WDL
WDL
00
WD2L
Sa
Universitt
Bremen
10
11
DL
WL
0 WL
0
S = DL 0 WDL
DL 0 WDL
DL
01
D2L
00
Se
Transition from
S01
S10
S11
D2 L
b= 0
0
24
Tl = 4 (W , D, L ) = aS 2b = WD3 L2
WL
D2 L
DL
DL
0
0
WDL
WDL
0
0
0 W 2 D 3 L2
D2 L
= WD 3 L2
WL
D2 L
DL
DL
0
0
WDL
WDL
0
0
Tl =5 (W , D, L ) = aS3b = W 2 D 4 L3 W 2 D 3 L3 W 3 D 4 L3
0 W 2 D 3 L2
0
0
= WD5 L3
D2 L
= W 2 D 4 L3 W 2 D3 L3 W 3 D 4 L3
WL
D2 L
DL
DL
0
0
WDL
WDL
0
0
0
0
= W 2 D 6 L4
= W 2 D 6 L5 + W 3 D 7 L5
Tl 5 (W , D, L ) = WD 5 L3 + W 2 D 6 L4 + W 2 D 6 L5 + W 3 D 7 L5
Universitt
Bremen
25
Tw,d ,l
w
Number of information bits equal to one (w=1) for all sequences with
Hamming weight d
T (W , D, L = 1)
=
W
W =1
cd =
cd D d
d
w Tw,d ,l
w
Universitt
Bremen
w Tw,d ,l D d =
26
10log10( cd )
10log10( cd )
Universitt
Bremen
27
Universitt
Bremen
p1,0
p1,1
p1, LP 1
p2,0
p2,1
p2, LP 1
pn ,0
pn ,1
pn , LP 1
= p0
p1
p LP 1
28
RC =
LP
LP + 1
l = ( n 1) LP
RC =
LP
1
=
LP n n
29
u(l)
g10 =1
g11 =1
u(l-1)
g20 =1
g12 =1
u(l-2)
g21 =0
1 1 0
P=
1 0 1
x(l)
g22 =1
x2(l)
Encoded sequence
Transmit sequence
30
xn ( 0 )
x1 ( N 1)
xn ( N 1) )
x (0)
x ( N 1)
The received sequence is y, x is the estimated coded sequence and
a
denotes an arbitrary coded sequence
Pr {x }
Pr {a}
p(y a)
p ( y)
p ( y)
p ( y x ) Pr {x } p ( y a ) Pr {a}
Universitt
Bremen
)
31
x = arg max p ( y a )
a
For equally likely input sequences the MAP criteria and ML criteria
yield the identical (optimal) result
If the input sequences are not equally likely but the input statistic
Pr{a} is not known by the receiver the ML criteria is suboptimal
Universitt
Bremen
32
N 1
p ( y a ) = p y ( l ) a ( l ) = p yi ( l ) ai ( l )
l =0
l = 0 i =1
Joint probabilities
can be factorized
N 1 n
ln p ( y a ) = ln p y ( l ) a ( l ) =
l =0
l = 0 i =1
ln p yi ( l ) ai ( l ) =
N 1 n
yi ( l ) ai ( l )
l = 0 i =1
( ) i ( ))
( ) i ( ))
/ Ts
AWGN channel:
p yi ( l ) ai ( l ) =
Universitt
Bremen
1
e
N 0 / 2 / Ts
2
yi ( l ) ai ( l ) )
(
N 0 / 2 / Ts
Es / Ts
Es / Ts
33
( yi ( l ) ai ( l ) )
yi ( l ) ai ( l ) = ln p yi ( l ) ai ( l ) = C
( yi ( l ) ai ( l ) )
yi ( l ) ai ( l ) = 2
N 0 / Ts
N 0 / 2 / Ts
2
minimize
Correlation metric
yi ( l ) ai ( l )
y (l )
y ( l ) ai ( l )
a (l )
2 y (l )
y ( l ) ai ( l )
E
=C i
+2 i
i
=C i
4 i
2 s
N 0 / 2 / Ts
N 0 / 2 / Ts N 0 / 2 / Ts
N 0 / Ts
N 0 / Ts
N0
2
yi ( l ) ai ( l ) =
Universitt
Bremen
4
4E
yi ( l ) ai ( l ) = s yi ( l )
N 0 / Ts
N0
Volker Khn Channel Coding I
constant
maximize
34
Viterbi Algorithm
1) Start trellis in state 0
2) Calculate (y(l)|a (l)) for y(l) and any possible code words a (l)
3) Add the incremental path metric to the old cumulative state metric Mj(l-1),
j = 0,,2m-1
4) Select for each state the path with lowest Euclidian distance (largest
correlation metric) and discard the other paths
effort increases only linearly with observation length and not exponential
5) Return to step 2) unless all N received words have been processed
6) End of the Trellis
7) Trace back the path selected in 6) (survivor) and output the corresponding
information bits
Universitt
Bremen
35
-1 -1
00
+1 -1
2
2
-2
10
-2
0
-4
l=0
l=1
0
0
11
l=2
00
0
1
01
-2
0 2
l=3
-2
0 4
4
l=4
11
-2
2 6
1
00
l=5
6
2
-2
0
4
-1 +1
4
2
0
+1 -1
4
-2
-2
11
2
2
01
+1 +1
-2
0
2
Universitt
Bremen
+1 +1
0
2
-2 8
6
-2
l=6
36
Punctured Codes
Placeholders for the punctured bits have to be inserted into the received
sequence prior to decoding (zeros for antipodal transmission). As the
distance properties are degraded by puncturing, the decision depth
should be extended.
Universitt
Bremen
37
Error bounds
An error occurs if the conditional probability of the correct code
sequence x is lower as the probability for another sequence a x
Probability of an error
Pw = Pr ln p ( y x ) < ln p ( y a )
= Pr
N 1
l =0
= Pr
N 1
l =0
= Pr
y (l ) x (l ) <
y (l ) x (l ) <
N 1 n
l = 0 i =1
l =0
l =0
y (l ) a (l )
y ( l ) a ( l ) = Pr
)
N 1 n
l = 0 i =1
yi ( l ) xi ( l ) <
N 1 n
l = 0 i =1
yi ( l ) ai ( l )
2 ( ai ( l ) xi ( l ) ) yi ( l ) > 0
=
Universitt
Bremen
N 1
N 1
4 Es / Ts
0
for all ai ( l ) xi ( l )
else
38
Error bounds
Pair wise error probability Pd of
sequences a and x with distance
d = dH(a,x)
Pd = Pr
N 1 n
l = 0 i =1
yi ( l ) > 0
xi ( l ) ai ( l )
Mean
Y = d Es / TS
Variance
Y2 = d N 0 / 2 / Ts
Es
1
= erfc
2
N0
dRc
Eb
N0
39
ad Pd =
d
1
ad erfc
2
dRc
Eb
N0
Universitt
Bremen
cd erfc
d
dRc
Eb
N0
40
Example (1)
Example: half-rate code with generators g1 = 78 and g2 = 58
Estimation of the sequence error probability
T (W , D, L ) =
d =5
W d 4 D d Ld 2 (1 + L )
T (W = 1, D, L = 1) =
Pb
Universitt
Bremen
2 d 5 D d
ad = 2d 5
d =5
T (W = 1, D, L = 1)
W
d 5
=
W =1
d =5
( d 4 ) 2d 5 erfc
( d 4 ) 2d 5 D d
dRc
cd = ( d 4 ) 2d 5
Eb
N0
41
Example (2)
Comparison of simulation and analytical estimation
10
Simulation
d=5
d=6
d=7
d=20
-1
10
-2
10
BER
-3
10
-4
10
-5
10
Eb / N 0 in dB
Universitt
Bremen
42
10
none
q=
q=2
q=8
-1
10
Hard-Decision (q = 2):
Strong performance
degradation
-2
BER
10
-3
10
-4
10
-5
10
Universitt
Bremen
Eb / N 0 in dB
43
10
Lc=3
Lc=5
Lc=7
Lc=9
-1
10
-2
-3
10
-4
10
-5
10
10
10
-1
10
-2
BER
BER
10
10
-3
10
-4
10
-5
Rc=1/4
Rc=1/3
Rc=1/2
Rc=2/3
Rc=3/4
Eb / N 0 in dB
Eb / N 0 in dB
Universitt
Bremen
44