Playground project. Just to understand how GNSS works.
- proto/ -- prototype of software receiver (mostly
python
+numpy
)- coord/ -- tools for coordinate transition
- helper/ -- misc helper functions
- tests/ -- unit test
- visualization/ -- visualization tools
- test_data/ -- supplementary data files for tests
For now one can obtain rover's position by using single- or dual-frequency observations, with accuracy of 50-100 meters. For static observations with GPS. Something might work in kinematic mode and for GLONASS, partly implemented but not tested yet. (But you must understand how to run all this machinery. Sorry, guys, I have no time for UI at the moment.)
- There are parsers for the following:
- RINEX v2.11 (both with navigation data and observations)
- SP3 -- precise orbits and clocks
- IONEX ionospheric maps
- Vienna mapping function sources: hydrostatic and wet coefficients (see here)
- It is possible to visualize satellites from RINEX Nav file (3D model with rotation).
- It's possible to visualize points on the map (depends on
mpl_toolkits.basemap
). - Vienna mapping function (aka
VMF1_HT
) implemented. - Ionospheric delays from IONEX maps implemented.
- Klobuchar (broadcast) ionospheric model implemented.
- MILES algorithm reimplemented in python
- python 3.4
- numpy
- [optional] matplotlib.pyplot -- sats and rover visualization
juputer
notebook interface- GPS and GLONASS with 10 meter accuracy
- moving rover
- phase ambiguity