The Global Positioning System (GPS) is the global navigation satellite system (GNSS) owned by the United States government and operated by Air Force Space Command (AFSPC), a major command of the United States Air Force. In full operation since 1994, GPS is the first and longest full operating GNSS in the world.

The GLONASS (Russian: ГЛОНАСС, acronym meaning "Global Navigation Satellite System") is the GNSS of the Russian government, operated by the Russian Aerospace Defence Forces. First fully operational in December 1995, GLONASS had a decline in capacity short of fund for two launches per year to maintain the satellite constellation. In October 2011, the GLONASS orbital constellation of 24 satellites was fully restored. China is in the process of expanding its regional BeiDou Navigation Satellite System into the global BeiDou-2 (formerly COMPASS) navigation system by 2020. The European Union's Galileo is a GNSS in initial deployment phase, scheduled to be fully operational by 2020 at the earliest. India has a regional navigation systems; France and Japan are developing regional navigation systems as well.

Satellite Constellation

Navigation satellites broadcast signals from space, and a receiver uses these signals to calculate its position (longitude, latitude, altitude), velocity and current local time, abbreviated as PVT. To provide global coverage of satellite navigation service, at least 4 satellites should be in unobstructed line of sight from any location on Earth surface, assuming no measurement error.

The satellite constellation providing GPS service, Navstar, was designed to use 24 satellites occupying 6 medium Earth orbits, with 4 satellites on each. The 6 orbits have the same distance from the Earth (~20190 km above sea level) to obtain orbital periods of half a sidereal day (approximately 365.24 / 366.24 of a 24-hour solar day) so that the satellites pass over (almost) the same locations once every day, repeating the same ground track. The orbits have approximately 55° orbital inclination, separated by 60° right ascension from one another. The four satellites on each orbit are set 30, 105, 120, and 105 degrees apart. This constellation arrangement guarantees that at least 6 satellites are always within line of sight from almost everywhere on the Earth's surface. Extra satellites in the 32-satellite GPS constellation provides redundant measurements to improve precision.

GPS satellites use atomic clocks due to their stability, which are synchronized with true time maintained on the ground. The atomic frequency standards aboard a satellite is 10.23 MHz.

Figure: (left) 24 satellites of GPS constellation visible from Golden, Colorado. Source; (right) Satellite orbits in Earth fixed coordinates. Source


GPS satellites continuously broadcast microwave signals consisting of three components: (ultra high frequency) carrier wave, (high-bitrate) ranging code and (low-bitrate) navigation messages.

Two frequencies in the L band (IEEE standard) of radio spectrum are used for carrier waves: L1 at 1.57542 GHz (144 atomic standards) and L2 at 1.22760 GHz (120 atomic standards). Ranging codes use code division multiple access (CDMA) encodings, different for GPS Standard Positioning Service (SPS) and GPS Precise Positioning Service (PPS): SPS uses the coarse/acquisition (C/A) code, a unique sequence of 1023 bits transmitting at 1.023 Mbps (0.1 atomic standards; repeat per 1 ms), public for civilian use; PPS uses the precise (P) code, a unique sequence of 6.1871e12 bits transmitting at 10.23 Mbps (1 atomic standards; repeat per 1 week), used by US military and other NATO nations who have access, which has been encrypted (aka P(Y) code) since 1994. The C/A code is transmitted on L1, and the P(Y) code is transmitted on both L1 and L2. Navigation messages have a bitrate of 50 bps, to ensure low demodulation error rate of week signals.

GPS signals can be attacked by jamming or spoofing. Jamming, or denial of service, refers to broadcasting on the frequencies of GPS carrier waves. Low power consumer devices can disrupt GPS service within radii of 50 feet (15 meters) to a quarter mile (400 meters); sampling in some areas have shown 25% to 30% of commercial trucks using such devices, and thousands of signals in a month in metropolitan areas, possibly by individuals avoiding tracking or surveillance (source). Spoofing, or degradation of service, refers to transmitting GPS-like signals to alter interpretation, which is more sophisticated than jamming. GPS spoofing have been reported to divert or lure drones, or for financial fraud.

Compared with SPS, PPS is more jamming resistant (RF interference), anti-spoofing (generating spurious signals without the cryptographic key is practically impossible), better positioning (dual-frequency measurement mitigates ionospheric delay), higher range measurement precision (higher ranging code frequency), and lower multipath error (against delay over 50m rather than over 500m).

Navigation messages and ranging code are combined by modulo-2 addition (XOR gate), and modulated by flipping the carrier (BPSK, binary phase shift keying). To transmit GPS signals with C/A code and P(A) code both on L1, the carrier waves (with different signal power) are shifted by 90°, forming in-phase and quadrature-phase components which are orthogonal and thus separable.

GPS signal power at the antenna is about 50 watts, about half of which allocated to the C/A code on L1. The minimum GPS signal power received on the Earth for SPS is merely -158.5 dBW (10^-15.85 watt), well below background RF noise level.

GPS ranging codes are Gold codes, which are pseudo-random noise (PRN) sequences with near zero cross-correlation and shifted auto-correlation. Each satellite uses a unique PRN identifiable by its space vehicle identifier (SV ID).

Each frame of navigation message takes 30 seconds, and begins precisely on the minute or half-minute of its atomic clock. A frame consists of five subframes: 1 for satellite clock (week number, time within week, satellite health); 2–3 for ephemeris (satellite location and velocity); 4–5 are subcommutated components of an almanac message (reduced-precision ephemeris of the constellation, clock bias), which takes 25 frames to complete. Each subframe consists of 10 words. The ephemeris is updated every 2 hours and is generally valid for 4 hours; the almanac is updated typically every 24 hours.

Figure: GPS signal modulation scheme and demodulation of L1 C/A (civilian) signal. Source 1, Source 2

Receiver Measurement

At power-up or after a signal break, a GPS receiver needs current satellite signal to successfully compute its position (aks position fix) and correct its clock. Time-to-first-fix (TTFF) refers to the time spent in such a process, which depends on the scenario.

  • Cold/factory start: no knowledge of the current position and time about itself and the satellite constellation, which calls for a complete almanac and can take up to 12.5 minutes with one unobstructed line of sight.
  • Warm/normal start: has some information on time and the positions of itself and the satellites; a current ephemeris should suffice, which takes 30 seconds.
  • Hot/standby start: after a break in position fix due to loss or obstruction of sufficient GPS signals, it needs ranging code from at least four satellites for a new fix which can take a few seconds.

With a recent almanac and a rough estimate of its location, the receiver can determine which satellites are currently in view. With corresponding SV IDs, the receiver can generates C/A code replicas being transmitted. Signal acquisition is aligning generated replica with incoming signals (correlator); code tracking is continuously adjusting the replica code (delay lock loop), and generating a sinusoidal signal to match the frequency and phase of the carrier wave (phase lock loop). The correlator extracts apparent transit time: the time shift at alignment, $\tilde{t}_i - t_i$, where $\tilde{t}_i$ is the current receiver clock time and $t_i$ is the satellite time corresponding to the incoming signal. GPS signals take about 1/15 second to reach Earth surface. The phase lock loop extracts navigation message and pseudorange rate: Doppler shift of carrier wave due to relative speed along the line of sight.

Receiver location and time are solved simultaneously. Denote satellite location in Earth fixed coordinates and its atomic clock time as $(x_i, y_i, z_i, t_i)$, and receiver location and satellite time as $(x, y, z, t)$. Pseudorange is the apparent transit time multiplies the speed of light, $\rho_i = ( \tilde{t}_i - t_i ) c$. Due to time difference between the receiver (quartz) clock and satellite atomic clocks, pseudorange estimates have a fixed unknown bias called receiver clock bias, $b = (\tilde{t} -t) c$. Additionally, measurement error $\varepsilon_i$ can be introduced by various causes. The variables are related in a system of equations with four unknowns $(x, y, z, b)$, requiring pseudorange estimates from at least four satellites.

$$\rho_i = \sqrt{(x - x_i)^2 + (y - y_i)^2 + (z - z_i)^2} + b + \varepsilon_i$$

Receiver velocity is determined from pseudorange rates relative to each satellite, together with satellite velocities which are derived from the navigation message.

Error Analysis

Pseudorange measurement can be modeled as:

$$\rho = r + c (\delta t_u - \delta t_s) + I_{\rho} + T_{\rho} + \varepsilon_{\rho}$$

$r$ is the true range from receiver antenna to satellite; $\delta t_u$ and $\delta t_s$ are user (receiver) and satellite clock deviations from GPS Time, a common time reference; $I_{\rho}$ and $T_{\rho}$ are ionospheric delay and tropospheric delay. $\varepsilon_{\rho}$ accounts for measurement errors, modeling errors, and unmodeled effects.

Error Sources

Main error sources of range measurement from source to destination, with typical values and RMSE of range errors by code measurement from {Misra & Enge} Table 5.1, 5.2, 5.3, 5.4:

  1. Control Segment error ($\sigma_{RE/CS} \approx 3m$): errors in estimating and predicting satellite clock and ephemeris parameters, which affect the navigation message, aka signal-in-space (SIS) error.
    • Satellite clock model (RMSE: 2m)
    • Satellite ephemeris prediction (RMSE: 2m): ephemeris prediction error along the line of sight.
  2. Propagation modeling errors ($\sigma_{RE/P} \approx 5m$)
    • Ionospheric delay (1m-10m): ionospheric refraction causes carrier phase advance and group (code phase) delay, proportional to total electron content and path length.
    • Tropospheric delay (0.1m-1m without meteorological data): humidity and atmospheric pressure in the troposphere, proportional to path length.
  3. Measurement errors ($\sigma_{RE/RNM} \in (0.5m, 1.0m)$)
    • Receiver noise (RMSE: 0.25m-0.50m): background RF noise, noise introduced by the antenna, amplifiers, cables and the receiver, multi-access noise (GPS signal and GPS-like broadcast interference), signal quantization noise; wide-sense stationary white noise, affecting measurement precision, depending on signal-to-noise ratio.
    • Multipath: one signal reaching receiver antenna via multiple path, caused by reflection from nearby surfaces (urban canyons, the ground); more multipaths exist for satellites at low elevation angles; also can be considered as noise.

User range error (URE), aka user equivalent range error (UERE), is the three types of error sources combined, assuming no correlation:

$$\sigma_{URE} = \sqrt{\sigma_{RE/CS}^2 + \sigma_{RE/P}^2 + \sigma_{RE/RNM}^2} \approx 6m$$

Note that both propagation modeling errors and measurement errors are larger for satellites at lower angles, and an elevation angle cutoff of 5°-7.5° appears to be a good trade-off between measurement loss and large measurement errors.

Empirical 95% errors of SPS, according to {Misra & Enge, Table 2.2}: 10m in horizontal position, 15m in vertical position, 30ns in time. They also cited a 0.01 m/s accuracy for velocity estimates of moderate dynamics.

Urban characteristics should be considered when estimating GPS range error in cities. (noisy and obstructed) Multipath effects are much less severe in moving vehicles: when the GPS antenna is moving, the false solutions using reflected signals quickly fail to converge and only the direct signals result in stable solutions. (Accuracy better than 70m is tough to achieve downtown and indoors due to multipath. {Misra & Enge 13.4}) Received signal power: Obstructed lines of sight (signals are heavily attenuated by the building materials, especially steel: in a building, garage or tunnel) Metallic features in car windshields such as defrosters or car window tinting films can act as a Faraday cage, degrading reception inside the car.

Given range errors, satellite geometry can also affect position fix accuracy. Range error bands have larger intersection when satellites in line of sight are close together in the sky, which is called geometric dilution of precision (GDOP).

Mitigation and Augmentation

Differential GPS (DGPS) uses differential corrections periodically reported to a local area, which mitigates slow varying biases including Control Segment error and propagation modeling errors. Carrier-smoothing of code-measurement can mitigate measurement error. At 1e1 kilometer receiver distance to the reference receiver and 1e1 second signal latency, local-area (ground-based) DGPS mitigates bias components (RMSE): clock error 0.0m, ephmeris error 0.1m; ionospheric delay 0.2m; tropospheric delay 0.2m, plus altitude effect. Local-area DGPS can thus provide meter-level to sub-meter-level position estimates, dominated by measurement error. Combining differential correction and (15-minute) carrier-smoothing, range error can be reduced by an order of magnitude. In case of {Misra, Enge} Fig 5.17, RMSE of local-area DGPS pseudorange is reduced from 0.8m to 0.1m. Satellite based augmentation system (SBAS), or wide-area DGPS (WADGPS) is less accurate: Federal Aviation Administration's (FAA) Wide Area Augmentation System (WAAS) for conterminous US offers positioning accuracy of 1.5m-2m in both horizontal and vertical dimensions; European Geostationary Navigation Overlay Service (EGNOS); Japan's Multi-functional Satellite Augmentation System (MSAS); India's GPS Aided Geo Augmented Navigation (GAGAN).

Dual-frequency measurement mitigates ionospheric delay to 1m RMSE, and civilian use of L2 signal can be achieved (although noisier) without compromising the P(A) code. High sensitivity GPS receivers have integration time up to 1000 times longer than conventional GPS receivers, resulting in better noise averaging and an extra 30 dB processing gain (1e-3 signal power), capable of positioning in many indoor locations. Antenna design and sitting can be mitigate multipath error. Receiver design can mitigate both receiver noise and multipath error.

As an augmentation to GPS, pseudo-satellites (pseudolites) can be deployed on the ground, in the air, or on a ship to transmit GPS-like signals.

Hybrid positioning systems (XPS) refers to augmenting positioning with various sensors, typically available in current mobile devices, specifically to overcome limitations of GPS around and within built environment. Assisted GPS (A-GPS) uses reference GPS receivers at controlled sites (electromagnetically quite, clear view of sky) and sends assistance data to the GPS receiver in mobile devices over cell phone channel. In case of data breaks, A-GPS supplants satellite ephemeris, which can significantly improve time-to-first-fix (TTFF). In case of low signal-to-noise ratio, A-GPS assistance signal supports integration time up to 2 seconds. While A-GPS improves GPS coverage and robustness of position fix, better GPS accuracy shall not be expected. Wi-Fi positioning system (WPS) collects MAC address and received signal strength indication (RSSI) from nearby wireless access points. With locations of access points matched from a comprehensive database of Wi-Fi hotspots, receiver location can be determined by trilateration with ranges inferred from RSSI. Range estimation can be enhanced with measured RSSI spatial distributions, aka fingerprinting. WPS is feasible within range of 150m, with 5m-15m accuracy depending on the density of Wi-Fi access points and quality of the database. (Current developments can achieve ~0.1m ranging accuracy.) Bluetooth low energy (BLE) beacons are used in a similar way, with maximum range of 30m and accuracy up to 1m. Current BLE beacon protocols include Apple iBeacon and Google Eddystone. Passive and active radio frequency identification (RFID), as used in E-ZPass, are also used. Inertial navigation systems (INS) such as accelerometer and gyroscope can also complement GPS measurement, as they are immune to radio frequency interference.

One effort of GPS modernization has been monitoring the performance of civil GPS signals. The GPS Civil Monitoring Performance Specification (CMPS) describes SPS accuracy and reliability. A candidate for civil monitoring is NASA's Global Differential GPS (GDGPS) developed by JPL, which is the world's largest real-time GPS tracking network and provides global coverage of differential correction with ~5 seconds in latency. GDGPS has 3-dimensional positioning RMSE <10 cm and time transfer error <1 ns. (Live Performance Monitoring)

As the other type of GPS measurement, carrier phase measurement is a post-processing (not real-time) technique which achieves millimeter accuracy, often used in surveying. In continuous tracking, carrier phase measurement is precise and unambiguous, which can also be used to smooth code-based pseudoranges and mitigate measurement error.

Appendix: Decimal Degree Precision

GPS receivers report locations in WGS84: longitude, latitude and sometimes altitude in WGS84 datum.

GPS Coordinate System: works with ITRS (x, y, z); then transformed into ellipsoidal latitude, longitude, and height.

Around 1790, the French Academy of Sciences defined meter as equal to one ten-millionth (1e-7) of the distance between the North Pole and the Equator. Thus, despite minor modifications thereafter, one degree of latitude covers about 10^7/90 = 111,111 meters. [Accurate up to 3 effective numbers]

The sixth decimal place in one degree of latitude has about 1/9 meter; the sixth decimal place in one degree of longitude has about 1/9*cos(lat) meter.

Table: Decimal Degree Precision

Effective Number Approximate Accuracy
10 continent/ocean level
1 large state or country
1e-1 large city
1e-2 village
1e-3 agricultural field or institutional campus
1e-4 parcel of land, comparable to the typical accuracy of an uncorrected GPS unit with no interference
1e-5 meter level, commercial GPS units with differential correction (DGPS)
1e-6 design structure/road
1e-7 centimeter level, surveying, limit of GPS-based techniques
1e-8 charting motions of tectonic plates and movements of volcanoes

Decimal degree precision table on Wikipedia


🏷 Category=Geographic Information System