How GPS Works


Positioning with GPS

There are essentially two broad categories of GPS positioning which can be described as real-time navigation and high precision carrier phase positioning. Navigation uses a minimum of four pseudorange measurements to four satellites which are used to solve for the three-dimensional coordinates of the receiver and the clock offset between the receiver oscillator and GPS system time. An extension to this mode is differential GPS (DGPS) which again uses the pseudorange observable for positioning, but also incorporates real-time corrections for the errors inherent in the measurements.

The second category uses the much more precise carrier phase observations to compute baselines between two locations. Since the two carriers have short wavelengths (19 and 24 cm for L1 and L2 respectively), they cannot be used in the same manner as the pseudorange. The whole number of complete wavelengths (integer ambiguities) between the satellite and receiver must first be determined and this is carried out by post processing (static) or in Real-Time (RTK) using linear combinations of the two frequencies and differencing techniques.

Differences between these two modes are becoming less distinguishable. Combining the pseudorange with the phase data reduces the noise error within the pseudorange measurement resulting in a much higher positioning accuracy. New techniques are also being developed to solve for the integer ambiguities in a single epoch leading to very high baseline positioning in real-time. These are known as on-the-fly or fast ambiguity resolution techniques have already proved to provide accuracies of less than 1 cm on moving platforms over short baselines.

How does it Work?

Positions are determined by intersecting distances between the GPS satellites and the receiver. Traditionally, the technique is called trilateration.

Distances between the GPS satellites and the receiver are not measured directly and therefore must be derived. Typically the distances are derived from two fundamental GPS measurements:

There are two types of service available to GPS users - the SPS and the PPS.

Pseudorange Measurement

The Pseudorange measurement is the basic GPS observable that all types of receiver can make. It utilises the C/A and/or P codes modulated onto the carrier signals.

The measurement records the actual time taken for the relevant code to travel from the satellite to the receiver. This time is then multiplied by the speed of light to convert it into a distance.

The process works something like this...... At a certain instant in time, codes (the C/A codes, for example) are generated within the satellite and the receiver. The satellite's code is then transmitted and is picked up by the receiver. The receiver then compares the state of the incoming code with its own code - the difference is the time of flight.

However, there are two problems with this:

The receiver and satellite clocks are not perfectly synchronised - unless a very expensive clock is used within the receiver. This introduces a clock, or timing, offset which acts as an error on the distance to the satellite - hence the term pseudorange. This error must be computed and this is easily done since all pseudoranges to different satellites have the same clock offset during one measurement epoch.

This is why 4 satellites are required for a position fix - to determine 3 coordinates (eg latitude, longitude and height, or X, Y and Z, or Easting, Northing and Height) + 1 for the clock offset.

The C/A code is approximately 300 km long, and therefore raw observation can only range between 0 - 300 km. But the distance to the satellite is around 20,000 km. The observation must therefore be corrected and the actual pseudorange is some multiple of 300 km plus the raw observation.

This is called an integer ambiguity and, for the C/A code at least, is very easy to resolve - if it's wrong, you'll soon know about it! The P code does not have any ambiguity since its length is the distance traveled by light in one week - approximately 181 440 000 000 km!

The Carrier Phase Measurement

The carrier phase measurement can be thought of as the same as the pseudorange measurement in that it is a measurement of the time taken for a signal to travel from the satellite to the receiver.

This time the L1 and/or the L2 carrier signals are utilised. Since these have wavelengths of 19 and 24 cm respectively, the measurements can only be up to these values - the distance is some multiple (the integer ambiguity) of 19 or 24 cm plus the observed quantity. Often four different measurements are made to each satellite.

The receiver does, however, give the user a helping hand to allow for the ambiguities to be computed. When the receiver locks on to a satellite signal it assigns some arbitrary value to the ambiguity. From then on, the receiver counts how many complete cycles have occurred since lock on. In other words, the integer ambiguity needs to be computed only when each satellite is locked on by the receiver - subsequent measurements are correct relative to the initial one.

Terms often associated with the carrier phase measurement are loss of lock and cycle slip. Loss of lock is as it sounds and the receiver must lock on to the satellite again and assign a new arbitrary value to the integer ambiguity. A cycle slip is when the receiver loses count of the complete number of wavelengths and therefore measurements are no longer correct relative to the initial one.

Very high accuracies are achievable when using the carrier phase. These require the use of two geodetic standard receivers, although a recent technique has been developed allowing point positioning to the centimetre level.

There are a number of processing strategies and observing techniques associated with carrier phase GPS positioning.

Phase Differencing Techniques

The carrier phase measurement is very precise and is used for sub-centimetric GPS positioning. Many of the errors associated with GPS must be eliminated, reduced, or modeled within software. In order to do this, and to compute the ambiguities a number of processing strategies have been adopted.

Single Differences

These are used to reduce satellite clock and orbit errors, and localised atmospheric errors.

This is the technique used by DGPS.

Double Differences

These are used to reduce satellite clock and orbit errors, localised atmospheric errors, and receiver clock errors.

This is usually the technique adopted by the final carrier phase GPS solution. Relative GPS also uses this approach.

Triple Differences

This is the difference between two double differences from measurements recorded at subsequent epochs.

Assuming no cycle slips, or loss of lock has occurred, this eliminates the integer ambiguity. It is therefore used to detect for cycle slips and loss of lock.

Many carrier phase processing software suites have been developed and will use the above strategies. It is usually best to select the Double Difference solution which has fixed the integer ambiguities (as against a float solution). This is because the technique reduces most of the error sources whilst still being able to use some of the properties inherent in the measurements - the integer ambiguity must be an integer.

Don't be fooled by output from commercial carrier phase software. For baselines over 100 km, few can better 20 - 30 cm relative positioning accuracies. If you require better than this, you must use the more academic orientated software suites, such as Gipsy, Gamit or the Bernese.

Phase Observing Strategies

In order to use the GPS carrier phase observables for positioning purposes, the integer ambiguities must be resolved turning the raw phase into a distance measurement.

This is not an easy task. With one epoch of data, you must solve for the receiver coordinates, the clock offset and the integer ambiguities to all the satellites observed - this is impossible using conventional estimation techniques since you do not have enough observables. Collecting a few epochs of data doesn't help matters either. Although you now have enough equations, the problem is singular, or insoluble, since the satellites are still in the same (roughly) relative position with respect to the receiver. Only after a significant change in geometry can you determine the integer ambiguity values - unless you are using an on-the-fly technique.

There are several ways to observe data, allowing for easy computation of the ambiguities.


Observing a baseline for a suitable length of time. Originally this was 1-2 hours, although rapid static techniques have reduced this to 5-10 minutes

Known Baseline

Observing a known baseline, or on two stations with known coordinates. The a priori knowledge means that there are less parameters to resolve.

Antenna Swap

The easiest way to quickly change the relative geometry between the receivers and satellites, is to swap the two receivers positions - a rather cumbersome, but effective, procedure.

Once ambiguities have been computed (or the correct procedures allowing them to do so in post-processing have been observed), the user may wish to detail points to centimetric accuracies and move from point to point. This is called kinematic GPS surveying.

Kinematic Phase Positioning

Once ambiguities have been computed (or the correct procedures allowing them to do so in post-processing have been observed), the user may wish to detail points to centimetric accuracies and move from point to point. This is possible and, again, there are several different techniques to facilitate this:

Continuous Kinematic

After initialisation, or resolution of the ambiguities, one receiver is allowed to roam. You must however keep track of the satellites so that lock is not lost, and only few cycle slips occur.

Pseudo Kinematic

This allows you to compute the coordinates of a large number of points without observing a static network. You set up for approximately one minute twice on each of the points you wish to be coordinated. The two occupations of a point must be separated by at least one hour in time.

Semi Kinematic/Stop and Go

Here you spend a few minutes on each point. When moving between points you must still keep lock on the satellites, although positions are not computed.

Modern techniques have been developed using on-the-fly techniques

On-the-fly / Real-time Kinematic / Single Epoch

On-the-fly (OTF), Real-time Kinematic (RTK)or Single Epoch positioning allows for the determination of the integer ambiguities in real-time. It is therefore not necessary to carry out any static initialisation before performing the survey.

Most systems statistically determine the most likely solution for the position of the roaming receiver. A search box is determined (from DGPS, for example) within which the position must lie. All possible solutions are then assessed and one is selected. The process is computationally demanding.

Single epoch positioning differs from OTF or RTK in that it uses only one epoch of data - although this must be dual frequency and to six, or more, satellites. This eliminates the concepts of loss of lock or cycle slips.

The Standard Positioning System

The US Government defines the GPS Standard Positioning Service as follows:

SPS is a positioning and timing service, and is provided on the GPS L1 frequency. The GPS L1 frequency, transmitted by all GPS satellites, contains a coarse acquisition (C/A) code and a navigation data message.

The SPS is therefore the capability provided to a user with one basic C/A code receiver. The P-code and the L2 frequency has been made unavailable to SPS users.

Accuracies that are guaranteed to the SPS user are better than, or equal to ... (DoD/DoT, 1995b)

100 m in horizontal position, 95% of the time
156 m in the vertical component 95% of the time
300 m in horizontal position 99.99% of the time
500 m in the vertical component 99.99% of the time
340 nanoseconds timing accuracy 95% of the time

In order to maintain (or limit) these accuracies the US DoD implemented SA to reduce horizontal positioning capabilities from approximately 20 m to 100m and AS to deny the P code.

Author: White House Press Release
May 1, 2000



Office of the Press Secretary

For Immediate Release - May 1, 2000


Today, I am pleased to announce that the United States will stop the intentional degradation of the Global Positioning System (GPS) signals available to the public beginning at midnight tonight. We call this degradation feature Selective Availability (SA). This will mean that civilian users of GPS will be able to pinpoint locations up to ten times more accurately than they do now. GPS is a dual-use, satellite-based system that provides accurate location and timing data to users worldwide.

My March 1996 Presidential Decision Directive included in the goals for GPS to: "encourage acceptance and integration of GPS into peaceful civil, commercial and scientific applications worldwide; and to encourage private sector investment in and use of U.S. GPS technologies and services." To meet these goals, I committed the U.S. to discontinuing the use of SA by 2006 with an annual assessment of its continued use beginning this year.

The decision to discontinue SA is the latest measure in an on-going effort to make GPS more responsive to civil and commercial users worldwide. Last year, Vice President Gore announced our plans to modernize GPS by adding two new civilian signals to enhance the civil and commercial service. This initiative is on-track and the budget further advances modernization by incorporating some of the new features on up to 18 additional satellites that are already awaiting launch or are in production. We will continue to provide all of these capabilities to worldwide users free of charge.

My decision to discontinue SA was based upon a recommendation by the Secretary of Defense in coordination with the Departments of State, Transportation, Commerce, the Director of Central Intelligence, and other Executive Branch Departments and Agencies. They realized that worldwide transportation safety, scientific, and commercial interests could best be served by discontinuation of SA. Along with our commitment to enhance GPS for peaceful applications, my administration is committed to preserving fully the military utility of GPS. The decision to discontinue SA is coupled with our continuing efforts to upgrade the military utility of our systems that use GPS, and is supported by threat assessments which conclude that setting SA to zero at this time would have minimal impact on national security. Additionally, we have demonstrated the capability to selectively deny GPS signals on a regional basis when our national security is threatened. This regional approach to denying navigation services is consistent with the 1996 plan to discontinue the degradation of civil and commercial GPS service globally through the SA technique.

Originally developed by the Department of Defense as a military system, GPS has become a global utility. It benefits users around the world in many different applications, including air, road, marine, and rail navigation, telecommunications, emergency response, oil exploration, mining, and many more. Civilian users will realize a dramatic improvement in GPS accuracy with the discontinuation of SA. For example, emergency teams responding to a cry for help can now determine what side of the highway they must respond to, thereby saving precious minutes. This increase in accuracy will allow new GPS applications to emerge and continue to enhance the lives of people around the world.


So what does this mean?

If you're lost, or have one receiver, you can always obtain your position to 30 to 100 meters, with SA enabled, or 15 to 20 meters or so, when SA is set to zero, - not bad if you're lost! If you want better accuracies then you must use other techniques which usually require the use of two GPS receivers - see differential GPS or phase differencing techniques.

Even without the intentional accuracy denial of SA, modern GPS receivers can improve on the original 15 to 20 meter positioning by their up to date electronics and signal processing techniques and microcode to achieve better than 10 meters (95% of the time). If you want better, you still must use other techniques coupled with the use of commercial and survey grade GPS receiver equipment.

For the most precise positioning using the carrier phase observable, it is preferable to have four different types of observation - two carrier phase and two pseudorange measurements, one of each on each GPS frequency.

The Precise Positioning Service

The PPS is the service available to authorised military users. This consists of the SPS signal plus the P code on L1 and L2 and the carrier phase measurements on L2.

Horizontal accuracy is guaranteed to better that 22 m and vertical accuracy 27.7 m 95% of the time. If you want better, you still must use other techniques - see differential GPS or phase differencing techniques. Again, todays modern equipment can improve these accuracies of position measurement.

Four Observables

For precise carrier phase processing it is preferable to be able to measurement four different types of observable to a satellite. These are

L1 The carrier phase measurement on the L1 frequency
L2 The carrier phase measurement on the L2 frequency
P1 The pseudorange measurement on the L1 frequency
P2 The pseudorange measurement on the L2 frequency

These observables are used to create combinations of observations which have different properties. The properties can reduce, eliminate, identify, or help to model certain effects. The most typical combinations are called:

L3/P3 ionospheric free
L4/P4 ionospheric/geometry free
L5/P5 widelane
L6/P6 narrow lane
L7 multipath

Cross Correlation

Under anti-spoofing, the P code is denied to all SPS users by mixing this with a so-called W code to produce a Y code, which is transmitted from the satellite. PPS users have a key to undo all this and convert the signal back to the original P code.

So what about SPS users?

Most commercial and scientific geodetic GPS receivers are capable of recording a pseudorange measurement on the second frequency. One such technique for doing this is called cross correlation.

Cross correlation uses the fact that the Y codes transmitted by a satellite are the same on both frequencies. Therefore by correlating the two incoming Y codes on L1 and L2, the difference between their respective times of flight can be ascertained. This difference is equal to the time delays that the frequencies suffer when they pass through the ionosphere. Adding the difference in the time delays to the L1 C/A code measurement results in a pseudorange measurement containing the same information as an actual P code measurement on L2.