From: Muzaffer Kal on
On Sun, 11 Jul 2010 23:12:40 -0700, Tim Wescott <tim(a)seemywebsite.com>
wrote:

>On 07/11/2010 09:24 PM, Muzaffer Kal wrote:
>> On Sun, 11 Jul 2010 20:40:30 -0700 (PDT), HardySpicer
>> <gyansorova(a)gmail.com> wrote:
>>
>>>> Thorough discussions of adaptive control take care to make the assertion
>>>> that the weights vary slowly, i.e.
>>>>
>>>> |a'(t)x(t)|<< |a(t)x'(t)|.
>>>>
>>>> Make that assumption (and make sure it's correct!) and you're good to go.
>>>>
>>>
>>> Yes but in adaptive filters they don't move slowly at all (and may not
>>> even in some robotic applications). For example acoustic dynamics
>>> moves like the clappers when you speak due to reverberations.
>>>
>>>
>>> Hardy
>>
>> Most systems when unperturbed change slowly so modelling them with a
>> fast enough adaptive filter is possible. In robotics and acoustics,
>> the new feature is applying control signals into the system which also
>> changes its behavior. This new input, output can also be added to the
>> state matrix. Then, in addition to location/speed sensors there is a
>> new feature which is how much electric potential was applied to the
>> motor which would help you figure out an incremental estimate on where
>> the robot should be. Now you only have to adapt the "motor voltage vs
>> speed" variable which would change slowly once converged. If you don't
>> have this variable your adaptation speed would need to be much faster
>> to. The same thing would apply to acoustics it seems. If you model how
>> reverberations happen when you speak, you can estimate based on the
>> speech input. Then the speech input to reverberations system would
>> change slowly (due to material aging, temperature etc.)
>
>If I may clarify, it sounds like what you're saying is that you should
>try to find an accurate model of the system that doesn't change rapidly
>in the parameters, then use (and adapt) that.
>
>Yes?

In general yes but specifically I am suggesting that some "rapidly
varying parameters" are actually states affected by the inputs/control
signals coming from the controller and only illusory fast when the
inherent control signal to output model is not considered. The example
of trackign the location of a robot is one example. One can try this
with only looking at the sensors but adding the estimated change based
on motor speed potential makes this more interesting. This is
different from model parameters which actually do change fast ala
reflections from ocean surfaces where the wave generation is chaotic
and can't be tracked properly.
--
Muzaffer Kal

DSPIA INC.
ASIC/FPGA Design Services

http://www.dspia.com
From: Clay on
On Jul 11, 6:07 pm, HardySpicer <gyansor...(a)gmail.com> wrote:
> If you have a simple relationship
>
> y(t)=ax(t)
>
> where a is a constant then
>
> y'(t) = ax'(t)
>
> where ' is derivative wrt time.
>
> If however a is time varying then we get
>
> y(t)=a(t)x(t)
>
> y'(t)=a(t)x'(t) + x(t)a'(t)
>
> ie an extra term. In adaptive filters we derive the case for constant
> weights and then assume that the case for time-varying weights is the
> same but the weights vary with time. Is this really true though? You
> can imagine a simple case like the above where a weight is time
> varying.
>
> Hardy

Hello Hardy,

A simple physics example is contained in Newton's 2nd law which most
learned, in a very elementary way) as F=ma, but Newton really wrote it
as F = dp/dt where "p" is momentum. If the mass is constant then this
reduces to the F=ma form (p=mv), but imagine a rocket consuming its
fuel. The rocket's mass is hardly constant and therefore the momentum
form of the equation needs to be considered.

Clay



From: HardySpicer on
On Jul 12, 6:30 pm, Muzaffer Kal <k...(a)dspia.com> wrote:
> On Sun, 11 Jul 2010 23:12:40 -0700, Tim Wescott <t...(a)seemywebsite.com>
> wrote:
>
>
>
> >On 07/11/2010 09:24 PM, Muzaffer Kal wrote:
> >> On Sun, 11 Jul 2010 20:40:30 -0700 (PDT), HardySpicer
> >> <gyansor...(a)gmail.com>  wrote:
>
> >>>> Thorough discussions of adaptive control take care to make the assertion
> >>>> that the weights vary slowly, i.e.
>
> >>>> |a'(t)x(t)|<<  |a(t)x'(t)|.
>
> >>>> Make that assumption (and make sure it's correct!) and you're good to go.
>
> >>> Yes but in adaptive filters they don't move slowly at all (and may not
> >>> even in some robotic applications). For example acoustic dynamics
> >>> moves like the clappers when you speak due to reverberations.
>
> >>> Hardy
>
> >> Most systems when unperturbed change slowly so modelling them with a
> >> fast enough adaptive filter is possible. In robotics and acoustics,
> >> the new feature is applying control signals into the system which also
> >> changes its behavior. This new input, output can also be added to the
> >> state matrix. Then, in addition to location/speed sensors there is a
> >> new feature which is how much electric potential was applied to the
> >> motor which would help you figure out an incremental estimate on where
> >> the robot should be. Now you only have to adapt the "motor voltage vs
> >> speed" variable which would change slowly once converged. If you don't
> >> have this variable your adaptation speed would need to be much faster
> >> to. The same thing would apply to acoustics it seems. If you model how
> >> reverberations happen when you speak, you can estimate based on the
> >> speech input. Then the speech input to reverberations system would
> >> change slowly (due to material aging, temperature etc.)
>
> >If I may clarify, it sounds like what you're saying is that you should
> >try to find an accurate model of the system that doesn't change rapidly
> >in the parameters, then use (and adapt) that.
>
> >Yes?
>
> In general yes but specifically I am suggesting that some "rapidly
> varying parameters" are actually states affected by the inputs/control
> signals coming from the controller and only illusory fast when the
> inherent control signal to output model is not considered. The example
> of trackign the location of a robot is one example. One can try this
> with only looking at the sensors but adding the estimated change based
> on motor speed potential makes this more interesting. This is
> different from model parameters which actually do change fast ala
> reflections from ocean surfaces where the wave generation is chaotic
> and  can't be tracked properly.
> --
> Muzaffer Kal
>
> DSPIA INC.
> ASIC/FPGA Design Services
>
> http://www.dspia.com

I've watched the weights of an NLMS algorithm change with time so fast
that you cannot keep up with it visually just by estimating the TF
between two mics! try it and see. You need not talk, just the ambient
noise will make the weights change rapidly. In an anechoic chamber
they are constant of course more or less.


Hardy
From: Tim Wescott on
On 07/12/2010 01:37 PM, HardySpicer wrote:
> On Jul 12, 6:30 pm, Muzaffer Kal<k...(a)dspia.com> wrote:
>> On Sun, 11 Jul 2010 23:12:40 -0700, Tim Wescott<t...(a)seemywebsite.com>
>> wrote:
>>
>>
>>
>>> On 07/11/2010 09:24 PM, Muzaffer Kal wrote:
>>>> On Sun, 11 Jul 2010 20:40:30 -0700 (PDT), HardySpicer
>>>> <gyansor...(a)gmail.com> wrote:
>>
>>>>>> Thorough discussions of adaptive control take care to make the assertion
>>>>>> that the weights vary slowly, i.e.
>>
>>>>>> |a'(t)x(t)|<< |a(t)x'(t)|.
>>
>>>>>> Make that assumption (and make sure it's correct!) and you're good to go.
>>
>>>>> Yes but in adaptive filters they don't move slowly at all (and may not
>>>>> even in some robotic applications). For example acoustic dynamics
>>>>> moves like the clappers when you speak due to reverberations.
>>
>>>>> Hardy
>>
>>>> Most systems when unperturbed change slowly so modelling them with a
>>>> fast enough adaptive filter is possible. In robotics and acoustics,
>>>> the new feature is applying control signals into the system which also
>>>> changes its behavior. This new input, output can also be added to the
>>>> state matrix. Then, in addition to location/speed sensors there is a
>>>> new feature which is how much electric potential was applied to the
>>>> motor which would help you figure out an incremental estimate on where
>>>> the robot should be. Now you only have to adapt the "motor voltage vs
>>>> speed" variable which would change slowly once converged. If you don't
>>>> have this variable your adaptation speed would need to be much faster
>>>> to. The same thing would apply to acoustics it seems. If you model how
>>>> reverberations happen when you speak, you can estimate based on the
>>>> speech input. Then the speech input to reverberations system would
>>>> change slowly (due to material aging, temperature etc.)
>>
>>> If I may clarify, it sounds like what you're saying is that you should
>>> try to find an accurate model of the system that doesn't change rapidly
>>> in the parameters, then use (and adapt) that.
>>
>>> Yes?
>>
>> In general yes but specifically I am suggesting that some "rapidly
>> varying parameters" are actually states affected by the inputs/control
>> signals coming from the controller and only illusory fast when the
>> inherent control signal to output model is not considered. The example
>> of trackign the location of a robot is one example. One can try this
>> with only looking at the sensors but adding the estimated change based
>> on motor speed potential makes this more interesting. This is
>> different from model parameters which actually do change fast ala
>> reflections from ocean surfaces where the wave generation is chaotic
>> and can't be tracked properly.
>> --
>> Muzaffer Kal
>>
>> DSPIA INC.
>> ASIC/FPGA Design Services
>>
>> http://www.dspia.com
>
> I've watched the weights of an NLMS algorithm change with time so fast
> that you cannot keep up with it visually just by estimating the TF
> between two mics! try it and see. You need not talk, just the ambient
> noise will make the weights change rapidly. In an anechoic chamber
> they are constant of course more or less.

Then your algorithm is not adequately modeling the fact that the mics
and amplifiers have noise.

--

Tim Wescott
Wescott Design Services
http://www.wescottdesign.com

Do you need to implement control loops in software?
"Applied Control Theory for Embedded Systems" was written for you.
See details at http://www.wescottdesign.com/actfes/actfes.html
From: HardySpicer on
On Jul 13, 8:39 am, Tim Wescott <t...(a)seemywebsite.com> wrote:
> On 07/12/2010 01:37 PM, HardySpicer wrote:
>
>
>
>
>
>
>
> > On Jul 12, 6:30 pm, Muzaffer Kal<k...(a)dspia.com>  wrote:
> >> On Sun, 11 Jul 2010 23:12:40 -0700, Tim Wescott<t...(a)seemywebsite.com>
> >> wrote:
>
> >>> On 07/11/2010 09:24 PM, Muzaffer Kal wrote:
> >>>> On Sun, 11 Jul 2010 20:40:30 -0700 (PDT), HardySpicer
> >>>> <gyansor...(a)gmail.com>    wrote:
>
> >>>>>> Thorough discussions of adaptive control take care to make the assertion
> >>>>>> that the weights vary slowly, i.e.
>
> >>>>>> |a'(t)x(t)|<<    |a(t)x'(t)|.
>
> >>>>>> Make that assumption (and make sure it's correct!) and you're good to go.
>
> >>>>> Yes but in adaptive filters they don't move slowly at all (and may not
> >>>>> even in some robotic applications). For example acoustic dynamics
> >>>>> moves like the clappers when you speak due to reverberations.
>
> >>>>> Hardy
>
> >>>> Most systems when unperturbed change slowly so modelling them with a
> >>>> fast enough adaptive filter is possible. In robotics and acoustics,
> >>>> the new feature is applying control signals into the system which also
> >>>> changes its behavior. This new input, output can also be added to the
> >>>> state matrix. Then, in addition to location/speed sensors there is a
> >>>> new feature which is how much electric potential was applied to the
> >>>> motor which would help you figure out an incremental estimate on where
> >>>> the robot should be. Now you only have to adapt the "motor voltage vs
> >>>> speed" variable which would change slowly once converged. If you don't
> >>>> have this variable your adaptation speed would need to be much faster
> >>>> to. The same thing would apply to acoustics it seems. If you model how
> >>>> reverberations happen when you speak, you can estimate based on the
> >>>> speech input. Then the speech input to reverberations system would
> >>>> change slowly (due to material aging, temperature etc.)
>
> >>> If I may clarify, it sounds like what you're saying is that you should
> >>> try to find an accurate model of the system that doesn't change rapidly
> >>> in the parameters, then use (and adapt) that.
>
> >>> Yes?
>
> >> In general yes but specifically I am suggesting that some "rapidly
> >> varying parameters" are actually states affected by the inputs/control
> >> signals coming from the controller and only illusory fast when the
> >> inherent control signal to output model is not considered. The example
> >> of trackign the location of a robot is one example. One can try this
> >> with only looking at the sensors but adding the estimated change based
> >> on motor speed potential makes this more interesting. This is
> >> different from model parameters which actually do change fast ala
> >> reflections from ocean surfaces where the wave generation is chaotic
> >> and  can't be tracked properly.
> >> --
> >> Muzaffer Kal
>
> >> DSPIA INC.
> >> ASIC/FPGA Design Services
>
> >>http://www.dspia.com
>
> > I've watched the weights of an NLMS algorithm change with time so fast
> > that you cannot keep up with it visually just by estimating the TF
> > between two mics! try it and see. You need not talk, just the ambient
> > noise will make the weights change rapidly. In an anechoic chamber
> > they are constant of course more or less.
>
> Then your algorithm is not adequately modeling the fact that the mics
> and amplifiers have noise.
>
> --
>
> Tim Wescott
> Wescott Design Serviceshttp://www.wescottdesign.com
>
> Do you need to implement control loops in software?
> "Applied Control Theory for Embedded Systems" was written for you.
> See details athttp://www.wescottdesign.com/actfes/actfes.html

Well it can be up to 500 or 600 weights. It is modelling
reverberations off the walls. Just straight NLMS. You're syaing it is
tracking the measuerment noise? Hmmm Could well be I suppose.

However, I just realised that in the derivation for LMS we do assume
the weights are time-varying and this does not effect the result since
the gradient is differentiated wrt the weight vector and not time.


Hardy