Sylphase SDGPS
The software-defined GPS(/GNSS) toolkit
simulate-cooked

Type signature: (solution->cooked)

Simulate correlation values by directly generating band limited PRN autocorrelations based on the GNSS, PRN code, and CONFIG_STR.

Help

Usage:

simulate-cooked [OPTION]... [CONFIG_STR (=repofile:configs/simple)] [ENVIRONMENT_FILENAME]

Allowed options:

Option Description
--help produce help message
--config CONFIG_STR (=repofile:configs/simple) config string (run "sdgps help" for examples)
--satellites SATELLITES_FILENAME read satellite definitions from SATELLITES_FILENAME
--environment ENVIRONMENT_FILENAME read environment definitions from ENVIRONMENT_FILENAME; only simulate-raw supports this option currently
--start-stream-time STREAM_TIME (=10000001234.141592025756835936) first solution packet will correspond to this STREAM_TIME in output
--disable-plot disable plotting of the simulated scenario
--bit-inner-corruption-probability arg (=0) corrupt unprotected GNSS NAV bits this often (used for testing decoder robustness)
--bit-outer-corruption-probability arg (=0) corrupt ECC-protected GNSS NAV bits this often (used for testing decoder robustness)
--gps-broadcast-ionospheric-model GPS_IONOSPHERIC_MODEL JSON with Klobuchar ionospheric model parameters to be broadcast on GPS L1 and L2C signal; This will override the ionospheric model provided via SATELLITES_FILENAME; (e.g. the contents of data/sample_ionospheric_model.iono)
--broadcast-utc UTC_PARAMETERS_FILENAME JSON file with UTC parameters to be broadcast on GPS L2C signal (e.g. data/sample_utc_model.utc)
--broadcast-eop EOP_PROVIDER EOP provider used to generate EOP parameters to be broadcast on GPS L2C signal (e.g. dynamic:data/sample_eop_model.eop)
--broadcast-ggto GGTO_PARAMETERS_FILENAME JSON file with GGTO parameters to be broadcast on GAL_E1B and GAL_E5b signal (e.g. data/sample_ggto_model.ggto)
--broadcast-gps-l1-ura GPS_L1_URA URA value to be broadcast on GPS_L1 signal; default value is 2 meters (e.g. to simulate an invalid URA use '{"error":"invalid"}')
--broadcast-gps-l2c-ura GPS_L2C_URA URA value to be broadcast on GPS_L2C signal; default value is 2 meters (e.g. to simulate 2 meters use '{"result":2}')
--broadcast-galileo-sisa GALILEO_SISA SISA value to be broadcast on GAL_E1B and GAL_E5b signal; default value is 2 meters (uses same format as GPS_L1_URA and GPS_L2C_URA)
--broadcast-glonass-ura GLONASS_URA URA value to be broadcast on GLO_L1 and GLO_L2 signal; default value is 2 meters (uses same format as GPS_L1_URA and GPS_L2C_URA)
--sv-ephemeris-error arg (=0) 1D rms ephemeris error to simulate; each of the 3 spatial axes will have an independent 0-mean random offset with this standard deviation applied (units: meters)
--sv-clock-error arg (=0) rms clock error to simulate; SV clock will have a 0-mean random offset with this standard deviation applied (units: meters)
Note: SISRE (rms) = sqrt((--sv-ephemeris-error value)^2 + (--sv-clock-error value)^2)
--sv-error-relaxation-time RELAXATION_TIME (=3600) autocorrelation decay time constant of SV ephemeris/clock error random walk (units: seconds)
--sv-error-seed SEED (=default) seed for SV ephemeris/clock error random number generator; can be any string
--ztd-variation arg (=0) rms relative zenith tropospheric delay wander to simulate; nominal tropospheric delay will be scaled by a random walk with mean 1 and this standard deviation (unitless)
--ztd-relaxation-time RELAXATION_TIME (=3600) autocorrelation decay time constant of ZTD wander (units: seconds)
--cn0 CN0 fix all signal C/N_0 values to CN0 dB-Hz (default: C/N_0 is calculated based on SV-receiver range) (supports antenna-specific syntax: 'ANT0:45,ANT1:40')
--physical-ionospheric-model arg (=zero) ionospheric model that is used for computing simulated observables
--physical-tropospheric-model arg (=simple) tropospheric model that is used for computing simulated observables
--antenna-elevation-mask arg obscure SVs that have an elevation below this angle (elevation is relative to the horizon defined by the antenna's body-frame "axis" config parameter) (units: degrees) (multiantenna example: 'ANT0:20,ANT1:0')
--gnss-stream-group-delay arg simulate a per-GNSS-stream group delay to model e.g. cable delay or differential antenna SAW filter delay (example: "[1e-9, 2e-9]" to delay stream 0 by 1 ns and stream 1 by 2 ns)
--gain-pattern PROVIDER_NAME[:PROVIDER_ARGS...] (=isotropic) gain pattern provider name and arguments (e.g. "isotropic" or "crossed-dipole:'--radius=0.04527')
--plot-feedback plot DesiredCorrelatorConfiguration errors
--use-feedback use DesiredCorrelatorConfiguration feedback to position correlator taps
--min-sample-period arg (=0) minimum width between plot points in seconds; plot points closer than this will be averaged
--x-axis-unit arg (=sec) unit of X axis (options: sec, min, hour, day)
--x-axis-absolute plot absolute stream time on X axis instead of relative to now (implied by --wait)
--detrend <no effect>
--wait wait for pipeline to terminate, then plot (default: live plotting)
--live-history arg (=60) duration of live history buffer in seconds
--title-suffix arg append string to plot titles

Example

sdgps generate-simple-trajectory --angular-velocity-enu [0,0,1] --rate inf ! simulate-cooked configs/simple ! tracker ! decoder ! kf2 --output-rate 100 ! listen-solution-tcp 1234

This will simulate at the correlation level, running as fast as possible.