<< Chapter < Page Chapter >> Page >
A trained adaptive linear equalizer uses the difference between the received signal and a prespecified training sequence to drive the adaptation of the coefficients of the equalizer.
A trained adaptive linear equalizer uses the difference between the received signal and a prespecified trainingsequence to drive the adaptation of the coefficients of the equalizer.

As with the matrix approach, the default channel b=[0.5 1 -0.6] can be equalized easily with a short equalizer (one with a small n ). The convergent values of the f are very close to the final values of the matrix approach; that is, for a given channel,the value of f given by LMSequalizer.m is very close to the value found using LSequalizer.m . A design consideration in the adaptive approach toequalization involves the selection of the stepsize. Smaller stepsizes μ mean that the trajectory of the estimates is smoother (tends to reject noises better)but it also results in a slower convergence and slower tracking when the underlying solution is time varying.Similarly, if the explicit averaging operation is retained, longer averages imply smoother estimates but slowerconvergence. Similar tradeoffs appear in the block approach in the choiceof block size: larger blocks average the noise better, but give no details about changes in the underlying solution withinthe time span covered by a block.

The following code EqualizerTest.m shows one way to verify that the equalizer has (or has not)done a good job. The code generates a new received signal and passes it through the same channeland the final converged equalizer from LMSequalizer.m . The decision sequence dec (the sign of the data for a binary transmission) is then compared to the original transmitted data s . Since the delay of the equalizer cannot be known beforehand,the loop on sh tests all the possible delays (shifts) that might occur.If one of these is zero (or very small) then the equalizer is doing a good job.

% First run  LMSequalizer.m to set channel b % and equalizer ffinaleq=f;                   % test final filter f m=1000;                      % new data pointss=pam(m,2,1);                 % new binary source of length m r=filter(b,1,s);             % output of channelyt=filter(f,1,r);            % use final filter f to test dec=sign(real(yt));% quantization for sh=0:n                   % if equalizer is working, one% of these delays has zero error   err(sh+1)=0.5*sum(abs(dec(sh+1:end)...                      -s(1:end-sh))); end
EqualizerTest.m verify the operation of an equalizer f for the channel b (download file)

This trained adaptive approach, along with several others, is implemented in the program dae.m , which is available on the website.Simulated examples of LMS with training and other adaptive equalization methods arepresented in "Examples and Observations" .

Verify that, by proper choice of n and delta , the convergent values of f in LMSequalizer.m are close to the values shown in [link] .

What happens in LMSequalizer.m when the stepsize parameter mu is too large? What happens when it is too small?

Add (uncorrelated, normally distributed) noise into the simulation using the command r=filter(b,1,s)+sd*randn(size(s)) .

  1. For the equalizer with delay 2, what is the largest sd you can add, and still have no errors? How does this compare with the result from [link] . Hint: It may be necessary to simulate for more than the default m data points.
  2. Now try the equalizer with delay 1. What is the largest sd you can add, and still have no errors?
  3. Which is a better equalizer?

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