2.8: The Global Positioning System
- Page ID
- 48133
\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)
\( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)
( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)
\( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)
\( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)
\( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)
\( \newcommand{\Span}{\mathrm{span}}\)
\( \newcommand{\id}{\mathrm{id}}\)
\( \newcommand{\Span}{\mathrm{span}}\)
\( \newcommand{\kernel}{\mathrm{null}\,}\)
\( \newcommand{\range}{\mathrm{range}\,}\)
\( \newcommand{\RealPart}{\mathrm{Re}}\)
\( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)
\( \newcommand{\Argument}{\mathrm{Arg}}\)
\( \newcommand{\norm}[1]{\| #1 \|}\)
\( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)
\( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)
\( \newcommand{\vectorA}[1]{\vec{#1}} % arrow\)
\( \newcommand{\vectorAt}[1]{\vec{\text{#1}}} % arrow\)
\( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vectorC}[1]{\textbf{#1}} \)
\( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)
\( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)
\( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)
\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)
\(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)The Global Positioning System uses the positions of satellites along with very accurate clocks to determine the location of a GPS receiver. Figure \(\PageIndex{1}\) shows a depiction of how this works. First, a GPS satellite sends out a signal that indicates the satellite's location as well as the time that the signal was sent (Time of Transmission, or ToT). A GPS receiver receives the signal and takes note of the time (Time of Arrival, or ToA). The receiver can then use the difference between ToA and ToT along with the speed of light to determine how far away the satellite is. The problem is that the receiver doesn't know its orientation relative to the satellite, so the location is constrained only to a sphere of a known size surrounding the satellite that sent the signal. If the receiver receives another signal from a second satellite, then the location of the receiver is constrained to be somewhere on the intersection of the two spheres (the intersection of two spheres is a circle). A third satellite constrains the position to the intersection of a sphere and a circle, which is two points. A fourth satellite constrains the position to a single point.
In order for GPS to work, the satellites have to know their own positions. This can be achieved by tracking from ground stations using techniques such as radar and signal doppler. They also follow very predictable paths in their orbits.
In order for the positioning to be accurate, the clocks in the GPS satellites have to be accurate as well. If the clock is off by one nanosecond, then the position will be off by about one foot (the speed of light is approximately 1 ft/ns). What's even worse is that if that clock inaccuracy is due to a difference in clock rate (rather than being a fixed offset), then the positioning will get more and more inaccurate over time.
This is where relativity comes in, because the clock rate on a satellite is going to be different from the clock rate on the ground for two reasons:
- the satellite moves relative to a clock on the ground, and
- the satellite and ground clock are at different r-values.
The first effect is from Special Relativity while the second is from General Relativity.
Suppose a GPS satellite has a circular orbit with an r-value of \(r_s\), and the signal from that satellite is received by a GPS receiver with an r-value of \(r_r\). For simplicity, let's assume that both the satellite and receiver are at a constant \(\theta=90^\circ\) (i.e. the equator). The Schwarzschild metric can then be rewritten as (see Box 2.81.)
\[\left(\frac{d\tau}{dt}\right)^2=\left(1-\frac{2M}{r}\right)-v^2\label{eq:GPS_ClockRateRatioSquared}.\]
This shows how the clock rate from either one of the clocks differs from the rate of the t-coordinate. What we are interested in, though, is the rate of the satellite clock relative to the receiver clock, \(\frac{d\tau_s}{d\tau_r}\). We can do this simply by taking a ratio (then taking the square root). The result is
\[\frac{d\tau_s}{d\tau_r}=\sqrt{\frac{\left(\frac{d\tau_r}{dt}\right)^2}{\left(\frac{d\tau_r}{dt}\right)^2}}=\frac{\sqrt{1-\frac{2M}{r_s}-v_s^2}}{\sqrt{1-\frac{2M}{r_r}-v_r^2}}\label{eq:GPS_ClockRateRatio}.\]
At this point it should be noted that \(\frac{2M}{r}\) and \(v\) are very small for both the satellite and the receiver, which allows us to rewrite Equation \ref{eq:GPS_ClockRateRatio} as (see Box 2.8.1)
\[\frac{d\tau_s}{d\tau_r}\approx 1-\frac{M}{r_s}-\frac{1}{2}v_s^2+\frac{M}{r_r}+\frac{1}{2}v_r^2\label{eq:GPS_ClockRateRatio_approx}.\]
There are then a few more steps, outlined below.
\[\begin{align}
\frac{\Delta \tau_s}{\Delta \tau_r}&\approx 1-\frac{M}{r_s}-\frac{1}{2}v_s^2+\frac{M}{r_r}+\frac{1}{2}v_r^2&&\text{since ratio is constant, it applies to any size interval}\nonumber\\
\Delta \tau_s&=\left (1-\frac{M}{r_s}-\frac{1}{2}v_s^2+\frac{M}{r_r}+\frac{1}{2}v_r^2\right)\Delta \tau_r&&\text{write satellite time in terms of receiver time}\nonumber\\
\Delta \tau_s-\Delta \tau_r&=\left (1-\frac{M}{r_s}-\frac{1}{2}v_s^2+\frac{M}{r_r}+\frac{1}{2}v_r^2\right) \Delta \tau_r-\Delta \tau_r&&\text{we want the }\textit{difference}\text{ in clock readings}\nonumber\\
\Delta \tau_s-\Delta \tau_r&=\left (-\frac{M}{r_s}-\frac{1}{2}v_s^2+\frac{M}{r_r}+\frac{1}{2}v_r^2\right)\Delta \tau_r&&\text{simplify for final answer}\label{eq:GPS_drift}
\end{align}\]
All that remains is to determine the speeds and r-values of the receiver and satellite. The r-value of the receiver is simply the radius of the earth, and the speed can be determined using the fact that it takes one day for the receiver to travel around the circumference of the earth. According to the FAA, GPS satellites orbit 20,200 km above the surface of earth (remember that to get the r-value you need to add that to the radius of the earth) with a 12-hour period, which you can use to determine the speed. You should find that the clocks would drift by tens of microseconds per day (see Box 2.8.2). This would lead to extreme inaccuracy is determining position, so real GPS satellites add a correction to fix the problem.
- Derive Equation \ref{eq:GPS_ClockRateRatio}.
- Use the binomial approximation \(\left(1+x\right)^n\approx 1+nx\), which applies whenever \(x\ll 1\), to the numerator and denominator of Equation \ref{eq:GPS_ClockRateRatio} (do each one separately). You should end up with the product of two binomials. Then expand the product and drop any terms that are the product of two tiny things (for example, if \(\frac{2M}{r_s}\) is very small, then \(\left(\frac{2M}{r_s}\right)^2\) is very very small, so it can be neglected). The result of all of this should be Equation \ref{eq:GPS_ClockRateRatio_approx}.
- Calculate the dimensionless speed of a ground-based GPS receiver.
- Calculate the dimensionless speed of a GPS satellite with a 12-hour period that is 20,200 km above the ground.
- Use Equation \ref{eq:GPS_drift} to calculate the time difference between the GPS satellite and the ground-based receiver after one full day. Which clock is ahead?