<< Chapter < Page Chapter >> Page >
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=[0 1 0 0]';           % center spike initializationmu=.01;                      % algorithm stepsize for i=n+1:m% iterate   rr=r(i:-1:i-n+1)';         % vector of received signal  e=(f'*rr)*(1-(f'*rr)^2);   % calculate error   f=f+mu*e*rr;               % update equalizer coefficientsend
DMAequalizer.m find a DMA equalizer f for the channel b (download file)

Running DMAequalizer.m results in an equalizer that is numerically similar to the equalizers of the previoustwo sections. Initializing with the “spike” at different locations results in equalizers with different effectivedelays. The following exercises are intended to encourage you to explore the DMA equalizer method.

Try the initialization f=[0 0 0 0]' in DMAequalizer.m . With this initialization, can the algorithm open the eye? Tryincreasing m . Try changing the stepsize mu . What other nonzero initializations will work?

What happens in DMAequalizer.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)) . What is the largest sd you can add, and still have no errors? Does the initial value for f influence this number? Try at least three initializations.

Use DMAequalizer.m to find an equalizer that can open the eye for the channel b=[1 1 -0.8 -.3 1 1] .

  1. What equalizer length n is needed?
  2. What initializations for f did you use?
  3. How does the converged answer compare with the designs in Exercises  [link] , [link] , and [link] ?

Modify DMAequalizer.m to generate a source sequence from the alphabet ± 1 , ± 3 . For the default channel [0.5 1 -0.6] , find an equalizer that opens the eye.

  1. What equalizer length n is needed?
  2. What is an appropriate value of γ ?
  3. What initializations for f did you use?
  4. Is this a fundamentally easier or more difficult task than when equalizing a binary source?
  5. How does the answer compare with the designs in Exercises  [link] , [link] , and  [link] ?

Consider a DMA-like performance function J = 1 2 avg { | 1 - y 2 [ k ] | } . Show that the resulting gradient algorithm is

f i [ k + 1 ] = f i [ k ] + μ avg { sign ( 1 - y 2 [ k ] ) y [ k ] r [ k - i ] } .

Hint: Assume that the derivative of the absolute value is the sign function.Implement the algorithm and compare its performance with the DMA of [link] in terms of

  1. speed of convergence,
  2. number of errors in a noisy environment (recall [link] ), and
  3. ease of initialization.

Consider a DMA-like performance function J = avg { | 1 - | y [ k ] | | } . What is the resulting gradient algorithm?Implement your algorithm and compare its performance with the DMA of [link] in terms of

  1. speed of convergence of the equalizer coefficients f ,
  2. number of errors in a noisy environment (recall [link] ), and
  3. ease of initialization.

Examples and observations

This section uses the M atlab program dae.m which is available on the website. The program demonstratessome of the properties of the least squares solution to the equalization problem and its adaptive cousins:LMS, decision-directed LMS, and DMA. Throughout these simulations, other aspects of the system are assumedoptimal; thus, the downconversion is numerically perfect and the synchronization algorithms are assumedto have attained their convergent values.

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