Mod 6 Turbo
Mod 6 Turbo
⚫ Satellite Communications
⚫ …
Basic Concept of Turbo Codes
Invented in 1993 by Alian Glavieux, Claude Berrou
and Punya Thitimajshima
Basic Structure:
a) Recursive Systematic Convolutional (RSC)
Codes
b) Parallel concatenation and Interleaving
c) Iterative decoding
Recursive Systematic Convolutional Codes
+ +
+ +
c2 c2
s1 (1 0) 11 11 11 11
00 00 00 00
10 10 10 10 10
s2 (0 1) 01 01 01 01 01
01 01 01 01
s3 (1 1) 10 10 10 10
Systematic Recursive Encoder Trellis Diagram
00 00 00 00 00 00
s0 (0 0)
11 11 11 11 11 11
s1 (1 0) 11 11 11 11
00 00 00 00
10 10 10 10 10
s2 (0 1) 01 01 01 01 01
01 01 01 01
s3 (1 1) 10 10 10 10
Non-Recursive & Recursive Encoders
⚫ Non Recursive and
recursive encoders
both have the same
trellis diagram
structure
⚫ Generally Recursive
encoders provide
better weight
distribution for the
code
⚫ The difference
between them is in
the mapping of
information bits to
codewords
Parallel Concatenation with Interleaving
xk xk
rk xk*
RSC Decoder 1
π-1 π
RSC Decoder 2
12
Turbo Coded System Model
u=[u1, …, uk, …,uN] xs ys
DEMUX
Encoder 1 x y Turbo u*
MUX
Channel
Decoding
N-bit
π
Interleaver
RSC x2p y2p
Encoder 2
y = [y1s, y11p, y12p, …, yNs, yN1p, yN2p] : vector of 3N received symbols corresponding to turbo-coded bits of u
ys = [y1s, …, yks, …,yNs] : vector of N received symbols corresponding to systematic bits in xs
y1p = [y11p, …, yk1p, …,yN1p] : vector of N received symbols corresponding to first encoder parity bits in x1p
y2p = [y12p, …, yk2p, …,yN2p] : vector of N received symbols corresponding to second encoder parity bits in x2p
u* = [u1*, …, uk*, …,uN*] : vector of N turbo decoder decision bits corresponding to u
13
Log-Likelihood Ratio (LLR)
The LLR of an information bit uk is given by:
Pr uk = +1
L uk = ln
Pr u = −1
k
1 − Pr uk = +1
e k
Lu
1
Pr uk = +1 = =
1+ e k 1+ e k
Lu −L u
e k
−L u
Pr uk = −1 =
1+ e k
−L u
14
Maximum A Posteriori Algorithm
u=[u1, …, uk, …,uN] xs ys
DEMUX
Encoder 1 x y Turbo u*
MUX
Channel
Decoding
N-bit
π
Interleaver
RSC x2p y2p
Encoder 2
Pr uk = +1 y
L uk y = ln
Pr uk = −1 y
+1 L uk y 0
( )
uk * = sign L uk y =
−1 otherwise
15
Some Definitions & Conventions
u=[u1, …, uk, …,uN] xs ys
DEMUX
Encoder 1 x y Turbo u*
MUX
Channel
Decoding
N-bit
π
Interleaver
RSC x2p y2p
Encoder 2
uk ykp
y = [y a ,y ,y a ,...,y b ,y ,y b ]
b
a
s
a
1p 2p s
b
1p 2p
Sk-1 Sk
s0 s0
y = yN1
s1 s1
( s',s ) Sk −1 = s',Sk = s
s2 s2
Pr Sk = s Sk −1 = s' = Pr uk ( s ',s) uk=-1
uk=+1
s3 s3
16
Derivation of LLR
uk ykp
Define S(i)
as the set of pairs of states Sk-1 Sk
(s’,s) such that the transition from s0 s0
Sk-1=s’ to Sk=s is caused by the input
uk=i, i=0,1, i.e.,
s1 s1
Pr B A =
Pr S k −1 = s',Sk = s, yN1 Pr A
Pr uk = i yN1 = S( i )
Pr yN1
17
Derivation of LLR
Pr S k −1 = s',Sk = s, yN1
Pr uk = i yN1 = S( i )
Pr yN1
Define
Pr u = +1 yN
1
L uk y1 = ln
N k
N
Pr uk = −1 y1
18
Derivation of LLR
σ k ( s',s ) = Pr Sk −1 = s',Sk = s, yN1
k-1
Sk , yk depends only on Sk-1 and is independent on y1
19
Derivation of LLR
αk ( s ) = Pr Sk = s, yk1
βk ( s ) = Pr yNk+1 Sk = s
αk −1 ( s' ) γk ( s',s ) βk ( s )
(1)
L uk y1 = ln S
N
αk −1 ( s' ) γk ( s',s ) βk ( s )
S( 0 )
20
Derivation of LLR
S0 Sk-1 Sk Sk+1 SN
s0
s1
s2
s3
αk −1 ( s' ) γk ( s',s ) βk ( s )
y= y1 yk-1 yk yk+1 yN
21
Computation of αk(s)
αk ( s ) = Pr Sk = s, yk1 = Pr S k −1 = s',Sk = s, yk1
all s '
Example
αk ( s ) = α ( s' ) γ ( s',s )
k −1 k
all s '
22
Computation of αk(s)
αk ( s ) = α ( s' ) γ ( s',s )
k −1 k Forward Recursive Equation
all s '
Given the values of γk(s’,s) for all index k, the probability αk(s) can be
forward recursively computed. The initial condition α0(s) depends on
the initial state of the convolutional encoder
23
Computation of βk(s)
βk ( s ) = Pr yNk+1 Sk = s
Given the values of γk(s’,s) for all index k, the probability βk(s) can be
backward recursively computed. The initial condition βN(s) depends
on the final state of the trellis
First encoder usually finishes at state s0 βN ( s0 ) = 1, βN ( s ) = 0 s 0
γk ( s',s ) = Pr y k x k Pr a uk
Pr yk xk = Pr yk s xk s Pr yk p xk p
25
Computation of γk(s’,s)
(y ) (y )
2 2
k
s
− xk s k
p
− xk p
1 − 1 −
Pr yk xk = e 2σ 2
e 2σ 2
2πσ 2 2πσ 2
(y ) (y )
2 2
k
s
− xk s k
p
− xk p
1 − −
Pr yk xk = e 2σ 2
e 2σ 2
2πσ 2
Pr uk = +1
L uk = ln
Pr u = −1
a
k
e k
−La u
1
Pr a uk = +1 = −L uk
a ,Pr a uk = −1 = −La uk
1+ e 1+ e
−L uk 2 a
e
Pr uk =
uk La uk 2
a
e
1 + e−La uk
( yk s − xk s ) ( yk p − xk p ) −La uk 2
2 2
γk ( s',s ) = 1 −
−
e uk La uk 2
1 + e−La uk
e 2σ 2
e 2σ 2
e
2πσ 2
26