I plan to use this with 3d Robotics Ardupilot/rover/copter since their software is so well funded/researched, widely supported, and open source. The processing software is called RTKLIB and runs on Linux, Windows, Android, and with some work maybe Mac.
In my specific case Navio+ and a Raspberry Pi will be used on a UAV. I'll update when i have more data and pictures.
Step 1: Capabilities
(1) It supports standard and precise positioning algorithms with: GPS(USA), GLONASS(Russia), Galileo(EU), QZSS, BeiDou(China) and SBAS. Most antennas only support GPS. Be sure to purchase one with multiple constellations.
(2) It supports various positioning modes with GNSS for both real-time and post-processing: Single, DGPS/DGNSS, Kinematic, Static, Moving-Baseline, Fixed, PPP Kinematic, PPP-Static, and PPP-Fixed
(3) It supports external communication via: Serial, TCP/IP, NTRIP, local log file (record and playback) and FTP/HTTP (automatic download)
(4) It supports L1 signals and L2 if you can afford military spec. receivers.
Step 2: How It Works
These corrections can be sent many ways, but typically some type of Bluetooth or internet protocol(TCP) is used (as mentioned before) specifically for GPS NTRIP via NTRIP caster.
-Exploring these sources should tell you everything you ever wanted to know.
Realtime and post-processing modes
Enables positioning as a normal GNSS receiver using supplied ephemerides and clock data from the satellites. If the SBAS data is available for this geographic region, it can be used to improve the rover's position (Single+SBAS)
GPS/GNSS where positioning results from a rover and base station are used to improve the rover's position.
Real Time Kinematic
Raw data from a moving rover is combined with raw data from a static base station to improve the rover's position. Static Similar to above, but the rover is stationary.
Similar to above, but the distance between the rover and base station is calculated irrespective of the base station's position.
Used for RTKLIB residuals analysis (Tropo+Iono+integer ambiguity resolution+Errors, see Section B.3 in the RTKLIB Manual).
Precise Point Positioning (PPP)
Data from a moving rover is combined with real time predicted or non-real time measured precise ephemerides and satellite clocks to improve the rover's position.
Similar to above, but the rover is stationary.
PPP-Fixed Used for residuals analysis.
For android app (RTK+): https://play.google.com/store/apps/details?id=gpsp... It does everything RTKLIB does. But the GPS in the device can't be used for RTK since none currently support the output of Raw GPS data. However you can still use a separate GPS via ftdi USB adapter.
Step 3: Example
Base station: EUREF/SVTL
Date: 2013-12-28 (WEEK=1772 DOY=362)
Time interval: 100 ms Time alignment: 1s
Distance to base station: ~0.8 km
Geoid/Pseudo-geoid model: EGM2008
Measurement site: near SVTL
Antenna: Trimble Bullet III 3.3V
Picture of results above.
The closer you rover is to the base station the more accurate you results will be. I wouldn't go any further than 20km.
All states in the US should have broadcasting base stations covering most most the state (Typically the DOT). Some charge a nominal fee and some cost $1000 for access.
Navio+Raspberry Pi from Emlid also has some tutorials and product suggestions for using RTKLIB. Which is what I am currently working on.
Supported receivers under supported hardware.
Ground plates (Ground plane) are also necessary in high accuracy applications. Typically a conductive disc λ/4 in radius. So for GPS =1575mhz wavelength = 19cm 9.5cm (~4"+) and up will isolate the antenna well. Bigger is always better.
More details for RTK fix solution: