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

Type signature: (raw->cooked)

The sw-correlator node is a raw sink and cooked source. It acquires and tracks satellite signals, albeit much less efficiently than than the hardware correlator on the Infix-1's FPGA.

Below is an example of the software correlator being run on a raw stream from a file. The tracker, decoder, and kf2 nodes follow it to produce a solution stream, which is then written to a file.

Help

Usage:

sw-correlator [OPTION]...

Allowed options:

Option Description
--help produce help message
--deterministic run synchronously so that everything is deterministic
--correlators CORRELATORS number of correlator taps (default: minimum required by tracker node)
--correlator-spacing CORRELATOR_SPACING spacing of correlators (units: samples) (default: value preferred by tracker node)
--correlator-config CONFIG_STR get per-substream --correlators and --correlator-spacing values from config string (see sdgps --help for examples)
--validate test correlator against reference implementation
--benchmark benchmark correlator
--algorithm ALGORITHM (=fast) use ALGORITHM algorithm (choices: fast, simple)
--acq-effort ACQ_EFFORT (=1) scale acquisition effort. only has an effect if --deterministic is used
--output-samples output GNSSSamplePackets into cooked stream
--max-svs COUNT (=100) don't try to track more than this many SVs per GNSS system

Example

sdgps sylphase-usbgpsimu2-raw ! sw-correlator --deterministic ! tracker ! decoder

This example uses the sw-correlator instead of the hardware correlator. You can add options such as --deterministic if you want to run everything on a single thread.