Skip to main content

Warm Start PpRx

Phase 4 of 6Advanced tutorials

Learn how to import and export ephemeris and almanac files using PpRx.

Overview

A warm start allows PpRx to begin with previously collected navigation data instead of waiting for bits over the RF stream. In practice, this means exporting ephemeris (.eph) and almanac (.alm) files during one run, then importing those files into the next run. Ephemeris files can also be downloaded from the internet using the GUI.

This tutorial covers warm-start procedures using both the GUI and CLI. These workflows are most useful when the same system is restarted repeatedly in the field or when PpRx settings are being iterated during post-processing or development.

note

This tutorial covers warm starting with imported ephemeris and almanac data. The same .opt pattern can be used whether PpRx is launched directly from the CLI or through a service that points to the same .opt file.

warning

Ephemeris data is typically only useful within a few hours of capture time. In practice, use the newest available .eph file for the next run. Expired ephemeris data is ignored by PpRx.

Export Warm-Start Files from the CLI

Start from a working .opt file and add export options for ephemeris and almanac data:

-i /dev/radiolion0
--imu-file /dev/radiolion1
-c ./autogen_01.config
-t -1
--bitpack lion
-o ./output/pprx.gbx
--export-ephem ./output/warmstart.eph
--export-alm ./output/warmstart.alm
--exp-interval 60

Relevant options:

  • --export-ephem writes ephemeris data for reuse on a later run.
  • --export-alm writes almanac data for reuse on a later run.
  • --exp-interval periodically updates exportable navigation data while PpRx is running.

Let the run finish normally, or stop it with Ctrl+C. By default, PpRx also writes these files when a run completes cleanly. If the process is terminated without normal shutdown, the final export may not be written.

Import the Files from the CLI

Once recent warm-start files are available, add the import options to the next PpRx startup:

pprx -f ./autogen_01.opt \
--import-ephem ./output/warmstart.eph \
--import-alm ./output/warmstart.alm \
-o ./output/pprx_out.gbx

Alternatively, add the same import options directly to the .opt file:

--import-ephem ./output/warmstart.eph
--import-alm ./output/warmstart.alm

Warm starts are most effective when the imported files are recent and were captured close in time to the next run.

note

After importing ephemeris on a warm start, transmitter identifiers (TXID) in the PpRx Display may still show a ? decoration (health status unknown) on some satellites, even though ephemeris was imported successfully. This is normal — the ? flag is cleared only once the satellite health status has been received over the RF signal, not from the .eph file. It does not indicate that the import failed, and those channels will still contribute to the navigation solution once locked.

Export Warm-Start Data from the GUI

Ephemeris and almanac information can be exported from the GUI by configuring the relevant output products in the Output Configuration dialog. See Configure PpRx Outputs in the GUI.

The ephemeris (.eph) and almanac (.alm) files will be written to the configured output folder.

Download Ephemeris Data in the GUI

The GUI can download ephemeris data (GPS and Galileo only) from relevant NASA websites. This feature requires an internet connection and can be accessed by selecting RunConfigure PpRx Warmstart from the menu bar.

To download ephemeris data:

  1. Select an output folder for the .eph file.
  2. Choose a .eph output file name (for example output_ephemeris).
  3. Select the desired ephemeris time using the GPS Week, TOW, UTC Date, and UTC TOD fields.
  4. Press Download .eph to download data only, or Download + Set .eph to download and set the ephemeris data.

Ephemeris data will be written to the output folder.

Import Ephemeris Data from the GUI

Open the Configure PpRx Warmstart dialog by selecting RunConfigure PpRx Warmstart. Currently, only ephemeris data can be imported to PpRx from the GUI. To import almanac data as well, use the CLI.

To import ephemeris data during the next PpRx run in the GUI:

  1. Press the Select .eph file button.
  2. Choose the desired .eph file.
  3. The GUI will parse and display information contained within the selected .eph file. Verify it looks correct.
  4. Close the Configure PpRx Warmstart dialog window. In the Input/Output overlay, a small text message should confirm that PpRx is configured for warm start with ephemeris information.
  5. Run PpRx.

Configure PpRx for Auto Warm Start using the .opt file

PpRx can be configured to warm start automatically upon start up. With this configuration PpRx will overwrite the almanac and ephemeris files at the end of every run, and import those files in the following run. Auto Warm Start is most effective when consecutive PpRx runs are close in time, ensuring relevant almanac and ephemeris data.

To enable Auto Warm Start, add the import and export options directly to the pprx .opt file:

--import-ephem ./output/warmstart.eph
--import-alm ./output/warmstart.alm

--export-ephem ./output/warmstart.eph
--export-alm ./output/warmstart.alm

These options will ensure that ephemeris and almanac data will be imported at the start of every run and written at the end of every run.

warning

There must be pre-existing files at the paths specified by --import-ephem and --import-alm before the first run. On the very first run, either export the files from a prior PpRx session, or remove the import lines from the .opt file until at least one export run has completed.

Warm-Start File Validity

FileTypical useful lifetimeNotes
.eph (ephemeris)2–4 hoursPpRx silently ignores records past their fit interval; very stale files add no benefit but do not cause errors
.alm (almanac)Days to weeksAlmanac data changes slowly; older files still reduce acquisition search space

Expected Result

PpRx can be restarted using previously exported .eph and .alm files, reducing the time spent waiting for signal acquisition and navigation data collection before a fix is achieved.