DSPRelated.com
Forums

Unipolar signal + lms or nlms

Started by Vicki September 14, 2005
Hi All,
I need abit of confirmation and explanation if you all please.  I have
a unipolar signal which is being prewhitened by being put through a
NLMS filter (order 16 taps).

It has been suggested that I add in a DC-tap.  I'm not sure exactly
what I'm supposed to do...

Do I now have 17 taps, or still 16 taps with the first one being the
DC-tap?  (Considering the small numebr of taps, does it really matter
if I have 16 or 17?!)

This DC-tap will be set to 1 initially.  Does it remain at 1
throughout? Or does it adapt like the rest of the taps?

I think that the reason I need to add in this DC-tap is to take care of
some negative values that I am getting in the error signal, though
supposedly this DC-tap may make a significant improvement on the error
signal...

I've tried to search for some literature on this, but I'm obviously not
looking up the right keywords!

Many thanks
Victoria

Vicki wrote:

   ...

> I think that the reason I need to add in this DC-tap is to take care of > some negative values that I am getting in the error signal, though > supposedly this DC-tap may make a significant improvement on the error > signal...
I know nothing about this stuff, except one thing: a "good" error signal has an average value of zero. How can it not have negative values? That leads me to surmise that your DC term is intended to adjust the offset to remove bias from the error. If that's correct, then it needs to be adjusted with the rest of the coefficients. As for whether it's an extra coefficient or just a redefining of an old one, that's up to you. The more the merrier, until you're overloaded, no? ... Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
Thanks Jerry,
That sounds like what I needed to know.  I think it is something to do
with removing the bias, now that you've mentioned it - sounds familar.
No idea why I need to do this with the signals I have but hopefully it
will do something useful!

Have just changed the first tap to a initial value of 1.  All the other
taps are remaining at 0.  Am now managing to get no adaptation of the
algorithm!  The error is 0!  Yet if I change the other taps to any
other value, it adapts.

I need to check that it is actually the first tap and not the last tap
that I've changed!  I think my last tap adapts first as it gets the
first piece of data from my actual signal... the signal is buffered
first so 'on the first iteration' the first 15 values are 0 and 16th
value is the first value of the actual signal.  Sorry thinking out
loud.  Guess I've sorted coded back-to-front with how I think!

Thanks again.

Vicki wrote:
> Thanks Jerry, > That sounds like what I needed to know. I think it is something to do > with removing the bias, now that you've mentioned it - sounds familar. > No idea why I need to do this with the signals I have but hopefully it > will do something useful! > > Have just changed the first tap to a initial value of 1. All the other > taps are remaining at 0. Am now managing to get no adaptation of the > algorithm! The error is 0! Yet if I change the other taps to any > other value, it adapts. > > I need to check that it is actually the first tap and not the last tap > that I've changed! I think my last tap adapts first as it gets the > first piece of data from my actual signal... the signal is buffered > first so 'on the first iteration' the first 15 values are 0 and 16th > value is the first value of the actual signal. Sorry thinking out > loud. Guess I've sorted coded back-to-front with how I think!
I'm glad to hear of your success. It kind of amazes me what two babes in the woods can accomplish together. When you get a little further along, maybe you'll take the time to teach me what it's all about. Good luck! Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
Just because I've manged to 'do' something doesn't mean I have the
faintest idea why or what exactly it all means!

*sigh*  I understand very little and forget even more.  Pity I'm
supposed to actually have some knowledge about this stuff.

But if I do gain some incite I will pass it on.

Vicki wrote:
> Just because I've manged to 'do' something doesn't mean I have the > faintest idea why or what exactly it all means! > > *sigh* I understand very little and forget even more. Pity I'm > supposed to actually have some knowledge about this stuff. > > But if I do gain some incite I will pass it on.
This discussion will be worth while if it incites you to gain insight. Darn spell checkers! Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
'incite' I guess its this silly little country I'm in thats distorting
my spelling in such a way!  *grin*

Still haven't figured out why when I set the last tap (which is
actually the first tap to receive data from the signal) to 1 and all
the rest to 0, that no adaptation happens.  Guess thats my pondering
for today!

"Vicki" <drvstewart@yahoo.co.uk> wrote in message 
news:1126862216.746001.324520@o13g2000cwo.googlegroups.com...
> 'incite' I guess its this silly little country I'm in thats distorting > my spelling in such a way! *grin* > > Still haven't figured out why when I set the last tap (which is > actually the first tap to receive data from the signal) to 1 and all > the rest to 0, that no adaptation happens. Guess thats my pondering > for today! >
Hello Vicki, This is just a guess, but have you tried using ones and minus ones instead of zeroes and ones? This antipodal mapping is done for some types of error correction and maybe your adaptation algo needs the same. Clay
Could it be that the filter section of the LMS filter just passes the
signal through unmodified, giving zero error when subtracted from the
input, updating the coefficients by 0 (since the error is a factor in
the update)? If so, there is nothing to adapt to, you have already
acheived perfect prediction (nothing out).

Dirk

Vicki wrote:
> 'incite' I guess its this silly little country I'm in thats distorting > my spelling in such a way! *grin* > > Still haven't figured out why when I set the last tap (which is > actually the first tap to receive data from the signal) to 1 and all > the rest to 0, that no adaptation happens. Guess thats my pondering > for today!