Skip to main content

Crate astrodynamics_gnss

Crate astrodynamics_gnss 

Source
Expand description

§astrodynamics-gnss

GNSS domain layer built on top of the astrodynamics core crate. This is a sibling crate, not a cargo feature of astrodynamics: a propagation-only consumer must never have to compile the IONEX/SP3 parsers.

This crate defines the foundational GNSS types and a public façade organized by user-facing tasks:

  • ephemeris — precise SP3 and broadcast ephemeris products,
  • rinex — RINEX navigation/observation parsing and CRINEX decoding,
  • antex — ANTEX receiver and satellite antenna calibration parsing,
  • combinations — observable linear combinations such as ionosphere-free,
  • observables — forward range, Doppler, and azimuth/elevation prediction,
  • velocity — receiver velocity and clock-drift solve from range-rate data,
  • positioning — single-point positioning and DOP diagnostics,
  • dgnss — code-differential pseudorange correction and rover pairing,
  • quality — pseudorange weighting, RAIM, and FDE integrity checks,
  • signal — GPS C/A code generation, correlation, and acquisition,
  • ppp_corrections — static-arc PPP correction precomputation,
  • atmosphere — ionosphere and troposphere corrections,
  • orbit — compact reduced-orbit fitting/evaluation.

Implementation modules (sp3, rinex_nav, spp, etc.) are crate-private. This is a clean 0.9 public surface rather than a compatibility shim around the original implementation-shaped module layout.

§Units policy (internal representation)

All quantities are stored and computed in SI base units, with the frame and datum encoded in the type name (per the spec’s frames-in-the-type-system rule), never hidden behind a bare position_m:

  • Length / position: meters (_m). SP3 positions are ITRF/IGS-frame ECEF meters; SPP receiver positions are WGS84/ITRF-compatible ECEF meters. (The core astrodynamics state crate works in kilometers; conversions happen explicitly at the boundary, never implicitly.)
  • Time / clock: seconds (_s). Epochs are represented by the core astrodynamics time family (Instant/TimeScale), always scale-tagged; there is no bare ambiguous epoch.
  • Velocity: meters per second (_m_s).
  • Angles: radians (_rad) internally. Degrees appear only at I/O edges and are named _deg.
  • Frequency: hertz (_hz).

Field and parameter names carry the unit suffix so the unit is visible at every call site. Matrix/vector linear algebra uses nalgebra (DMatrix/DVector) per the spec.

Re-exports§

pub use frame::ItrfPositionM;
pub use frame::ItrfVelocityMS;
pub use frame::Wgs84Geodetic;

Modules§

antex
ANTEX 1.4 receiver and satellite antenna parser.
atmosphere
GNSS atmospheric correction models.
broadcast_comparison
Broadcast-ephemeris accuracy: compare a broadcast navigation product against a precise SP3 product over a window (the orbit/clock pieces of the signal-in-space range error, SISRE).
carrier_phase
Carrier-phase combinations, cycle-slip detection, and Hatch smoothing.
combinations
GNSS observable linear combinations.
constants
Shared GNSS constants.
dgnss
Code-differential GNSS (DGPS) pseudorange corrections.
ephemeris
Ephemeris products and satellite orbit/clock evaluation.
estimation
GNSS estimation substrate (Phase-2).
frame
Frame-tagged position types.
frequencies
Canonical GNSS carrier-frequency table.
geometry
GNSS geometry primitives.
ils
Integer least squares — ambiguity-resolution kernels for precise / RTK positioning.
navigation
GNSS navigation-message synthesis and decoding.
observables
Forward GNSS observable prediction.
orbit
Compact orbit approximations.
positioning
Single-point positioning and GNSS geometry diagnostics.
ppp_corrections
Static-arc PPP correction precomputation.
precise_positioning
Static multi-epoch PPP float/fixed positioning.
prelude
Convenient imports for common GNSS workflows.
quality
Measurement-quality control for GNSS positioning.
rinex
RINEX and CRINEX parsing.
rtk
RTK double-difference primitives.
rtk_filter
Sequential and static RTK baseline filtering, split into focused submodules.
signal
GPS L1 C/A code generation, coherent correlation, and acquisition.
terrain
DTED tile reader and bilinear terrain lookup.
tides
Solid-earth tide station displacement (IERS Conventions, Chapter 7).
tolerances
Shared named numerical tolerances for GNSS modeling kernels.
velocity
Receiver velocity and clock-drift solve from GNSS range-rate observations.

Structs§

GnssSatelliteId
A satellite identifier: a constellation plus its within-system PRN/slot.

Enums§

Error
Errors produced by the astrodynamics-gnss crate.
GnssSystem
A GNSS constellation (satellite system).

Type Aliases§

Result
Result alias for fallible astrodynamics-gnss operations.