GPS Principles: A Practical and Precise Approach
Mary Nguyen, DuyKy Nguyen, PhD
1. Introduction
This section is about how to use satellite data to compute receiver potion and time. Assume we know positions of 3 satellites and transmit time t_{TX} (or SV`s, space vehicles) and unknown receiver position and known receive time t_{RX} , so we have 3 unknowns x, y, and z. We know from elementary algebra that we need 3 equations to solve these 3 unknowns
(Eq.1)
where
(Eq.2)
with constant c is speed of light (300,000 km/s)
To be valid, (Eq.1) requires a straight line (line of sight) between SV and receiver. However, (Eq.2) gives a curve which is exaggerated in the figure above as signal transmitted in a curve due to, say, refraction through media with different index like light. That`s why r_{i} is called pseudorange or pseudodistance as range or distance implies straight line.
To count for incorrect time at user position, (Eq.1) is modified to be
(Eq.3)
where additional equation is for unkown b as user clock bias error expressed in distance
(Eq.4)
Therefore, to solve for user position and time, we need to solve the simultaneous equations below
(Eq.5)
These equations are transcendental, so cannot be solved algebraically. They must be solved numerically and the more equations involved, the quicker in getting to the solution, so we need at least 4 SV`s for solution. If they were solved algebraically, we need only 4 equations, ie 4 SV`s.
The SV data, like position and time, are carried in SV message called ephemeris (ephemeredes in plural). The following sections are about SV data and several methods to solve (Eq.5) from basic to advanced, like using Kalman filter.
2. Navigation Data
GPS satellite sends navigation data in frames to GPS receiver to in solving (Eq.5). These data are in spherical coordinates and required to transformed into Cartesian ones required in (Eq.5).2.1. Signal Structure
GPS receivers get navigation data from satellite in frames with structures below.
Every subframe has 10 words, 30 bits each, so 300 bits long. Each frame has 1^{st} word for TLM (telemetry) with subframe boundary identifier (0x8b) and 2^{nd} for HOW (HandOver Word) with time of week (TOW) in unit of 6 seconds where 0 is at midnight Saturday and Sunday. For 1 week, we have 7*24*3600 = 604,800 seconds; so maximum TOW is 604,800/6 = 100,800; 100,799 actually.
Frame 1
Description  Location  Numberof Bits  ScaleFactor  Unit  
Week Number  61~70  10  1  week 
Frame 2
Description  Location  Numberof Bits  ScaleFactor  Unit  
C_{rs}  Amplitude of the sine harmonic correction terms to the orbit radius  69~84  16  2^{5}  meter 
Dn  Mean motion difference from computed value  91~106  16  2^{43}  Semicircle/sec 
M_{0}  Mean anomaly at reference time  107~114 121~144  16  2^{31}  radian 
C_{uc}  Amplitude of the cosine harmonic correction terms to the argument of latitude  151~166  16  2^{29}  
e  Eccentricity  167~174 181~204  2^{33}  
C_{us}  Amplitude of the sine harmonic correction terms to the argument of latitude  211~226  16  2^{29}  radian 
Square root of the semimajor axis  227~234 241~264  32  2^{19}  Meter^{1/2}  
t_{oe}  Ephemeris reference time (seconds in the GPS week)  277~286  16  2^{4}  second 
Frame 3
Description  Location  Numberof Bits  ScaleFactor  Unit  
C_{ic}  Amplitude of the cosine harmonic correction terms to the angle of inclination  61~76  16  2^{29}  radians 
W_{0}  Right Ascension at reference time  77~84 91~114  32  2^{31}  Semicircle 
C_{is}  Amplitude of the sine harmonic correction terms to the angle of inclination  121~136  16  2^{29}  radians 
i_{0}  Inclination angle at reference time  137~144 151~174  32  2^{31}  Semicircle 
C_{rc}  Amplitude of the cosine harmonic correction terms to the orbit radius  181~196  16  2^{5}  meter 
w  Argument of Perigee  197~204 211~234  32  2^{31}  Semicircle 
Rate of change of Right Ascension angle  241~264  24  2^{43}  Semicircle/sec  
IDOT  Rate of change of inclination angle  279~292  14  2^{43}  Semicircle/sec 
2.2. Ephemeris Processing
GPS navigation Ephemeris data from satellite are converted to Cartesian coordinates required in (Eq.5).
WGS 84 value of the earth`s universal gravitational parameter
(Eq.6)
WGS 84 value of the earth`s universal gravitational parameter
(Eq.7)
Computed mean motion rad/sec
(Eq.8)
where a is semimajor axis.
Time from ephemeris reference epoch
(Eq.9)
where t is GPS trasmit time, i.e. range/speed_of_light; and t_{k} must account for week crossover.
Corrected mean motion
(Eq.10)
Mean anomaly
(Eq.11)
Kepler`s equation foe eccentric anomaly
(Eq.12)
True anomaly
(Eq.13)
Eccentricity anomaly
(Eq.14)
Argument of latitude
(Eq.15)
2^{nd} harmonic pertubations
(Eq.16)
Corrected argument of latitude
(Eq.17)
Corrected radius
(Eq.18)
Corrected inclination
(Eq.19)
Position in orbital plane
(Eq.20)
Corrected of longitude of ascending node
(Eq.21)
ECEF (EarthCentered EarthFixed) coordinates
(Eq.22)
3. Basic Numerical Method
Linearizing Eq.5 gives
(Eq.23)
where
(Eq.24)
Eq.23 can be written in matrix form as
(Eq.25)
where
(Eq.26)
The solution of Eq.25 is
(Eq.27)
where [A^{T}A]^{1}A^{T} is the pseudoinverse of A as nonsquare matrix has no true inverse A^{1}.
Based on Eq.27, we have the following algorithm to solve Eq.5
