11  GPS and Outdoor Positioning

In 60 Seconds

GPS determines position by measuring time-of-flight from at least 4 satellites, solving for 3D position plus clock offset. Signals travel at the speed of light, making timing critical – a 1 microsecond clock error equals 300 meters of position error, which is why satellites carry atomic clocks. The multipath problem (signals bouncing off buildings) is GPS’s biggest challenge in urban environments, degrading accuracy from 5-10 meters to 50+ meters.

11.1 Learning Objectives

By the end of this chapter, you will be able to:

  • Explain GPS/GNSS Architecture: Describe the space, control, and user segments of satellite navigation systems and how they interact
  • Calculate Positioning from Satellites: Apply Time of Flight and TDoA principles to determine position
  • Diagnose Multipath Effects: Analyze how signal reflections degrade positioning accuracy in urban environments
  • Justify Clock Synchronization: Explain why atomic clocks are essential and demonstrate how pseudoranges compensate for receiver clock offset

Every time you open a map application on your phone and see a blue dot showing your location, you are using GPS. The Global Positioning System is a network of satellites orbiting Earth that continuously broadcast time-stamped signals. Your phone listens to these signals, measures how long each one took to arrive, and calculates exactly where you are. In IoT, GPS enables vehicle fleet tracking, agricultural drone navigation, wildlife monitoring, and asset management across vast outdoor areas. This chapter builds from simple distance-from-timing concepts to the full GPS position-fix algorithm.

11.2 Prerequisites

11.4 Time of Flight (ToF)

Time of Flight measures the time taken for a signal to propagate from transmitter to receiver, then converts that elapsed time into a distance.

Diagram illustrating Time of Flight (ToF) positioning concept showing signal transmission from transmitter to receiver with timing markers and distance calculation formula d = c times delta-t
Figure 11.2: Time of Flight Concept

Distance Calculation:

Distance = Speed of Light x Time of Flight
d = c x delta-t

where:
- c = 299,792,458 m/s (speed of light in vacuum)
- delta-t = reception time - transmission time

Critical Challenge: Both transmitter and receiver must have synchronized clocks to know the true transmission time.

Synchronization Sensitivity:

1 microsecond clock error = 300 meters position error!
1 nanosecond clock error = 0.3 meters position error

Because GPS signals travel at the speed of light, even tiny timing errors produce large distance errors. This fundamental constraint drives the entire GPS system design – from atomic clocks on satellites to the mathematical trick of solving for clock offset as an unknown.

11.5 The Multipath Problem

Diagram showing multipath propagation where GPS signals travel multiple paths to receiver by reflecting off buildings and surfaces, creating measurement errors in position calculation
Figure 11.3: Multipath problem in GPS

Multipath occurs when signals reflect off buildings, terrain, or other surfaces before reaching the receiver, creating multiple paths between transmitter and receiver.

Impact:

  • Fine for communications: Multiple signal copies can be combined constructively
  • Degrades positioning: Reflected signals travel longer paths, making distances appear greater than reality
  • Worst in urban canyons: Tall buildings create severe multipath, inflating GPS error from 5-10 meters to 50+ meters
  • Indoor environments: Extreme multipath plus signal attenuation makes standard GPS essentially unusable

11.6 Time Difference of Arrival (TDoA)

Diagram illustrating Time Difference of Arrival (TDoA) positioning where multiple synchronized base stations measure arrival time differences from a transmitter to determine its location without requiring clock synchronization at the mobile device
Figure 11.4: Time difference of arrival

The Problem with Simple ToF:

  • Mobile device and fixed transmitters are separated by large distances
  • Cannot keep their clocks synchronized to nanosecond precision
  • Since RF signals travel at c, a 1 us synchronization error produces 300 m of position error

TDoA Solution:

  • Accept that the mobile clock is imprecise
  • Solve for the clock offset as an additional unknown variable
  • Any single range measurement is wrong, but every range is wrong by the same amount (the clock offset)
  • These biased range measurements are called pseudoranges
TDoA positioning system architecture showing mobile device and synchronized base stations measuring arrival time differences
Figure 11.5: Diagram showing TDoA positioning system architecture with mobile device and synchronized base stations.

Key Requirements for TDoA:

  1. Base Stations Must Be Synchronized:
    • Lay cables between stations for wired time distribution
    • Use GPS timing receivers (ironically!)
    • Install atomic clocks at each station (expensive)
  2. Mobile Device Clock Can Be Imprecise:
    • Clock offset becomes an additional unknown to solve
    • Need N+1 reference points for N-dimensional positioning
    • 3D position + clock offset = 4 unknowns, requiring a minimum of 4 satellites

11.7 GPS Architecture

Overview of GPS system architecture showing the three segments: space segment with satellites, control segment with ground stations, and user segment with GPS receivers
Figure 11.6: GPS System Overview

GPS is essentially an inverted TDoA system: satellites are the synchronized transmitters and your receiver is the unsynchronized mobile device.

GPS is TDoA (Inverted):

  • Satellites are the static, synchronized reference points (but they transmit rather than receive)
  • Your receiver measures the arrival time of each satellite signal using its own imprecise clock
  • The difference between the satellite’s transmitted timestamp and the receiver’s local clock reading gives a time-of-flight estimate
  • Each estimate is biased by the receiver’s clock offset, producing a pseudorange
  • With 4+ pseudoranges, the receiver solves simultaneously for 3D position and clock offset

11.8 Satellite Synchronization

Diagram explaining GPS satellite synchronization mechanisms using onboard atomic clocks, ground control monitoring, and correction uploads to maintain precise timing across the constellation
Figure 11.7: How satellites stay synchronized

How Satellites Stay Synchronized:

  1. Atomic Clocks On Board (Caesium or Rubidium)
    • Cost: approximately $100,000 per clock (each satellite carries multiple for redundancy)
    • Accuracy: drift of roughly 1 nanosecond per day
    • All satellites share a common GPS time reference
  2. Orbital Prediction:
    • Satellite positions are not fixed, but their orbits are precisely modeled
    • Ephemeris data (orbital parameters) allows receivers to predict satellite positions
    • Small perturbations from solar radiation pressure and gravitational anomalies require periodic corrections
  3. Ground Control Segment:
    • Dedicated ground stations continuously monitor satellite orbits and clock drift
    • Track actual positions versus predicted trajectories
    • Upload corrections to satellites, which rebroadcast them to receivers
    • Must model relativistic effects on satellite clocks
Illustration of ground control segment monitoring satellite orbits, tracking positions, and uploading corrections including relativistic time adjustments
Figure 11.8: Satellite Orbit Monitoring

Relativistic Effects:

  • Special Relativity: Satellite clocks run slower due to orbital velocity (~7 us/day slower)
  • General Relativity: Satellite clocks run faster due to weaker gravity at altitude (~45 us/day faster)
  • Net Effect: ~38 us/day faster – must be continuously corrected

Let’s calculate the relativistic time dilation effects on GPS satellite clocks that must be corrected for accurate positioning:

Special Relativity (Velocity Effect): GPS satellites orbit at \(v = 3{,}874\) m/s at altitude \(h = 20{,}200\) km.

Time dilation factor: \[ \gamma = \frac{1}{\sqrt{1 - \frac{v^2}{c^2}}} \]

\[ \begin{aligned} \frac{v^2}{c^2} &= \frac{(3{,}874)^2}{(3 \times 10^8)^2} = 1.67 \times 10^{-10} \\ \gamma &\approx 1 + \frac{1}{2} \times 1.67 \times 10^{-10} = 1.0000000000835 \end{aligned} \]

Clock runs slower by: \[ \Delta t_{\text{SR}} = -\frac{1}{2} \times \frac{v^2}{c^2} \times 86{,}400\text{ s/day} = -7.2 \times 10^{-6}\text{ s/day} = -7.2\text{ \textmu s/day} \]

General Relativity (Gravitational Effect): Gravitational time dilation at satellite altitude vs. Earth surface: \[ \frac{\Delta t}{t} = \frac{GM}{c^2} \left( \frac{1}{r_{\text{surface}}} - \frac{1}{r_{\text{satellite}}} \right) \]

\[ \begin{aligned} r_{\text{surface}} &= 6{,}371\text{ km} \\ r_{\text{satellite}} &= 6{,}371 + 20{,}200 = 26{,}571\text{ km} \\ \Delta t_{\text{GR}} &= \frac{3.986 \times 10^{14}}{(3 \times 10^8)^2} \times \left( \frac{1}{6.371 \times 10^6} - \frac{1}{26.571 \times 10^6} \right) \times 86{,}400 \\ &= +45.8\text{ \textmu s/day (clock runs faster)} \end{aligned} \]

Net Relativistic Effect: \[ \Delta t_{\text{total}} = \Delta t_{\text{GR}} + \Delta t_{\text{SR}} = 45.8 - 7.2 = +38.6\text{ \textmu s/day} \]

Impact on Position Accuracy if Uncorrected: \[ \text{Position Error} = c \times \Delta t = 3 \times 10^8 \times 38.6 \times 10^{-6} = 11{,}580\text{ m/day} \]

After one day, uncorrected relativistic effects would cause 11.6 km position error! GPS receivers apply continuous frequency adjustment (\(-4.465 \times 10^{-10}\) fractional offset) to satellite clocks to compensate.

11.9 GPS Position Calculation

Mathematical representation of GPS position calculation equations showing pseudorange formulas with satellite coordinates, receiver position unknowns, and clock offset variables
Figure 11.9: GPS position calculation

Position Equations:

For each satellite \(i\):

\[ \rho_i = \sqrt{(x_i - x_r)^2 + (y_i - y_r)^2 + (z_i - z_r)^2} + c \cdot \Delta t + E_i \]

Where:

  • \(\rho_i\) = pseudorange to satellite \(i\) (measured)
  • \((x_i, y_i, z_i)\) = satellite \(i\) position (known from ephemeris)
  • \((x_r, y_r, z_r)\) = receiver position (unknown)
  • \(c\) = speed of light
  • \(\Delta t\) = receiver clock offset (unknown)
  • \(E_i\) = error term (atmospheric delays, multipath, noise)

Four Unknowns:

  1. \(x_r\) (receiver X position)
  2. \(y_r\) (receiver Y position)
  3. \(z_r\) (receiver Z position)
  4. \(\Delta t\) (clock offset)

Need at least 4 satellites to solve for 4 unknowns. With more than 4 satellites visible (typically 6-12), the receiver uses a least-squares algorithm to find the best-fit solution, improving accuracy.

11.10 How It All Comes Together: A Complete Position Fix

Understanding the full sequence from signal acquisition to position output ties together ToF, pseudoranges, and the 4-satellite minimum:

  1. Signal Acquisition (5-30 seconds after power-on):
    • Receiver scans the GPS L1 frequency (1575.42 MHz) for satellite signals
    • Each satellite transmits a unique PRN (Pseudo-Random Noise) code
    • Receiver identifies which satellites are visible (typically 6-12 overhead)
  2. Time-of-Flight Measurement (for each satellite):
    • Satellite broadcasts a timestamp: “I transmitted this at 14:32:05.123456789 GPS time”
    • Receiver notes the local arrival time: “I received this at 14:32:05.191234567 (my clock)”
    • Time difference: 0.067777778 seconds
    • Distance estimate: 0.0678 s x 300,000 km/s = ~20,340 km
    • However, the receiver clock is wrong by some unknown offset – so this is a pseudorange, not a true range
  3. Pseudorange Equations (one per satellite):
    • Satellite 1: sqrt[(x1-x)^2 + (y1-y)^2 + (z1-z)^2] + c x dt = 20,340 km
    • Satellite 2: sqrt[(x2-x)^2 + (y2-y)^2 + (z2-z)^2] + c x dt = 22,145 km
    • Satellite 3: sqrt[(x3-x)^2 + (y3-y)^2 + (z3-z)^2] + c x dt = 21,789 km
    • Satellite 4: sqrt[(x4-x)^2 + (y4-y)^2 + (z4-z)^2] + c x dt = 19,456 km
    • (x, y, z) = your position (unknown), dt = your clock error (unknown)
  4. Solve 4 Equations for 4 Unknowns:
    • Receiver uses iterative least-squares to find (x, y, z, dt) that best satisfies all equations
    • Result: position accurate to 5-10 meters, clock synchronized to 20-30 nanoseconds

Why This Works:

  • All pseudoranges are biased by the same clock offset
  • By treating the clock offset as a solvable unknown, imprecise measurements yield a precise position
  • This elegant mathematical trick is why GPS receivers do not need expensive atomic clocks

11.11 GPS Error Sources

Comprehensive diagram showing various GPS error sources including ionospheric delay, tropospheric delay, multipath interference, satellite clock drift, ephemeris inaccuracies, and receiver noise, with typical error magnitude ranges for each
Figure 11.10: GPS error sources

Signal Strength Challenge:

  • GPS signal transmitted at approximately 20 watts from each satellite
  • Travels roughly 20,200 km to Earth’s surface
  • Received power: approximately 10^-16 watts (extraordinarily weak)
  • Various atmospheric and environmental effects introduce errors
Error Source Typical Error Mitigation
Ionospheric delay +/- 5 m Dual-frequency correction (L1 + L2/L5)
Tropospheric delay +/- 0.5 m Atmospheric modeling
Satellite clock +/- 2 m Ground station corrections
Ephemeris +/- 2.5 m Frequent orbital parameter updates
Multipath +/- 1 m Antenna design, signal averaging
Receiver noise +/- 0.3 m Higher-quality receiver hardware

11.12 Interactive: Clock Error Impact Calculator

Explore how receiver clock errors translate directly into position errors through the speed of light. Adjust the clock offset to see the resulting distance bias.

11.13 Interactive: GPS Satellite Geometry and DOP

The arrangement of visible satellites affects positioning accuracy. When satellites are clustered together, the geometric solution is weak (high DOP – Dilution of Precision). When satellites are spread across the sky, geometry is strong (low DOP). Drag the satellite positions to explore this effect.

11.14 Knowledge Check

11.15 Worked Example: GPS Accuracy for IoT Fleet Tracking

Worked Example: Calculating GPS Position Fix Time and Accuracy for a Cold-Chain Delivery Fleet

Scenario: A pharmaceutical logistics company tracks 50 refrigerated trucks carrying vaccines across the UK. Each truck has a GPS/GNSS module (u-blox NEO-M9N) reporting position every 30 seconds to a cloud platform. The system must confirm that trucks stay on approved routes and never stop for more than 15 minutes in unauthorized locations.

Given:

  • Module: u-blox NEO-M9N (multi-constellation: GPS + Galileo + GLONASS + BeiDou)
  • Cold start time-to-first-fix (TTFF): 24 seconds
  • Hot start TTFF: 2 seconds (ephemeris data cached)
  • Reported accuracy (open sky): 1.5 m CEP (circular error probable – 50% of fixes within 1.5 m)
  • Reported accuracy (urban): 2.5 m CEP
  • Power consumption: 25 mA active, 7 uA backup mode

Step 1: Calculate position updates per day per truck

  • Reporting interval: 30 seconds
  • Driving time per day: ~8 hours = 28,800 seconds
  • Fixes per truck per day: 28,800 / 30 = 960 position reports
  • Fleet total: 50 trucks x 960 = 48,000 reports/day

Step 2: Assess accuracy for route compliance

  • UK motorway lane width: 3.65 m
  • Required accuracy to distinguish lanes: < 2 m
  • Open-sky highway accuracy (1.5 m CEP): Sufficient for lane-level tracking
  • Urban delivery accuracy (2.5 m CEP): Can distinguish which side of road, but not individual lane
  • Decision: Use geofencing with 10 m buffer zones around approved routes (well within accuracy)

Step 3: Calculate cold start impact on first morning report

  • Truck starts at 6:00 AM after 12-hour overnight shutdown
  • GPS ephemeris data expires after 4 hours – this is a cold start
  • Cold start TTFF: 24 seconds to acquire 4+ satellites
  • First valid position report: 6:00:24 AM (24-second blind spot)
  • Mitigation: Keep GPS in backup mode (7 uA) overnight to maintain hot start capability
  • With backup mode: First fix in 2 seconds, data current from 6:00:02 AM

Step 4: Calculate power budget for backup mode

  • Backup current: 7 uA = 0.007 mA
  • Overnight duration: 12 hours
  • Energy for backup: 0.007 mA x 12 h = 0.084 mAh (negligible – truck battery is 60,000+ mAh)
  • Trade-off: 0.084 mAh buys 22-second faster first fix – always worth it for vehicle-powered devices

Result: Fleet tracking achieves 1.5-2.5 m accuracy with 30-second reporting intervals. Hot start mode eliminates the 24-second morning blind spot for just 0.084 mAh overnight. The 10 m geofence buffer accommodates worst-case urban accuracy while reliably detecting route deviations.

Key Takeaway

GPS is an inverted TDoA system where satellites broadcast synchronized time signals and receivers calculate position from pseudoranges. Four satellites are the minimum (3 position unknowns + 1 clock offset), but more satellites improve accuracy through overdetermined solutions. The system’s fundamental insight is treating the receiver’s cheap clock offset as a solvable unknown rather than requiring expensive atomic clocks in every device. The biggest practical limitations are multipath (signal reflections in cities) and the inability to work indoors due to signal attenuation through building materials.

GPS is like playing Marco Polo with satellites in SPACE!

11.15.1 The Sensor Squad Adventure: Messages from Space

“How does my phone know where I am?” asked Lila the LED one day, staring at the blue dot on a map.

Sammy the Sensor knew the answer. “There are 24 special satellites orbiting Earth, way up in space – about 20,000 kilometers high! Each one is basically shouting ‘I AM HERE and the time is 3:00:00.000000!’”

“But how does that help?” asked Lila.

“Imagine you’re blindfolded in a big park,” said Max the Microcontroller. “Three friends stand in different spots and each one shouts ‘I’m 50 meters from you!’ or ‘I’m 30 meters from you!’ With three distances, there’s only ONE spot where you could be standing!”

“That’s TRILATERATION!” cheered Bella the Battery. “GPS works the same way, but instead of friends shouting, it’s satellites sending time signals. Your phone calculates how far each satellite signal traveled by how long it took to arrive.”

“But here’s the tricky part,” said Sammy. “Radio signals travel at the SPEED OF LIGHT – 300,000 kilometers per second! That is SO fast that if your phone’s clock is off by just ONE MILLIONTH of a second, it is wrong by 300 meters!”

“That’s why we need a FOURTH satellite!” explained Max. “Three satellites tell us where we are, and the fourth one helps us figure out exactly what time it is. The satellites have super-expensive atomic clocks that cost $100,000 each, but our phones can figure out the right time by using math!”

“So GPS is really about TIME, not just PLACE!” realized Lila.

“Exactly! And the satellites are so far away that their signals are incredibly weak when they reach us. That is why GPS does not work inside buildings – the signals cannot get through walls and ceilings!”

11.15.2 Key Words for Kids

Word What It Means
Satellite A special machine orbiting Earth in space that sends time signals to GPS receivers
Speed of Light The fastest speed in the universe – 300,000 km per second! GPS signals travel this fast
Atomic Clock A super-accurate clock on satellites that loses less than 1 second in a MILLION years
Pseudorange A distance measurement that is slightly wrong because your phone’s clock is not perfect
Concept Relationships

GPS and Outdoor Positioning connects to:

See Also

GPS Technology Deep Dives:

  • IS-GPS-200 - GPS Interface Specification (official signal structure document)
  • Navstar GPS User Equipment Introduction - DoD GPS primer
  • u-blox GPS Compendium - Practical GPS module integration guide

Enhancement Technologies:

  • DGPS and RTK - Differential corrections for sub-meter accuracy
  • SBAS Systems - WAAS (US), EGNOS (EU), MSAS (Japan) augmentation
  • PPP (Precise Point Positioning) - Cloud-based corrections

Alternative GNSS:

  • GLONASS (Russia) - 24 satellites, global coverage
  • Galileo (EU) - 30 satellites, higher accuracy than GPS
  • BeiDou (China) - Regional and global constellation
  • Multi-GNSS receivers - Use all constellations for better accuracy and availability

Common Pitfalls

A GPS receiver with no cached satellite data (cold start) requires 30-60 seconds to acquire a first fix. IoT applications where location is needed immediately after power-on (asset tracking, emergency response) must use assisted GPS (AGPS) to pre-load almanac data via cellular, or maintain periodic fixes to keep the receiver warm. Designing without accounting for cold start time causes user experience failures when the device is first powered on in a new location.

A continuously active GPS module draws 20-50 mA – enough to drain a 2000 mAh battery in 40-100 hours. For asset tracking IoT devices requiring weeks or months of battery life, duty-cycle the GPS receiver: fix position every 5-30 minutes, then immediately power off. Some applications can tolerate dead reckoning (estimating position from last known fix + velocity) between GPS updates to extend battery life while maintaining location continuity.

GPS horizontal accuracy (3-10 meters) is significantly better than vertical accuracy (10-30 meters) because satellite geometry is inherently better in the horizontal plane. IoT applications that need elevation for flood monitoring, building floor detection, or drone altitude control cannot rely on GPS vertical accuracy. Use barometric pressure sensors (accurate to 1-2 meters indoors) for elevation, with GPS providing horizontal position only.

11.17 What’s Next

If you want to… Read this
Understand GPS accuracy enhancement including DGPS and RTK GPS Accuracy and Enhancement
Implement indoor positioning when GPS is unavailable Indoor Positioning Systems
Understand all location technologies in a unified overview Location Awareness Overview
Design location privacy controls for GPS-equipped IoT devices Location Privacy and Consent
Integrate GPS location into IoT interface map displays Interface and Interaction Design