The channel equalizer compensates for frequency selectivity in the communication channel as well as in the analog front ends of the transmitter and receiver.
Please be aware that the "best" equalizer may be of any length. In fact, the "best" equalizer length may be much longer than the length of the channel impulse response. To reduce the computational complexity of your simulations, I'd recommend limiting your search to equalizers of length 4 to 41 coefficients.
The bit error rate may appear to be zero if enough bits aren't used in the simulation. For example, if one expects a bit error rate (BER) of 10-2, i.e. one bit error every 100 bits on average, then one would generally have to run 100/BER bits (i.e. 10,000 bits) to have confidence in the measurement of this bit error rate.
It is okay if you cannot drive the number of bit errors to zero.
For this problem, please adapt the Matlab/Mathscript code provided by the book as follows:
pn1023gen = commsrc.pn('GenPoly', [10 7 0], ... 'InitialStates', [0 0 0 0 0 1 0 0 0 0], ... 'CurrentStates', [0 0 0 0 0 1 0 0 0 0], ... 'Mask', [0 0 0 0 0 1 0 0 0 0], ... 'NumBitsOut', 1023); pn1023seq = round(2 * generate(pn1023gen) - 1);Then, concatenate 10 of these length-1023 sequences to create a training signal of length 10230 entries; alternately, one could set NumBitsOut to 10230. (In version 3.5 of the Communications Toolbox, commsrc.pn is called seqgen.pn, which takes the same arguments.) Use the same training signal in problems 7.1 and 7.2.
If you don't have the Communication Toolbox on your machine, then could run Matlab on one of the ECE Learning Resource Center machines that has the Communications toolbox, generate the 1023 values for the PN sequence as +1 and -1 values, save the values to a file, move the file to your computer, and read it into Matlab.
When you plot the frequency response of the equalized channel,
please plot the magnitude and phase responses, e.g. by using
the freqz
command.
In the course reader, please see problem 2.2 on Midterm #2 in fall 2012 on page 282 (K-126) and problem 2.1 on Midterm #2 in spring 2013 on page 286 (K-130). Both problems derive the adaptive equalizer for a two-tap FIR filter. For problem 2.2, the first coefficient is set to one and the second coefficient is adapted. For problem 2.1, both coefficients are adapted.
Please reduce the step size parameter, mu, to be on the order of 0.001 so that the iterations will converge to a reasonable error value.
Please augment the code for problem 7.2 by copying the code to calculate and track the minimum error (errmin) from the code for problem 7.1.
There are two different error calculations in this problem, and they are easy to confuse.
Please estimate the computational complexity in terms of multiplication-accumulation (MAC) operations for the two equalizer design methods. Given m training samples, n equalizer coefficients and fixed delay delta, estimate the computational complexity of the LS squares equalizer design formula
f=inv(R'*R)*R'*Sfor vector f, matrix R and vector S. Estimate the computational complexity of the adaptive LMS equalizer design formula
f=f+mu*e*rrfor vector f, scalar mu, scalar e and vector rr. The adaptive LMS design formula is run for each training sample. The following facts may be useful:
y = A-1 xas solving the following linear system of equations for y:
A y = xAn N by N system of linear equations can be solved with 2 N3 MAC operations, as described by the article "Gaussian elimination".
Also, please estimate the total memory usage for the calculations in terms of words.
In the course reader, please see problem 2.4 on Midterm #2 in fall 2011 on page 274 (K-118) for a qualitative comparison between the least squares method and the adaptive least mean squared method.
In the course reader, please see problem 2.3 on Midterm #2 in fall 2011 on page 273 (K-117).