George Mason University



Zakaria Tarik Zerhouni

This project was completed in collaboration with Daniel Jacobson and Robert Truong

Website designed by Conor P. Nelson

Source: Home > Project 2

Math 447: Numerical Analysis



Project 2: GPS, Conditioning, and Nonlinear Least Squares

The goal of this project is to calculate the position of a global positioning system (GPS) receiver using the information broadcast by the GPS satellites. The 24 satellites of the GPS system carry atomic clocks to relay a time stamp as well as their position in space. This transmission for a satellite \( i \) contains the four parameters \( (x_i, y_i, z_i, t_i) \).

When the time stamp arrives at the receiver it is easily converted into the transmission travel time by subtracting the current time on the receiver from the satellite's time stamp. This is then converted into the satellite's distance from the receiver by multiplying the travel time by the speed of light, \( c = 299792.458 \).

However, while the atomic clocks on board the satellites are accurate to \( 10^{-9} \) seconds per day and are synchronized regularly, the clock of a typical GPS receiver does not have this precision. This error in time synchronization, denoted \( d \) must also be solved for if an accurate position is to be computed using the GPS.

As the goal will be to solve for the position as \( (x, y, z, d) \), for clarity's sake each satellite \( i \) will contain the same parameters labelled as \( (A_i, B_i, C_i, t_i) \). The solution to the position relies on the fact that three satellites only intersect at two points. A brief description of this trilateration can be found here.

One of these points will be near the earth and relevant to the purposes of the position problem. With the inclusion of the time error, a system of four equations using four satellites can be used to solve for the position and time error. This is described by System 1.1 directly below.

System 1.1

\( r_1(x, y, z, d) = \sqrt{ (x - A_1 )^2 + (y - B_1)^2 + (z - C_1)^2 } - c(t_1 - d) = 0 \)

\( r_2(x, y, z, d) = \sqrt{ (x - A_2 )^2 + (y - B_2)^2 + (z - C_2)^2 } - c(t_2 - d) = 0 \)

\( r_3(x, y, z, d) = \sqrt{ (x - A_3 )^2 + (y - B_3)^2 + (z - C_3)^2 } - c(t_3 - d) = 0 \)

\( r_4(x, y, z, d) = \sqrt{ (x - A_4 )^2 + (y - B_4)^2 + (z - C_4)^2 } - c(t_4 - d) = 0 \)

As five to eight satellites are in direct line of sight from any point on earth, the inputs of this system should be available to a working GPS receiver.

Click here to see an animation of the GPS satellite positions.


The task of solving this system and the possible difficulties that may arise are addressed in the following steps. Step 3 has been omitted as it is merely a solution using the symbolic mathematics tools of software developers.

Project 2: Reality Check # 4: GPS
Step 1: Multivariate Newton Method for four satellites.
Step 2: Quadratic Equation solution for four satellites.
Step 4: How does transmission time error affect the solution?
Step 5: How does satellite crowding affect the solution?
Step 6: Solving for more than four satellites using the Gauss-Newton Method.