Sie sind auf Seite 1von 45

An Introduction to Turbo Equalization

Anindya Sarkar and Sandeep Ponnuru

Lecture Project ECE 243B


Department of Electrical & Computer Engg, University of California, Santa Barbara June 7, 2007

ak Encoder bk
System configuration for a digital transmitter as part of a communication link

Binary data bits

Binary code bits

Interleaver ck Mapper xk Channel yk


Samples from receiver filter output
2

Scrambled version of bk

Channel symbol

June 7, 2007

Role of the various parts


Encoder data protection through redundancy Interleaver to avoid long error bursts Mapper maps the interleaved coded bits into channel symbols suitable for modulation
June 7, 2007

00 -3A

01 -A

10 A

11 3A

Receivers Job:
Rx should estimate the data that was transmitted, using info of how the channel has corrupted the data along with added redundancy to protect the data Nullifying the ISI effects on Tx data is equalization (detection) Recovering the data bits from equalized symbol stream using ECC is decoding
June 7, 2007

June 7, 2007

Receiver A Optimal Detector


^

ak

Main problem with MAP approach is that computation of APP (a-posteriori prob.) is computationally demanding

P (ak = a|y) =

a:ak

X p(y|a)P(a) P(a|y) = p(y) =a a:a =a


k

Optimal detector

As y depends on the entire sequence a=(a1,a2,..,aK) of data bits ak, MAP approach is infeasible for large block lengths K because of the exponentially growing number 2K of terms p(y|a)

yk
June 7, 2007 6

^ One time equalization and decoding using hard or soft decisions (receiver B)

ak

bk
1) First process the observations to best estimate the transmitted channel symbols ^ ck

Decoder s(bk) Deinterleaver s(ck) Demapper

2) After estimating channel symbols, they are demapped into their associated code bits, de-interleaved and decoded using an optimal decoder

^ xk

s(xk)

Equalizer/Detector yk Receiver B

June 7, 2007

Once the error control decoding processes the soft information, it can generate its own soft info indicating the relative likelihood for each Tx bit

ak
Decoder

s(bk)

- +

s(bk)

The soft info from the decoder can then be properly interleaved and accounted for during equalization, creating a feedback loop between the equalizer and decoder This process is belief propagation or message passing

Deinterleaver

Interleaver

s(ck)

+ -

s(ck)
Mapper

Demapper Equalizer/Detector

yk Receiver C
8

June 7, 2007

Separate Equalization and Decoding


Standard approach to reduce the computational complexity is to split the detection problem into 2 subparts equalization and decoding.

We consider 2 classes of equalization: trellis based and linear filtering based methods (also consider soft decoding)

Trellis based method - MAP symbol detector sets symbol ^ estimate xk to that x from {1,-1} which maximizes the APP P(xk = x| y)

June 7, 2007

xk

Z-1 h1

Z-1 h2 nk

h0

Tapped delay line circuit of channel model (2 taps): we assume its impulse response is known

yk

yk = nk + vk , vk =

L X `=0

h` xk` , k = 1, 2, , N

For a L-tap line, given a binary input alphabet {1,-1}, the channel can be in one of 2L states, ri, i=1,2,..,2L, for the 2L possible delay elements
June 7, 2007

10

NB: given xij, vij can be found as we assume channel is known

r3 r2

r3 r2

r3 r2

r3 r2

r1 xij/vij r0 k-1

r1 x01/v01 r0 k

x21/v21 r1 x20/v20 r0 k+1

r1

r0 k+2

Trellis representation of the channel - r0 (00),r1 (01),r2 (10) and r3 (11) are 4 possible states. The aim is to compute P(Xk = x|y), given received sequence y, so as to find out the a posteriori most likely sequence June 7, 2007 11

Linear Equalization
For a L-tap channel and a m-ary alphabet, MAP detection for channel requires mL states in trellis hence linear equalization Linear filtering based methods perform only simple operations on the received symbols Given yk, and assuming knowledge of channel H, estimate xk can be obtained through a linear/affine transform
June 7, 2007 12

using channel model: yk = Hxk + nk best ane estimate: xk =


T fk |{z}

yk +

to estimate

to estimate T fk n k

zero forcing case with noise: xk = xk +

bk |{z}

June 7, 2007

13

MSE = E(|xk xk | ) To minimize MSE, linear model used is as follows


T xk = E(xk ) + fk (yk E(yk )) 1

fk = Cov(yk , yk ) Cov(yk , xk )
June 7, 2007

14

Decoding
Decoding
Encoder is convolutional code Trellis representation of convolutional code Forward backward algorithm
Observation y
Forward/ Backward

A posteriori L(b)

Prior

L(a)

Observation =0 & Prior from equalizer

June 7, 2007

15

Performance for Receiver B

BER for Receiver B with hard (dash) and soft (solid)

June 7, 2007

16

Drawbacks of model
Separate equalization- decoding
y Equalizer xk
Demapper + Deinterleaver

bk
Decoder

ak

K information bits N coded bits Equalizer calculates P(xk/y)


Not all trellis paths are valid

June 7, 2007

17

Equalizers trellis
VALID PATH

IN

T PA LID VA

At each trellis state we need to know if the branch leading to it is in valid: Out of the 2N possible paths, identifying the 2K valid paths requires a look up of all possible sequences a computationally prohibitive task for large N and K
June 7, 2007 18

Turbo equalizer
Observation y L(ck/y) Equalizer Lprior(ck/y)
_ +

extrinsic information

Lext(ck/y) Interleaver Lext(bk/p) +

Deinterleaver L prior(bk/y) Decoder L(bk/p) L(ak)

This acts as prior P

June 7, 2007

19

Equalizers integration
MAP equalizer
Just like convolutional decoder Exchange bit LLRs

MMSE
Use Prior LLRs (P(Xk=xk)) to get better estimates of xk The extrinsic info for xk should not contain any prior info about xk

Avoid limit cycles by interleaving

June 7, 2007

20

Underlying code
The inner code is channel code!
Recursive inner codes performed well Add pre-coder to make the channel code recursive Pre-coder memory < Channel memory
nk
Z-1 Z-1

(1+D2, 1+D+D2)

Interleaver +Mapper ~ Xk

Xk h0

yk
h2

h1

Outer code
June 7, 2007

Inner code
21

Pre-coder Design
Consider a simple precoder 1/(1+D)
Input word with weight 1, Output word very large weight

Pre-coder transforms low weight outer-code words to high weight Two types
Lower multiplicity of error events - 1/(1+Dk) (k=1,2) Higher weights of error events - 1/ (1 + D2 + D3 )

June 7, 2007

22

Pre-coder Design
Precoder A: 5,3,11 (1/(1+DK))

Precoder B: 15, 17 (1/ (1 + D2 + D3 ))

performs better at higher SNR due to higher weight of o/p codewords

Without precoder: 1

June 7, 2007

Plot of BER showing two types of precoders

23

Performance

Without precoder
Best results after precoding 20 iterations

With Precoder

Shannon Limit Performance of turbo equalization with Accumulating Precoder for various iterations
June 7, 2007 24

Lecture Summary
ISI channel as a rate 1 convolutional code
BCJR like decoding MMSE type decoding for big constellations

Separate equalization and decoding far off Shannon Limits Answer: Turbo equalization
Simplified decoder for channel code (e.g. MMSE) efficient precoder design
June 7, 2007 25

Main References:

1) Turbo equalization: principles and new results Tuchler, M. Koetter, R. Singer, A.C. Inst. for Commun. Eng., Tech. Univ. of Munich; This paper appears in: Communications, IEEE Transactions on Publication Date: May 2002 Volume: 50, Issue: 5 On page(s): 754-767 2) The effect of a precoder on serially concatenated coding systems with an ISI channel Inkyu Lee Wireless Syst. Res. Lab., Murray Hill, NJ; This paper appears in: Communications, IEEE Transactions on Publication Date: Jul 2001 Volume: 49, Issue: 7 On page(s): 1168-1175

June 7, 2007

26

THANK YOU

QUESTIONS??

June 7, 2007

27

ak = arg max P (ak = a|y)


a{0,1} L X output vk is given by vk = h` xk` `=0 L X `=0

yk = nk +

\LARGE{\begin{equation*} P(a_k = a| \bf{y}) = \sum_{\forall \bf{a}: a_k=a} p(\bf{y|a})P(\bf{a})}{p(\bf{y})} \end{equation*}}

h`xk`, k = 1, 2, , N
P(\bf{a|y}) = \sum_{\forall \bf{a}: a_k=a} \frac{

xk = fk yk + bk
June 7, 2007 28

Role of the various parts


Encoder protect the data by adding proper redundancy. Forward error correction protects the data from random single bit errors or short bursts Interleaver to ensure that such errors appear random and to avoid long error bursts, interleaver helps to randomize the order of the code bits prior to transmission Mapper permuted code bits are converted into electrical signal levels that can be modulated either at baseband or onto a carrier (passband). Mapper maps the interleaved coded bits into channel symbols suitable for modulation

June 7, 2007

29

Channel Effects:
Traditional methods of data protection used in ECC do not work when the channel introduces additional distortions, in form of ISI When the channel is dispersive, the receiver will need to compensate for the channel effects before using a standard decoding algorithm Methods for channel compensation are called channel equalization
June 7, 2007 30

Tasks for Receiver


Rx should estimate the data that was transmitted, using info of how the channel has corrupted the data along with added redundancy to protect the data When channel introduces ISI, adjacent channel symbols are smeared together creating dependencies among Tx channel symbols. Nullifying the ISI effects on Tx data is equalization (detection) while recovering the data bits from equalized symbol stream using ECC is decoding

June 7, 2007

31

Why soft information??


Equalizer can make hard decisions as to which sequence of channel symbols were transmitted, and for these hard decisions to be mapped into their constituent binary code bits. The process of making hard decisions on the channel symbols destroys information pertaining to how likely each channel symbol may have been The extra soft information can be changed to probabilities that each of the received code bits takes on 0/1, which after deinterleaving, can be exploited by a BER optimal decoding algorithm
June 7, 2007 32

Optimal Detection
Optimal Rx achieves the minimum probability of error for each data bit ak. P ( a a )
k k

This is achieved by setting ak to that value which maximizes the a-posteriori probability P(ak = a | y ) given the observed sequence y, i.e.

ak = arg max P (ak = a|y)


a{0,1}

An algorithm that maximizes the APP is called a maximum a posteriori (MAP) algorithm

June 7, 2007

33

Problem with MAP approach


Main problem with MAP approach is that computation of APP is computationally demanding

P (ak = a|y) =

a:ak =a

X p(y|a)P(a) P(a|y) = p(y)


a:ak =a

As y depends on the entire sequence a=(a1,a2,..,aK) of data bits ak, MAP approach is infeasible for large block lengths K because of the exponentially growing number 2K of terms p(y|a)
June 7, 2007 34

xk

Tapped delay line circuit of channel model (2 taps)

h0

h1

h2

nk

yk
\LARGE{\begin{equation*} y_k = n_k + \sum_{\ell=0}^L h_{\ell}x_{k - \ell}, ~ k=1,2,\cdots,N \end{equation*}}

For a L-tap line, given a binary input alphabet {1,-1}, the channel can be in one of 2L states, ri, i=1,2,..,2L, for the 2L possible delay elements
June 7, 2007 35

MAP symbol detection


For a L-tap line, given a binary input alphabet {1,-1}, the channel can be in one of 2L states, ri, i=1,2,..,2L, for the 2L possible delay elements S = {r1,r2,,r2^L} = set of possible states Given sk, the state sk+1 can only assume one of 2 values corresponding to whether 1/-1 is fed in at time k possible evolution of states is given by trellis L
output vk is given by vk =
June 7, 2007

X
`=0

h` xk`
36

p(sk , sk+1 , y) = p(y)P(sk , sk+1 |y) p(sk , sk+1 , y) = p(sk , y1 , , yk1 ) . p(sk+1 , yk |sk ) . p(yk+1 , , yN |sk+1 ) {z } | {z } | {z } |
k (sk )

k (s) =

sS

k (sk ,sk+1 )

k+1 (sk+1 )

k1 (s)k1 (s, s) k+1 (s)k (s, s)

k (s) =

sS

k (sk , sk+1 ) = P (sk+1 |sk )p(yk |sk , sk+1 ) P (xk = xij ).p(yk |vk = vij ), (i, j) B k (ri , rj ) = 0, (i, j) 6= B 2 2 p(yk |vk ) = exp((yk vk ) /(2 ))/ 2 2 X P (xk = x|y) = P (sk = ri , sk+1 = rj |y)
(i,j)B:xij =x

June 7, 2007

37

We can then obtain the conditional LLR L(ck|y) of the code bit ck, (assuming BPSK)

P (ck = 0|y) P (xk = +1|y) L(ck |y) = ln = ln P (ck = 1|y) P (xk = 1|y)
The code estimates ck are computed from the sign of L(ck|y) Computational complexity of the trellis based approaches is given by the number of trellis states, equal to 2L, which grows exponentially with L, the number of delay elements or taps
June 7, 2007 38

Linear Equalization
In contrast to MAP, linear filter based methods perform only simple operations on the received symbols, which are generally applied sequentially to a subset yk of the observed symbols
^ Given yk, estimate xk of xk can be obtained as

xk = fk yk + bk
The vector fk and scalar bk are parameters obtained through optimization
June 7, 2007 39

Assumptions on the model:


Series of transmit pulse shapes modulated with symbols xk is transmitted over a LTI channel with known channel impulse response (CIR) Coherent symbol-spaced Rx with exact knowledge of signal phase and symbol timing receives transmitted waveforms Received waveforms are passed through the receive filter which is matched to transmit pulse shape and CIR
June 7, 2007 40

Problem Setup
A branch of the trellis is a 4-tuple (i,j,xij,vij) such that state sk+1=rj at time k+1 can be reached from state sk=ri at time k, with input xk=xij and output vk=vij The set of all index pairs (i,j) corresponding to valid branches is denoted by B Aim is to efficiently compute the APP P(xk|y) We initially compute the prob. that the Tx sequence path in the trellis contained the branch (i,j,xij,vij) at time k, i.e. P(sk=ri,sk+1=rj|y)
June 7, 2007 41

p(sk , sk+1 , y) = p(y)P(sk , sk+1 |y) p(sk , sk+1 , y) = p(sk , y1 , , yk1 ) . p(sk+1 , yk |sk ) . p(yk+1 , , yN |sk+1 ) {z } | {z } | {z } |
k (sk )

k (s) =

sS

k (sk ,sk+1 )

k+1 (sk+1 )

k1 (s)k1 (s, s) k+1 (s)k (s, s)

k (s) =

sS

k (sk , sk+1 ) = P (sk+1 |sk )p(yk |sk , sk+1 ) P (xk = xij ).p(yk |vk = vij ), (i, j) B k (ri , rj ) = 0, (i, j) 6= B 2 2 p(yk |vk ) = exp((yk vk ) /(2 ))/ 2 2 X P (xk = x|y) = P (sk = ri , sk+1 = rj |y)
(i,j)B:xij =x

June 7, 2007

42

Equalization Approaches
Linear model suggests multiplying yk with a vector fk that recovers xk perfectly in the absence of noise This Zero Forcing Equalizer suffers from noise enhancement, when the channel impulse response matrix is ill-conditioned This can be avoided using linear minimum mean square error (MMSE) estimation
June 7, 2007 43

Avoiding Limit Cycles


Soft info an independent piece of information However, if decoder formulates the soft info about a given bit, based on soft info provided from the equalizer about exactly the same bit, then this info is not independent of the channel observations This would result in a feedback loop of length 2 equalizer informs the decoder about a given bit while the decoder reinforms the equalizer what it already knows. Solution Equalizer tells the decoder new info about a bit based on info gathered from distant parts of the received signal (using interleaver).

June 7, 2007

44

Possible Receiver Configurations:


Receiver A: optimal detector Receiver B: separate equalization and decoding Receiver C: turbo equalization joint equalization and decoding

June 7, 2007

45

Das könnte Ihnen auch gefallen