Skip to main content

Module estimation

Module estimation 

Source
Expand description

GNSS estimation substrate (Phase-2).

The Phase-2 redesign collapses the three thick estimator stacks (spp, rtk/rtk_filter, precise_positioning) onto one shared estimation substrate plus thin, runtime-selectable strategies. The mechanism that keeps every external reference bit-exact through the migration is the NAMED recipe: a strategy selects the floating-point operation order it needs by enum value, never by owning a private copy of a parity-sensitive helper.

P0 landed recipe - the taxonomy of operation-order variants, each documented against the current code path it names and defaulting to current behavior. P1 adds [substrate] with the frame and range kernels; P2 adds the parameter layout, the weighted measurement row, the measurement covariance block, and the normal-equation assembler; P3 adds the shared ambiguity and qc kernels, all routed through by the existing strategies via their current recipe. P4 adds strategies: the runtime StrategyId selector (strategies::estimate) that resolves a strategy into its recipe and screen/ambiguity policy data and dispatches to the technique’s reference entry point, leaving every existing 0-ULP golden unchanged.

Re-exports§

pub use primitives::alpha_beta_apply_measurement;
pub use primitives::alpha_beta_filter_step;
pub use primitives::alpha_beta_predict;
pub use primitives::alpha_beta_steady_state_gains;
pub use primitives::cfar_ca_false_alarm_probability;
pub use primitives::cfar_ca_multiplier_from_pfa;
pub use primitives::cfar_ca_pfa_from_multiplier;
pub use primitives::cfar_ca_threshold;
pub use primitives::ewma_update;
pub use primitives::ewma_update_power_of_two;
pub use primitives::kalman_cv_steady_state_gains;
pub use primitives::mad_spread;
pub use primitives::nis_expected_value;
pub use primitives::nis_gate_test;
pub use primitives::nis_gate_threshold;
pub use primitives::nis_statistic;
pub use primitives::normalized_innovation;
pub use primitives::AlphaBetaGains;
pub use primitives::AlphaBetaState;
pub use primitives::AlphaBetaStep;
pub use primitives::PrimitiveError;
pub use primitives::ScalarKalmanGains;
pub use primitives::MAD_GAUSSIAN_CONSISTENCY;
pub use recipe::AmbiguityIdPolicy;
pub use recipe::DifferencingMode;
pub use recipe::EstimationRecipe;
pub use recipe::FrameRecipe;
pub use recipe::NormalRecipe;
pub use recipe::PartialResolution;
pub use recipe::RangeRecipe;
pub use recipe::ReferenceTarget;
pub use recipe::ResidualNormRecipe;
pub use recipe::SagnacRecipe;
pub use recipe::ScreenKind;
pub use recipe::SolverRecipe;
pub use recipe::StrategyId;
pub use recipe::Technique;
pub use strategies::estimate;
pub use strategies::EstimateError;
pub use strategies::EstimateInput;
pub use strategies::EstimateOptions;
pub use strategies::EstimateOutput;
pub use strategies::ResolvedStrategy;

Modules§

primitives
Estimation and detection primitives.
recipe
Named operation-order recipes for the GNSS estimation substrate.
strategies
Runtime-selectable estimation strategies (Phase-2 P4, driving in 2b).