# [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.
--
Daniele
```