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

Type signature: (cooked->cooked2)

The tracker node contains the GNSS signal tracking loops. It accepts a cooked stream containing GNSS signal correlations integrated over (typically) one PRN code duration and then runs a DLL (delay-locked loop) and an FLL (frequency-locked loop) on the correlations. The error signal is used to send DesiredCorrelatorConfiguration messages upstream to the correlation node to maintain tracking of the correlation peak.

Once a signal is being tracked, data bit alignment commences. Using a hypothesis testing approach, the correct data bit alignment is ascertained.

Once data bit alignment is complete, the correlation values begin being integrated over the maximal period of one data bit. Integrated correlation values are output to the downstream node as non-decoded cooked2 packets.

This node is typically followed by the decoder node, which decodes the data bits into satellite ephemerides.

tracker

Help

Usage:

tracker [OPTION]...

Description:

The tracker node contains the GNSS signal tracking loops.

A given signal tracking loop generates code phase and Doppler error signals that get fed back to the correlator, which keeps it centered on the peak of the autocorrelation function of the tracked signal.

Allowed options:

Option Description
--help produce help message
--verbose-align output extra debugging information for bit alignment
--plot plot live correlation waveforms
--plot-all plot live correlation waveforms (including from SVs which are not yet aligned)
--plot-first only plot first correlation waveform (useful for debugging acquisition)
--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
--disable-side-peak-mitigation disable automatic detection and correction of being locked onto side-peak of BOC correlation function
--cn0-drop-threshold arg (=20) drop signals with C/N_0 below this value (units: dB-Hz)
--cn0-drop-grace-period arg (=3) inhibit dropping signals with low C/N_0 for this long after start of tracking (units: seconds)

Example

sdgps sylphase-usbgpsimu2 ! tracker ! decoder

While running this you can observe the number of satellites that are currently being tracked in the bottom left corner. Four is the minimum number to be capable of obtaining a solution fix. If you have less than that, you may need to move to an area with a better view of the sky.