Beruflich Dokumente
Kultur Dokumente
ak Encoder bk
System configuration for a digital transmitter as part of a communication link
Scrambled version of bk
Channel symbol
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
ak
Main problem with MAP approach is that computation of APP (a-posteriori prob.) is computationally demanding
P (ak = a|y) =
a:ak
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
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
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
r3 r2
r3 r2
r3 r2
r3 r2
r1 xij/vij r0 k-1
r1 x01/v01 r0 k
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
yk +
to estimate
to estimate T fk n k
bk |{z}
June 7, 2007
13
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)
June 7, 2007
15
June 7, 2007
16
Drawbacks of model
Separate equalization- decoding
y Equalizer xk
Demapper + Deinterleaver
bk
Decoder
ak
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
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
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))
Without precoder: 1
June 7, 2007
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
yk = nk +
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
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
June 7, 2007
31
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.
An algorithm that maximizes the APP is called a maximum a posteriori (MAP) algorithm
June 7, 2007
33
P (ak = a|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
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
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 )
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
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 )
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
June 7, 2007
44
June 7, 2007
45