Recover receiver velocity and clock drift from one epoch of range-rate or Doppler observations against a precise SP3 or broadcast ephemeris source.
The numerical model and least-squares solve live in the Rust GNSS core. This module preserves the Elixir API shape: input normalization, per-satellite option resolution, and public result/error maps.
Summary
Functions
Convert a Doppler shift in Hz to a pseudorange rate in m/s.
Convert a pseudorange rate in m/s to a Doppler shift in Hz.
Solve for receiver velocity and clock drift at one receive epoch.
Types
Functions
Convert a Doppler shift in Hz to a pseudorange rate in m/s.
Convert a pseudorange rate in m/s to a Doppler shift in Hz.
@spec solve( Orbis.GNSS.SP3.t() | Orbis.GNSS.Broadcast.t(), [observation()], NaiveDateTime.t(), receiver(), keyword() ) :: {:ok, result()} | {:error, term()}
Solve for receiver velocity and clock drift at one receive epoch.
observations are {satellite_id, value} pairs. Values are pseudorange rates
in m/s by default, or Doppler shifts in Hz with observable: :doppler.