Turbo Equal1 Ver3

Embed Size (px)

Citation preview

  • 7/31/2019 Turbo Equal1 Ver3

    1/45

    Lecture Project

    ECE 243BDepartment of Electrical & Computer Engg,

    University of California, Santa Barbara

    June 7, 2007

    Anindya Sarkar and Sandeep Ponnuru

    An Introduction to TurboEqualization

  • 7/31/2019 Turbo Equal1 Ver3

    2/45

    June 7, 2007 2

    Encoder

    Interleaver

    Mapper

    Channel

    ak

    bk

    ck

    xk

    yk

    Binary data bits

    Binary code bits

    Scrambled version of bk

    Channel symbol

    Samples fromreceiver filter output

    Systemconfigurationfor a digital

    transmitter aspart of a

    communicationlink

  • 7/31/2019 Turbo Equal1 Ver3

    3/45

    June 7, 2007 3

    Role of the various parts

    Encoder dataprotection throughredundancy

    Interleaver to avoid

    long error bursts

    Mapper maps the

    interleaved coded bitsinto channel symbolssuitable for modulation

    00 01 10 11

    -3A -A A 3A

  • 7/31/2019 Turbo Equal1 Ver3

    4/45June 7, 2007 4

    Receivers Job:

    Rx should estimate the data that was transmitted,

    using info of how the channel has corrupted the dataalong with added redundancy to protect the data

    Nullifying the ISI effects on Tx data is equalization(detection)

    Recovering the data bits from equalized symbolstream using ECC is decoding

  • 7/31/2019 Turbo Equal1 Ver3

    5/45June 7, 2007 5

  • 7/31/2019 Turbo Equal1 Ver3

    6/45June 7, 2007 6

    Receiver A Optimal Detector

    Optimal detector

    yk

    ak^

    Main problem with MAP approach is that computationof APP (a-posteriori prob.) is computationallydemanding

    P(ak = a|y) =X

    a:ak=a

    P(a|y) =X

    a:ak=a

    p(y|a)P(a)

    p(y)

    As y depends on the entire sequence

    a=(a1,a2,..,aK) of data bits ak, MAP approach isinfeasible for large block lengths K because of theexponentially growing number 2K of terms p(y|a)

  • 7/31/2019 Turbo Equal1 Ver3

    7/45June 7, 2007 7

    Decoder

    Deinterleaver

    Demapper

    Equalizer/Detector

    yk

    s(xk)xk^

    s(ck)

    s(bk)

    ak

    bk

    ^

    ^

    ck^

    Receiver B

    One time equalization anddecoding using hard or soft

    decisions (receiver B)

    1) First process the

    observations to best estimatethe transmitted channelsymbols

    2) After estimating channelsymbols, they are de-mapped into their associatedcode bits, de-interleavedand decoded using anoptimal decoder

  • 7/31/2019 Turbo Equal1 Ver3

    8/45June 7, 2007 8

    Equalizer/Detector

    Demapper Mapper

    Deinterleaver Interleaver

    Decoder

    +

    +-

    -

    yk

    s(ck)

    s(bk)

    ^ak

    s(bk)

    s(ck)

    Receiver C

    Once the error controldecoding processes thesoft information, it can

    generate its own soft infoindicating the relativelikelihood for each Tx bit

    The soft info from thedecoder can then beproperly interleavedand accounted forduring equalization,creating a feedbackloop between theequalizer and decoder

    This process is beliefpropagation or messagepassing

  • 7/31/2019 Turbo Equal1 Ver3

    9/45June 7, 2007 9

    Separate Equalization and Decoding

    Standard approach to reduce the computational complexity is tosplit the detection problem into 2 subpartsequalization 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 symbolestimate xk to that x from {1,-1} which maximizes the APP P(xk= x| y)

    ^

  • 7/31/2019 Turbo Equal1 Ver3

    10/45June 7, 2007 10

    Z-1 Z-1xk

    h0 h1 h2nk

    yk

    Tapped delay linecircuit of channelmodel (2 taps):we assume itsimpulse responseis known

    yk = nk + vk, vk =L

    X=0 h`xk`, k = 1, 2, , NFor 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

    NB: given x v can be found as we assume channel is known

  • 7/31/2019 Turbo Equal1 Ver3

    11/45June 7, 2007 11

    r0 r0 r0r0

    r1 r1 r1 r1

    r2 r2 r2 r2

    xij/vij

    r3 r3 r3 r3

    k-1 k+1 k+2k

    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 mostlikely sequence

    x01/v01

    x21/v21

    x20/v20

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

    Li E li i

  • 7/31/2019 Turbo Equal1 Ver3

    12/45

    June 7, 2007 12

    Linear Equalization

    For a L-tap channel and a m-ary alphabet, MAPdetection for channel requires mL states in

    trellishence linear equalization

    Linear filtering based methods perform onlysimple operations on the received symbols

    Given yk, and assuming knowledge ofchannel H, estimate xk can be obtained

    through a linear/affine transform

  • 7/31/2019 Turbo Equal1 Ver3

    13/45

    June 7, 2007 13

    using channel model: yk = Hxk + nk

    best affine estimate: xk = fTk

    |{z}to estimateyk + bk

    |{z}to estimatezero forcing case with noise: xk = xk + f

    Tk nk

  • 7/31/2019 Turbo Equal1 Ver3

    14/45

    June 7, 2007 14

    MSE = E(|xk xk|2)

    To minimize MSE, linear model used is as follows

    xk = E(xk) + fTk (ykE(yk))

    fk = Cov(yk,yk)1Cov(yk, xk)

    D di

  • 7/31/2019 Turbo Equal1 Ver3

    15/45

    June 7, 2007 15

    Decoding

    Decoding

    Encoder is convolutional code

    Trellis representation of convolutional code

    Forward backward algorithm

    Observation y

    Prior L(a)

    Forward/

    Backward

    A posteriori L(b)

    Observation =0 & Prior from equalizer

    P f f R i B

  • 7/31/2019 Turbo Equal1 Ver3

    16/45

    June 7, 2007 16

    Performance for Receiver B

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

  • 7/31/2019 Turbo Equal1 Ver3

    17/45

    June 7, 2007 17

    Drawbacks of model

    Separate equalization- decoding

    K information bits N coded bits

    Equalizer calculates P(xk/y)

    Not all trellis paths are valid

    EqualizerDemapper +Deinterleaver Decoder

    y xk bk ak

    Equalizers trellis

  • 7/31/2019 Turbo Equal1 Ver3

    18/45

    June 7, 2007 18

    Equalizer s trellis

    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

    INVALID

    PATH

    VALID PATH

    Turbo equalizer

  • 7/31/2019 Turbo Equal1 Ver3

    19/45

    June 7, 2007 19

    Turbo equalizer

    Equalizer

    DeinterleaverInterleaver

    Observation y

    Lext(ck/y)

    Lprior(ck/y)

    L(bk/p)

    +

    _ +

    Lext(bk/p)

    L(ck/y)

    L prior(bk/y)-

    L(ak)

    DecoderThis acts as prior P

    extrinsic information

  • 7/31/2019 Turbo Equal1 Ver3

    20/45

    June 7, 2007 20

    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

    Underlying code

  • 7/31/2019 Turbo Equal1 Ver3

    21/45

    June 7, 2007 21

    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

    (1+D2, 1+D+D2) Interleaver+Mapper

    Z-1 Z-1

    h0 h1 h2

    nk

    ykXk~

    Xk

    Outer code Inner code

  • 7/31/2019 Turbo Equal1 Ver3

    22/45

    June 7, 2007 22

    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 )

    Pre coder Design

  • 7/31/2019 Turbo Equal1 Ver3

    23/45

    June 7, 2007 23

    Pre-coder Design

    Plot of BER showing two types of precoders

    Precoder A: 5,3,11

    (1/(1+DK))

    Precoder B: 15, 17

    (1/ (1 + D2 + D3 ))

    Without precoder:

    1

    performs better at

    higher SNR due tohigher weight ofo/p codewords

  • 7/31/2019 Turbo Equal1 Ver3

    24/45

    June 7, 2007 24

    Performance

    Performance of turbo equalization with Accumulating Precoder for

    various iterations

    Without

    precoder

    With

    Precoder

    Best resultsafter

    precoding -20 iterations

    Shannon Limit

    L t S

  • 7/31/2019 Turbo Equal1 Ver3

    25/45

    June 7, 2007 25

    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

    Main References:

  • 7/31/2019 Turbo Equal1 Ver3

    26/45

    June 7, 2007 26

    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 onPublication Date: May 2002

    Volume: 50, Issue: 5On page(s): 754-767

    2) The effect of a precoder on serially concatenated coding systems with anISI channelInkyu LeeWireless Syst. Res. Lab., Murray Hill, NJ;This paper appears in: Communications, IEEE Transactions onPublication Date: Jul 2001

    Volume: 49, Issue: 7On page(s): 1168-1175

    http://ieeexplore.ieee.org/search/searchresult.jsp?disp=cit&queryText=%28%20koetter%20%20r.%3CIN%3Eau%29&valnm=+Koetter%2C+R.&reqloc%20=others&history=yeshttp://ieeexplore.ieee.org/search/searchresult.jsp?disp=cit&queryText=%28%20singer%20%20a.%20c.%3CIN%3Eau%29&valnm=+Singer%2C+A.C.&reqloc%20=others&history=yeshttp://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=26http://ieeexplore.ieee.org/xpl/tocresult.jsp?isnumber=21711&isYear=2002http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=26http://ieeexplore.ieee.org/xpl/tocresult.jsp?isnumber=20235&isYear=2001http://ieeexplore.ieee.org/xpl/tocresult.jsp?isnumber=20235&isYear=2001http://ieeexplore.ieee.org/xpl/tocresult.jsp?isnumber=21711&isYear=2002http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=26http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=26http://ieeexplore.ieee.org/search/searchresult.jsp?disp=cit&queryText=%28%20singer%20%20a.%20c.%3CIN%3Eau%29&valnm=+Singer%2C+A.C.&reqloc%20=others&history=yeshttp://ieeexplore.ieee.org/search/searchresult.jsp?disp=cit&queryText=%28%20koetter%20%20r.%3CIN%3Eau%29&valnm=+Koetter%2C+R.&reqloc%20=others&history=yes
  • 7/31/2019 Turbo Equal1 Ver3

    27/45

    June 7, 2007 27

    THANK YOU

    QUESTIONS??

  • 7/31/2019 Turbo Equal1 Ver3

    28/45

    June 7, 2007 28

    ak = argmaxa{0,1} P(ak = a|y)

    yk = nk +LX

    `=0

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

    output vk is given by vk =LX

    `=0

    h`xk`

    xk = fkTyk + bk

    \LARGE{\begin{equation*}

    P(a_k = a| \bf{y}) = \sum_{\forall \bf{a}: a_k=a} P(\bf{a|y}) = \sum_{\forall \bf{a}: a_k=a} \frac{

    p(\bf{y|a})P(\bf{a})}{p(\bf{y})}

    \end{equation*}}

    Role of the various parts

  • 7/31/2019 Turbo Equal1 Ver3

    29/45

    June 7, 2007 29

    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 toavoid 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 ontoa carrier (passband). Mapper maps the interleaved coded bitsinto channel symbols suitable for modulation

    Channel Effects:

  • 7/31/2019 Turbo Equal1 Ver3

    30/45

    June 7, 2007 30

    Channel Effects:

    Traditional methods of data protection used inECC do not work when the channel introduces

    additional distortions, in form of ISI

    When the channel is dispersive, the receiverwill need to compensate for the channel effectsbefore using a standard decoding algorithm

    Methods for channel compensation are calledchannel equalization

    Tasks for Receiver

  • 7/31/2019 Turbo Equal1 Ver3

    31/45

    June 7, 2007 31

    Tasks for Receiver

    Rx should estimate the data that was transmitted,using info of how the channel has corrupted the dataalong with added redundancy to protect the data

    When channel introduces ISI, adjacent channelsymbols are smeared together creating dependencies

    among Tx channel symbols.

    Nullifying the ISI effects on Tx

    data is equalization(detection) while recovering the data bits fromequalized symbol stream using ECC is decoding

    Why soft information??

  • 7/31/2019 Turbo Equal1 Ver3

    32/45

    June 7, 2007 32

    Why soft information??

    Equalizer can make hard decisions as to whichsequence of channel symbols were transmitted, andfor these hard decisions to be mapped into theirconstituent binary code bits.

    The process of making hard decisions on the channelsymbols 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 takeson 0/1, which after deinterleaving, can be exploited bya BER optimal decoding algorithm

    Optimal Detection

  • 7/31/2019 Turbo Equal1 Ver3

    33/45

    June 7, 2007 33

    Opt a etect o

    Optimal Rx achieves the minimum probability of errorfor each data bit ak.

    This is achieved by setting ak to that value whichmaximizes the a-posteriori probability

    given the observed sequence y, i.e.

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

    ( )k k

    P a a

    ( | )kP a a y=

    ak = argmaxa{0,1}

    P(ak = a|y)

    Problem with MAP approach

  • 7/31/2019 Turbo Equal1 Ver3

    34/45

    June 7, 2007 34

    pp

    Main problem with MAP approach is that computationof APP is computationally demanding

    As y depends on the entire sequence a=(a1,a2,..,aK) of

    data bits ak, MAP approach is infeasible for large blocklengths K because of the exponentially growingnumber 2K of terms p(y|a)

    P(ak = a|y) =X

    a:ak=a

    P(a|y) =X

    a:ak=a

    p(y|a)P(a

    p(y)

    xTapped delay

  • 7/31/2019 Turbo Equal1 Ver3

    35/45

    June 7, 2007 35

    xk

    yk

    h0h

    1

    h2

    nk

    line circuit ofchannel

    model

    (2 taps)

    \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

    MAP symbol detection

  • 7/31/2019 Turbo Equal1 Ver3

    36/45

    June 7, 2007 36

    y 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 2values corresponding to whether 1/-1 is fed in at timek

    possible evolution of states is given by trellis

    output vk is given by vk =L

    X=0

    h`xk`

  • 7/31/2019 Turbo Equal1 Ver3

    37/45

    June 7, 2007 37

    p(sk, sk+1,y) = p(y)P(sk, sk+1|y)

    p(sk, s

    k+1,y

    ) =p

    (sk, y

    1, , y

    k1)| {z }

    k(sk)

    . p(sk+1

    , yk|sk)| {z }

    k(sk,sk+1)

    . p(yk+1

    , , yN|sk+1)| {z }

    k+1(sk+1)

    k(s) =XsS

    k1(s)k1(s, s)

    k(s) =XsS

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

    k(sk, sk+1) = P(sk+1|sk)p(yk|sk, sk+1)

    k(ri, rj) = P(xk = xij).p(yk|vk = vij), (i, j) B

    0, (i, j) 6= B

    p(yk|vk) = exp((yk vk)2/(22))/

    22

    P(xk = x|y) =X

    (i,j)B:xij=x

    P(sk = ri, sk+1 = rj |y)

    We can then obtain the conditional LLR L(ck|y) of the code

  • 7/31/2019 Turbo Equal1 Ver3

    38/45

    June 7, 2007 38

    k ybit ck, (assuming BPSK)

    The code estimates ck are computed from the sign ofL(ck|y)

    ^

    L(ck|y) = lnP(ck = 0|y)

    P(ck = 1|y)

    = lnP(xk = +1|y)

    P(xk = 1|y)

    Computational complexity of the trellis basedapproaches is given by the number of trellis states,equal to 2L, which grows exponentially with L, the

    number of delay elements or taps

    Linear Equalization

  • 7/31/2019 Turbo Equal1 Ver3

    39/45

    June 7, 2007 39

    In contrast to MAP, linear filter based methodsperform only simple operations on the receivedsymbols, which are generally applied sequentially to a

    subset yk of the observed symbols

    Given yk, estimate x

    kof x

    kcan be obtained as

    The vector fk and scalar bk are parameters obtainedthrough optimization

    xk = fkTyk + bk

    ^

    Assumptions on the model:

  • 7/31/2019 Turbo Equal1 Ver3

    40/45

    June 7, 2007 40

    Assumptions on the model:

    Series of transmit pulse shapes modulated withsymbols xk is transmitted over a LTI channel withknown channel impulse response (CIR)

    Coherent symbol-spaced Rx with exact knowledge ofsignal phase and symbol timing receives transmittedwaveforms

    Received waveforms are passed through the receivefilter which is matched to transmit pulse shape andCIR

    Problem Setup

  • 7/31/2019 Turbo Equal1 Ver3

    41/45

    June 7, 2007 41

    A branch of the trellis is a 4-tuple (i,j,xij,vij) such thatstate sk+1=rj at time k+1 can be reached from statesk=ri at time k, with input xk=xij and output vk=vij

    The set of all index pairs (i,j) corresponding to validbranches is denoted by B

    Aim is to efficiently compute the APP P(xk|y)

    We initially compute the prob. that the Tx sequencepath in the trellis contained the branch (i,j,xij,vij) at timek, i.e. P(s

    k

    =ri

    ,sk+1

    =rj

    |y)

    ( ) ( )P( | )

  • 7/31/2019 Turbo Equal1 Ver3

    42/45

    June 7, 2007 42

    p(sk, sk+1,y) = p(y)P(sk, sk+1|y)

    p(sk, sk+1

    ,y) = p(sk, y1, , yk

    1)| {z }

    k(sk)

    . p(sk+1

    , yk|sk)| {z }k(sk,sk+1)

    . p(yk+1

    , , yN|sk+1

    )| {z }k+1(sk+1)

    k(s) =XsS

    k1(s)k1(s, s)

    k(s) =XsS

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

    k(sk, sk+1) = P(sk+1|sk)p(yk|sk, sk+1)

    k(ri, rj) = P(xk = xij).p(yk|vk = vij), (i, j) B

    0, (i, j) 6= B

    p(yk|vk) = exp((yk vk)2/(22))/

    22

    P(xk = x|y) = X(i,j)B:xij=x

    P(sk = ri, sk+1 = rj |y)

    Equalization Approaches

  • 7/31/2019 Turbo Equal1 Ver3

    43/45

    June 7, 2007 43

    Linear model suggests multiplying yk with avector fk that recovers xk perfectly in theabsence of noise

    This Zero Forcing Equalizer suffers from

    noise enhancement, when the channelimpulse response matrix is ill-conditioned

    This can be avoided using linear minimummean square error (MMSE) estimation

    Avoiding Limit Cycles

  • 7/31/2019 Turbo Equal1 Ver3

    44/45

    June 7, 2007 44

    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 channelobservations

    This would result in a feedback loop of length 2 equalizerinforms the decoder about a given bit while the decoder re-informs the equalizer what it already knows.

    Solution Equalizer tells the decoder new info about a bitbased on info gathered from distant parts of the received signal(using interleaver).

    Possible Receiver Configurations:

  • 7/31/2019 Turbo Equal1 Ver3

    45/45

    June 7, 2007 45

    Possible Receiver Configurations:

    Receiver A: optimal detector

    Receiver B: separate equalization and

    decoding

    Receiver C: turbo equalization jointequalization and decoding