45
Introduction To Equalization

Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

Embed Size (px)

Citation preview

Page 1: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

Introduction To Equalization

Page 2: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

Information

sourcePulse

generatorTransfilter

channel

X(t)

ReceiverfilterA/D

+ Channel noise

n(t)

Digital Processing

+

HT(f)

HR(f)

Y(t)

Hc(f)

Basic Digital Communication System

Page 3: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

Explanation of ISI

t

f

Fourier Transform Channel

f

Fourier Transform

t

Tb 2Tb

3Tb 4Tb

5Tb

t6Tb

Page 4: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

Reasons for ISI• Channel is band limited in

naturePhysics – e.g. parasitic capacitance in twisted pairs

– limited frequency response– unlimited time response

• Tx filter might add ISI when channel spacing is crucial.

• Channel has multi-path reflections

Page 5: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

Channel Model• Channel is unknown• Channel is usually modeled as Tap-Delay-

Line (FIR)

D D D

h(0) h(1) h(2) h(N-1) h(N)

y(n)

x(n)

++

++

+

Page 6: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

Example for Measured Channels

The Variation of the Amplitude of the Channel Taps is Random )changing Multipath(and usually modeled as Railegh distribution

in Typical Urban Areas

Page 7: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

Equalizer: equalizes the channel – the received signal would seen like it passed a delta response.

))(arg())(arg(

)()(1|)(||)(||)(|

1|)(|

fGfG

tthfGfGfG

fG

CE

totalCEC

E

Page 8: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

Need For Equalization• Need For Equalization:

– Overcome ISI degradation • Need For Adaptive Equalization:

– Changing Channel in Time

• => Objective:

Find the Inverse of the Channel Response to reflect a ‘delta channel to the Rx

*Applications (or standards recommend us the channel types for the receiver to cope with.(

Page 9: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

Zero forcing equalizers(according to Peak Distortion Criterion)

Tx Ch Eqqx

2

2 ...2,1,0

0,1)()(

n m

mnmTXCnmTq

No ISI

Equalizer taps

is described as matrix)2/( nTmTx

)1()5.1()2()5.2()3(

)0()5.0()1()5.1()2(

)1()5.0()0()5.0()1(

)2()5.1()1()5.0()0(

TxTxTxTxTx

xTxTxTxTx

TxTxxTxTx

TxTxTxTxx

X

Example: 5tap-Equalizer, 2/T sample rate:

:Force

Page 10: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

2

1

0

1

2

c

c

c

c

c

C

0

0

1

0

0

q

Equalizer taps as vector

Desired signal as vector

XC=q Copt=X-1q

Disadvantages: Ignores presence of additive noise (noise enhancement)

Page 11: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

MSE Criterion

21

0

])[][(][ nhnxJN

n

Mean Square Error between the received signal and the desired signal, filtered by the equalizer filter

LS Algorithm LMS Algorithm

Desired Signal

UnKnown Parameter)Equalizer filter response(

Received Signal

Page 12: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

LS

• Least Square Method:– Unbiased estimator– Exhibits minimum variance (optimal)– No probabilistic assumptions (only signal

model)

– Presented by Guass (1795) in studies of planetary motions)

Page 13: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

LS - Theory

][][][ mmnhns Hns ][

21

0

])[][(][ nhnxJN

n

1

0

2

1

0

][

][][ˆ

N

n

N

n

nh

nhnx

Derivative according to :

1.

2.

3.

4.

MSE:

Page 14: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

The minimum LS error would be obtained by substituting 4 to 3:

][]

])[][(][

][][ˆ][

])[ˆ][(][ˆ])[ˆ][(][

])[ˆ][])([ˆ][(])[ˆ][(][

21

0

21

01

0

2min

1

0

1

0

2

)ˆ(0

1

0

1

0

1

0

21

0min

nh

nhnxnxJ

nhnxnx

nhnxnhnhnxnx

nhnxnhnxnhnxJJ

N

n

N

nN

n

N

n

N

n

tinhBySubstitu

N

n

N

n

N

n

N

n

Energy Of Original Signal

Energy Of Fitted Signal

][][ nwSignalnx If Noise Small enough (SNR large enough) : Jmin~0

Back-Up

Page 15: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

LS : Pros & Cons• Advantages:

• Optimal approximation for the Channel- once calculated it could feed the Equalizer taps.

• Disadvantages:• heavy Processing (due to matrix inversion which by

It self is a challenge)• Not adaptive (calculated every once in a while and

is not good for fast varying channels

• Adaptive Equalizer is required when the Channel is time variant(changes in time) in order to adjust the equalizer filter tap Weights according to the instantaneous channel properties.

Page 16: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

Contents:

• Introduction - approximating steepest-descent algorithm

• Steepest descend method

• Least-mean-square algorithm

• LMS algorithm convergence stability

• Numerical example for channel equalization using LMS

• Summary

LEAST-MEAN-SQUARE ALGORITHM

Page 17: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

• Introduced by Widrow & Hoff in 1959

• Simple, no matrices calculation involved in the adaptation

• In the family of stochastic gradient algorithms

• Approximation of the steepset – descent method

• Based on the MMSE criterion.(Minimum Mean square Error)

• Adaptive process containing two input signals:

• 1.) Filtering process, producing output signal.

• 2.) Desired signal (Training sequence)

• Adaptive process: recursive adjustment of filter tap weights

INTRODUCTION

Page 18: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

NOTATIONS• Input signal (vector): u(n)

• Autocorrelation matrix of input signal: Ruu = E[u(n)uH(n)]

• Desired response: d(n)

• Cross-correlation vector between u(n) and d(n): Pud = E[u(n)d*(n)]

• Filter tap weights: w(n)

• Filter output: y(n) = wH(n)u(n)

• Estimation error: e(n) = d(n) – y(n)

• Mean Square Error: J = E[|e(n)|2] = E[e(n)e*(n)]

Page 19: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

SYSTEM BLOCK USING THE LMS

U[n] = Input signal from the channel ; d[n] = Desired Response

H[n] = Some training sequence generator

e[n] = Error feedback between :

A.) desired response.

B.) Equalizer FIR filter output

W = Fir filter using tap weights vector

Page 20: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

STEEPEST DESCENT METHOD• Steepest decent algorithm is a gradient based method which

employs recursive solution over problem (cost function)• The current equalizer taps vector is W(n) and the next

sample equalizer taps vector weight is W(n+1), We could estimate the W(n+1) vector by this approximation:

• The gradient is a vector pointing in the direction of the change in filter coefficients that will cause the greatest increase in the error signal. Because the goal is to minimize the error, however, the filter coefficients updated in the direction opposite the gradient; that is why the gradient term is negated.

• The constant μ is a step-size. After repeatedly adjusting each coefficient in the direction opposite to the gradient of the error, the adaptive filter should converge.

 

])[(5.0]1[][ nJnWnW

Page 21: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

• Given the following function we need to obtain the vector that would give us the absolute minimum.

• It is obvious that

give us the minimum.

STEEPEST DESCENT EXAMPLE

22

2121 ),( CCccY

,021 CC

1C

2C

y

Now lets find the solution by the steepest descend method

Page 22: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

• We start by assuming (C1 = 5, C2 = 7)

• We select the constant . If it is too big, we miss the minimum. If it is too small, it would take us a lot of time to het the minimum. I would select = 0.1.

• The gradient vector is:

STEEPEST DESCENT EXAMPLE

][2

1

][2

1

][2

1

][2

1

]1[2

1 9.01.02.0nnnnn

C

C

C

C

C

Cy

C

C

C

C

2

1

2

1

2

2

C

C

dc

dy

dc

dy

y

• So our iterative equation is:

Page 23: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

STEEPEST DESCENT EXAMPLE

567.0

405.0:3

3.6

5.4:2

7

5:1

2

1

2

1

2

1

C

CIteration

C

CIteration

C

CIteration

0

0lim

013.0

01.0:60

......

][2

1

2

1

n

n C

C

C

CIteration

As we can see, the vector [c1,c2] convergates to the value which would yield the function minimum and the speed of this convergence depends on .

1C

2C

y

Initial guess

Minimum

Page 24: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

MMSE CRITERIA FOR THE LMS

• MMSE – Minimum mean square error• MSE =

• To obtain the LMS MMSE we should derivative the MSE and compare it to 0:

}])()()({[(})]()({[( 22

N

Nn

nkunwkdEkykdE

)(

))()()()()(2})({(

)(

)(2

kdW

mnRmwnwnPnwkdEd

kdW

MSEd

N

Nn

N

Nm

N

Nndu

)}()({)(

)}()({)(

)()()()()(2})({}])()()({[( 22

knukmuEmnR

knukdEnP

mnRmwnwnPnwkdEnkunwkdE

uu

du

N

Nn

N

Nm

N

Nndu

N

Nn

Page 25: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

MMSE CRITERION FOR THE LMS

,...2,1,0),(][2)(2)(

)()(

kknRnwkPkdW

MSEdnJ uu

N

Nndu

And finally we get:

By comparing the derivative to zero we get the MMSE:

PRwopt 1

This calculation is complicated for the DSP (calculating the inverse matrix ), and can cause the system to not being stable cause if there are NULLs in the noise, we could get very large values in the inverse matrix. Also we could not always know the Auto correlation matrix of the input and the cross-correlation vector, so we would like to make an approximation of this.

Page 26: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

LMS – APPROXIMATION OF THE STEEPEST DESCENT METHOD

W(n+1) = W(n) + 2*[P – Rw(n)] <= According the MMSE criterion

We assume the following assumptions:

• Input vectors :u(n), u(n-1),…,u(1) statistically independent vectors.

• Input vector u(n) and desired response d(n), are statistically independent of

d(n), d(n-1),…,d(1)

• Input vector u(n) and desired response d(n) are Gaussian-distributed R.V.

• Environment is wide-sense stationary;

In LMS, the following estimates are used:

Ruu^ = u(n)uH(n) – Autocorrelation matrix of input signal

Pud^ = u(n)d*(n) - Cross-correlation vector between U[n] and d[n].

*** Or we could calculate the gradient of |e[n]|2 instead of E{|e[n]|2 }

Page 27: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

LMS ALGORITHM

[n]}y– [n]u[n]{d{ w(n)

[n]w[n]}u[n]u– [n]{u[n]d w(n)

w[n]}R– {P W[n] 1]W[n

**

H*

^^

We get the final result:

[n]}u[n]e{ W[n] 1]W[n *

Page 28: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

LMS STABILITY

The size of the step size determines the algorithm convergence rate. Too small step size will make the algorithm take a lot of iterations. Too big step size will not convergence the weight taps.

Rule Of Thumb:

RPN )12(5

1

Where, N is the equalizer lengthPr, is the received power (signal+noise) that could be estimated in the receiver.

Page 29: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

LMS – CONVERGENCE GRAPH

This graph illustrates the LMS algorithm. First we start from guessing the TAP weights. Then we start going in opposite the gradient vector, to calculate the next taps, and so on, until we get the MMSE, meaning the MSE is 0 or a very close value to it.(In practice we can not get exactly error of 0 because the noise is a random process, we could only decrease the error below a desired minimum)

Example for the Unknown Channel of 2nd order :

Desired Combination of tapsDesired Combination of taps

Page 30: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

LMS Convergence Vs u

Page 31: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

LMS – EQUALIZER EXAMPLE

Channel equalization example:

Average Square Error as a function of iterations number using different channel transfer function

(change of W)

Page 32: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing
Page 33: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

LMS – Advantage:

• Simplicity of implementation

• Not neglecting the noise like Zero forcing equalizer

• By pass the need for calculating an inverse matrix.

LMS : Pros & Cons

LMS – Disadvantage: Slow Convergence Demands using of training sequence as reference ,thus decreasing the communication BW.

Page 34: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

Non linear equalization

Linear equalization (reminder):• Tap delayed equalization• Output is linear combination of the equalizer

input

CE G

G1

...)(

)(

)(

23

110

1

zazaaCzX

zY

zaG

E

iiE as FIR

...)2()1()()( 210 nxanxanxany

Page 35: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

Non linear equalization – DFE(Decision feedback Equalization)

)()()( inybinxany ii

Advantages: copes with larger ISI

ii

ii

E zb

zaG

zX

zY

)(

)(

)(

)(1

1

as IIR

A(z)Receiverdetector

B(z)

+In Output+

-

The nonlinearity is due the detector characteristics that is fed back (MAPPER)

The Decision feedback leads poles in z domain

Disadvantages: instability danger

Page 36: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

Non linear equalization - DFE

Page 37: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

Blind Equalization• ZFE and MSE equalizers assume

option of training sequence for learning the channel.

• What happens when there is none?– Blind Equalization

Adaptive Equalizer

Decision

+

-

Input Output

ErrorSignal

nVnInI

~

nd

neBut Usually employs also :Interleaving\DeInterleavingAdvanced codingML criterion

Why? Blind Eq is hard and complicated enough!So if you are going to implement it, use the best blocks For decision (detection) and equalizing

With LMS

Page 38: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

Turbo Equalization

MAPDecoder+ P

P-1

MAPEqualizer

+ChannelEstimator

r

LD

e(c’) LD

e(c) LD(c)

LD(d)

LE

e(c)LE

e(c’)LE(c’)

Iterative :EstimateEqualizeDecode ReEncode

Usually employs also :Interleaving\DeInterleavingTurboCoding (Advanced iterative code)MAP (based on ML criterion)

Why? It is complicated enough!So if you are going to implement it, use the best blocks

Next iteration would rely on better estimation therefore would lead more precise equalization

Page 39: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

Performance of Turbo Eq Vs Iterations

Page 40: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

ML criterion

• MSE optimizes detection up to 1st/2nd order statistics.

• In Uri’s Class:– Optimum Detection:

• Strongest Survivor• Correlation (MF)(allow optimal performance for Delta ch and Additive noise. Optimized Detection maximizes prob of detection (minimizes

error or Euclidean distance in Signal Space)

• Lets find the Optimal Detection Criterion while in presence of memory channel (ISI)

Page 41: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

ML criterion –Cont.• Maximum Likelihood :

Maximizes decision probability for the received trellisExample BPSK (NRZI)

bESS 01

2 possible transmitted signals

Energy Per Bitkbk nEr

Received Signal occupies AWGN

2

2

12

)(exp

2

1)|(

n

bk

n

k

Ersrp

2

2

02

)(exp

2

1)|(

n

bk

n

k

Ersrp

Conditional PDF (prob of correct decision on r1 pending s1 was transmitted…)

N0/2

Prob of correct decision on a sequence of symbols

K

k

mkk

mk srpsrrrp

1

)()(21 )|()|,...,,(

Transmitted sequence

optimal

Page 42: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

ML – Cont.With logarithm operation, it could be shown that this is equivalent to:

Minimizing the Euclidean distance metric of the sequence:

K

k

mkk

m srsrD1

2)()( )(),(

How could this be used?

Looks Similar?while MSE minimizes Error (maximizes Prob) for decision on certain Sym,MLSE minimizes Error (maximizes Prob) for decision on certain Trellis ofSym,

)Called Metric(

Page 43: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

Viterbi Equalizer(On the tip of the tongue)

bEbE

bE/1

Example for NRZI:Trasmit Symbols: (0=No change in transmitted Symbol (1=Alter Symbol)

Tt Tt 2 Tt 3 Tt 4

S0

S1

bE/0 bE/0bE/0 bE/0

bE/1 bE/1 bE/1

bE/1 bE/1 bE/1

22

210 )()()0,0( bb ErErD

22

210 )()()1,1( bb ErErD

22

210 )()()1,0( bb ErErD

22

210 )()()0,1( bb ErErD

bE/0 bE/0 bE/0

Metric(Sum of EuclideanDistance)

2300 )()0,0()0,0,0( bErDD

2300 )()1,0()1,1,0( bErDD

2300 )()0,0()1,0,0( bErDD

2300 )()1,0()0,1,0( bErDD

Page 44: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing

We Always disqualify one metric for possible S0 and possible S1.

Finally we are left with 2 options for possible Trellis.

Finally are decide on the correct Trellis with the Euclidean

Metric of each or with Apost DATA

Page 45: Introduction To Equalization. InformationsourcePulsegeneratorTransfilterchannel X(t) ReceiverfilterA/D + Channel noise Channel noisen(t) Digital Processing