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/radiolion0and--imu-file /dev/radiolion1are 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)
- /dev/radiolion0 is connected to the GNSS data stream (could be /dev/radiolion1 depending on PC used check with command
-i absolute/path/to/a/recorded/gnss/file.binthis 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.configcorresponds 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 4corresponds 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 tolionwhen 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.ephfile specified in--export-ephemat 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.--verboseallows a visualization of the acquired data, in a form of a table with the list of tracked satellites, pseudorange and doppler, etc-o pprx.gbxthis 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 matand--log-raw-samplesare options to set desired output types:--binary-onlywill only output to the .gbx file or named pipe specified-s matwill output the .gbx as well as Matlab files to aid in data analysis. See here for .mat and .log file definitions.--log-raw-sampleswill 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-realtimeenables simulation of realtime operation when processing a data recording--rotate-acqenables performing background acquisition on one signal type only at each acquisition interval (reduces CPU load)--debugproduces a diagnostics.log file with various debugging information--enable-binary-diagnosticsenable diagnostics output to binary output file--log-innovationsoutputs pseudorange and doppler innovations for each signal to the diagnostics.log file (must have--debugenabled)
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-overrunsDisables the CBUFFSIZE assertion error, which occurs if a channel lags more than the buffer size during real-time operation.