Part2 3 Convolutional Codes
Part2 3 Convolutional Codes
3 Convolutional codes
p. 1
p. 2
p. 3
Convolutional encoder
p. 4
p. 5
5.7dB
4.7dB
p. 6
u1
Input data bits
u1 ,u2
u2
p. 7
Message sequence:
Time
Output
(Branch word)
Time
Output
(Branch word)
u1
u1
t1
u1 u 2
1 0 0
1 1
t2
0 1 0
u2
0 0
u2
p. 8
u1
u1 u 2
1 0 1
1 0
u2
u1
t3
u1 u 2
t4
u1 u 2
0 1 0
1 0
u2
Time
Output
(Branch word)
Time
Output
(Branch word)
u1
t5
u1
u1 u 2
0 0 1
1 1
t6
u2
m = (101)
0 0 0
0 0
u2
U = (11 10 00 10 11)
Encoder
Reff
p. 9
u1 u 2
3
1
=
< Rc =
10
2
ELEC 7073 Digital Communications III, Dept. of E.E.E., HKU
tail
Encoder
codeword
Reff =
L
< Rc
n [ L / k + ( K 1)]
Example: m=[101]
n=2, K=3, k=1, L=3
Reff=3/[2(3+3-1)]=0.3
p. 10
u1 u 2
u2
U = m g1 interlaced with m g 2
g1 = (111)
g 2 = (101)
p. 11
g1 = (100)
Generator matrix
with n vectors
g 2 = (101)
g 3 = (111)
u1 u 2
u2
m( X )g1 ( X ) = (1 + X 2 )(1 + X + X 2 ) = 1 + X + X 3 + X 4
m( X )g 2 ( X ) = (1 + X 2 )(1 + X 2 ) = 1 + X 4
m ( X ) g 1 ( X ) = 1 + X + 0. X 2 + X 3 + X 4
m( X )g 2 ( X ) = 1 + 0. X + 0. X 2 + 0. X 3 + X 4
U( X ) = (1,1) + (1,0) X + (0,0) X 2 + (1,0) X 3 + (1,1) X 4
U = 11
10
00
10
11
p. 13
g1 = (1011)
g 2 = (1101)
g 3 = (1010)
Input bit: 10 11
Output bits:
111 000
p. 15
p. 16
Initial state
0
1
b
a; b
c
0
1
c
b; c
d
0
1
d
b; d
d
p. 18
Initial state
Input bit: 10 11
Output bits:
111 000
p. 19
Each path connecting the initial state and the final state
represents a non-zero codeword that diverges from and
re-emerges with state a (all-zero state) only once.
p. 20
p. 21
T ( X ) = ad D
d
p. 22
d free = 6
X c = D X a + DX b
3
X b = DX c + DX d
X d = D2 X c + D2 X d
Xe = D Xb
2
p. 23
T ( X ) = X e X a = D 6 (1 2 D 2 )
= D 6 + 2 D 8 + 4 D10 + 8D12 + "
= ad D d
d =6
2( d 6) / 2
ad =
0
(even d )
(odd d )
Trellis Diagram
Trellis diagram is an extension of state diagram which
explicitly shows the passage of time.
All the possible states are shown for each instant of time.
Time is indicated by a movement to the right.
The input data bits and output code bits are represented by a
unique path through the trellis.
The lines are labeled with c, where c is the output.
After the second stage, each node in the trellis has 2k
incoming paths and 2k outgoing paths.
When k=1
The solid line indicates that the input bit is 0.
The dotted line indicates that the input bit is 1.
p. 24
i =1
i=2
i=3
i=4
i=5
Initial state
i =1
i=2
i=3
i=4
Input bit: 10 11 00
Output bits:
111 000 011
p. 26
p. 27
Convolutional
Encoder
Channel
c
Convolutional
Decoder
path
00000
00100
01000
01100
10000
10100
1 1 0 0 0 11 01 01 11 00
1 1 1 0 0 11 01 10 01 11
p. 28
3
4
p. 29
p. 30
Implementation:
1.
2.
Initialization:
Let Mt(i) be the path metric at the i-th node, the t-th stage in
trellis
At stage (t+1),
p. 31
Implementation (contd):
2.
At stage (t+1),
p. 32
Trellis update
At each state, pick the most likely path which has the largest
metric and delete the other paths
p. 33
Implementation (contd):
3.
4.
Trace back
The most probable path leading into the last all-zero state in
the trellis has the largest metric
Hard-decision
2 b
p = Q
N0
p. 34
(
c ' = (111
p. 36
Pe
d = d free
ad P2 ( d )
d = d free
f ( d )ad P2 ( d )
p. 38