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
For Beginners: GPS and Outdoor Positioning
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.
Figure 11.1: Diagram showing GNSS systems worldwide with satellite counts and accuracy specifications.
GPS (Global Positioning System) was the first Global Navigation Satellite System (GNSS) and remains the dominant technology for outdoor localization. Developed by the US Department of Defense and declared fully operational in 1995, GPS now serves billions of civilian devices worldwide. To understand how GPS works, we first examine two foundational ranging techniques: Time of Flight and Time Difference of Arrival.
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.
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
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)
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
Figure 11.5: Diagram showing TDoA positioning system architecture with mobile device and synchronized base stations.
Key Requirements for TDoA:
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)
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
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
Figure 11.7: How satellites stay synchronized
How Satellites Stay Synchronized:
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
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
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
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
Putting Numbers to It
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}}}
\]
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.
\(\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:
\(x_r\) (receiver X position)
\(y_r\) (receiver Y position)
\(z_r\) (receiver Z position)
\(\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:
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)
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
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)
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
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
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.
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.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.
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.
For Kids: Meet the Sensor Squad!
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
1. Assuming cold start time is negligible for IoT applications
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.
2. Using GPS for power-sensitive battery IoT devices without duty cycling
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.
3. Trusting GPS altitude values for IoT elevation applications
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.
Label the Diagram
11.17 What’s Next
If you want to…
Read this
Understand GPS accuracy enhancement including DGPS and RTK