| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Automated GNSS testing, logging, and performance analysis suite
A comprehensive Python suite for automated GNSS testing, logging, and performance analysis. Designed for Telit-based modules with standard NMEA output, this toolkit provides:
gnss_logger.py
Resets & powers-on the GNSS engine, enables NMEA output, and captures raw NMEA sentences to file.
Key functions inside:
gnss_nmea_analysis.py
Parses a saved NMEA log, computes TTFF, CEP₅₀/₉₅, RMS error, and generates standard plots.
Key functions inside:
sudo apt-get install python3-tkgit clone https://github.com/RFingAdam/gnss-toolkit
cd gnss-toolkit``
Install dependencies
pip install pyserial pandas numpy matplotlibCapture raw NMEA sentences from a Telit GNSS module:
python gnss_logger.py <COM_PORT> [--mode MODE] [--duration SECONDS] [--output FILE]| Option | Description |
|---|---|
| <COM_PORT> | Serial port, e.g. COM4 (Windows) or /dev/ttyUSB0 (Linux/macOS) |
| --mode | GNSS start mode: cold (default), warm, or hot |
| --duration | Logging duration in seconds (default: 900) |
| --output | Output filename for the NMEA log (default: nmea_capture.txt) |
Parse an NMEA log, compute performance metrics, and generate plots:
python gnss_nmea_analysis.py \
--nmea-file path/to/nmea_capture.txt \
--start-time HHMMSS \
--ref-lat <latitude> \
--ref-lon <longitude>| Parameter | Description |
|---|---|
| --nmea-file | Path to the NMEA log (produced by gnss_logger.py) |
| --start-time | GNSS start time in UTC (format HHMMSS) |
| --ref-lat, --ref-lon | Reference coordinates (decimal degrees) |
| Filename | Description |
|---|---|
| <basename>_summary.csv | CSV summary of TTFF, CEP₅₀/₉₅, RMS, and fix count |
| error_histogram.png | Error distribution histogram with CEP₅₀/₉₅ markers |
| scatter_with_cep.png | ENU scatter plot of fixes with CEP₅₀/₉₅ circles |
| error_vs_hdop.png | Scatter of HDOP vs. horizontal error |
| sats_vs_time.png | Plot of satellite count vs. UTC time |
| summary_notes.txt | Plaintext report containing all metrics and samples |
Below are sample results generated by gnss_nmea_analysis.py / the GUI:
Tkinter GUI wrapping the same analysis logic with summary export:
| Filename | Description |
|---|---|
| summary_notes.txt | Plaintext report of TTFF, CEP₅₀/₉₅, RMS, sample fixes |
| error_histogram.png | Histogram of horizontal errors with CEP markers |
| scatter_with_cep.png | ENU scatter plot with CEP₅₀/₉₅ circles |
| error_vs_hdop.png | Scatter of HDOP vs. horizontal error |
| sats_vs_time.png | Plot of satellite count vs. UTC time |
| Metric | Description |
|---|---|
| TTFF (s) | Time‐to‐first‐fix after GNSS power‐on |
| CEP₅₀ / CEP₉₅ (m) | Radii containing 50 % / 95 % of horizontal fixes |
| RMS Error (m) | Root‐mean‐square of horizontal errors |
| Error Histogram | Distribution of horizontal errors with CEP₅₀/₉₅ lines |
| ENU Scatter | East/North offsets (m) with CEP₅₀/₉₅ rings |
| HDOP vs Error | Relationship between HDOP values and observed error |
| Satellites vs Time | Number of tracked satellites throughout the session |
Licensed under the GNU GPL v3.0. See LICENSE for details.
The project name and the logo files in this repository are not part of the licensed work. The licence above grants no permission to use them, except as needed to describe the origin of the work.
| Back | FazBrowse Home | New Git URL |