Turbo Equalization

1 downloads 0 Views 1MB Size Report
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