MLSE (Viterbi Algorithm) equalizer deinterleaving convolutional decoder bk cn rn Ï n c. 8. Turbo Equalization equalizer deinterleaving convolutional decoder bk.
Turbo Equalization André Fonseca dos Santos Dayan Adionel Guimarães 1
Outline • The discrete model of the channel with ISI. • The turbo principle applied to iterative equalization and decoding: Turbo Equalization. • The BCJR algorithm applied to equalization and convolutional decoding. • Example of Turbo Equalization. • Results and discussion. • Turbo Equalization using the “Interference Canceler (IC)”. 2
1
Introduction • Turbo codes were invented by Berrou, Glavieux and Thitimajshima in 1993 [Ber93]. • Turbo Equalization was proposed first by Douillard, Jezequel, Berrou, Picart, Didier, and Glavieux in 1995. • A simplified Turbo Equalizer was proposed by Glavieux, Laot, and Labat in 1997. 3
Transmission System bk
convolutional encoder
e(t )
cn
interleaving
cnπ
e(t ) BPSK
r (t ) MP channel
4
2
Multipath Channel (MP)
δ (t − τ 2 )
δ (t )
δ (t − τ1 )
5
Multipath (MP) channel
c πn
T
g1
T
g2
gN ∑
wn rn g n → taps of the channel
wn → aditive noise 6
3
Conventional system
• Equalization and decoding separately. • Equalization: Filtering (LMS, DFE) MLSE (Viterbi Algorithm)
rn
equalizer
cnπ deinterleaving cn convolutional bk decoder
7
Turbo Equalization
rn
equalizer
cnπ deinterleaving cn convolutional bk decoder
cooperation
8
4
MP channel as a Markov chain cπn
T
g1
T
g2
gN ∑
wn
s0
s0
input + 1
s1
s1
rn
input - 1
s2
s2
s3
s3
time
(n − 1)
n
9
Transmission model with MP channel
channel/inner encoder
bk
convolutional encoder/outer encoder
cn
interleaving
cnπ T g1
T gN
g2
∑ wn
vn rn
10
5
SISO device input
SISO
output
P( x = +1) Log-Likelihood Ratio (LLR) = ln P( x = −1) •A hard decision can be done based on the signal of the LLR •The reliability of the decision is related to by the magnitude of the LLR. 11
Maximum A Posteriori (MAP) Equalizer rn
( )
LEa cnπ
MAP equalizer
( )
LE cnπ
P(cnπ = +1 | r ) LE (cnπ ) ≡ ln π P(cn = −1 | r )
P (cnπ = +1 | r ) LE (cnπ ) ≡ ln , using Bayes' Rule : π P (cn = −1 | r )
p(r | cnπ = +1) P(cnπ = +1) ≡ LEe (cnπ ) + LEa (cnπ ) + ln = ln π π p(r | cn = −1) P(cn = −1) LEe (cnπ ) → Extrinsic Information LEa (cnπ ) → A Priori Information
12
6
MAP Decoder Z ≡ [P(c1 | r ) P(c2 | r ) ... P(c N | r )]
Z
LD (cn ) MAP decoder
LD (bk )
P(cn = +1 | ) , using Bayes Rule : L (cn ) ≡ ln P(cn = −1 | ) p( | cn = +1) P(cn = +1) + ln ≡ LDe (cn ) + LDa (cn ) = ln = − = − p c P c | 1 1 ( ) ( ) n n D
Also, the MAP decoder computes an estimate bˆk of the transmitted data as the most likely bit given Z.
13
Turbo Equalization (TuEqu)
Π LD (cn )
( )
LEa cnπ r
equalizer
LE (cnπ )
Π
−1
LE (cn )
^
decoder
bk
14
7
Turbo Equalization (TuEqu) LDext (cnπ )
LD (cn )
( )
LEa cnπ
equalizer
r
Π
LEext (cnπ )
LE (cnπ )
Π
−1
LEext (cn )
bk
LE (cπn ) = LEa (cnπ ) + LEext (cnπ )
L1E
r
module 1
^
decoder
LD (cn ) = LDa (cn ) + LDext (cn )
LE2
r
module 2
LE3
r
^
module 3
B
15
Questions???
16
8
MAP algorithm (BCJR) s0 s1 s2 s3
P(bk = +1 | r ) L(bk ) ≡ ln P(bk = −1 | r )
k −1
input + 1 input - 1
time
k
using Bayes' rule : P(a, b ) = P(a | b ) P(b) ∑ p(S k −1 , S k , r ) p(bk = +1, r ) b = +1 L(bk ) = ln , L(bk ) = ln k p(bk = −1, r ) ∑ p(S k −1 , S k , r ) bk =−1 17
MAP algorithm s k −3
s k −2
sk −1
sk
sk +1
sk +2
s s'
r j k
p (s ' , s, r ) = p (s ' , s, r j k ) 18
9
MAP algorithm p(s ' , s, R ) = p(s ' , s, rjk ) Using Baye' s rule : P(a, b ) = P(a | b ) P(b ) p(s ' , s, r ) = p(r j >k | {s ' , s, r jk | s ) p (s ' , s, r jk | s ) p({rk , s} | {s ' , r j k −1 | S k −1 = s')
sk −1
sk
sk +1
sk +2
s
β k −1 (s ) = p (rj >k −1 | s')
s'
'
= ∑ p({rj >k −1 , s}| s ') all s
= ∑ p({rj >k , rk , s}| s ')
r j >k
rk
all s
Baye' s rule : P(a, b ) = P(a | b ) P(b ) P({a, b} | c ) = P(a | (b, c )) P(b | c )
= ∑ p(r j >k | {s, s ' , rk }) p({rk , s} | s ') all s
= ∑ p(r j >k | {s}) p({rk , s} | s ') all s
β k −1 (s') = ∑ β k (s )γ k (s' , s ) all s
23
Backward recursive computation of β sk
β k (0 )
sk +1
γ k +1 (0,0 )
γ k +1 (2,0 )
β k +1 (0 )
β k +1 (2 )
rk +1 β k (0) = β k +1 (0).γ k +1 (0,0) + β k +1 (2 ).γ k +1 (0,2) 24
12
MAP algorithm αk (s) = ∑γ k (s, s').αk −1(s') , βk −1(s') = ∑γ k (s', s).βk (s) all s '
all s
sk −1
0
α k −1 (0 )
1
α k −1 (1)
sk
γ k (0,0 ) γ k (1,0 )
α k (0)
sk +1
γ k +1 (0,0 )
γ k +1 (2,0 )
2
β k +1 (0)
β k (0) β k +1 (2)
3
rk
rk +1
αk (0) = αk −1 (0).γ k (0,0) +αk −1(1).γ k (1,0) βk (0) = βk +1(0).γ k +1 (0,0) + βk +1(2).γ k +1(0,2) 25
MAP algorithm P(bk = +1|r ) L(bk )≡ ln P(bk = −1|r )
s0 s1 s2 s3 k −1
input + 1 input - 1
time
k
∑ p(S k −1 , S k , r ) ∑α k −1 (s ' )γ k (s ' , s ) β k (s ) b = +1 = ln bk =+1 L(bk ) = ln k ∑ p(S k −1 , S k , r ) ∑α k −1 (s ' )γ k (s ' , s ) β k (s ) bk =−1 bk =−1 26
13
Questions???
27
MAP Equalizer P (cnπ = +1 | r ) LE (cnπ ) ≡ ln π P (cn = −1 | r )
rn
E a
( ) π
MAP equalizer
( )
LE cnπ
L cn
γ n (s ' , s ) = p ({rn , S n = s} | S n−1 = s ')
Baye's rule : P(a, b ) = P(a | b ).P(b ) P({a, b} | c ) = P(a | (b, c )).P(b | c )
Using Baye' s rule :
γ n (s ' , s ) = p(rn | {s, s '}) . P(s | s') is governed by the input symbol is governed by the output symbol 28
14
MAP Equalizer cnπ
g1 = 0,407 ; g 2 = 0,815 ; g 3 = 0,407 T 0,407
T
s0 s1 s2
0,407
0,815
∑
vn
wn
rn
s0
−1.629
0.81 5
0.001
15 0 .8 0.001 0.8
0.815
s3
0.81 5
s1 0.001
15 0 .8 0.001
s2
0.8
15
1.629
s3
input + 1
0.815
15
1.629
vn
input - 1
γ n (s , s ) = p(rn | {s, s'}) . P(s | s')
−1.629
'
γ n (s' , s ) = p(rn | vn ).P (cnπ )
(
p (rn | vn ) = exp − (rn − vn ) 2σ 2 2
)
2πσ 2 29
MAP Equalizer γ (s' , s ) = P (cnπ )
1 2πσ
2
(
exp − (rn − vn ) 2σ 2
obtained from the extrinsic information LDext (cn ) of the decoder :
2
)
P (cnπ = +1) L (cn ) ≅ ln π P (cn = −1) D ext
P(cnπ = +1) LDext (cnπ )≅ ln 1− P (cnπ = +1)
1− P (cnπ = −1) LDext (cnπ )≅ ln P (cnπ = +1)
P(cnπ = +1)≅
P (cnπ = −1)≅
exp(LDext (cnπ )) 1+ exp(LDext (cnπ )) P(cnπ = c )≅
exp(c.LDext (cnπ )) 1+ exp(LDext (cnπ ))
1 1+ exp(LDext (cnπ )) c ∈ {0,1} 30
15
MAP Equalizer exp(c.LDext (cnπ )) 1 2 exp − (rn − vn ) 2σ 2 D π 2 1 + exp(Lext (cn )) 2πσ
(
γ (s ' , s ) =
L(c) ve rs us P (c=+1)
c ∈ {0,1}
L(c) ve rs us P (c=-1)
10
10
8
8
6
6
4
4
2
) c( L
)
2
) c( L
0 -2
0 -2
-4
-4
-6
-6
-8
-8
-10
-10 0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0
0.1
P (c=+1)
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
P (c=-1)
31
MAP Equalizer implementation [Koetter] s0 s1 s2 s3
s0
−1.629
0.81 5
0.001
0. 8
15 0.001
0 .8 0.815
−1.629
0.81 5
s1 0.001
s2
0. 8
15
1.629
s3
15 0.8 0.001
0.815
15
1.629
0 0 A(+1) = 0 0
1 0 0 1 0 0 0 1 , A(−1) = 1 0 0 1 0 0 0 1
0 0 0 0 1 0 0 0 0 0 1 0
input + 1
input - 1
{P}i , j ,n = γ n (si , s j , n ) {B}i , j ,n → componentwise product of A and P 32
16
MAP Equalizer implementation Input : Matrices Pn , A (+ 1), A (- 1 ), B n (+ 1), B n (- 1), f n e b n .
Initialization: the first column of vector f and the last of vector b are initialized as 1 for every lines. Recursively compute of f and b : f n = PnT−1 f n −1
, n = 1, … , N
b n = Pn b n +1
, n = N-1,… ,1
Output : for n = 1,...,N LE (c nπ | r ) = ln
f nT B n (+ 1 )b n +1 f nT B n (− 1 ) b n +1
∑α n−1 (s ' )γ n (s ' , s ) β n (s ) π c = +1 LE (cnπ | r ) = ln n ' ' ∑α n−1 (s )γ n (s , s ) β n (s ) π cn = − 1 33
MAP Decoder Z
LD (cn ) MAP decoder
LD (bk ) P(cn = +1| Z ) D = Le (cn )+ LDa (cn ) LD (cn ) ≡ ln 1 | Z = − ( ) P c n
P (c n | r ) ≅
exp (c . L Eext (c n )) 1 + exp (L Eext (c n ))
c ∈ {0,1}
Z = [P(c1 | r ) P(c2 | r ) ... P(cN | r )] T 34
17
MAP Decoder c1 bk
s3 T
T
s2 c2
γ n (s ' , s ) = p ({rn , S n = s} | S n−1 = s ') Using Baye' s rule :
1 / 10 0/01 1/00 1/01 0/10 0/1 1
s1 1/11
s0
0 / 00
γ n (s ' , s ) = p (rn | {s, s '}) P (s | s ') is governed by the output symbol
is governed by the input symbol
γ (si , s j ) = P(bk ) P(c1 = c1,i , j | r ) P (c2 = c2,i , j | r )
there is no a priori information of the information bits
35
MAP Decoder implementation [Koetter] 0 0 Ab (1) = 0 0
1 0 0 1 0 0 0 1 , Ab (0) = 1 0 0 1 0 0 0 1
0 0 0 0 1 0 0 0 0 0 1 0
0 0 Ac1 (1) = 1 0
1 0 0 1 0 0 1 0 , Ac (0) = 1 0 0 0 0 0 0 0 1
0 0 0 0 0 1 1 0 0 0 1 0
0 0 Ac2 (1) = 1 0
1 0 0 1 0 0 0 1 , Ac (0) = 2 0 0 0 0 0 0 1 0
0 0 0 0 1 0 1 0 0 0 0 1
s3
s2
1 / 10 0/01 1/00 1/01 0/10 0/1 1
s1 s0
1/11
0 / 00
36
18
MAP Decoder implementation Input : Matrices Pn , A (+ 1 ), A (0 ), B n (+ 1 ), B n (0 ) , f n e b n . for b , c1 and c2
Initialization: the first column of vector f and the last of vector b are initialized as 1 for every lines. Recursively compute of f and b : f n = PnT−1 f n −1 , n = 1, … , N b n = Pn b n +1
, n = N-1,… ,1
Output : for n = 1,...,N LD (c n | r ) = ln
f nT B n (+ 1 ) b n +1 f nT B n (− 1 ) b n +1
∑α n−1 (s ' )γ n (s ' , s ) β n (s ) c =+1 LD (cn | r ) = ln n ∑α n−1 (s ' )γ n (s ' , s ) β n (s ) cn =−1 37
MAP implementation • For a practical implementation, the vectors forward and backward need to be normalized to avoid underflow. • The MAP algorithm can be implemented in the log domain (Log-MAP-algorithm) for computational simplicity.
38
19
Questions???
39
TuEqu example bk
convolutional cn encoder
interleaving
cnπ
e(t)
MP channel
4X 4
c1 bk
cnπ
T 0,407
T
T
T 0,407
0,815
∑
g1 = 5 g2 = 7
c2
wn
vn rn 40
20
TuEqu example convolutional cn encoder
bk
cnπ
interleaving
e(t)
BPSK
bk = [1 1 0 1 0 0 1 0] cn = [1 1 − 1 1 − 1 1 − 1 − 1 1 − 1 1 − 1 1 1 1 0] cnπ = [1 − 1 1 1 1 1 − 1 1 − 1 − 1 1 1 1 − 1 1 − 1]
41
TuEqu example LDext (cπn )
E
L1E
r
LDext (cn )
p = 2,3,…
LD (cn )
( )
LEa cπn r
Π
equalizer
π
equalizer
π
L (c n )
L ( cn )
module 1
rn
E ext
LE2
r
Π −1
module 2
E ext
L (c n )
decoder
^
bk
LE3
^
r
module 3
cπn deinterleaving cn convolutional bk decoder
B
p =1 42
21
TuEqu example (p=1)
rn
equalizer
rn
( )
LEa cnπ
cnπ deinterleaving cn convolutional bk decoder
MAP equalizer
LE (cnπ )
43
TuEqu example (p=1) s0
s1
5 5 1 0.8 01 0 .0 0.001
15 0.8 01 0.0 0.001
5 81 0.
r1 = −1,21
− 1.629 0.81 5
5 81 0.
5 0.81 1.629
− 1.629 0.81 5 5 1 0.8 01 0 .0 0.001
5 81 0.
s3
− 1.629 0.81
5 81 0.
s2
− 1.629 0.81 5 5 1 0.8 01 0.0 0.001
5 0.81 1.629
5 0.81 1.629
5 0.81 1.629
r2 = −1,53
r3 = 0,11
r4 = 1,08
cnπ = [1 − 1 1 1 1 1 − 1 1 − 1 − 1 1 1 1 − 1 1 − 1]
γ (s', s )= P (cnπ )
1 2πσ
2
(
exp − (rn − vn ) 2σ 2 2
) 44
22
TuEqu example (p=1) α1 (0 )
γ 1 (0,0) γ1 (0
γ 2 (0,0) γ 2 (0
) (2,0
γ3
,1)
2,1) 2 (1, 2 )
γ 3( γ
γ 3 (3,3)
) 2,0 γ 4(
,1)
) 2,1 2 (1,2 )
γ 4( γ
(
, 2) γ 4(3
)
1,3
1,3
, 2)
γ 3(3
)
γ 4 (0,0 ) γ 4 (0
γ4
γ3
1,3
1,3
γ1
(
γ2
,1) ,1) ) 0 ) , 2 ) 2,0 γ 2( γ 1( γ 1(2,1 (2,1) 2 γ γ 2 (1 γ1 (1, ,2) 2) α 1 (2 ) ( ( ) ) ,2) 3 ) ( ,2 γ 2(3 γ (3,3) α 1 (3) γ 1 γ (3,3) 1 2
α 1 (1)
γ 3 (0,0) γ 3 (0
γ 4 (3,3)
45
TuEqu example (p=1) α1 (0 )
γ 1 (0,0 ) γ1 (0
γ 2 (0,0 ) γ 2 (0
) (2,0
γ3
2,1) 2 (1, 2 )
γ 3 (3,3)
) 2,0 γ 4(
,1)
) 2,1 2 (1,2 )
γ 4( γ
(
, 2)
γ 4(3
)
1,3
1,3
)
γ 4 (0,0 ) γ 4 (0
γ4
γ3
1,3
1,3
γ1
, 2)
γ 3(3
,1)
γ 3( γ
(
γ2
,1) ,1) ) 0 ) , 2 ) 2,0 γ 2( γ 1( γ 1(2,1 2,1) γ 2(γ γ1 (1, 2 (1, 2 2) ) α 1 (2 ) ( ( ) ) ,2) ) 3 ( 2 , γ 2(3 γ (3,3) α 1 (3) γ 1 γ (3,3) 1 2
α 1 (1)
γ 3 (0,0 ) γ 3 (0
γ 4 (3,3)
α 2 (0 ) = α1 (0).γ 1 (0,0) + α1 (2).γ 1 (2,0) = 1.0,1955 + 0 = 0,1955 α 2 (1) = α1 (0).γ 1 (0,1) + α1 (2 ).γ 1 (2,1) = 1.0,1970 + 0 = 0,1970 α 2 (2) = α1 (1).γ 1 (1,2 ) + α1 (3).γ 1 (3,2) = 0 α 2 (3) = α1 (1).γ 1 (1,3) + α1 (3).γ 1 (3,3) = 0 46
23
TuEqu example (p=1) α1 (0 )
γ 1 (0,0 ) γ1 (0
γ 2 (0,0 ) γ 2 (0
) (2,0
γ3
,1)
2,1) 2 (1, 2 )
γ 3( γ
γ 3 (3,3)
) 2,0 γ 4(
,1)
) 2,1 2 (1,2 )
γ 4( γ
(
, 2) γ 4(3
)
1,3
1,3
, 2)
γ 3(3
)
γ 4 (0,0 ) γ 4 (0
γ4
γ3
1,3
1,3
γ1
(
γ2
,1) ,1) ) 0 ) , 2 ) 2,0 γ 2( γ 1( γ 1(2,1 (2,1) 2 γ γ 2 (1 γ1 (1, ,2) 2) α 1 (2 ) ( ( ) ) ,2) 3 ) ( ,2 γ 2(3 γ (3,3) α 1 (3) γ 1 γ (3,3) 1 2
α 1 (1)
γ 3 (0,0 ) γ 3 (0
γ 4 (3,3)
α 3 (0) = α 2 (0 ).γ 2 (0,0) + α 2 (2).γ 2 (2,0) = 0,1955.0,2152 + 0 = 0,0421 α 3 (1) = α 2 (0).γ 2 (0,1) + α 2 (2).γ 2 (2,1) = 0,1970.0,1595 + 0 = 0,0312 α 3 (2 ) = α 2 (1).γ 2 (1,2) + α 2 (3).γ 2 (3,2 ) = 0,1970.0,0542 + 0 = 0,0106 α 3 (3) = α 2 (1).γ 2 (1,3) + α 2 (3).γ 2 (3,3) = 0,1970.0,0084 + 0 = 0,0017 47
TuEqu example (p=1) α1 (0 )
γ 1 (0,0 ) γ1 (0
γ 2 (0,0 ) γ 2 (0
) (2,0
γ3
2,1) 2 (1, 2 )
γ 4 (0,0 ) γ 4 (0
) 2,0 γ 4(
(
) 2,1 2 (1,2 )
, 2)
γ 4(3
)
1,3
1,3
)
γ 3 (3,3)
,1)
γ 4( γ
γ4
γ3
1,3
1,3
γ1
, 2)
γ 3(3
,1)
γ 3( γ
(
γ2
,1) ,1) ) 0 ) , 2 ) 2,0 γ 2( γ 1( γ 1(2,1 2,1) γ 2(γ γ1 (1, 2 (1, 2 2) ) α 1 (2 ) ( ( ) ) ,2) ) 3 ( 2 , γ 2(3 γ (3,3) α 1 (3) γ 1 γ (3,3) 1 2
α 1 (1)
γ 3 (0,0 ) γ 3 (0
γ 4 (3,3)
α 4 (0 ) = α 3 (0).γ 3 (0,0) + α 3 (2).γ 3 (2,0) = 0,0029 α 4 (1) = α 3 (0).γ 3 (0,1) + α 3 (2).γ 3 (2,1) = 0,0078 α 4 (2) = α 3 (1).γ 3 (1,2) + α 3 (3).γ 3 (3,2) = 0,0070 α 4 (3) = α 3 (1).γ 3 (1,3) + α 3 (3).γ 3 (3,3) = 0,0051 48
24
TuEqu example (p=1) α1 (0 )
γ 2 (0,0 ) γ 2 (0
γ 1 (0,0 ) γ1 (0
) (2,0
γ3
,1)
γ 3 (3,3)
) 2,0 γ 4(
,1)
) 2,1 2 (1,2 )
γ 4( γ
(
)
1,3
1,3
1,3
1,3
γ1
, 2)
γ 3(3
)
γ 4 (0,0 ) γ 4 (0
γ4
(
γ2
2,1) 2 (1, 2 )
γ 3( γ
γ3
,1) ,1) ) 0 ) , 2 ) 2,0 γ 2( γ 1( γ 1(2,1 (2,1) 2 γ γ 2 (1 γ1 (1, ,2) 2) α 1 (2 ) ( ( ) ) ,2) 3 ) ( ,2 γ 2(3 γ (3,3) α 1 (3) γ 1 γ (3,3) 1 2
α 1 (1)
γ 3 (0,0 ) γ 3 (0
, 2) γ 4(3
γ 4 (3,3)
α 5 (0) = α 4 (0).γ 4 (0,0) + α 4 (2).γ 4 (2,0) = 0,0002 α 5 (1) = α 4 (0).γ 4 (0,1) + α 4 (2).γ 4 (2,1) = 0,0008 α 5 (2) = α 4 (1).γ 4 (1,2 ) + α 4 (3).γ 4 (3,2) = 0,0019 α 5 (3) = α 4 (1).γ 4 (1,3) + α 4 (3).γ 4 (3,3) = 0,0025 49
TuEqu example (p=1) γ 2 (0,0) γ 2 (0
γ 1 (0,0)
γ1 (0
,1)
,1)
) (2,0
,1)
γ 1(2 γ1 (1,
γ1
2,1) γ 3(γ 1 (1,2 )
γ 4(
,2 )
γ 4(3
) (1,3
γ 3 (3,3)
,1)
β 5 (1) ) 2,1 ( γ 4γ 1 (1, 2 ) β 5 (2)
) 2,0
γ4
,2 )
γ 3(3
) (1,3
,2)
γ 2(3 γ (3,3) 2
,1)
β 5 (0)
γ 4 (0,0) γ 4 (0
γ3
γ 1 (3,3)
1,3
1,3
)
2)
) 2,1 γ 2(γ 2 (1, 2 ) ( )
) 2,0 γ 3(
γ2
γ1
(
2) γ 1(3,
) 2,0 γ 2(
γ 3 (0,0) γ 3 (0
β 5 (3)
γ 4 (3,3)
β 4 (0) = β 5 (0).γ 4 (0,0) + β 5 (1).γ 4 (0,1) = 0,1.10−9 β 4 (1) = β 5 (2 ).γ 4 (1,2 ) + β 5 (3).γ 4 (1,3) = 0,5.10 −9 β 4 (2) = β 5 (0 ).γ 4 (2,0) + β 5 (1).γ 4 (2,1) = 0,4.10 −9 β 4 (3) = β 5 (2).γ 4 (3,2 ) + β 5 (3).γ 4 (3,3) = 0,5.10−9 50
25
TuEqu example (p=1) γ 1 (0,0) γ1 (0 ,1)
,2 )
γ 4(3
) (1,3
γ 3 (3,3)
,1)
β 5 (1) ) 2,1 ( γ 4γ 1 (1, 2 ) β 5 (2)
) 2,0 γ 4(
γ4
) (1,3
,2 )
γ 3(3
β 5 (0)
γ 4 (0,0) γ 4 (0
γ3
γ 1 (3,3)
,2)
γ 2(3 γ (3,3) 2
,1)
2,1) γ 3(γ 1 (1,2 )
)
2)
) 2,1 γ 2(γ 2 (1, 2 )
) 2,0 γ 3(
(1,3
) (1,3
γ1 γ 1(3,
,1)
) 2,0 γ 2(
γ 3 (0,0) γ 3 (0
γ2
) ) 2,0 γ 1( γ 1(2,1 γ1 (1, 2)
γ 2 (0,0) γ 2 (0
β 5 (3)
γ 4 (3,3)
β 3 (0) = β 4 (0).γ 3 (0,0) + β 4 (1).γ 3 (0,1) = 0,0.10 −9 β 3 (1) = β 4 (2 ).γ 3 (1,2) + β 4 (3).γ 3 (1,3) = 0,2.10 −9 β 3 (2) = β 4 (0 ).γ 3 (2,0) + β 4 (1).γ 3 (2,1) = 0,1.10−9 β 3 (3) = β 4 (2).γ 3 (3,2) + β 4 (3).γ 3 (3,3) = 0,1.10 −9 51
TuEqu example (p=1) γ 1 (0,0)
γ1 (0
,1)
) 2,0 γ 3(
2,1) γ 3(γ 1 (1,2 )
γ 4(
,2 )
γ 4(3
) (1,3
γ 3 (3,3)
,1)
β 5 (1) ) 2,1 ( γ 4γ 1 (1, 2 ) β 5 (2)
) 2,0
γ4
,2 )
γ 3(3
) (1,3
γ 2(3 γ (3,3) 2
,1)
β 5 (0)
γ 4 (0,0) γ 4 (0
γ3
γ 1 (3,3)
,2)
)
2)
) 2,1 γ 2(γ 2 (1, 2 )
(1,3
) (1,3
γ1 γ 1(3,
,1)
) 2,0 γ 2(
γ 3 (0,0) γ 3 (0
γ2
) ) 2,0 γ 1( γ 1(2,1 γ1 (1, 2)
γ 2 (0,0) γ 2 (0
β 5 (3)
γ 4 (3,3)
β 2 (0) = β 3 (0).γ 2 (0,0 ) + β 3 (1).γ 2 (0,1) = 0,4.10 −10 β 2 (1) = β 3 (2).γ 2 (1,2) + β 3 (3).γ 2 (1,3) = 0,1.10−10 β 2 (2) = β 3 (0 ).γ 2 (2,0) + β 3 (1).γ 2 (2,1) = 0,2.10−10 β 2 (3) = β 3 (2).γ 2 (3,2) + β 3 (3).γ 2 (3,3) = 0,0.10 −10 52
26
TuEqu example (p=1) γ 1 (0,0) γ1 (0 ,1)
,2 )
γ 4(3
) (1,3
γ 3 (3,3)
,1)
β 5 (1) ) 2,1 ( γ 4γ 1 (1, 2 ) β 5 (2)
) 2,0 γ 4(
γ4
) (1,3
,2 )
γ 3(3
β 5 (0)
γ 4 (0,0) γ 4 (0
γ3
γ 1 (3,3)
,2)
γ 2(3 γ (3,3) 2
,1)
2,1) γ 3(γ 1 (1,2 )
)
2)
) 2,1 γ 2(γ 2 (1, 2 )
) 2,0 γ 3(
(1,3
) (1,3
γ1 γ 1(3,
,1)
) 2,0 γ 2(
γ 3 (0,0) γ 3 (0
γ2
) ) 2,0 γ 1( γ 1(2,1 γ1 (1, 2)
γ 2 (0,0) γ 2 (0
β 5 (3)
γ 4 (3,3)
β1 (0 ) = β 2 (0).γ 1 (0,0) + β 2 (1).γ 1 (0,1) = 0,1.10 −10 β1 (1) = β 2 (2).γ 1 (1,2 ) + β 2 (3).γ 1 (1,3) = 0,0.10 −10 β1 (2) = β 2 (0 ).γ 1 (2,0) + β 2 (1).γ 1 (2,1) = 0,1.10 −10 β1 (3) = β 2 (2).γ 1 (3,2 ) + β 2 (3).γ 1 (3,3) = 0,0.10 −10 53
TuEqu example (p=1) γ 1 (0,0)
γ1 (0
,1)
) 2,0 γ 3(
2,1) γ 3(γ 1 (1,2 )
,1)
β 5 (1) ) 2,1 ( γ 4γ 1 (1, 2 ) β 5 (2)
) 2,0
γ 4(
,2 )
γ 4(3
) (1,3
γ 3 (3,3)
β 5 (0)
γ4
,2 )
γ 3(3
) (1,3
γ 2(3 γ (3,3) 2
,1)
γ 4 (0,0) γ 4 (0
γ3
γ 1 (3,3)
,2)
)
2)
) 2,1 γ 2(γ 2 (1, 2 )
(1,3
) (1,3
γ1 γ 1(3,
,1)
) 2,0 γ 2(
γ 3 (0,0) γ 3 (0
γ2
) ) 2,0 γ 1( γ 1(2,1 γ1 (1, 2)
γ 2 (0,0) γ 2 (0
γ 4 (3,3)
β 5 (3)
∑ p(S n−1 , S n , r ) ∑α n−1 (s ' )γ n (s ' , s ) β n (s ) π c = +1 = ln cnπ =+1 LE (cnπ | r ) = ln n ∑ p(S n−1 , S n , r ) ∑α n−1 (s ' )γ n (s ' , s ) β n (s ) π cn =−1 cπn =−1 54
27
TuEqu example (p=1) α1 (0 )
γ 1 (0,0)
β 2 (0)
γ1 (0
,1)
α 1 (1)
γ1
α 1 (2)
(
γ1 ,2) γ 1(3
γ1 (1,
2 ) β 2 (2 )
)
1,3
α 1 (3)
β 2 (1)
) 2,0 (2,1) γ 1(
γ 1 (3,3)
β 2 (3)
∑ p(S n−1 , S n , r ) π cn = +1 E L (c1 | r ) = ln ∑ p(S n−1 , S n , r ) π cn =−1 55
TuEqu example (p=1) β 2 (0 )
α1 (0) γ1 (0 α 1 (1)
β 2 (1)
,1)
γ 1(2
(
γ1
α 1 (2 )
,1)
β 2 (2 )
1,3
)
α 1 (3)
∑ p(S
cπn = +1
n −1
γ 1 (3,3)
β 2 (3)
, S n , r ) = α1 (0 ).γ 1 (0,1).β 2 (1) + α1 (1).γ 1 (1,3).β 2 (3) + α1 (2 ).γ 1 (2,1).β 2 (1) + α1 (3).γ 1 (3,3).β 2 (3) 56
28
TuEqu example (p=1) α1 (0)
γ 1 (0,0 )
β 2 (1)
) 2,0
α 1 (1)
γ 1(
α 1 (2 )
γ1 (1,
,2 )
(3 α 1 (3) γ 1
∑ p(S
cπn = −1
n −1
β 2 (0 )
2)
β 2 (2 ) β 2 (3)
, S n , r ) = α1 (0 ).γ 1 (0,0).β 2 (0) + α1 (1).γ 1 (1,2).β 2 (2) + α1 (2 ).γ 1 (2,0).β 2 (0) + α1 (3).γ 1 (3,2).β 2 (2) 57
TuEqu example (p=1) α1 (0 )
γ 1 (0,0 )
β 2 (0 )
γ1 (0
,1)
β 2 (1) ) 2,0 (2,1) ( γ1 γ1 γ1 (1, 2 ) β 2 (2 ) α 1 (2 ) ( ) (1 3,2) γ β 2 (3) α 1 (3) γ 1 (3,3)
α 1 (1)
γ1
1,3
∑ p(S n−1 , S n , r ) π cn = +1 E π = −1,7504 L (c1 | r ) = ln ∑ p(S n−1 , S n , r ) π cn =−1 58
29
TuEqu example (p=1) rn
( )
LEa cnπ
MAP equalizer
LE (cnπ )
cn = [1 − 1 1 1 1 1 − 1 1 − 1 − 1 1 1 1 − 1 1 − 1] LE (cnπ ) = [− 1,7504 0,2874 0,7274 1,7291…] leads to wrong decisions
59
TuEqu example (p=1)
rn
equalizer
Z
cnπ deinterleaving cn convolutional bk decoder
LD (cn ) MAP decoder
LD (bk ) 60
30
TuEqu example (p=1) LD (cn )
Z = [P(c1 | r ) P(c2 | r ) ... P(c N | r )] Z P (c n | r ) ≅
MAP decoder
exp (c . L Eext (c n | r )) c ∈ {0,1} 1 + exp (L Eext (c n | r ))
LD (bk )
LE (cn ) = [− 1,7504 4,4354 − 0,9099 3,5313…] Z(cn = 1) = [0,1480 0,9883 0,2870 0,9716…] Z(cn = 0) = [0,8520 0,0117 0,7130 0,0284…] 61
TuEqu example (p=1) s3
s2
1 / 10 0/01 1/00 1/01 0/10 0/1 1
s1 s0
1/11
0 / 00
Z1.Z 0
s3
Z0 .Z
1
s2
Z0 .Z
0
Z1 Z 0.
Z1 . Z1
s1 s0
Z1.Z 0
Z1.Z1 Z 0 .Z 0
Z = [P(c1 | r ) P(c2 | r ) ... P(c N | r )]
γ (si , s j ) = P (bk ).P (c1 = c1,i , j | r ).P (c2 = c2,i , j | r ) there is no a priori information of the information bits
62
31
TuEqu example (p=1) Z
LD (cn ) MAP decoder
bk = [1 1 0 1 0 0 1
LD (bk ) 0]
Hard decisions of the information bits : bˆk = [1 1 0 0 1 0 0 1]
cn = [1 1 − 1 1 − 1 1 − 1 − 1 1 − 1 1 − 1 1 1 1 − 1] Hard decisions of the coded bits : cˆn = [1 1 − 1 1 − 1 1 − 1 1 1 1 1 − 1 1 1 1 1] 63
TuEqu example (p=2) LDext (cnπ )
LD (cn )
( )
LEa cnπ
equalizer
r
rn
E a
( ) π
Π
LE (cnπ )
MAP equalizer
LEext (cnπ )
Π
−1
LEext (cn )
^
decoder
bk
( )
LE cnπ
L cn
γ (s ' , s ) =
exp(c.LDext (cnπ )) 1 2 exp − (rn − vn ) 2σ 2 . D π 2 1 + exp(Lext (cn )) 2πσ
(
) 64
32
TuEqu example (p=2) p =1 cnπ = [1 − 1 1 1 1 1 − 1 1 − 1 − 1 1 1 1 − 1 1 − 1]
LE (cnπ ) = [− 1,7504 0,2874 0,7274 1,7291…] leads to wrong decisions p=2 cnπ = [1 − 1 1 1 1 1 − 1 1 − 1 − 1 1 1 1 − 1 1 − 1]
LE (cnπ ) = [3,9617 − 4,7377 2,0979 1,8811…] errors corrected
65
TuEqu example (p=2) Z ≡ [P(c1 | r ) P(c2 | r ) ... P(c N | r )] P (c n | r ) ≅
Z
LD (cn ) MAP decoder
LD (bk )
exp (c . L Eext (c n | r )) c ∈ {0,1} 1 + exp (L Eext (c n | r ))
LE (cn ) = [− 0,9085 4,2859 − 1,3199 3,9053…] Z (cn = 1) = [0,2873 0,9864 0,2108 0,9803…] Z (cn = 0) = [0,7127 0,0136 0,7892 0,0197…] 66
33
TuEqu example (p=2) Z
LD (cn ) MAP decoder
LD (bk )
bk = [1 1 0 1 0 0 1 0] Hard decisions of the information bits : bˆk = [1 1 0 1 0 0 0 1]
cn = [1 1 − 1 1 − 1 1 − 1 − 1 1 − 1 1 − 1 1 1 1 − 1] Hard decisions of the coded bits : cˆn = [1 1 − 1 1 − 1 1 − 1 − 1 1 − 1 1 − 1 1 1 1 1] 67
TuEqu example (p=2) p =1 Hard decisions of the information bits : bˆk = [1 1 0 0 1 0 0 1] Hard decisions of the coded bits : cˆn = [1 1 − 1 1 − 1 1 − 1 1 1 1 1 − 1 1 1 1 1] p=2 Hard decisions of the information bits : bˆk = [1 1 0 1 0 0 0 1] Hard decisions of the coded bits : cˆn = [1 1 − 1 1 − 1 1 − 1 − 1 1 − 1 1 − 1 1 1 1 1] 68
34
Questions???
69
Evolution of the LLR’s
70
35
Results 10
10
10
R E B
10
10
0
iteration 1 iteration 2 iteration 3 iteration 4 iteration 5 coded AWGN channel without IS I
-1
Equalization and decoding without priors
-2
-3
-4
Channel without ISI 10
10
-5
-6
0
1
2
3
4
5
6
7
71
Eb/No
TuEqu using MAP • The MAP algorithm applied in turbo equalization is adequate to low spectral efficiency modulations and channels exhibiting a low delay spread. • In 1997, Glavieux proposed an Interference Canceller in the Turbo Equalizer for channels with strong delay spread and high order modulations. 72
36
Turbo Equalization with IC LDext (cnπ )
λn
Π
LDext (cn ) LD (cn )
F2 R
LEext (cnπ )
F1
Π
−1
LEext (cn )
^
bk
decoder
Matched filter cn
rn F1
ISI estimator _
λn
F2
73
Turbo Equalization with IC cn
rn F1
_
λn
F2
The input of the filter F2 is :
λn = E{ck } = P(cn = +1).1 + P(cn = −1)(. − 1) =
LD (c ) −1 exp( L(cn )) + = tanh ext k 1 + exp( L(cn )) 1 + exp( L(cn )) 2 74
37
TuEqu example LDext (cnπ )
λn
Π
LDext (cn )
R
E ext
module 1
r
rn
π
L ( cn )
F1
L1E
p = 2,3,…
LD (cn )
F2
equalizer
LE2
Π −1
E ext
L (c n )
LE3
module 2
r
^
decoder
bk
^
r
module 3
cπn deinterleaving cn convolutional bk decoder
B
p =1 75
Adaptive Turbo Equalization cn
rn F1
_
λn
F2
For each stage, the equalizer is updated according to the mean - square - error (MSE) criterion [Laot] :
{
MSE = E cn − λn
2
}
Wk +1 = Wk − µ .R(sn − cˆn ) Dk +1 = Dk + µ .R(sn − cˆn ) 76
38
Results [Laot]
77
TuEq, other approaches • Turbo equalization using block codes • Turbo equalization using turbo codes • Turbo equalization using joint channel estimation and MAP equalization (BCJR). • Turbo equalization applied in multi-user detection of CDMA systems. 78
39
Main references • C. Douillard, M. Jezequel, C. Berrou, A Picart, P. Didier, and A Glavieux. Iterative Correction of Intersymbol Interference: Turbo Equalization. European Trans. On Telecomm., vol. 6, pp. 507–511, Sep-Oct 1995. • L. Hanzo, T. H. Liew, and B. L. Yeap. Turbo Coding, Turbo equalization and Space-Time Coding for Transmission Over Fading Channels. John Wiley and Sons, Inc 2002 • G. Bauch, H. Khorram and J. Hagenauer. Iterative Equalization and Decoding in Mobile Communication Systems. 2nd EPMCC’97 and 3rd ITG-Fachtagung Telecomm, Mobile Kommunikation, Bonn, Germany, Oct. 1997. 79
Main references • A. Glavieux, C. Laot, and J. Labat. Turbo Equalization Over a Frequency Selective Channel. Proc. Of the Intern. Symposium on Turbo codes, Brest, France, pp. 96–102, September 1997. • C. Laot, A. Glavieux and J. Labat. Turbo Equalization: Adaptative Equalization and Channel Decoding Jointly Optimized. IEE Journal on Selected Areas in Communications, vol.19, nº9, september,2001 • T. Michael., Koetter. Ralf., A.. Singer. Turbo Equalization. IEEE Signal Processing Magazine, Feb 2003
80
40
Questions???
81
41