Global Navigation Satellite Systems (GNSS) receivers have made incredible improvements over the last twenty years. I remember having to stand outside for 10 minutes waiting for a US only Global Positioning System (GPS) receiver to lock onto 4 satellites so that I could get a fix with less than 100m accuracy (due to selective availability). Now, you can buy a $220 GNSS receiver that can track 60 satellite channels simultaneously, start from cold in 25 seconds, lock into signals from satellites launched by four different countries (the USA, Russia, European Union, and China) and gets 2.5 to 5 meter accuracy all on it’s own without correction signals.
Here is a plot of the calculated location for a stationary antenna over time without correction signals (3D fix mode):
As you can see, all of the readings are within a 1 meter circle of accuracy, which is quite good for finding your location on earth, but not (quite) accurate enough to drive a robotic lawnmower around and miss the petunias. [And from day to day you may be off by a few more meters…]
DGNSS / RTK corrections
The calculated range from the receiver (rover) to each satellite suffers from errors introduced by orbital mechanics, accuracy of the satellite clock, and propagation delays in the ionosphere and troposphere. With a differential GNSS system (DGNSS), a fixed base station (which knows its actual location) takes measurements to the satellites and then transmits a “correction” (calculated location – actual location) signal to a rover. The rover can use this correction to remove most of the errors introduced by the satellite and atmosphere (if the base station is close enough to the rover that they both share the same atmospheric errors). DGNSS receivers very close to a base station (10km) can achieve an accuracy as good as 10-100 cm.
In addition to detecting the range information encoded in the standard GNSS signals, new RTK (real time kinematics) receivers (also known as Carrier Phase Enhancement or CPGPS) can also detect the phase of the carrier signal itself, which can greatly improve their accuracy (2-10cm accuracy ) with appropriate RTK correction signals from a fixed base station. RTK is basically DGNSS applied to better (carrier phase) measurements. Although the receiver can get a 3D position within a building, I was never able to get an RTK fix without the antenna being outdoors with a clear view of the sky.
I’m evaluating the SparkFun GPS-RTK-SMA breakout board that features a Ublox ZED-F9P GPS module.The board itself costs $220, plus $70 for a high quality antenna, ground plane and USB-C cable. So for under $300, you have a GPS system that can give you centimeter accuracy IF you have access to correction signals from a local base station.
I’m lucky enough that the Florida Department of Transportation (FDOT) runs a Continuously Operating Reference Station (CORS) network called the Florida Permanent Reference Network (FPRN) and Orlando has a station (ORL1) that provides correction signals for GPS, GALILEO and GLONASS satellite systems. (China’s BeiDou system gets no love yet…) It is free to sign up for an account. Using the UBlox provided reference software (u-center) you can subscribe to the FPRN correction signals via the NTRIP client just by pointing to the correct IP address and port for your application. (I personally use the RTCM3_NEAR region on port 10000, which automatically gives me the nearest RTCM3 signal (which is from ORL1). If you didn’t want to send your current location to FDOT and let them pick the base station, you could use port 31500 and specify ORL1 as the station you wanted to get baseline data from [if you were in the Orlando area].
Once you connect to a local base station and start receiving correction data (only 300-400 bytes a second) your accuracy (and precision) increases massively. Here is a plot over time of the calculated location for a stationary antenna with RTK corrections (3D/DGNSS/FIXED mode):
Yes, that is a 0.05m circle on the outside…. The discrete locations are probably due to lack of precision in the binary representation of the location data, or discrete phase boundaries in the carrier signal.
Another CORS network I found is unavco.org – a non-profit university governed consortium with “thousands of globally distributed permanent stations” that also provide real-time correction data. A map of the NOTA network can be found here. As you can see from the map, it’s focused on the west coast, and has no stations in Florida. Orlando is about equally spaced between stations at The Rock, GA and Nassau. Unfortunately, on the morning I was testing, the P806 station at the rock was too far away from me to generate a full RTK fix, but did provide DGNSS Floating corrections.
Statement required by the UNAVCO consortium in return for the use of their data: The material presented here is based on data streams and services provided by the “Enabling Discoveries in Multiscale Earth System Dynamics: Geodetic Facility for the Advancement of GEoscience (GAGE)” operated by UNAVCO for the National Science Foundation (EAR-1724794) under Cooperative Support Agreement for EAR scope (CSA-1851159).
As you can see in the plot above, most of the location points fall within a 0.1m (100cm) error circle. This is better than with no correction data, but significantly worse than with a full RTK fix that I had from the Orlando FDOT FPRN station.
Takeaway point: You can get some benefits from a fixed base station that is 350 miles away from you, but one that is only 18 miles away provides 2-3 times better performance.
This list from 2014 may help you find a public RTK correction network near you.
No base station nearby? You can buy two units, and use one as a base station while the other acts as your rover, but this does double your cost and requires that you maintain a base station. The benefit to running your own base station is that it could potentially be more reliable, allows you to choose the data transfer mechanism for correction signals (such as short range radio so that you do not need internet access), and will certainly be closer to your rover and provide better relative position accuracy between the rover and base station. [The absolute position accuracy will only be as good as the surveyed position of your base station.]