GPS Tutorial from Wiki - Lecture Material - Completely GPS, GIS dan Remote Sensing tutorial -
GPS Tutorial from Wiki Part II

Control segment

The control segment is composed of

  1. a master control station (MCS),
  2. an alternate master control station,
  3. four dedicated ground antennas and
  4. six dedicated monitor stations

The MCS can also access U.S. Air Force Satellite Control Network (AFSCN) ground antennas (for additional command and control capability) and NGA (National Geospatial-Intelligence Agency) monitor stations. The flight paths of the satellites are tracked by dedicated U.S. Air Force monitoring stations in Hawaii, Kwajalein, Ascension Island, Diego Garcia, Colorado Springs, Colorado and Cape Canaveral, along with shared NGA monitor stations operated in England, Argentina, Ecuador, Bahrain, Australia and Washington DC.[51] The tracking information is sent to the Air Force Space Command's MCS at Schriever Air Force Base 25 km (16 miles) ESE of Colorado Springs, which is operated by the 2nd Space Operations Squadron (2 SOPS) of the United States Air Force (USAF). Then 2 SOPS contacts each GPS satellite regularly with a navigational update using dedicated or shared (AFSCN) ground antennas (GPS dedicated ground antennas are located at Kwajalein, Ascension Island, Diego Garcia, and Cape Canaveral). These updates synchronize the atomic clocks on board the satellites to within a few nanoseconds of each other, and adjust the ephemeris of each satellite's internal orbital model. The updates are created by a Kalman filter that uses inputs from the ground monitoring stations, space weather information, and various other inputs.[52]

Satellite maneuvers are not precise by GPS standards. So to change the orbit of a satellite, the satellite must be marked unhealthy, so receivers will not use it in their calculation. Then the maneuver can be carried out, and the resulting orbit tracked from the ground. Then the new ephemeris is uploaded and the satellite marked healthy again.

User segment

GPS receivers come in a variety of formats, from devices integrated into cars, phones, and watches, to dedicated devices such as those shown here from manufacturers Trimble, Garmin and Leica (left to right).

The user segment is composed of hundreds of thousands of U.S. and allied military users of the secure GPS Precise Positioning Service, and tens of millions of civil, commercial and scientific users of the Standard Positioning Service. In general, GPS receivers are composed of an antenna, tuned to the frequencies transmitted by the satellites, receiver-processors, and a highly stable clock (often a crystal oscillator). They may also include a display for providing location and speed information to the user. A receiver is often described by its number of channels: this signifies how many satellites it can monitor simultaneously. Originally limited to four or five, this has progressively increased over the years so that, as of 2007[update], receivers typically have between 12 and 20 channels.[53]

A typical OEM GPS receiver module measuring 15×17 mm.

GPS receivers may include an input for differential corrections, using the RTCM SC-104 format. This is typically in the form of an RS-232 port at 4,800 bit/s speed. Data is actually sent at a much lower rate, which limits the accuracy of the signal sent using RTCM. Receivers with internal DGPS receivers can outperform those using external RTCM data. As of 2006[update], even low-cost units commonly include Wide Area Augmentation System (WAAS) receivers.

A typical GPS receiver with integrated antenna.

Many GPS receivers can relay position data to a PC or other device using the NMEA 0183 protocol. Although this protocol is officially defined by the National Marine Electronics Association (NMEA),[54] references to this protocol have been compiled from public records, allowing open source tools like gpsd to read the protocol without violating intellectual property laws. Other proprietary protocols exist as well, such as the SiRF and MTK protocols. Receivers can interface with other devices using methods including a serial connection, USB, or Bluetooth.

Further information: GPS navigation device


Main article: GPS signals

The navigational signals transmitted by GPS satellites encode a variety of information including satellite positions, the state of the internal clocks, and the health of the network. These signals are transmitted on two separate carrier frequencies that are common to all satellites in the network. Two different encodings are used, a public encoding that enables lower resolution navigation, and an encrypted encoding used by the U.S. military.

Message format

GPS message format
Subframes Description
1 Satellite clock,
GPS time relationship
2–3 Ephemeris
(precise satellite orbit)
4–5 Almanac component
(satellite network synopsys,
error correction)

Each GPS satellite continuously broadcasts a navigation message at a rate of 50 bits per second (see bitrate). Each complete message is composed of 30-second frames, distinct groupings of 1,500 bits of information. Each frame is further subdivided into 5 subframes of length 6 seconds and with 300 bits each. Each subframe contains 10 words of 30 bits with length 0.6 seconds each. Each 30 second frame begins precisely on the minute or half minute as indicated by the atomic clock on each satellite.[55]

The first part of the message encodes the week number and the time within the week,[56] as well as the data about the health of the satellite. The second part of the message, the ephemeris, provides the precise orbit for the satellite. The last part of the message, the almanac, contains coarse orbit and status information for all satellites in the network as well as data related to error correction.[57]

All satellites broadcast at the same frequencies. Signals are encoded using code division multiple access (CDMA) allowing messages from individual satellites to be distinguished from each other based on unique encodings for each satellite (that the receiver must be aware of). Two distinct types of 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 ephemeris is updated every 2 hours and is generally valid for 4 hours, with provisions for updates every 6 hours or longer in non-nominal conditions. The almanac is updated typically every 24 hours. Additionally data for a few weeks following is uploaded in case of transmission updates that delay data upload.

Satellite frequencies

All satellites broadcast at the same two frequencies, 1.57542 GHz (L1 signal) and 1.2276 GHz (L2 signal). The satellite network uses a CDMA spread-spectrum technique where the low-bitrate message data is encoded with a high-rate pseudo-random (PRN) sequence that is different for each satellite. The receiver must be aware of the PRN codes for each satellite to reconstruct the actual message data. The C/A code, for civilian use, transmits data at 1.023 million chips per second, whereas the P code, for U.S. military use, transmits at 10.23 million chips per second. The L1 carrier is modulated by both the C/A and P codes, while the L2 carrier is only modulated by the P code.[58] The P code can be encrypted as a so-called P(Y) code that is only available to military equipment with a proper decryption key. Both the C/A and P(Y) codes impart the precise time-of-day to the user. GPS modernization added a third frequency, 1.17645 GHZ (L5 signal). The L5 consists of two carrier components that are in phase quadrature with each other. Each carrier component is bi-phase shift key (BPSK) modulated by a separate bit train.

Demodulation and decoding

Demodulating and Decoding GPS Satellite Signals using the Coarse/Acquisition Gold code.

Because all of the satellite signals are modulated onto the same L1 carrier frequency, the signals must be separated after demodulation. This is done by assigning each satellite a unique binary sequence known as a Gold code. The signals are decoded after demodulation using addition of the Gold codes corresponding to the satellites monitored by the receiver.[59][60]

If the almanac information has previously been acquired, the receiver picks the satellites to listen for by their PRNs, unique numbers in the range 1 through 32. If the almanac information is not in memory, the receiver enters a search mode until a lock is obtained on one of the satellites. To obtain a lock, it is necessary that there be an unobstructed line of sight from the receiver to the satellite. The receiver can then acquire the almanac and determine the satellites it should listen for. As it detects each satellite's signal, it identifies it by its distinct C/A code pattern. There can be a delay of up to 30 seconds before the first estimate of position because of the need to read the ephemeris data.

Processing of the navigation message enables the determination of the time of transmission and the satellite position at this time. For more information see Demodulation and Decoding, Advanced.

Navigation equations

The receiver uses messages received from four satellites to determine the satellite positions and time sent. The x, y, and z components of position and the time sent are designated as \ \left [x_i, y_i, z_i, t_i\right ] where the subscript i denotes the satellite and has the value 1, 2, 3, or 4. Knowing when the message was received \ \  tr_i, the receiver computes the message's transit time as \ \left (tr_i-t_i\right ) . Assuming the message traveled at the speed of light (c) the distance traveled, \ \  p_i is \ \left (tr_i-t_i\right )c . Knowing the distance from receiver to satellite and the satellite's position implies that the receiver is on the surface of a sphere centered at the satellite's position. Thus the receiver is at or near the intersection of the surfaces of four spheres. In the ideal case of no errors, the receiver is at the intersection of the surfaces of four spheres. Excluding the unrealistic case (for GPS purposes) of two coincident spheres, the surfaces of two intersecting spheres is either a point (if they merely touch) or a circle as depicted in the illustration below. Two of the points where the surfaces of the spheres intersect are clearly marked on the figure. The distance between these two points is the diameter of the circle of intersection.

Two sphere surfaces intersecting in a circle

This can be seen more clearly by considering a side view of the intersecting spheres. This view would match the figure because of the symmetry of the spheres. A view from any horizontal direction would look exactly the same. Therefore the diameter as seen from all directions is the same and thus the surfaces actually do intersect in a circle. The article trilateration algebraically confirms this geometric argument that the two sphere surfaces intersect in a circle.

Having found that two sphere surfaces intersect in a circle, we now consider how the intersection of the first two sphere surfaces, the circle, intersect with the third sphere. A circle and sphere surface intersect at zero, one or two points. For the GPS problem we are concerned with the case of two points of intersection. Another figure, Surface of Sphere Intersecting a Circle (not a solid disk) at Two Points, is shown below to aid in visualizing this intersection. Trilateration algebraically confirms this geometric observation. The ambiguity of two points of intersection of three sphere surfaces can be resolved by noting the point that is closest to the fourth sphere surface.

Surface of a sphere intersecting a circle (i.e., the edge of a disk) at two points

Having provided a discussion of how sphere surfaces intersect, we now formulate the equations for the case when errors are present.

Let \ \ b denote the clock error or bias, the amount that the receiver's clock is off. The receiver has four unknowns, the three components of GPS receiver position and the clock bias \ \left [x, y, z, b\right ]. The equation of the sphere surfaces are given by: (x-x_i)^2 + (y-y_i)^2 + (z-z_i)^2 = \bigl([tr_i + b - t_i]c\bigr)^2,


Another useful form of these equations is in terms of pseudoranges, which are the approximate ranges based on the receiver clock's uncorrected time so that  p_i = \left (tr_i - t_i \right )c. Then the equations becomes:

p_i = \sqrt{(x-x_i)^2 + (y-y_i)^2 + (z-z_i)^2}- bc, \;i=1,2,3,4.

Methods of solution of navigation equations

  • Bancroft's method is perhaps the most important method of solving the navigation equations because it involves an algebraic as opposed to numerical method.[61] The method requires at least four satellites but more can be used.

Two numerical methods of computing GPS receiver position and clock bias are (1) by using trilateration and one dimensional numerical root finding and (2) multidimensional Newton-Raphson calculations.

  • The receiver can solve by trilateration[62][63] and one dimensional numerical root finding.[64] Trilateration determines the intersection of the surfaces of three spheres. In the usual case of two intersections, the point nearest the surface of the sphere corresponding to the fourth satellite is chosen. The Earth's surface can also sometimes be used instead, especially by civilian GPS receivers, because it is illegal in the United States to track vehicles more than 60,000 feet (18,000 m) in altitude. Let da denote the signed magnitude of the vector from the receiver position to the fourth satellite (i.e. da = r4 - p4) as defined in the section "Clock correction". da is a function of the correction because the correction changes the satellite transmission times and thus the pseudoranges. The notation, da(correction) denotes this function. The problem is to determine the correction such that
da\left(correction\right) = 0.

This is the familiar problem of finding the zeroes of a one dimensional non-linear function of a scalar variable. Iterative numerical methods, such as those found in the chapter on root finding in Numerical Recipes can solve this type of problem.[64] One advantage of this method is that it involves one dimensional as opposed to multidimensional numerical root finding.

  • Alternatively, multidimensional root finding method such as Newton-Raphson method can be used.[64] The approach is to linearize around an approximate solution, say \ \left [x^{(k)}, y^{(k)}, z^{(k)}, b^{(k)}\right ] from iteration k, then solve four linear equations derived from the quadratic equations above to obtain \left [x^{(k+1)}, y^{(k+1)}, z^{(k+1)}, b^{(k+1)}\right ]. The Newton-Raphson method is more rapidly convergent than other methods of numerical root finding.[64] A disadvantage of this multidimensional root finding method as compared to single dimensional root findiing is that, "There are no good general methods for solving systems of more than one nonlinear equations."[64]
  • When more than four satellites are available, the calculation can use the four best or more than four, considering number of channels, processing capability, and geometric dilution of precision (GDOP). Using more than four is an over-determined system of equations with no unique solution, which must be solved by least-squares or a similar technique.[61] If all visible satellites are used, the results are as good as or better than using the four best. Errors can be estimated through the residuals. With each combination of four or more satellites, a GDOP factor can be calculated, based on the relative sky directions of the satellites used.[65] As more satellites are picked up, pseudoranges from various 4-way combinations can be processed to add more estimates to the location and clock offset. The receiver then takes the weighted average of these positions and clock offsets. After the final location and time are calculated, the location is expressed in a specific coordinate system such as latitude and longitude, using the WGS 84 geodetic datum or a country-specific system.[66]
  • Finally, results from other positioning systems such as GLONASS or the upcoming Galileo can be incorporated or used to check the result. (By design, these systems use the same frequency bands, so much of the receiver circuitry can be shared, though the decoding is different.)

Error sources and analysis

The positioning data provided directly by the satellites is extremely precise but there are many factors that can make the errors in the data non-trivial. In situations where high accuracy is necessary, understanding and compensating for these sources of error is important. Sources of error include atmospheric distortion (predominantly in the ionosphere), satellite clock inaccuracies, and the travel delays of the satellite signals.

The analysis of errors in the information reported by the Global Positioning System, a space-based satellite system for navigation, is important to estimating the accuracy of position estimates and correcting for the errors. The Global Positioning System (GPS) was created by the United States Department of Defense (USDOD) in the 1970s. It has come to be widely used for navigation both by the U.S. military and the general public.

Accuracy enhancement and surveying

Main article: GPS augmentation


Main article: GNSS Augmentation

Integrating external information into the calculation process can materially improve accuracy. Such augmentation systems are generally named or described based on how the information arrives. Some systems transmit additional error information (such as clock drift, ephemera, or ionospheric delay), others characterize prior errors, while a third group provides additional navigational or vehicle information.

Examples of augmentation systems include the Wide Area Augmentation System (WAAS), European Geostationary Navigation Overlay Service (EGNOS) , Differential GPS, Inertial Navigation Systems (INS) and Assisted GPS.

Precise monitoring

Accuracy can be improved through precise monitoring and measurement of existing GPS signals in additional or alternate ways.

The largest remaining error is usually the unpredictable delay through the ionosphere. The spacecraft broadcast ionospheric model parameters, but errors remain. This is one reason 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.

Military receivers can decode the P(Y)-code transmitted on both L1 and L2. Without decryption 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 available only on 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). This corrects the error that arises because the pulse transition of the PRN is not instantaneous, and thus the correlation (satellite-receiver sequence matching) operation is imperfect. CPGPS uses the L1 carrier wave, which has a period of  \frac{1\ \mathrm{sec}}{1575.42 * 10^6} = 0.63475 \  \mathrm{nanoseconds} \approx 1 \ \mathrm{nanosecond} \ , which is about one-thousandth of the C/A Gold code bit period of  \frac{1\ \mathrm{sec}}{1023 * 10^3} = 977.5 \ \mathrm{nanosecond} \   \approx 1000 \ \mathrm{nanosecond} \ , to act as an additional clock signal and resolve the uncertainty. The phase difference error in the normal GPS amounts to 2–3 metres (6.6–9.8 ft) of ambiguity. CPGPS working to within 1% of perfect transition reduces this error to 3 centimeters (1.2 in) of ambiguity. By eliminating this error source, CPGPS coupled with DGPS normally realizes between 20–30 centimetres (7.9–12 in) of absolute accuracy.

Relative Kinematic Positioning (RKP) is a third alternative 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 (3.9 in). This is done by resolving the number of cycles that the signal is transmitted and received by the receiver 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 (real-time kinematic positioning, RTK).


While most clocks are synchronized to Coordinated Universal Time (UTC), the atomic clocks on the satellites are set to GPS time (GPST; see the page of United States Naval Observatory). 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 that 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 on November 21, 2010). 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 because of 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) that, 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 that only repeats every 8,192 weeks (157 years), thus lasting until the year 2137 (157 years after GPS week zero).

Carrier phase tracking (surveying)

Another method that is used in 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. Accuracy within 1% of wavelength in detecting the leading edge, reduces this component of pseudorange error to as little as 2 millimeters. This compares to 3 meters for the C/A code and 0.3 meters for the P code.

However, 2 millimeter accuracy requires measuring the total phase—the number of waves times the wavelength plus the fractional wavelength, which requires specially equipped receivers. This method has many surveying applications.

Triple differencing followed by numerical root finding, and a mathematical technique called least squares can estimate the position of one receiver given the position of another. First, compute the difference between satellites, then between receivers, and finally between epochs. Other orders of taking differences are equally valid. Detailed discussion of the errors is omitted.

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 shows the meaning of the subscripts i, j, and k. The receiver (r), satellite (s), and time (t) come in alphabetical order as arguments of \ \phi and to balance readability and conciseness, let \ \phi_{i,j,k} = \phi(r_i, s_j, t_k) be a concise abbreviation. Also we define three functions, :\ \Delta^r, \Delta^s, \Delta^t , which return differences between receivers, satellites, and time points, respectively. Each function has variables with three subscripts as its arguments. 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.[67] This difference is designated as \ \Delta^s(\phi_{1,1,1}) =  \phi_{1,2,1} - \phi_{1,1,1}

Double differencing[68] computes the difference of receiver 1's satellite difference from that of receiver 2. This approximately eliminates satellite clock errors. 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[69] subtracts the receiver difference from time 1 from that of time 2. This eliminates the ambiguity associated with the integral number of wave lengths in carrier phase provided this ambiguity does not change with time. Thus the triple difference result eliminates practically all clock bias errors and the integer ambiguity. Atmospheric delay and satellite ephemeris errors 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 receiver 2's three position components. This may require the use of a numerical procedure.[70][71] An approximation of receiver 2's position is required to use such a numerical method. This initial value can probably be provided from the navigation message and the intersection of sphere surfaces. Such a reasonable estimate can be key to successful multidimensional root finding. Iterating from three time pairs and a fairly good initial value produces one observed triple difference result for receiver 2's position. Processing additional time pairs can improve accuracy, overdetermining the answer with multiple solutions. Least squares can estimate an overdetermined system. Least squares 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.