[SciPy-user] Suggestion about algorithm

Daniele Nicolodi daniele@grinta....
Thu Oct 23 12:24:24 CDT 2008

Hello, i'm going to ask something not strictly related to scipy. Forgive 
me if this is not appropriate on the mailing list, but i don't know 
where else i can seek for help, any suggestion is appreciated.

I'm measuring the quality factor Q of a mechanical oscillator. I use the 
ring down technique: i excite the oscillator to a big oscillation 
amplitude so that my read out noise is negligible and then i observe the 
  decay of the oscillation amplitude during time.

The evolution of the amplitude A(t) in time can be described, negletting 
any external perturbation, as:

A(t) = A0 * exp(-t/Beta)

where Q = w0 / 2*Beta and w0 is the oscillator natural frequency.

I usually analyze my data extracting the amplitude of each oscillation 
and then computing:

Beta = - dA(t)/dt / A(t)

where dA(t)/dt is the first derivative of the amplitude computed as the 
difference between the amplitude of the current cicle and the previous 
cicle divided by the period of oscillation.

The problem arises because my oscillator has a very long period (about 
500 seconds) and a very high Q (about 600000). This means that the 
observation time is much shorter than the characteristic time of the 
system and that the value of Beta i want to resolve is very small.
In this situation my uncertainty on Beta is too big to resolve Q.

Does someone have a suggestion for a better technique to analyze my 
data? There is any smarter thing i can do?

Thanks. Bye.

More information about the SciPy-user mailing list