[go: up one dir, main page]

Crate allan

Crate allan 

Source
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 Allan or Hadamard
Hadamard
Hadamard variance calculation
ModifiedAllan
Modified Allan variance calculation
Tau
Result of a tau calculation with computed variance and deviation

Enums§

Mode
Calculation mode - cumulative or sliding window
Style
describes the gaps between Tau and impacts space and computational costs