GPS enhancement

GPS enhancement refers to techniques used to improve the accuracy of positioning information provided by the Global Positioning System, a network of satellites used for navigation.

Enhancement methods of improving accuracy rely on external information being integrated into the calculation process. There are many such systems in place and they are generally named or described based on how the GPS sensor receives the information. Some systems transmit additional information about sources of error (such as clock drift, ephemeris, or ionospheric delay), others provide direct measurements of how much the signal was off in the past, while a third group provide additional navigational or vehicle information to be integrated in the calculation process.

Examples of augmentation systems include the Wide Area Augmentation System, Differential GPS, Inertial Navigation Systems and Assisted GPS.

Background
The Global Positioning System (GPS) is a satellite-based system for navigation. Receivers on or near the earth's surface can determine their locations based on signals received from any four or more of the satellites in the network.

All satellites in the work broadcast on the same two frequencies, known as L1 (1575.42 MHz) and L2 (1227.60 MHz). The network uses code division multiple access (CDMA) to allow separate messages from the individual satellites to be distinguished. Two distinct CDMA encodings are used: the coarse/acquisition (C/A) code, which is accessible by the general public, and the precise (P) code, that is encrypted so that only the U.S. military can access it. The messages sent from each satellite contain information ranging from the satellite health, the satellite's orbital path, the clock state of the satellite, and the configuration of the entire satellite network.

Precise monitoring
The accuracy of a calculation can also be improved through precise monitoring and measuring of the existing GPS signals in additional or alternate ways.

After Selective Availability was turned off by the U.S. government, the largest error in GPS was usually the unpredictable delay through the ionosphere. The spacecraft broadcast ionospheric model parameters, but they are necessarily imperfect. This is one reason the GPS spacecraft transmit on at least two frequencies, L1 and L2. Ionospheric delay is a well-defined function of frequency and the total electron content (TEC) along the path, so measuring the arrival time difference between the frequencies determines TEC and thus the precise ionospheric delay at each frequency.

Receivers with decryption keys can decode the P(Y)-code transmitted on both L1 and L2. However, these keys are reserved for the military and authorized agencies and are not available to the public. Without keys, it is still possible to use a codeless technique to compare the P(Y) codes on L1 and L2 to gain much of the same error information. However, this technique is slow, so it is currently limited to specialized surveying equipment. In the future, additional civilian codes are expected to be transmitted on the L2 and L5 frequencies (see GPS modernization). Then all users will be able to perform dual-frequency measurements and directly compute ionospheric delay errors.

A second form of precise monitoring is called Carrier-Phase Enhancement (CPGPS). The error, which this corrects, arises because the pulse transition of the PRN is not instantaneous, and thus the correlation (satellite-receiver sequence matching) operation is imperfect. The CPGPS approach utilizes the L1 carrier wave, which has a period of


 * $$ \frac{1 \ \mathrm{s}}{1575.42 \times 10^6} = 0.63475 \ \mathrm{ns} \approx 1 \ \mathrm{ns} \ $$

which is about one-thousandth of the C/A Gold code bit period of


 * $$ \frac{1 \ \mathrm{s}}{1023 \times 10^3} = 977.5 \ \mathrm{ns} \  \approx 1000 \ \mathrm{ns} \ $$

to act as an additional clock signal and resolve the uncertainty. The phase difference error in the normal GPS amounts to between 2 and 3 meters (6 to 10 ft) of ambiguity. CPGPS working to within 1% of perfect transition reduces this error to 3 centimeters (1 inch) of ambiguity. By eliminating this source of error, CPGPS coupled with DGPS normally realizes between 20 and 30 centimeters (8 to 12 inches) of absolute accuracy.

Real-time Kinematic Positioning
Real-time Kinematic Positioning (RKP) is another approach for a precise GPS-based positioning system. In this approach, determination of range signal can be resolved to a precision of less than 10 centimeters (4 in). This is done by resolving the number of cycles in which the signal is transmitted and received by the receiver. This can be accomplished by using a combination of differential GPS (DGPS) correction data, transmitting GPS signal phase information and ambiguity resolution techniques via statistical tests—possibly with processing in real-time.

Timekeeping
While most clocks are synchronized to Coordinated Universal Time (UTC), the atomic clocks on the satellites are set to GPS time. The difference is that GPS time is not corrected to match the rotation of the Earth, so it does not contain leap seconds or other corrections which are periodically added to UTC. GPS time was set to match Coordinated Universal Time (UTC) in 1980, but has since diverged. The lack of corrections means that GPS time remains at a constant offset with International Atomic Time (TAI) (TAI - GPS = 19 seconds). Periodic corrections are performed on the on-board clocks to correct relativistic effects and keep them synchronized with ground clocks.

The GPS navigation message includes the difference between GPS time and UTC, which as of 2009 is 15 seconds due to the leap second added to UTC December 31, 2008. Receivers subtract this offset from GPS time to calculate UTC and specific timezone values. New GPS units may not show the correct UTC time until after receiving the UTC offset message. The GPS-UTC offset field can accommodate 255 leap seconds (eight bits) which, given the current rate of change of the Earth's rotation (with one leap second introduced approximately every 18 months), should be sufficient to last until approximately the year 2300.

As opposed to the year, month, and day format of the Gregorian calendar, the GPS date is expressed as a week number and a seconds-into-week number. The week number is transmitted as a ten-bit field in the C/A and P(Y) navigation messages, and so it becomes zero again every 1,024 weeks (19.6 years). GPS week zero started at 00:00:00 UTC (00:00:19 TAI) on January 6, 1980, and the week number became zero again for the first time at 23:59:47 UTC on August 21, 1999 (00:00:19 TAI on August 22, 1999). To determine the current Gregorian date, a GPS receiver must be provided with the approximate date (to within 3,584 days) to correctly translate the GPS date signal. To address this concern the modernized GPS navigation message uses a 13-bit field, which only repeats every 8,192 weeks (157 years), thus lasting until the year 2137 (157 years after GPS week zero).

Carrier phase tracking (surveying)
Utilizing the navigation message to measure pseudorange has been discussed. Another method that is used in GPS surveying applications is carrier phase tracking. The period of the carrier frequency times the speed of light gives the wavelength, which is about 0.19 meters for the L1 carrier. With a 1% of wavelength accuracy in detecting the leading edge, this component of pseudorange error might be as low as 2 millimeters. This compares to 3 meters for the C/A code and 0.3 meters for the P code.

However, this 2 millimeter accuracy requires measuring the total phase, that is the total number of wavelengths plus the fractional wavelength. This requires specially equipped receivers. This method has many applications in the field of surveying.

We now describe a method which could potentially be used to estimate the position of receiver 2 given the position of receiver 1 using triple differencing followed by numerical root finding, and a mathematical technique called least squares. A detailed discussion of the errors is omitted in order to avoid detracting from the description of the methodology. In this description differences are taken in the order of differencing between satellites, differencing between receivers, and differencing between epochs. This should not be construed to mean that this is the only order which can be used. Indeed other orders of taking differences are equally valid.

The satellite carrier total phase can be measured with ambiguity as to the number of cycles. Let $$\ \phi(r_i, s_j, t_k) $$ denote the phase of the carrier of satellite j measured by receiver i at time $$\ \ t_k $$. This notation has been chosen so as to make it clear what the subscripts i, j, and k mean. In view of the fact that the receiver, satellite, and time come in alphabetical order as arguments of $$\ \phi $$ and to strike a balance between readability and conciseness, let $$\ \phi_{i,j,k} = \phi(r_i, s_j, t_k) $$ so as to have a concise abbreviation. Also we define three functions, :$$\ \Delta^r, \Delta^s, \Delta^t $$ which perform differences between receivers, satellites, and time points respectively. Each of these functions has a linear combination of variables with three subscripts as its argument. These three functions are defined below. If $$\ \alpha_{i,j,k} $$ is a function of the three integer arguments, i, j, and k then it is a valid argument for the functions, :$$\ \Delta^r, \Delta^s, \Delta^t $$, with the values defined as


 * $$\ \Delta^r(\alpha_{i,j,k}) = \alpha_{i+1,j,k} - \alpha_{i,j,k} $$ ,
 * $$\ \Delta^s(\alpha_{i,j,k}) = \alpha_{i,j+1,k} - \alpha_{i,j,k} $$, and
 * $$\ \Delta^t(\alpha_{i,j,k}) = \alpha_{i,j,k+1} - \alpha_{i,j,k} $$.

Also if $$\ \alpha_{i,j,k}\ and\ \beta_{l,m,n} $$ are valid arguments for the three functions and a and b are constants then $$\ ( a\ \alpha_{i,j,k} + b\ \beta_{l,m,n} ) $$ is a valid argument with values defined as


 * $$\ \Delta^r(a\ \alpha_{i,j,k} + b\ \beta_{l,m,n}) = a \ \Delta^r(\alpha_{i,j,k}) + b \ \Delta^r(\beta_{l,m,n})$$ ,
 * $$\ \Delta^s(a\ \alpha_{i,j,k} + b\ \beta_{l,m,n} )= a \ \Delta^s(\alpha_{i,j,k}) + b \ \Delta^s(\beta_{l,m,n})$$, and
 * $$\ \Delta^t(a\ \alpha_{i,j,k} + b\ \beta_{l,m,n} )= a \ \Delta^t(\alpha_{i,j,k}) + b \ \Delta^t(\beta_{l,m,n})$$.

Receiver clock errors can be approximately eliminated by differencing the phases measured from satellite 1 with that from satellite 2 at the same epoch. This difference is designated as $$\ \Delta^s(\phi_{1,1,1}) = \phi_{1,2,1} - \phi_{1,1,1}$$

Double differencing can be performed by taking the differences of the between satellite difference observed by receiver 1 with that observed by receiver 2. The satellite clock errors will be approximately eliminated by this between receiver differencing. This double difference is:
 * $$\begin{align}

\Delta^r(\Delta^s(\phi_{1,1,1}))\,&=\,\Delta^r(\phi_{1,2,1} - \phi_{1,1,1}) &=\,\Delta^r(\phi_{1,2,1}) - \Delta^r(\phi_{1,1,1}) &=\,(\phi_{2,2,1} - \phi_{1,2,1}) - (\phi_{2,1,1} - \phi_{1,1,1}) \end{align}$$

Triple differencing can be performed by taking the difference of double differencing performed at time $$\ \ t_2 $$ with that performed at time $$\ \ t_1 $$. This will eliminate the ambiguity associated with the integral number of wavelengths in carrier phase provided this ambiguity does not change with time. Thus the triple difference result has eliminated all or practically all clock bias errors and the integer ambiguity. Also errors associated with atmospheric delay and satellite ephemeris have been significantly reduced. This triple difference is:
 * $$\ \Delta^t(\Delta^r(\Delta^s(\phi_{1,1,1}))) $$

Triple difference results can be used to estimate unknown variables. For example if the position of receiver 1 is known but the position of receiver 2 unknown, it may be possible to estimate the position of receiver 2 using numerical root finding and least squares. Triple difference results for three independent time pairs quite possibly will be sufficient to solve for the three components of position of receiver 2. This may require the use of a numerical procedure such as one of those found in the chapter on root finding and nonlinear sets of equations in Numerical Recipes. To use such a numerical method, an initial approximation of the position of receiver 2 is required. This initial value could probably be provided by a position approximation based on the navigation message and the intersection of sphere surfaces. Although multidimensional numerical root finding can have problems, this disadvantage may be overcome with this good initial estimate. This procedure using three time pairs and a fairly good initial value followed by iteration will result in one observed triple difference result for receiver 2 position. Greater accuracy may be obtained by processing triple difference results for additional sets of three independent time pairs. This will result in an over determined system with multiple solutions. To get estimates for an over determined system, least squares can be used. The least squares procedure determines the position of receiver 2 which best fits the observed triple difference results for receiver 2 positions under the criterion of minimizing the sum of the squares.