in [DSP]

Prev: Details on ESPS' get_f0 function work
Next: Today night the physicists-criminals from CERN accelerated protonsto the record energy 3.5 TeV per beam.
From: lroberto on 19 Mar 2010 13:30 Hi experts, I am a usual ng lurker but now it is time to make my first question, as I am stuck on a lms-dfe implementation issue. I use the textbook equations (implemented in Scilab) to estimate, via LMS, the filters coefficients. I do a classical LMS to estimate the fwd filter coeffs, still being in training mode, so I have: d=known desired signal (training sequence) X=input to the equalizer (training sequence conv the channel) err(k) = d(k) - fwd(k-1)*X(k) fwd(k) = fwd(k-1) + delta*err(k)*X(k) Afterwards I need to design the coeffs of the back filter, for which I still use LMS but using the known input signal as output signal. So I set up another LMS loop like this: err(k) = d(k) - back(k-1)*X(k) back(k) = back(k-1) + delta*err(k)*D(k) Well what I get is: a very good fwd filter, but a very bad back filter. I.e. the fwd filter already gives an output signal that resembles well the desired one (well it is classical LMS...) but when I add the back I get very bad stuff: equalized=conv(x,fwd) --> this is OK, classical LMS isi = conv(d,back) equalized=equalized + isi --> this gives a bad signal "isi" should resemble the post-isi in dfe algo, but comes out a very high value, like if the back filter would have been badly calculated. Any hint guys, what am I missing? Thanks in advance Roberto |