Skip to main content

Module static_positioning

Module static_positioning 

Source
Expand description

Multi-epoch static positioning over stacked pseudorange epochs.

The solve is sans-I/O: callers provide already formed pseudorange measurements grouped by receive epoch and receive one static receiver position. The measurement model is the existing SPP model. The only new layout is the parameter vector, ordered as a shared ECEF position followed by epoch-local receiver clocks.

use sidereon_core::ephemeris::EphemerisSource;
use sidereon_core::static_positioning::{
    solve_static, StaticSolveError, StaticSolveOptions,
};
use sidereon_core::GnssSatelliteId;

struct EmptyEphemeris;

impl EphemerisSource for EmptyEphemeris {
    fn position_clock_at_j2000_s(
        &self,
        _sat: GnssSatelliteId,
        _t_j2000_s: f64,
    ) -> Option<([f64; 3], f64)> {
        None
    }
}

let result = solve_static(&EmptyEphemeris, &[], StaticSolveOptions::default());
assert!(matches!(result, Err(StaticSolveError::EmptyEpochs)));

Structs§

StaticClockBias
One solved epoch-local receiver clock.
StaticCovariance
State covariance for a static solution.
StaticEpoch
One receive epoch for solve_static.
StaticEpochInfluence
Leave-one-epoch-out diagnostic.
StaticResidual
One post-fit residual from the static solve.
StaticSatelliteBatchInfluence
Leave-one-satellite-out diagnostic across all epochs where a satellite appears.
StaticSatelliteInfluence
Leave-one-satellite-out diagnostic.
StaticSolution
Multi-epoch static receiver solution.
StaticSolutionMetadata
Metadata describing the static solve.
StaticSolveOptions
Options for solve_static.

Enums§

StaticInfluenceStatus
Status for a leave-one-out diagnostic solve.
StaticSolveError
Error returned by solve_static.

Functions§

solve_static
Solve one static receiver position from multiple epochs of pseudoranges.