DSPRelated.com
Forums

tracking adaptive algorithm

Started by sopapo April 10, 2008
Hi everyone,

I'm working on my phd thesis in a field related with the active noise 
control and i'm looking for an algorithm with good tracking capability, to 
work with a time-varying input signal (non stastionary).

I have made several test with FXLMS, N-FXLMS, Leaky-FXLMS without much 
succes, I'm going in wrong direction with this algorithms? 
Variable-step-size-LMS could improve that tracking capability?

Any advice is welcomed.
Thx. 


On Apr 10, 5:15 pm, "sopapo" <sop...@sopapo.com> wrote:
> Hi everyone, > > I'm working on my phd thesis in a field related with the active noise > control and i'm looking for an algorithm with good tracking capability, to > work with a time-varying input signal (non stastionary). > > I have made several test with FXLMS, N-FXLMS, Leaky-FXLMS without much > succes, I'm going in wrong direction with this algorithms? > Variable-step-size-LMS could improve that tracking capability? > > Any advice is welcomed. > Thx.
Submit for a Masters. K.
Hi,

if complexity is not an issue you can try the RLS or APA algorithms.
Of course everything depend on the degree of non-stationarity of the
primary noise. If you wish, send me a representative noise signal to be
cancelled and i will check it for you. Moreover, are you working with
feedforward or feedback ANC?
(m.c.tsakiris@ieee.org)

Manolis
Hi Manolis,
Is a feedback system. I read time ago about RLS algorithms, but I remember 
that it has a very good speed of convergence but a poor tracking capability. 
About the complexity, well I'm working with a SHARC DSP, so the "resources" 
are kind of limited in some way, I'm not sure if this DSP could handle an 
algorithm like RLS. The APA is more similar to RLS or LMS?
My work is not directly in the ANC area, is active sound absorption or 
active impedance control. And the system should be able to track something 
like a piece of classical music.

Thanks for the help.


"Manolis C. Tsakiris" <el01070@mail.ntua.gr> wrote in message 
news:vb-dnWCpau7rI2DanZ2dnUVZ_jSdnZ2d@giganews.com...
> Hi, > > if complexity is not an issue you can try the RLS or APA algorithms. > Of course everything depend on the degree of non-stationarity of the > primary noise. If you wish, send me a representative noise signal to be > cancelled and i will check it for you. Moreover, are you working with > feedforward or feedback ANC? > (m.c.tsakiris@ieee.org) > > Manolis
A piece of classic music is a broadband signal and consequently highly
unpredictable. If your ANC configuration is feedback, then the performance
of the LMS type algorithms is expected to be poor. The reason is that in
the feedback ANC configuration, where the reference signal is synthesized
from the error signal, the adaptive filter operates as a predictor of the
noise to be cancelled. If the noise to be cancelled is highly random, then
the ability of the adaptive filter to predict it will be small. 

For this reason, i suggest that you consider the feedforward configuration
(if it can be applied at your problem), which can work pretty good for
highly non-stationary signals. If it cannot be applied, do not expect many
things from feedback ANC.

At any case, you can experiment in the feedback ANC with more advanced
adaptive filters. For example the Affine Projection Algorithm (APA) has
better tracking capabilities than the LMS (RLS is often worse than LMS in
tracking but not always). APA is something between LMS and RLS. The
adaptive Kalman filter, used in highly non-stationary environments, is
another possiblity, though very advanced. 

Finally, the correct order is:
1)Choose a representative signal to be tracked (i.e. of a given degree of
non-stationarity).
2)experiment in MATLAB with different adaptive filters. Choose the filter
that serves you better.
3)implement it in real time (i have used ADSP 21065L of Analog Devices and
i did not have time even to invert a matrix. For heavy stuff consider
TMS320).

Manolis



sopapo wrote:

> Hi everyone, > > I'm working on my phd thesis in a field related with the active noise > control and i'm looking for an algorithm with good tracking capability, to > work with a time-varying input signal (non stastionary).
Excuse me, but what is exactly new in your thesis ? By definition, there is no way to track the non-stationary signal. In order to track the signal, you have to assume that it obeys some stationarity. Then it is down to the classic problem of Wiener/Kalman filter.
> I have made several test with FXLMS, N-FXLMS, Leaky-FXLMS without much > succes, I'm going in wrong direction with this algorithms? > Variable-step-size-LMS could improve that tracking capability?
*.LMS are inherently bad algorithms. They are not optimal and can't be made optimal by the black magic manipulations. The only justification for the *.LMS is the simplicity. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com

Manolis C. Tsakiris wrote:

> A piece of classic music is a broadband signal and consequently highly > unpredictable.
I have to disagree. A piece of classic music is quasi stationary and somewhat 90% predictable in the short term.
> 1)Choose a representative signal to be tracked (i.e. of a given degree of > non-stationarity). > 2)experiment in MATLAB with different adaptive filters. Choose the filter > that serves you better. > 3)implement it in real time (i have used ADSP 21065L of Analog Devices and > i did not have time even to invert a matrix. For heavy stuff consider > TMS320).
Yes, largely it is a computing issue. BTW, a common PC with P-4 beats up the single DSPs easily. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
> > >Manolis C. Tsakiris wrote: > >> A piece of classic music is a broadband signal and consequently highly >> unpredictable. > >I have to disagree. A piece of classic music is quasi stationary and >somewhat 90% predictable in the short term.
You mean that by having let's say M samples of the piece {u(i), u(i-1), ..., u(i-M+1)} i can predict with 90% accuracy the sample at time instant u(i+1)? Is this predictability high because of the absence of impulses(for example drums)? What about a rock piece of music?
>> 1)Choose a representative signal to be tracked (i.e. of a given degree
of
>> non-stationarity). >> 2)experiment in MATLAB with different adaptive filters. Choose the
filter
>> that serves you better. >> 3)implement it in real time (i have used ADSP 21065L of Analog Devices
and
>> i did not have time even to invert a matrix. For heavy stuff consider >> TMS320). > >Yes, largely it is a computing issue. BTW, a common PC with P-4 beats up
>the single DSPs easily.
yes but can you do the processing in real time with a common PC? If yes how? thanx, Manolis

Manolis C. Tsakiris wrote:

>>>A piece of classic music is a broadband signal and consequently highly >>>unpredictable. >> >>I have to disagree. A piece of classic music is quasi stationary and >>somewhat 90% predictable in the short term. > > > You mean that by having let's say M samples of the piece > {u(i), u(i-1), ..., u(i-M+1)} i can predict with 90% accuracy the sample > at time instant u(i+1)?
Pretty much so. The prediction gain is about 20dB on the average. That is part of the reason why the lossy audio compression schemes do so well.
> Is this predictability high because of the absence > of impulses(for example drums)? What about a rock piece of music?
Boom-Boom is not too bad. What knocks the predictor down is the high frequency tchk-tchk, cymbals and such.
> >>>i did not have time even to invert a matrix. For heavy stuff consider >>>TMS320). >> >>Yes, largely it is a computing issue. BTW, a common PC with P-4 beats up >>the single DSPs easily. > > yes but can you do the processing in real time with a common PC? If yes > how?
Running the software of your own, WDM mode. With Windows XP, it is possible to have the audio in-out processing delay at the order of tens of milliseconds. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
>Running the software of your own, WDM mode. >With Windows XP, it is possible to have the audio in-out processing >delay at the order of tens of milliseconds.
Two questions: 1)is kernel mode achievable with Windows XP? 2)when i process let's say classic music at 44.1kHz, then the distance between two successive samples is 1/44100, approximately 0.02 msec. If the delay of the hardware is say 10 msec then the predictor will operate with a delay of 10/0.02 = 500 samples. I don't think that this can still be considered as real-time processing. thanx, Manolis