ECE 6390 Radiolocation Scavenger Hunt 3

 

 

 

 

First season A-Team

 

 

The A Team

 

 

 

Members:

Christos Theodoridis

Saunya Williams

Brad Schwagler

John Livingston

Peyton Riley

 

 

 

 

GPS satellite in orbit, image courtesy  NASA

 

 

Introduction

 

You are running late for your anniversary dinner at a local Atlanta restaurant. Your spouse calls you from outside the restaurant to tell you that you are late for dinner. Unfortunately, your spouse’s cell phone has dropped the call before you could get the name of the restaurant. Your attempts to return the call are futile because you keep getting the voice mail. You cannot afford to miss this dinner or you will suffer great consequences at home. One advantage is that you know that your spouse’s phone has a trial GPS chip inside. You ask someone at a nearby gas station for help with locating the restaurant. The attendant suggests that you contact the highly regarded A Team for assistance. With one life line left, you call on the A Team for their expertise.

 

 

 

Technical Data

 

After quick analysis, the A Team realizes a way to use the pseudo-ranges stored in your handset to find the location of the restaurant. In the table below, the satellite subpoint coordinates and pseudo-ranges for the 3 GPS satellites whose signals are received by a positioning radio are shown. Note that all pseudo-ranges are given relative to the first satellite position. Based on this data, the objective is to calculate the longitude, latitude, and altitude for the receiver’s position.

 

 

Satellite 1

Satellite 2

Satellite 3

Longitude

-62.3256°

-85.2234°

-92.8388°

Latitude

7.8520°

45.1053°

29.7834°

PR/c (s)

0.000000000

-0.003817986

-0.004077077

 

 

Constants used in calculations:

Mean earth radius = 6380.00 km

GPS satellite altitude = 20,200.00 km

Speed of light, c = 299860.00 km/s

 

 

Solution

 

A script was written in MATLAB to calculate the coordinates of the GPS receiver. The first step is to convert the latitude and longitude of each GPS satellite above to Cartesian coordinates. The following ranging equation was used to solve for the (Ux, Uy, Uz) coordinates for the true location of the receiver.

 

(Xi - Ux)2+(Yi - Uy)2+(Zi - Uz)2 = (PRi – CΤ)2    where i = satellite number and T = clock bias

 

The solution of this system of equations required an assumption of the Uz coordinate.  Using knowledge of the basic location and geographical properties of the area, guesses were made for GPS coordinates.  Using these coordinates and the given information, the equations could be back-solved to find an accurate estimation of Uz.  This method provided reasonable results but was not precise enough to find a specific building on a city block.  A very accurate estimation of Uz was needed to determine an exact location.  Recalling a rumor that a Georgia Tech professor had assigned a project dealing with GPS coordinates in this area in Fall 2005, the Georgia Tech Propagation Group website was quickly consulted. The Uz coordinate was taken from a student project and used in the MATLAB script to determine the remaining coordinates. Finally, Google Maps was used to plot the resulting latitude and longitude to find the location of the restaurant. 

 

An ambiguity associated with this method is that it only works if the general area (within several square miles) of the destination is known.  However, the general location was known, so the method proved successful in this instance.  

 

According to Google Maps, the calculated GPS coordinates pointed to the middle of North Avenue between Spring Street and West Peachtree Street several hundred feet from the destination.  The technique used in this report should consistently produce results with 100 meter accuracy (adequate because within voice distance of angry spouse).

 

Factors that could contribute to a realistic ranging estimate in this situation include multipath error, receiver noise, and city atmospheric conditions.

 

 

 

Results

 

The final value has the latitude and longitude coordinates (33.77124, -84.38827), which maps to the corner of North Avenue and Spring Street. Subsequently, these street names were then used to obtain the location of the restaurant. Mary Mac’s Tea Room, famous for its tradition in southern cooking, is the place for the anniversary celebration.

                                                                       

Mary Macs Picture                       

 

 

 

 

Remarks

 

The range equations for the 3 satellites were solved fairly easy with the assumption of Uz  using the following Matlab script.

 

MATLAB

%%   Conversion of Latitudes/longitudes of satellites into radians

Longsat1 = -62.3256 *pi/180;

Longsat2 = -85.2234*pi/180;

Longsat3 = -92.8388*pi/180;

Latsat1 = 7.8520*pi/180;

Latsat2 = 45.1053*pi/180;

Latsat3 = 29.7834*pi/180;

 

%%   Calculation of Pseudo Ranges

c = 299860*1000;   % speed of light in meters/second

PR1 = 0*c;

PR2 = -0.003817986*c;

PR3 = -0.004077077*c;

R = (6380 + 20200)*1000;   % Radius from center of earth to satellite in meters

 

%%   Calculation of XYZ coordinates of satellites (1-3) from their given latitudes/longitudes

X1 = R * cos(Longsat1) * cos(Latsat1);

Y1 = R * sin(Longsat1) * cos(Latsat1);

Z1 = R * sin(Latsat1);

 

X2 = R * cos(Longsat2) * cos(Latsat2);

Y2 = R * sin(Longsat2) * cos(Latsat2);

Z2 = R * sin(Latsat2);

 

X3 = R * cos(Longsat3) * cos(Latsat3);

Y3 = R * sin(Longsat3) * cos(Latsat3);

Z3 = R * sin(Latsat3);

 

%%   Assume the z-coordinate, taken from last year's project:

 Uz = 3.546845993e6;   

 

 

%%  Create symbols of XY and tau coordinates so "solve" function knows which variables to %%  solve for.

 

syms Ux Uy t

 

%--- Calculation of the XY and tau coordinates, guessing at Z -----%

[Ux, Uy, t] = solve( (X1 - Ux)^2 + (Y1 - Uy)^2 + (Z1 - Uz)^2 - (PR1 - t*c)^2, (X2 - Ux)^2 + (Y2 - Uy)^2 + (Z2 - Uz)^2 - (PR2 - t*c)^2, (X3 - Ux)^2 + (Y3 - Uy)^2 + (Z3 - Uz)^2 - (PR3 - t*c)^2 )

 

%%   After converting the symbolic answers of X and Y into numbers, the following code was %%   used to come up with the latitude and longitude of the restaurant.

x = 5.186581354753561e+005;

y = -5.278553604470997e+006;

r = sqrt( x^2 + y^2 + Uz^2 );

lat=asin(Uz/r)*180/pi    % lat = 33.77123595423643 degrees

lon=asin(y/(r*cos(lat*pi/180)))*180/pi   % lon = -84.38826618478855 degrees