pub struct AllanVarianceModel {
pub h_white: f32,
pub h_flicker: f32,
pub h_rw: f32,
pub label_str: &'static str,
}Expand description
Allan variance frequency-stability model for oscillator aging.
σ_y²(τ) = h₀/(2τ) + h₋₁·2·ln2 + h₋₂·(2π²/3)·τ
§Pre-defined Constants
OCXO_CLASS_A: Ultra-stable oven-controlled XO (h₀=1e-20, h₋₁=1e-22, h₋₂=1e-28)TCXO_GRADE_B: Temperature-compensated XO (h₀=1e-18, h₋₁=1e-20, h₋₂=1e-26)
Fields§
§h_white: f32White phase noise coefficient h₀.
h_flicker: f32Flicker phase noise coefficient h₋₁.
h_rw: f32Random walk FM noise coefficient h₋₂.
label_str: &'static strHuman-readable identifier.
Implementations§
Source§impl AllanVarianceModel
impl AllanVarianceModel
Sourcepub const OCXO_CLASS_A: Self
pub const OCXO_CLASS_A: Self
Ultra-stable OCXO Class A oscillator (normalised residual-norm units).
h-coefficients scaled so σ_y(τ=1) ≈ 2.2×10⁻⁵ (detectable in f32).
Sourcepub const TCXO_GRADE_B: Self
pub const TCXO_GRADE_B: Self
GPS-grade TCXO Grade B oscillator (normalised residual-norm units).
h-coefficients scaled so σ_y(τ=1) ≈ 2.2×10⁻⁴ (100× worse than OCXO).
Trait Implementations§
Source§impl Clone for AllanVarianceModel
impl Clone for AllanVarianceModel
Source§fn clone(&self) -> AllanVarianceModel
fn clone(&self) -> AllanVarianceModel
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for AllanVarianceModel
impl Debug for AllanVarianceModel
Source§impl PhysicsModel for AllanVarianceModel
impl PhysicsModel for AllanVarianceModel
Source§fn predict_drift_rate(&self, tau: f32) -> f32
fn predict_drift_rate(&self, tau: f32) -> f32
Averaging time τ [s] → Allan deviation σ_y(τ) = √AVAR(τ).
Source§fn maps_to_reason(&self) -> ReasonCode
fn maps_to_reason(&self) -> ReasonCode
The DSFB
ReasonCode this model most directly corresponds to.impl Copy for AllanVarianceModel
Auto Trait Implementations§
impl Freeze for AllanVarianceModel
impl RefUnwindSafe for AllanVarianceModel
impl Send for AllanVarianceModel
impl Sync for AllanVarianceModel
impl Unpin for AllanVarianceModel
impl UnsafeUnpin for AllanVarianceModel
impl UnwindSafe for AllanVarianceModel
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more