Skip to main content

Module auto_init

Module auto_init 

Source
Expand description

SPP-seeded auto-initialization driver for static multi-epoch PPP arcs.

This leaf owns the high-level “raw epochs in, solved arc out” orchestration that previously lived only in the Elixir binding. It seeds the static PPP float state from the existing single-point-positioning solver and the raw observations, then runs the existing static float solve (solve_float_epochs) and, for the fixed driver, the existing integer-fixed re-solve (solve_fixed_from_float). It re-implements no solve numerics; only the seeding policy moves here so every binding can delegate to one driver.

The seeding policy reproduces the Elixir reference (Sidereon.GNSS.PrecisePositioning.solve_float_epochs/3) exactly so a later binding delegation is bit-for-bit:

  1. SPP seed - per epoch, a code-only single-point solve with the ionosphere correction off (the troposphere optional), each epoch using the caller’s cold-start guess. The first SPP failure aborts the whole driver.
  2. Mean-position seed - the static position seed is the unweighted arithmetic mean of every epoch’s SPP position, summed in reverse-epoch order to match the reference’s floating-point reduction.
  3. Per-epoch clock seed - each epoch keeps its own SPP receiver clock (seconds times the speed of light), in arc order.
  4. Phase-minus-code ambiguity seed - each ambiguity id is seeded with phase_m - code_m (metres) from the first epoch, in sorted-observation order, where that id is seen.
  5. ZTD seed - the zenith-total-delay residual seeds to zero.

When the caller supplies an explicit initial guess, the SPP/mean stages are skipped and that position with its clock (duplicated across epochs) is the seed, again matching the reference.

Structs§

PppAutoInitOptions
Auto-initialization policy for the raw-epochs PPP driver.
PppInitialGuess
Explicit static-position/clock seed that bypasses the SPP auto-init stages.

Enums§

PppAutoInitError
Why the raw-epochs PPP driver could not complete.
PppAutoInitStrategy
Runtime strategy selector for the PPP auto-init drivers.

Functions§

solve_ppp_auto_init_fixed
Solve a static integer-fixed PPP arc from raw epochs: auto-init seed, the float solve, then the LAMBDA integer fix and ambiguity-conditioned re-solve.
solve_ppp_auto_init_fixed_with_strategy
Solve a static integer-fixed PPP arc from raw epochs, selecting the PPP strategy for both the float seed solve and the fixed re-solve.
solve_ppp_auto_init_float
Solve a static multi-epoch float PPP arc from raw epochs, auto-initializing the float state from the SPP seed described on the module.
solve_ppp_auto_init_float_with_strategy
Solve a static multi-epoch float PPP arc from raw epochs, selecting the PPP strategy after the auto-init seed is built.