Handling Inter-Symbol Interference (ISI): Wave Shaping, Equalization and OFDM Y. Richard Yang 09/25/2012
Outline Admin. and recap Handling ISI Symbol wave shaping equalization OFDM PHY http://setemagali.com/2009/10/12/climbing-the-mountain-everyday/
Admin. Feedback on coverage approach Continue to MAC layer Switch to App layer (basic Android) and then back Please start to think about project
Recap: Main Story of Flat Fading Communication over a wireless channel has poor performance due to significant probability that channel is in a deep fade, or has interference Reliability is increased by using diversity: more resolvable signal paths that fade independently time diversity: send same info (or coded version) at different instances of time space diversity: send/receive same info at different locations frequency diversity: send info at different frequencies
Outline Admin. and recap Inter-Symbol Interference (ISI)
ISI ISI happens when the signaling for one symbol leaks into that of another symbol Why does ISI happen? Band limit produced ISI Multipath produced ISI 1 2
Outline Admin. and recap Inter-Symbol Interference (ISI) Bandlimit produced ISI
Spectrum of BPSK Rectangular Pulse BPSK: g(t) = x(t) cos(2πfct), for t in [0, T] Since multiplying cos() is just to shift frequency, consider the baseband, which is a rectangular pulse Fourier transform of a rectangular pulse spans the whole frequency range This may not be acceptable in real deployment http://mysite.du.edu/~etuttle/electron/elect6.htm http://mysite.du.edu/~etuttle/electron/elect6.htm
Band Limit Signaling Use band limited signaling functions Design 1: sinc W = 1/2T sinc G(f) g(t)
‘sinc’-like Signaling a g(t) Effect: signals spread across symbols. Question: does it “ruin” our demodulation?
Received Signal Representation
Matched Filter Decoding Suppose matched filter h(t)
Impact on Matched Filter Decoding Define Recall that we make decisions at iT instances of time: Define pk = p(kT) Question: what is a condition for no ISI?
Folded Spectrum Design Define no ISI as only p0 is non-zero. Objective: how to design p(t) = g(t) * h(t) to satisfy no ISI? A design of p(t) has no ISI iff folded spectrum is flat
Folded Spectrum Design
Folded Spectrum Design: Sufficiency
Folded Spectrum Design: Necessary =>
Flat Folded Spectrum
Flat Folded Spectrum: Raised Cosine http://en.wikipedia.org/wiki/Raised-cosine_filter beta called rolloff factor or excessive bw smaller beta, lower excessive bw, but slower time-domain dying down
From P() to G() Recall Assume g(t) symmetric, h(t) = g(-t) = g(t)
Root Raised Cosine http://en.wikipedia.org/wiki/Root-raised-cosine_filter
Apply to Real Life See dbpsk.py of gnuradio implementation
? http://setemagali.com/2009/10/12/climbing-the-mountain-everyday/
Outline Admin. and recap Inter-Symbol Interference (ISI) Bandlimit ISI Multipath ISI
Multipath ISI y3 1 2 3 4 1 2 3 4 1 2 3 4
Multipath ISI y3 h(0) x(3) 1 2 3 4 1 2 3 4 1 2 3 4
Multipath ISI y3 h(0) x(3) h(1) x(2) 1 2 3 4 1 2 3 4 1 2 3 4
Multipath ISI y3 h(0) x(3) h(1) x(2) 1 2 3 4 1 2 3 4 1 2 3 4 h(2) x(0)
Recall: Representation of Wireless Channels In the general case, received signal at time m is y[m], hl[m] is the strength of the l-th tap, w[m] is the background noise:
Visualizing ISI
ISI Problem Formulation The problem: given received y[m], m = 1, …, L+2, where L is frame size and assume 3 delay taps (it is easy to generalize to D taps): y[1] = x[1] h0 + w[1] y[2] = x[2]h0 + x[1] h1 + w[2] y[3] = x[3]h0 + x[2]h1 + x[3] h2 + w[3] y[4] = x[4]h0 + x[3]h1 + x[2] h2 + w[4] y[5] = x[5]h0 + x[4]h1 + x[3] h2 + w[5] … y[L] = x[L]h0 + x[L-1]h1 + x[L-2]h2 + w[L] y[L+1] = x[L]h1 + x[L-1]h2 + w[L+1] y[L+2] = x[L]h2 + w[L+2] determine x[1], x[2], … x[L] http://en.wikipedia.org/wiki/Andrew_Viterbi
ISI Equalization: Given y, what is x? y[1] = x[1] h0 + w[1] y[2] = x[2]h0 + x[1] h1 + w[2] y[3] = x[3]h0 + x[2]h1 + x[3] h2 + w[3] y[4] = x[4]h0 + x[3]h1 + x[2] h2 + w[4] y[5] = x[5]h0 + x[4]h1 + x[3] h2 + w[5] … y[L] = x[L]h0 + x[L-1]h1 + x[L-2]h2 + w[L] y[L+1] = x[L]h1 + x[L-1]h2 + w[L+1] y[L+2] = x[L]h2 + w[L+2] x y
Solution Technique Maximum likelihood detection: if the transmitted sequence is x[1], …, x[L], then there is a likelihood we observe y[1], y[2], …, y[L+2] we choose the x sequence such that the likelihood of observing y is the largest y[1] = x[1] h0 + w[1] y[2] = x[2]h0 + x[1] h1 + w[2] y[3] = x[3]h0 + x[2]h1 + x[3] h2 + w[3] y[4] = x[4]h0 + x[3]h1 + x[2] h2 + w[4] y[5] = x[5]h0 + x[4]h1 + x[3] h2 + w[5] … y[L] = x[L]h0 + x[L-1]h1 + x[L-2]h2 + w[L] y[L+1] = x[L]h1 + x[L-1]h2 + w[L+1] y[L+2] = x[L]h2 + w[L+2]
Likelihood For given sequence x[1], x[2], …, x[L] y[1] = x[1] h0 + w[1] y[2] = x[2]h0 + x[1] h1 + w[2] y[3] = x[3]h0 + x[2]h1 + x[3] h2 + w[3] y[4] = x[4]h0 + x[3]h1 + x[2] h2 + w[4] … Likelihood For given sequence x[1], x[2], …, x[L] Assume white noise, i.e, prob. w = z is What is the likelihood (prob.) of observing y[1]? it is the prob. of noise being w[1] = y[1] – x[1] h0
Likelihood The likelihood of observing y[2] y[1] = x[1] h0 + w[1] y[2] = x[2]h0 + x[1] h1 + w[2] y[3] = x[3]h0 + x[2]h1 + x[3] h2 + w[3] y[4] = x[4]h0 + x[3]h1 + x[2] h2 + w[4] … Likelihood The likelihood of observing y[2] it is the prob. of noise being w[2] = y[2] – x[2]h0 – x[1]h1, which is The overall likelihood of observing the whole y sequence (y[1], …, y[L+2]) is the product of the preceding probabilities
One Technique: Enumeration y[1] = x[1] h0 + w[1] y[2] = x[2]h0 + x[1] h1 + w[2] y[3] = x[3]h0 + x[2]h1 + x[3] h2 + w[3] y[4] = x[4]h0 + x[3]h1 + x[2] h2 + w[4] … One Technique: Enumeration foreach sequence (x[1], …, x[L]) compute the likelihood of observing the y sequence pick the x sequence with the highest likelihood Question: what is the computational complexity?
Viterbi Algorithm Objective: avoid the enumeration of the x sequences Key observation: the memory (state) of the wireless channel is only 3 (or generally D for D taps) Let s[0], s[1], … be the states of the channel as symbols are transmitted s[0]: initial state---empty s[1]: x[1] is transmitted, two possibilities: 0, or 1 s[2]: x[2] is transmitted, four possibilities: 00, 01, 10, 11 s[3]: x[3] is transmitted, eight possibilities: 000, 001, …, 111 s[4]: x[4] is transmitted, eight possibilities: 000, 001, …, 111 We can construct a state transition diagram If we know the x sequence we can construct s, and vice versa
observe y[1] observe y[2] observe y[3] observe y[4] s[0] s[1] s[2] s[3] s[4] x[1]=0 x[2]=0 x[3]=0 00 000 000 x[3]=1 001 001 x[1]=1 x[2]=1 x[3]=0 01 010 010 x[3]=1 011 011 x[2]=0 x[3]=0 1 10 100 100 x[3]=1 x[2]=1 101 101 x[3]=0 11 110 110 x[3]=1 111 111 prob. of observing y[1]: w[1] = y[1]-x[1]h0 prob. of observing y[2]: w[2] = y[2]-x[1]h0-x[2]h1 prob. of observing y[4]: w[4] = y[4]-x[4]h0-x[3]h1-x[2]h2
Viterbi Algorithm Each path on the state-transition diagram corresponds to a x sequence each edge has a probability the product of the probabilities on the edges of a path corresponds to the likelihood that we observe y if x is the sequence sent Then the problem becomes identifying the path with the largest product of probabilities If we take -log of the probability of each edge, the problem becomes identifying the shortest path problem!
Viterbi Algorithm: Summary Invented in 1967 Utilized in CDMA, GSM, 802.11, Dial-up modem, and deep space communications Also commonly used in speech recognition, computational linguistics, and bioinformatics Original paper: Andrew J. Viterbi. Error bounds for convolutional codes and an asymptotically optimum decoding algorithm, April 1967 http://ieeexplore.ieee.org/search/wrapper.jsp?arnumber=1054010
Problems of Viterbi for Multipath ISI Its complexity grows exponentially with D, where D is the number of multipaths taps relative to the symbol time If we have a high symbol rate, then D can be large, and we need complex receivers
CPU Cycles In (bit) Out (bit) Compute Mcyles/sec http://research.microsoft.com/apps/pubs/default.aspx?id=79927
Outline Admin. and recap Inter-Symbol Interference (ISI) Bandlimit ISI Multipath ISI Viterbi OFDM
Multiple Carrier Modulation Uses multiple carriers modulation (MCM) each subcarrier uses a low symbol rate reduce symbol rate and reduce ISI for N parallel subcarriers, the symbol time can be N times longer spread symbols across multiple subcarriers also gains frequency diversity
Multiple Carrier Modulation
Multiple Carrier Modulation (MCM): Problem Traditional approach of using multiple subcarriers uses guard band to avoid interference among subcarriers Guardband wastes spectrum
Orthogonal Frequency Division Multiplexing: Key Idea Avoid subcarrier interference Interference of subcarrier i on subcarrier j Effect of interference after matched filter j i
Orthogonal Frequency Division Multiplexing: Key Idea Frequencies chosen so that an integral number of cycles in a symbol period, i.e., subcarrier freq = k 1/T They do not need to have the same phase, so long integral number of cycles in symbol time T !
OFDM: Orthogonal Subcarriers Frequencies chosen so that an integral number of cycles in a symbol period, i.e., subcarrier freq = k 1/T They do not need to have the same phase, so long integral number of cycles in symbol time T !
OFDM Modulation
Orthogonal Frequency Division Multiplexing OFDM allows overlapping subcarriers frequencies http://www1.linksys.com/products/images/ofdm.gif 802.11a
OFDM Implementation Take N symbols and place one symbol on each subcarrier (freq.) Q: any problem with the straightforward implementation strategy? freq0 freqN-1
OFDM: Key Idea 2 freq0 Straightforward implementation can be expensive if we use one oscillator for each subcarrier Consider data as coefficients in the frequency domain, use inverse Fourier transform to generate time-domain sequence freqN-1
OFDM Implementation: FFT channel
OFDM Implementation Parallel data streams are used as inputs to an IFFT IFFT does multiplexing and modulation in one step !
OFDM Implementation OFDM also uses cyclic prefix to avoid intercarrier and intersymbol interference caused by multipath delays For details see Chap. 13.1.4 of http://proquest.safaribooksonline.com/0596100523?tocview=true
Summary of PHY
Wireless PHY PHY http://setemagali.com/2009/10/12/climbing-the-mountain-everyday/
Outline Admin. and recap Inter-Symbol Interference (ISI) Bandlimit ISI Multipath ISI Viterbi OFDM Delay spread as diversity
Reducing to Transmit Diversity Delay spread is really a type of transmit diversity
Multipath Diversity: Rake Receiver Instead of considering delay spread as an issue, use multipath signals to recover the original signal Used in IS-95 CDMA, 3G CDMA, and 802.11 Invented by Price and Green in 1958 R. Price and P. E. Green, "A communication technique for multipath channels," Proc. of the IRE, pp. 555--570, 1958
Multipath Diversity: Rake Receiver LOS pulse multipath pulses Use several "sub-receivers" each delayed slightly to tune in to the individual multipath components Each component is decoded independently, but at a later stage combined this could very well result in higher SNR in a multipath environment than in a "clean" environment
Rake Receiver Blocks Correlator Combiner Finger 1 Finger 2 Finger 3
Rake Receiver: Matched Filter Impulse response measurement Tracks and monitors peaks with a measurement rate depending on speeds of mobile station and on propagation environment Allocate fingers: largest peaks to RAKE fingers
Rake Receiver: Combiner The weighting coefficients are based on the power or the SNR from each correlator output If the power or SNR is small out of a particular finger, it will be assigned a smaller weight:
Comparison [PAH95] MCM is OFDM