aewallin / allantools

Allan deviation and related time & frequency statistics library in Python
GNU Lesser General Public License v3.0
226 stars 77 forks source link

Input data assumption #111

Closed spluque closed 1 year ago

spluque commented 5 years ago

What exactly is meant by "frequency data input" in the README statement?

Note that allantools assumes non-dimensional frequency data input. Normalization, by e.g. dividing all data points with the average frequency, is left to the user.

Allan variance and related techniques are in the time-domain, so it is not clear. Does it actually mean rate? Help clarifying appreciated.

jondoesntgit commented 5 years ago

Allan variances are used to characterize sensors, most commonly clocks and gyroscopes, and sometimes accelerometers.

For a clock: frequency data is literally frequency in Hz. Phase data would be time elapsed in seconds For a gyroscope: frequency data is angular rate in deg/h, phase data would be the integrated angle in degreese

and so forth and so on.

spluque commented 5 years ago

I see, so "frequency" = "rate", as I assumed for cases like angular velocity (e.g. deg/h). Is acceleration (m/s^2) also considered "frequency" data? Are data assumed to be normalized as well?

jondoesntgit commented 5 years ago

It probably depends on to whom you're presenting. I've seen accelerometer Allan Variance plots plot m/s^2 as "frequency" data in my limited exposure. I think it would be a tough sell as "phase" data, because then you'd be looking at a device that was integrating jerk (m/s^3) to get acceleration.

gwbres commented 4 years ago

@jondoesntgit @spluque Hello, just for clarification

Frequency data is actually a ratio delta f /f, I think instead of "frequency data" one should read "fractional frequency data". In a fractional measurement, (most commonly for clock signals) you are measuring the difference (in Hz) and compare it to the reference beat (in Hz), for example 10E-11 [Hz] / 10E6 [Hz]. So what you actually feed to the calculator has no unit, it's a fractional measurement, you are measuring "errors". My understanding, one should use "frequency data" (read fractional frequency data) for any type of fractional measurement. In the case of a Gyro/Other sensor, it all depends whether you are measuring fractional or raw data

In the case of phase data, here we are talking about raw data directly read from a sensor. In most cases it's the output of a phase meter (raw 'radians') and you can directly feed those values to the calculator (using the appropriate formula - ie, the one without any average). If your measurement from other types of sensors are not fractional I think you should use this option

In my opinion, the initial allan deviation and related formulas make no sense it's not a real formula, it's a notation. You "understand it" once you know how to measure & what you want to calculate. Once again, in my opinion, this is far from what we expect from a real formula. For instance in the initial notation, y actually describes a statistical mean, x means raw data. One should prefer modern notations using summation / integral forms where indexes and normalization are properly defined