<< Chapter < Page Chapter >> Page >

An adaptive approach to trained equalization

The block oriented design of the previous section requires substantial computation even when the system delay is known since itrequires calculating the inverse of an ( n + 1 ) × ( n + 1 ) matrix, where n is the largest delay in the FIR linear equalizer.This section considers using an adaptive element to minimize the average of the squared error,

J L M S = 1 2 avg { e 2 [ k ] } .

Observe that J L M S is a function of all the equalizer coefficients f i , since

e [ k ] = s [ k - δ ] - y [ k ] = s [ k - δ ] - j = 0 n f j r [ k - j ] ,

which combines [link] with [link] , and where r [ k ] is the received signal at baseband after sampling.An algorithm for the minimization of J L M S with respect to the i th equalizer coefficient f i is

f i [ k + 1 ] = f i [ k ] - μ J L M S f i f i = f i [ k ] .

To create an algorithm that can easily be implemented, it is necessary to evaluate this derivative withrespect to the parameter of interest. This is

J L M S f i = avg { 1 2 e 2 [ k ] } f i avg 1 2 e 2 [ k ] f i = avg e [ k ] e [ k ] f i ,

the final equality from the chain rule [link] . Using [link] , the derivative of the source recovery error e [ k ] with respect to the i th equalizer parameter f i is

e [ k ] f i = s [ k - δ ] f i - j = 0 n f j r [ k - j ] f i = - r [ k - i ] ,

since s [ k - δ ] f i = 0 and f j r [ k - j ] f i = 0 for all i j . Substituting [link] into [link] and then into [link] , the update for the adaptive element is

f i [ k + 1 ] = f i [ k ] + μ avg { e [ k ] r [ k - i ] } .

Typically, the averaging operation is suppressed since the iteration with small stepsize μ itself has a lowpass (averaging) behavior.The result is commonly called the least mean squares (LMS) algorithm for direct linear equalizerimpulse response coefficient adaptation:

f i [ k + 1 ] = f i [ k ] + μ e [ k ] r [ k - i ] .

This adaptive equalization scheme is illustrated in [link] .

When all goes well, the recursive algorithm [link] converges to the vicinity of the block least-squares answer for the particular δ used in forming the delayed recovery error. As long as μ is nonzero, if the underlying composition of the received signal changes so that the error increasesand the desired equalizer changes, then the f i react accordingly. It is this tracking ability that earns it the labeladaptive. To provide tracking capability, the matrix solution of "A Matrix Description" could be recomputed for successive data blocks, but this requires significantly more computation.

The following M atlab code implements an adaptive equalizer design. The beginning and ending of theprogram are familiar from openclosed.m and LSequalizer.m . The heart of the recursion lies in the for loop. For each new data point, a vector is built containingthe new value and the past n values of the received signal. This is multipliedby f to make a prediction of the next source symbol, and the error is the difference between the predictionand the reality. (This is the calculation of e [ k ] from [link] .) The equalizer coefficients f are then updated as in  [link] .

b=[0.5 1 -0.6];              % define channelm=1000; s=sign(randn(1,m));  % binary source of length m r=filter(b,1,s);             % output of channeln=4; f=zeros(n,1);           % initialize equalizer at 0 mu=.1; delta=2;              % stepsize and delay deltafor i=n+1:m                  % iterate   rr=r(i:-1:i-n+1)';         % vector of received signal  e=s(i-delta)-f'*rr;        % calculate error   f=f+mu*e*rr;               % update equalizer coefficientsend
LMSequalizer.m find a LMS equalizer f for the channel b (download file)

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Software receiver design. OpenStax CNX. Aug 13, 2013 Download for free at http://cnx.org/content/col11510/1.3
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Software receiver design' conversation and receive update notifications?

Ask