Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

FastFix GPS snapshot positioning algorithm

The FastFix algorithm uses a least-squares optimization to estimate receiver position and GPS time from measurements of the relative codephase, and Doppler-shift of GNSS satellite signals. A practical application of this algorithm is demonstrated in a small, lightweight, low-power tracking tag that periodically wakes-up, records and stores 4 ms of GPS L1-band signal and returns to a low-power state—reducing power requirements by a factor of ∼10,000 compared to typical GPS devices. Stationary device testing shows a median error of 27.7 m with a small patch antenna.

Usage

The process for use is a two-step process. Step 1 is acquisition of the satellite signals. There is a command-line tool for that.

Acquisition

usage: acquire [-h] [--tag-dir TAG_DIR] [--binfile BINFILE] --outfile OUTFILE [--decodedfile DECODEDFILE] --fc0 FC0 [--resolution RESOLUTION] [--epochs EPOCHS] [--iq] [--spectrum] [--corr-plot] [--start-date START_DATE]

Acquire SV signals from Max2769B GPS data.

optional arguments:
    -h, --help            show this help message and exit
    --tag-dir TAG_DIR     The FastFix tag directory.
    --binfile BINFILE     The binary data file.
    --outfile OUTFILE     The output data file.
    --decodedfile DECODEDFILE
                            The decoded file.
    --fc0 FC0             Center Frequency.
    --resolution RESOLUTION
                            Number of bits per sample.
    --epochs EPOCHS       Number of code epochs.
    --iq                  Use I/Q complex baseband.
    --spectrum            Plot the spectrum of the data.
    --corr-plot           Plot the correlations of each SV.
    --start-date START_DATE
                            Date and time for the start of the clock.

Example: acquire --binfile test_data/FIX00033.BIN --fc0 4.092e6 --outfile test_data/FIX00033.json

FastFix algorith

This processes a json file that contains one or more acquisition outputs.

usage: fastfix [-h] --json-file JSON_FILE --output-file OUTPUT_FILE [--mcmc] [--plot] [--n N] [--clock-offset-std CLOCK_OFFSET_STD]

FastFix algorithm.

optional arguments:
-h, --help            show this help message and exit
--json-file JSON_FILE
                        The JSON acquisition file.
--output-file OUTPUT_FILE
                        The JSON output file.
--mcmc                Use an MCMC.
--plot                Make plots of the posteriors.
--n N                 How many fixes to process.
--clock-offset-std CLOCK_OFFSET_STD
                        Estimated error in the local clock (seconds).

Example:

fastfix --json-file test_data/FIX00033.json --output-file test_data.json

References

The FastFix algorithm is described in Molteno, Timothy CA. "Estimating Position from Millisecond Samples of GPS Signals (the “FastFix” Algorithm)." Sensors 20.22 (2020): 6480.

Citing this work: @article{molteno2020estimating, title={Estimating Position from Millisecond Samples of GPS Signals (the “FastFix” Algorithm)}, author={Molteno, Timothy CA}, journal={Sensors (Basel, Switzerland)}, volume={20}, number={22}, year={2020}, publisher={Multidisciplinary Digital Publishing Institute (MDPI)} }

Test Data

A full dataset including test data is available at doi:10.5281/zenodo.4266994.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fastfix-0.1.0b3.tar.gz (37.8 kB view details)

Uploaded Source

File details

Details for the file fastfix-0.1.0b3.tar.gz.

File metadata

  • Download URL: fastfix-0.1.0b3.tar.gz
  • Upload date:
  • Size: 37.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.4.2 requests/2.25.1 setuptools/51.3.3 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.7

File hashes

Hashes for fastfix-0.1.0b3.tar.gz
Algorithm Hash digest
SHA256 51935276dfa89298d8ff8ee4cbaba7a16568a1a7f80660cd5700e59d512ff1a6
MD5 5d3853be046ceb0f89d0bb7981474717
BLAKE2b-256 2defe1a802437f72f390efc19556ae97c6b90900d2e614ad11c6f678aebe343b

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.0b3 This release

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page