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
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