About DGPS - a TutorialDr. Thomas A. Clark, W3IWI
Reprinted from Packet Status Register Summer 1997 - Issue #67
There were a number of questions asked about DGPS both on APRS-SIG and at Dayton. Let me try to answer most of them at once.
First, some comments on Selective Availability and DGPS. The main function of the GPS satellites is to serve as a clock, and the satellite derives all its signals from an onboard 10.23 MHz atomic frequency standard (Cesium, with Rubidium backup). The main GPS signals that you, as a user are concerned with are on the L1 L-band carrier at 1575.42 MHz (=154* 10.23). Each satellite transmits a spread-spectrum signal with a unique pseudo-random code (the PRN number you see for each satellite) 1023 bits long, sent at a rate of 1.023 megabits/second. Therefore each code bit represents a time mark every ~1 usec corresponding to a distance ~300 meters. The sequence repeats once per millisecond, corresponding to a distance of 300 km and is called the C/A (Coarse Acquisition) code.
Every 20th cycle (= 1/50th second) the C/A code may change phase and is used to encode a 50 bits/sec data message as well as serving as a 6000 km range marker (note that 6000 km is approximately one earth radius). The 50 bps data is used to encode a 1500 bit long message which contains (among other things):
- The current GPS date/time and the GPS-UTC correction
- High accuracy ephemeris information to locate the satellite
- Information on the current offset and rate errors for the atomic clock
- Low-accuracy "almanac" data on all the other GPS satellites
- A crude estimate, based on solar flux, of ionospheric delay corrections
Your receiver then applies all the geometric corrections (from the GPS ephemeris message) to account for the satellite's position and apparent velocity (including both the satellite's motion and the earth's rotation on its axis). By using the PRs and the geometric data from at least 4 satellites, we can determine our 3-D (Lat/Lon/Hgt) and the time error in our receiver's clock. Similarly 4 PRRs and the satellite clock time-base error data (again taken from the message data) can be used to find our 3-D vector velocity and the frequency error in our receiver's local oscillator. Because the geometry is not perfect, the uncertainty in determination of position and speed is poorer than the individual measurements. Your receiver produces parameters called PDOP (Position Dilution of Precision), HDOP (H=horizontal) and VDOP (V=vertical) as a measure of how the observing geometry is spoiling your measurements; a PDOP=2 means that the position is a factor ~2 worse than the accuracy of the individual PRs.
The measurements are never perfect for other reasons. The receiver has an intrinsic noise level, there are errors in the ephemeris data, the signal from the satellites is delayed as it passes through the earth's ionosphere and troposphere, etcetera. And the U.S. Dept. of Defense (DoD) has invoked the nasty effect called Selective Availability (SA).
The major SA effect comes from the fact that the satellites have a phase shifter (the electronic equivalent of a line stretcher) in the output of the 10.23 MHz atomic frequency standard, and the clock signal is dithered with a secret pseudo-random sequence. On long time scales, the SA dither averages to zero; we have experimentally measures SA's power spectrum and find that it is band-limited in the range from a few seconds to ~1/2 hour. The DoD "guarantees" that the rate of change of the SA modulation will be slower than ~1 mile/hour so that the speed you derive from the PRRs isn't too badly affected. And we have found that the SA modulation has no coherence between the different satellites in view.
The "secret" DoD user has special hardware that produces the clock corrections corresponding to the SA modulation. The "secret" user applies these to the observed PRs and PRRs before munching on the data to produce positions and Voila! the nasty effects of SA are removed. The small "secret" user still loses quality because of the other errors mentioned -- especially inaccuracies in the broadcast ephemeris and propagation errors imposed by the troposphere and the ionosphere.
Here is where the smart civilian users can defeat the DoD and make SA irrelevant. Set up a high quality GPS receiver at a fixed location. Fix its position to an accurately surveyed value. Observe all the satellites that other users in the area will be using but don't solve for position -- instead, you derive all the PR and PRR differences from that for your perfectly determined positions and transmit these errors by radio. This process has been dubbed Differential GPS (DGPS).
Note that the PR and PRR errors that the DGPS base station transmits have all the SA corrections (the same ones the "secret" user would have derived) plus the ad hoc corrections that account for errors in the GPS message ephemeris and those due to the earth's atmosphere.
The corrections are "valid" for ~50 miles around the base station corresponding to the region where the atmospheric and geometric corrections are (nearly) identical. With high-quality DGPS signals from a base station 10-20 miles away, feeding a good user GPS receiver every few seconds, performance as good as ~1 meter can be achieved (as contrasted to ~10-20 meters if the DoD turned off SA). The DGPS performance is BETTER than can be achieved by GPS alone!
Keith, KF4BXT asked:
- Would you, or someone, be willing to explain the "mechanics" of using
what you described. Try not to get too technical please. Specifically,
how are the corrections transmitted, received and applied to my combo GPS/TNC/Computer/APRS/Radio
conflag ... er I mean configuration? :-)
Elsewhere in the U.S., DGPS bits are available "free" on -300 kHz supplied by the US Coast Guard. Click the DGPS button on their web site at http://www.navcen.uscg.mil/ for more details; their web site included coverage maps to answer Roger, KB9LBU's question about northern Illinois.
There are two commercial suppliers of DGPS signals DCI (Digital Corrections Inc.) and AcquPoint. DCI's president is an amateur and he monitors APRS-SIG and may want to inject some additional comments). They both deliver their bits on subcarriers on local FM radio stations
(DCI = RDS format, AcquPoint = pager format) and are available almost anywhere in the USA (and DCI has partners in many foreign countries). You buy their special receiver and then you subscribe to the DGPS bits. DCI can be found on the web at http://www.dgps.com/ with North American coverage data available at http://www.dgps.com/north.html. I can't seem to locate AcquPoint's presence on the web.
Regarding the ~300 kHz DGPS receivers: The signals are 50/100/200 bps MSK signals. Some amateurs have tried to hack a homebrew receiver, but I don't know of any successes. Two companies that I know of are selling small, board-level "OEM" DGPS receivers:
- Pacific Crest
- CSI (see http://www.csi-dgps.com/sbx2.htm)
Regarding amateur efforts: The Motorola ONCORE receiver now being offered by TAPR can generate DGPS signals and costs (for members) $269. The ONCORE's DGPS corrections are in a Motorola proprietary format (not the standard RTCM SC-104 FORMAT !!) but the format is well documented and contains all the important information included in the RTCM SC-104 spec. There has been some discussion of using either an antique PC or a small microprocessor (e.g., PIC, 68HC11) with two serial ports to reformat the data into RTCM format. Folks have suggested (and I don't want to get into the "Is it legal?" jailhouse lawyer game) that a group might purchase one ~300 kHz Coast Guard DGPS receiver and retransmit the bits on amateur channels. [Or maybe DCI could have their arm twisted to be cooperative.] Otherwise, if you have access to a high quality commercial DGPS base station receiver like I did, it only requires plugging a TNC/radio into the receiver's RS-232 port.
Hope this helps.