Expand description
Static multi-epoch PPP float/fixed positioning.
This module owns the language-independent static PPP orchestration: float
carrier ambiguities, integer ambiguity resolution, and the fixed-ambiguity
re-solve from SP3-backed ionosphere-free code and phase observations. The
observation-only wide-lane/narrow-lane and cycle-slip preparation that runs
ahead of the solve lives in the [prep] leaf submodule.
let solutions = solve_kinematic_ppp(&source, &[epoch], config)?;
assert_eq!(solutions.len(), 1);
assert!(solutions[0].innovation_rms_m.is_finite());Re-exports§
pub use auto_init::solve_ppp_auto_init_fixed;pub use auto_init::solve_ppp_auto_init_fixed_with_strategy;pub use auto_init::solve_ppp_auto_init_float;pub use auto_init::solve_ppp_auto_init_float_with_strategy;pub use auto_init::PppAutoInitError;pub use auto_init::PppAutoInitOptions;pub use auto_init::PppAutoInitStrategy;pub use auto_init::PppInitialGuess;pub use cycle_slip::detect_cycle_slips;pub use cycle_slip::geometry_free_m;pub use cycle_slip::melbourne_wubbena_cycles;pub use cycle_slip::update_geometry_free;pub use cycle_slip::update_melbourne_wubbena;pub use cycle_slip::CycleSlipConfig;pub use cycle_slip::CycleSlipConfigError;pub use cycle_slip::CycleSlipDetectorState;pub use cycle_slip::CycleSlipError;pub use cycle_slip::CycleSlipFlagEpoch;pub use cycle_slip::CycleSlipFlagObservation;pub use cycle_slip::CycleSlipStateKey;pub use cycle_slip::GeometryFreeUpdate;pub use cycle_slip::MelbourneWubbenaUpdate;pub use cycle_slip::RunningMeanVariance;pub use cycle_slip::SatelliteCycleSlipState;pub use cycle_slip::DEFAULT_MINIMUM_ARC_LENGTH;pub use cycle_slip::DEFAULT_RUNNING_STATISTIC_K_FACTOR;pub use raim::solve_float_epoch_with_raim;pub use raim::ProtectionLevels;pub use raim::RaimConfig;pub use raim::RaimError;pub use raim::RaimFdeError;pub use raim::RaimFdeResult;pub use raim::RaimFdeStatus;pub use raim::RaimGeometryRow;pub use raim::RaimIdentification;pub use raim::RaimResult;pub use raim::RaimStatus;pub use raim::SatelliteTestStatistic;pub use tec::code_geometry_free_m;pub use tec::estimate_code_slant_tec;pub use tec::estimate_phase_slant_tec;pub use tec::estimate_tec;pub use tec::ionospheric_pierce_point;pub use tec::level_slant_tec_arc;pub use tec::phase_geometry_free_m;pub use tec::slant_tec_from_code_geometry_free_m;pub use tec::slant_tec_from_phase_geometry_free_m;pub use tec::thin_shell_mapping_function;pub use tec::vertical_tec_from_slant_tec;pub use tec::CodeSlantTecEstimate;pub use tec::IonosphericPiercePoint;pub use tec::LeveledTecSample;pub use tec::PhaseSlantTecEstimate;pub use tec::TecConfig;pub use tec::TecEpoch;pub use tec::TecError;pub use tec::TecEstimate;pub use tec::TecEstimateSample;pub use tec::TecLevelingResult;pub use tec::TecLevelingSample;pub use tec::TecObservation;pub use tec::TecSatelliteArc;pub use tec::DEFAULT_IONOSPHERIC_SHELL_HEIGHT_M;pub use tec::ELECTRONS_PER_TECU_M2;pub use tec::TEC_GROUP_DELAY_COEFFICIENT;pub use velocity::predict_range_rate_m_s;pub use velocity::solve_velocity;pub use velocity::RangeRatePrediction;pub use velocity::ReceiverVelocityState;pub use velocity::VelocityConfig;pub use velocity::VelocityObservation;pub use velocity::VelocityRobustConfig;pub use velocity::VelocitySolution;pub use velocity::VelocitySolveError;
Modules§
- auto_
init - SPP-seeded auto-initialization driver for static multi-epoch PPP arcs.
- cycle_
slip - Dual-frequency cycle-slip detection for PPP preprocessing.
- defaults
- Canonical static-PPP solver defaults.
- raim
- Snapshot RAIM tests for PPP float residuals.
- tec
- Dual-frequency Total Electron Content estimation helpers.
- velocity
- Single-epoch receiver velocity range-rate model.
Structs§
- Ambiguity
Search - Frozen ambiguity-search metadata returned with a fixed PPP solution.
- Dual
Frequency Epoch - One raw dual-frequency PPP epoch.
- Dual
Frequency Observation - Raw dual-frequency PPP observation used by wide-lane/narrow-lane prep.
- Fixed
Ambiguity Options - Integer ambiguity resolution controls for fixed PPP.
- Fixed
Integer Metadata - Integer-search summary returned with a fixed PPP solution.
- Fixed
Solution - Static integer-fixed PPP solution.
- Fixed
Solve Config - Static fixed-ambiguity PPP solve controls.
- Float
Cycle Slip Epoch - One float PPP epoch for cycle-slip ambiguity-tagging.
- Float
Cycle Slip Observation - One float PPP observation with optional raw dual-frequency fields for cycle-slip ambiguity-tagging.
- Float
Cycle Slip Tagged Epoch - One tagged float PPP epoch returned by cycle-slip prep.
- Float
Cycle Slip Tagged Observation - One tagged float PPP observation returned by cycle-slip prep.
- Float
Epoch - One static PPP epoch.
- Float
Observation - One ionosphere-free code/phase observation in a static PPP epoch.
- Float
Residual - Per-satellite residual row in the returned public solution.
- Float
Solution - Static float solution.
- Float
Solve Config - Static float solve controls.
- Float
Solve Options - Iteration and convergence controls.
- Float
State - Initial static-arc state.
- Kinematic
Config - Configuration for a sequential kinematic PPP EKF solve.
- Kinematic
Epoch Solution - One epoch returned by
solve_kinematic_ppp. - Kinematic
Process Noise - Process-noise spectral densities for the kinematic PPP EKF.
- Kinematic
State - Receiver state carried by the sequential kinematic PPP filter.
- Kinematic
Update Summary - Summary of one kinematic PPP EKF measurement update.
- Measurement
Weights - Measurement weighting options. Values are inverse sigmas, matching Sidereon’ historical row scaling.
- PcvSample
- One ANTEX PCV sample.
- PppCorrection
Lookup - Indexed static PPP correction lookup tables.
- PppSplit
Arc - Public split-arc metadata for PPP ambiguity segmentation.
- Prepared
Float Epoch - One prepared ionosphere-free epoch.
- Prepared
Float Observation - One ionosphere-free PPP observation emitted by dual-frequency prep.
- Range
Corrections - Range-correction options and precomputed correction tables.
- Receiver
Antenna Frequency - Receiver antenna calibration at one frequency.
- Receiver
Antenna Options - Receiver antenna correction options.
- Satellite
Clock Corrections - Fine satellite clock series, keyed by GPS seconds.
- Troposphere
Options - Troposphere controls.
- VmfSite
Sample - One VMF site-wise sample: the
acoefficients at a single epoch. - VmfSite
Series - A short, strictly ascending VMF site-wise
a-coefficient series for one station, linearly interpolated to the observation epoch. - Wide
Lane Prep Options - Wide-lane and narrow-lane prep controls.
- Wide
Lane Prep Result - Prepared dual-frequency PPP arc for the fixed wide-lane/narrow-lane path.
Enums§
- Cycle
Slip Policy - Policy applied when a cycle slip is detected while preparing an ambiguity arc.
- Fixed
Solve Error - Static fixed PPP solve errors.
- Float
Solve Error - Static PPP solve errors.
- Float
Status - Static PPP solve termination status.
- Integer
Status - Kinematic
Epoch Status - Per-epoch status returned by the kinematic PPP EKF driver.
- Kinematic
Motion Model - Deterministic receiver-position propagation model for the predict step.
- Kinematic
Position Process Noise - Position process-noise model used by the kinematic PPP predict step.
- Kinematic
Solve Error - Kinematic PPP EKF solve errors.
- Missing
Correction - NoEphemeris
Reason - Tropo
Mapping - Tropospheric mapping-function selection for a PPP solve.
- Wide
Lane Prep Error - Error from PPP wide-lane/narrow-lane prep.
Constants§
- VMF_
SITE_ MAX_ SAMPLES - Maximum number of 6-hourly VMF site samples carried for one arc.
- VMF_
SITE_ SINGLE_ SAMPLE_ CLAMP_ DAYS - Clamp window (days) on each side of a single-sample VMF series.
Functions§
- build_
ppp_ lookup - Build indexed PPP correction lookups at the static-arc seed position.
- correct_
kinematic_ state - Correct one kinematic PPP EKF state with a single epoch of code/phase rows.
- predict_
kinematic_ state - Predict one kinematic PPP EKF state and covariance forward by
dt_s. - prepare_
widelane_ fixed_ epochs - Prepare raw dual-frequency PPP observations for the wide-lane then narrow-lane fixed ambiguity path.
- solve_
fixed_ from_ float - Search integer ambiguities from an existing float PPP solution and re-solve position/clocks with those ambiguities held fixed.
- solve_
float_ epoch - Solve one float PPP epoch with the same state shape as Sidereon’ historical single-epoch API: receiver position, one receiver clock, and one ambiguity per observation.
- solve_
float_ epochs - Solve a static multi-epoch float PPP arc.
- solve_
kinematic_ ppp - Solve an ordered sequence of epochs with the kinematic PPP EKF.
- split_
float_ cycle_ slip_ epochs - Rewrite float PPP ambiguity ids at detected dual-frequency cycle slips.