FastFix Positioning
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
51935276dfa89298d8ff8ee4cbaba7a16568a1a7f80660cd5700e59d512ff1a6
|
|
| MD5 |
5d3853be046ceb0f89d0bb7981474717
|
|
| BLAKE2b-256 |
2defe1a802437f72f390efc19556ae97c6b90900d2e614ad11c6f678aebe343b
|