Skip to main content

PpRx Option (.opt) Parameters Definitions

The Options (.opt) file controls all PpRx inputs and outputs. It specifies where RF data comes from (live streams or recorded files) and where receiver outputs are sent, including logs, solution files, network interfaces, and external devices.

All PpRx options can be listed by opening up a terminal and running:

pprx --help

Additional context for the most commonly used options are below:

  • -i /dev/radiolion0 and --imu-file /dev/radiolion1 are used when the objective is to run PpRx live (PpRx can also process recorded data, see below)
    • /dev/radiolion0 is connected to the GNSS data stream (could be /dev/radiolion1 depending on PC used check with command ls /dev/ and change in this .opt file)
    • /dev/radiolion1 is connected to the IMU data stream (could be /dev/radiolion2 depending on PC used check with command ls /dev/ and change in this .opt file)
  • -i absolute/path/to/a/recorded/gnss/file.bin this line can be used when the objective is to run pprx on a prerecorded file. (See section "How to switch between live pprx and post processing pprx" for tutorial)
  • -c ./lion_r2.config corresponds to the (relative or absolute) path to the config file to be used
  • -t -1[sec] can be used while using pprx to limit the time of data acquisition and processing if it is a live data acquisition, or to limit the time of analysis when it is used in post processing. “-1” is used to process the live data stream indefinitely, or the complete file.
  • -skip 10000 [millisec] can be used when post-processing with pprx to only start processing after a certain time through a data recording.
  • --depth 4 corresponds to the search depth used in initial acquisition. A low value reduces initial acquisition time, while a high value tracks more satellites at the cost of longer initial acquisition times.
  • -T 8[threads] sets the number of threads to be used for tracking.
  • --bitpack lion[bitpacking convention] sets the bitpacking convention used by the front end. This should always be set to lion when using the RadioLion.
  • --import-ephem example_eph.eph[ephemeris file] allows a warm start by pre-loading satellite ephemeris data.
  • --export-ephem example_eph.eph[ephemeris file] exports the ephemeris data for the pprx run, which can be used to allow a warm start later. By default, this .eph file will be produced at the end of a PpRx run, either after a file is finished processing or by using Ctrl+C in live processing mode (Note: sudo kill operations will prevent it from being generated when PpRx completes).
  • --import-alm example_alm.alm[almanac file] allows a warm start by pre-loading satellite almanac data.
  • --export-alm example_alm.alm[almanac file] exports the almanac data for the pprx run, which can be used to allow a warm start later. By default, this .alm file will be produced at the end of a PpRx run, either after a file is finished processing or by using Ctrl+C in live processing mode (Note: sudo kill operations will prevent it from being generated when PpRx completes).
  • --import-state0 [estimator state file] Import estimator state at RRT = 0 from specified file
  • --exp-interval[seconds] sets the interval between exports of data bit, ephemeris, almanac, and estimated PSD data. For ephemeris, for example, it will add to the .eph file specified in --export-ephem at the interval period given, if new ephemeris data is available.
  • --log-interval 50[root bank intervals] sets how frequently to log positioning solution data. An interval of “n” will log every “n” accumulation periods of the root bank. The accumulation period is a function of settings in the .config file. For the typical root bank of GPS_L1_CA_PRIMARY, an accumulation period is equal to 1 ms multiplied by its NUM_SUBACCUM_PER_ACCUM. For example, for NUM_SUBACCUM_PER_ACCUM = 20 and a log interval of 50, pprx will log every 20 * 50 = 1,000 ms.
  • --ref-interval 1[log intervals] sets how frequently to display updates for the positioning solution data in the console relative to log intervals.
  • --acq-interval 200[root bank intervals] sets how frequently to conduct new signal acquisition, in units of root bank/accumulation intervals. Setting (=0) turns off new signal acquisition. Decreasing this value increases computational load.
  • --verbose allows a visualization of the acquired data, in a form of a table with the list of tracked satellites, pseudorange and doppler, etc
  • -o pprx.gbx this specifies where to stream the GBX output from PpRx. The argument needs to be either the full path of a .gbx file, or the path of a named pipe.
  • --binary-only, -s mat and --log-raw-samples are options to set desired output types:
    • --binary-only will only output to the .gbx file or named pipe specified
    • -s mat will output the .gbx as well as Matlab files to aid in data analysis. See here for .mat and .log file definitions.
    • --log-raw-samples will output .gbx, .mat, and will add .bin file outputs with all raw data from the RF front end. (Warning: the .bin files are heavy, ensure the device has sufficient disk space) [only for live data acquisition]
  • --simulate-realtime enables simulation of realtime operation when processing a data recording
  • --rotate-acq enables performing background acquisition on one signal type only at each acquisition interval (reduces CPU load)
  • --debug produces a diagnostics.log file with various debugging information
  • --enable-binary-diagnostics enable diagnostics output to binary output file
  • --log-innovations outputs pseudorange and doppler innovations for each signal to the diagnostics.log file (must have --debug enabled)

introduced in v5.1.0:

  • --rel-acq-banks-thresh arg (=-1) Time threshold [sec] after which acquisition starts on all banks. Overrides the requirement of a minimum number of acquired signals on the root bank pre-navsol before all banks are searched. Values < 0 disables this feature.
  • --ignore-buffer-overruns Disables the CBUFFSIZE assertion error, which occurs if a channel lags more than the buffer size during real-time operation.