Data 2024 13 / 14
GNSS Positioning from Raw Data
Solving a phone's position from raw satellite measurements — no black boxes.
Built with
Language
- Python
Skills & tools
- Pandas
- NumPy
- Matplotlib
- NavPy
- Least squares
- KML
Parses raw Android GNSS logs, computes satellite positions from ephemeris data and solves the receiver position with least squares, exporting paths to CSV and KML.
What it does
Phones expose the raw measurements behind GPS. This project uses them to compute position from first principles:
- Parse raw GNSS logs into tidy tables.
- Compute each satellite’s position from ephemeris data.
- Solve the receiver position with iterative least squares.
- Export the path to CSV and KML for Google Earth.
The chart compares my solution with the phone’s own fused location on a real drive — including the honest outliers before the solver converges.