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 coreastrodynamicsstate crate works in kilometers; conversions happen explicitly at the boundary, never implicitly.) - Time / clock: seconds (
_s). Epochs are represented by the coreastrodynamicstime 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§
- Gnss
Satellite Id - A satellite identifier: a constellation plus its within-system PRN/slot.
Enums§
- Error
- Errors produced by the
astrodynamics-gnsscrate. - Gnss
System - A GNSS constellation (satellite system).
Type Aliases§
- Result
- Result alias for fallible
astrodynamics-gnssoperations.