Sylphase SDGPS
The software-defined GPS(/GNSS) toolkit
kf2 Nodes

inertial-kf2

Type signature: (observables->solution)

Also known as kf2

kf2

Type signature: (observables->solution)

Help

Usage:

kf2 [OPTION]...

Allowed options:

Option Description
--help produce help message
--output-rate arg output solution packets at this rate (units: Hertz) (default: the highest integer divisor of the IMU sample rate that is <= 100 Hz)
--offline don't boost state to realtime. incurs delay of OFFSET seconds
--print-phase-resets print phase resets
--ionospheric-model arg (=zero) use specified ionospheric delay model (default: assume ionospheric delay to always be zero)
--wait-for-ionospheric-model wait for ionospheric model to be initialized to avoid transient behavior
--tropospheric-model arg (=simple) use specified tropospheric delay model
--estimate-ztd-factor estimate ZTD (zenith tropospheric delay) scale factor
--estimate-ionospheric-delay estimate ionospheric delay; with dual-frequency measurements, convergence is immediate, but with single-frequency measurements, convergence takes >= 1 hour
--estimate-antenna-delays estimate differential delay between antennas
--elevation-mask arg do not use observables from SVs with an elevation below this angle relative to the local horizon (units: degrees)
--antenna-elevation-mask arg do not use observables from SVs with an elevation below this angle relative to the plane defined by the antenna's "axis" vector (units: degrees) (multiantenna example: 'ANT0:20,ANT1:0')
--p-ignore arg (=1e-9) p-value threshold for ignoring an SV due to a large pseudorange residual; set to 0 to never ignore
--ignore-duration arg (=1) if --p-ignore is triggered, ignore all of SV's measurements for this many seconds
--abort-signals-ignored-for arg if an SV's measurements are --p-ignored for this many seconds, abort signal tracking via the AbortSignalTracking FunctionalityCallback
--p-log arg (=1e-6) p-value threshold for logging a message about a large measurement residual; set to 0 to never log
--p-reset arg (=0) p-value threshold for triggering a reset due to large pseudorange residual; set to 0 to never reset
--p-phase-reset arg (=1e-6) p-value threshold for resetting carrier phase tracking for a given SV; set to 0 to never reset
--ignore-doppler minimize use of Doppler observable
--ignore-phase don't use phase observable
--clock-wander-rate arg (=1e-17) diffusion constant for local oscillator frequency random walk (units: (s/s)^2/s)
--phase-wander-rate arg (=0.02) diffusion constant for unmodeled SV phase random walk (units: radian^2/s)
--plot-residuals plot measurement residuals
--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
--sample-time-stream arg name of Time stream to include in "time_streams" key of solution output; will also match a unique prefix of a name; special value of "*" will select all
--include-sisre-in-covariance arg (=0) add given SISRE contribution to position covariance matrix (units: meters rms)
Note: SISRE (rms) = sqrt((--sv-ephemeris-error value)^2 + (--sv-clock-error value)^2)

Example

sdgps sylphase-usbgpsimu2 --antenna-position '[1,2,3]' ! tracker ! decoder ! kf2 --output-rate 100 ! listen-solution-tcp 1234

This is one of the most common node chains required to obtain a full pose solution using SDGPS. You should change the --antenna-position option to the XYZ position (in meters) of antenna phase center in the INS coordinate system (denoted by the axes reference on the Infix-1).

static-kf2

Type signature: (observables->solution)

The static-kf2 node is much like the kf2 node, except that it assumes that the antenna is stationary rather than dynamic. As a result, it essentially averages over the entire run time, enabling very accurate output position and time measurements.

Help

Usage:

static-kf2 [OPTION]...

Allowed options:

Option Description
--help produce help message
--output-rate arg output solution packets at this rate (units: Hertz) (default: the highest integer divisor of the Kalman predict rate that is <= 100 Hz)
--predict-rate arg (=100) run Kalman predict at this rate (units: Hertz)
--print-phase-resets print phase resets
--ionospheric-model arg (=zero) use specified ionospheric delay model (default: assume ionospheric delay to always be zero)
--wait-for-ionospheric-model wait for ionospheric model to be initialized to avoid transient behavior
--tropospheric-model arg (=simple) use specified tropospheric delay model
--estimate-ztd-factor estimate ZTD (zenith tropospheric delay) scale factor
--estimate-ionospheric-delay estimate ionospheric delay; with dual-frequency measurements, convergence is immediate, but with single-frequency measurements, convergence takes >= 1 hour
--estimate-antenna-delays estimate differential delay between antennas
--elevation-mask arg do not use observables from SVs with an elevation below this angle relative to the local horizon (units: degrees)
--antenna-elevation-mask arg do not use observables from SVs with an elevation below this angle relative to the plane defined by the antenna's "axis" vector (units: degrees) (multiantenna example: 'ANT0:20,ANT1:0')
--p-ignore arg (=1e-9) p-value threshold for ignoring an SV due to a large pseudorange residual; set to 0 to never ignore
--ignore-duration arg (=1) if --p-ignore is triggered, ignore all of SV's measurements for this many seconds
--abort-signals-ignored-for arg if an SV's measurements are --p-ignored for this many seconds, abort signal tracking via the AbortSignalTracking FunctionalityCallback
--p-log arg (=1e-6) p-value threshold for logging a message about a large measurement residual; set to 0 to never log
--p-reset arg (=0) p-value threshold for triggering a reset due to large pseudorange residual; set to 0 to never reset
--p-phase-reset arg (=1e-6) p-value threshold for resetting carrier phase tracking for a given SV; set to 0 to never reset
--ignore-doppler minimize use of Doppler observable
--ignore-phase don't use phase observable
--clock-wander-rate arg (=1e-17) diffusion constant for local oscillator frequency random walk (units: (s/s)^2/s)
--phase-wander-rate arg (=0.02) diffusion constant for unmodeled SV phase random walk (units: radian^2/s)
--plot-residuals plot measurement residuals
--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
--position-ecef arg assume antenna is at this position instead of solving for antenna position
--sample-time-stream arg name of Time stream to include in "time_streams" key of solution output; will also match a unique prefix of a name; special value of "*" will select all
--include-sisre-in-covariance arg (=0) add given SISRE contribution to position covariance matrix (units: meters rms)
Note: SISRE (rms) = sqrt((--sv-ephemeris-error value)^2 + (--sv-clock-error value)^2)