[time-nuts] nuts about position (Michael Wouters)

Jerome Blaha jblaha at polariswireless.com
Sat Apr 28 00:20:48 EDT 2018

Real-time GPS <0.3m accuracy is quite possible with RTKLIB and < $35 of new equipment, some patience, a laptop/android phone, and a real-time RTCM3 correction station stream (free) or with post-processing using ground stations and actual satellite path (Ephemeris).
Disclaimer: I am neither a surveyor nor claimed GPS expert, but I play one on TV with my day job, so consult a surveyor if you are having to survey in WGS84 datum and convert to NAD or some other reference system, especially if testing against old surveyed reference points.  For instance here in the SF Bay Area, the land is moving North 28.31mm/yr and West 21.87mm/yr with respect to the WGS-84 (GPS Position) datum, which uses satellites orbits and the earth center as their reference.   If you were to survey your Telescope position in WGS-84 in the Bay Area, wait 15 years and survey again, the telescope will appear to have moved Northwest by 53.7cm and will have moved down by 1.1cm (Assumptions taken from SLAC de-trended data here: https://www.unavco.org/data/gps-gnss/derived-products/position-timeseries/SLAC_timeseries_cleaned_detrended.png)

This is why most surveying is performed not in WGS-84 but in a datum that remains fixed to a tectonic plate as it moves, such as NAD83.  The 83 refers to the date or year (epoch) when the land position or survey marker was at that location, because even surveyed positions can move over time within that same tectonic reference frame such as along fault-lines, etc. 

Getting back, RTKLIB is a brilliant piece of open-source software to allow sub-meter (<5cm) phase-based positioning and my hat goes off to Tomoji Takasu from Japan who wrote this and keeps updating it.  Very few GPS receivers can measure phase shift, so this is where a specialized L1 + L2 survey receiver is needed or you find a cheap L1 GPS chip capable of raw phase and code, such as the u-blox M6T or M8T.

With regards to a GPS + Glonass raw receiver, the cheapest ublox M8T legitimate supplier seems to be over at csgshop.com in Northern Europe.  He has the real M8T GPS for $75 and I secretly believe he might also be one of the test engineers for u-blox. I say real, because there are knock-offs on ebay.

Why did I mention $35?  Well, you can find an M6T gps-only with raw ublox output on Amazon and elsewhere called LEA-6T that should get the job done if you add a metal ground plane. This little thing works surprisingly well when tested for repeatable RTK fixes within 5cm and you can even do a real-time RTK fixes with only an Android phone and the older RTK lib App on GooglePlay. (M8T not supported)  Don't feel you have to use a newer M8T with GPS + Glonass, as usually a GPS-only solution will be superior to a GPS + Gloanss, because Glonass seems to have a little more noise to it. (Discussion for another time) 

While we're at it, let's mention that there are survey points all over the United States where you can test the accuracy of your newly working RTK GPS system.  These are markers placed by the USGS and are typically reported in NAD or other American datum format.  These must be converted to WGS-84 datum for you to compare with GPS positions and there are tools out there if you do a Google search for converting datums to WGS-84, just pay attention to what year(epoch) you are converting to and it gets tricky to wrap your head around conversion between different Ellipsoids and Geoids (ground height).    https://www.ngs.noaa.gov/NGSDataExplorer/

RTKLIB has multiple tools to allow streaming, real-time, logging, post-processing, and graphing RTK GPS fixes.  Typically raw GPS (code & phase measurements) are converted to RINEX data format before post-processing.  RINEX is a standard and allows for raw GPS code and phase measurements between different GPS manufactures into one format for processing in third-party software.  

RTKLIB works in Windows and is a little tough to get started with; thankfully there is another very nice guy, Tim Everett, who has written many articles at rtkexplorer.com on accuracy of cheap RTK gps chips interfaced with RTKLIB as well as tutorials on getting started with pretty pictures.  As a side note, you may be tempted to try a newer ublox M8N; however many M8N chips are firmware disabled to not give raw phase anymore without firmware hacking.  (The M8T still works with RTKLIB 2.4.3)

When typical GPS receivers are running in real-time, they download an approximate ephemeris of where the satellite path flies within a meter or two. The final ephemeris is the best true path that the GPS satellite actually flew, down to 10cm, however these files are not available until more than a week after you collect your raw survey by going to a government website such as (https://www.ngs.noaa.gov/orbits/orbit_data.shtml)   These post-processed orbital paths are computed from hundred of surveyed ground stations around the world to determine the precise track and position that each satellite "Bird" actually flew.    It's kind of like a feedback loop for oscillator timing correction, by using ground stations to correct an unknown.

For more real-time applications, a surveyed RTK ground station that is nearby your location (less than ~15km for L1 only and less than ~100km for an L1 + L2 ) can be used.  The farther you are from a reference station, the more error you will accumulate in timing errors that cannot account as well for clock error, tropospheric, and ionospheric delays.

The real-time reference stations put out RTCM3 corrections which can be used in to compute your RTK position in real-time, once ambiguities are solved.  There is one caveat in that your position is ALWAYS relative to the RTK position of the surveyed correction station.  If you put in the wrong location of the ground station antenna, your RTK fix will be off by the same amount.  A second method is to download the RINEX & RTCM3 files for a station and post-process your data in RTKLIB to compute a fix.  It is highly recommended to use more than one station to check your position and confirm that they correlate within a few cenimeteres for a static point.  Please note that a real-time RTK fix with only L1 phase can take 5-30 minutes to achieve a lock.  Before locking, they will be floating and may have 1 meter or more accuracy.

For a source of free NTRIP surveyed stations for the West Coast, the folks over at UNAVCO are again awesome.  If you ask very nicely or are doing research, they will give you a free account to their hundreds of RTK reference stations.  There are also many other sources of surveyed ground stations in you are on the East Coast.  https://www.unavco.org/data/gps-gnss/real-time/real-time.html  These guys are also worth donating to as they are set up all of these reference stations out of pocket for free access to everyone as a non-profit university governed consortium.

1)If you plan to run RTKLIB with real-time RTK Static fix to survey a stationary point and use the free unavco RTCM3 correction stream, please make sure to get the correct station position file for the station you plan to use and manually enter the most current computed Lat/Lon/Height into RTKNAVI, because if you accidentally click the option to get the station Lat/Lon decoded from the RTCM3 stream, your RTK position will have error of the last time someone updated the RTCM3 streamed station position.

2)If you purchase a ublox-M8N or M8T it will not work with the older RTKLIB 2.4.2 because they changed the raw stream name, you will need a compiled version of the beta 2.4.3 to work.  (There is one on the rtkexplorer site)

3)Don’t forget a ground plane.  A dinky $5 GPS puck can do surprisingly well <5cm repeatable accuracy with a nice circular metal ground plane made of perhaps 15cm or more circular metal underneath.  (Just beware of something called cycle slip and don't trust the very first RTK fix until it stabilized for a while)    

If you missed everything above, start with http://rtkexplorer.com/how-to/posts-getting-started/ and go from there.

IN MEMORIAM: The GNSS community recently lost a very bright star, Per Eng, Ph.D.  He was a GPS Stanford Lab professor, whom worked to improve the GNSS standards and safety that are used around the world today.  He will be greatly missed and his life work can still be found in online GNSS lectures and publications.

More information about the time-nuts mailing list