Expand description
Allan provides variance and deviation tools for stability analysis
§Goals
- provide streaming variance and deviations from series data
- pre-allocated datastructures
- support for gaps in data using NaN markers
§Usage
Create a new instance, add records, retrieve statistic
§Gap Handling
This implementation supports gaps in time-series data by using NaN as
a gap marker. When a gap is encountered (marked by recording f64::NAN),
calculations that would span the gap are automatically excluded from the
variance computation, ensuring accurate results even with incomplete data.
§Example
Create a new instance, add a few records, retrieve allan deviation
use allan::*;
// Allan variance/deviation
let mut allan = Allan::new();
for _ in 0..100 {
allan.record(1.0);
}
assert_eq!(allan.get(1).unwrap().deviation().unwrap(), 0.0);
// Hadamard variance/deviation (separate calculation)
let mut hadamard = Hadamard::new();
for _ in 0..100 {
hadamard.record(1.0);
}
assert_eq!(hadamard.get(1).unwrap().deviation().unwrap(), 0.0);
// Modified Allan variance/deviation (separate calculation)
let mut modified = ModifiedAllan::new();
for _ in 0..100 {
modified.record(1.0);
}
assert_eq!(modified.get(1).unwrap().deviation().unwrap(), 0.0);Structs§
- Allan
- Allan variance calculation
- Config
- used to configure an
AllanorHadamard - Hadamard
- Hadamard variance calculation
- Modified
Allan - Modified Allan variance calculation
- Tau
- Result of a tau calculation with computed variance and deviation