EE navigations system

profilerramos
EE5853_Module13_GNSS2_Project_GPS_Positioning.pdf

PROJECT

GPS POSITIONING

EE4853-5853 ENAV Module 13 – GNSS – Part 2: User Equipment

In this project, you will be determining the receiver position based on GPS pseudorange measurements. You are provided with the satellite positions (corrected for earth rotation, in the ECEF coordinate frame at the time of reception), dual-frequency GPS code-phase measurements, and the position truth of the user. First, you are going to calculate the position without taking ionosphere and troposphere into consideration. Next, you determine the ionosphere delay using the dual frequency measurements, and apply the appropriate ionosphere correction to get a better positioning accuracy. Then you will calculate and apply the approximate troposphere delay based on the satellite elevation and user height. Finally, you will be further enhancing positioning performance by applying precise clock and orbit corrections.

Provide write-up and Matlab code Task 1: GPS error sources (10%) List all relevant GPS error sources, and their mitigation strategies (maximum 2 lines per error source) For the remaining questions, use Matlab. Load the attached EE4853-5853_GPS_PR.mat into Matlab. You should now have the following variables:

PRNs List of the PRNs in the datasets L1PSR GPS L1 pseudorange measurements [m] L2PSR GPS L2 pseudorange measurements [m] SatBC Satellite clock and orbit – from broadcast ephemeris. SatPPP Satellite clock and orbit – from precise ephemeris TruthLLH Truth position in [Lat;Lon;Height]. Lat and Lon are in radians,

Height in meters The following constants may be useful: Speed of light: 299792458.0 m/s GPS L1 frequency: 1575.42e6 Hz GPS L2 frequency: 1227.60e6 Hz See also the following m-files for coordinate transformations: LLH2ECEF ECEF2LLH

ECEF2ENU ENU2ECEF

Task 2: Position calculation using ILS (20%) Calculate the GPS position using the measured pseudoranges (L1PSR), and the broadcast ephemeris satellite clock and orbit (SatBC.ECEF and SatBC.Clock)

- Add the satellite clock correction SatBC.Clock to the measured pseudorange. Note: this correction is already in meters.

- Do not apply any iono and tropo corrections to the pseudoranges yet. - Use the Iterative Least Squares (ILS) method as explained in Module 13 to solve

for user position and receiver clock error. Implement the following function for this:

[EstPos,Residuals,H]=CalcGPSPos(PR,SatECEF) with

PR = [Nx1] pseudoranges, for example from L1PSR SatECEF = [3xN] sat positions in ECEF, for example from SatBC.ECEF

Provide the following: a) User position in Lat (degrees), Lon (degrees), Height (meters, ellipsoidal) b) Error in user position with respect to truth in meters c) The norm of the range residuals d) The HDOP, PDOP, and VDOP of the solution. Note: The DOP calculations need

to be with respect to the locally-level frame. For this, you need to calculate the H- matrix for the satellites in an ENU frame, with the user at (0,0,0).

Hint: in your newton iteration, your pseudorange residuals are calculated by subtracting the estimated pseudorange from the measured pseudorange. The estimated pseudorange is the estimated range + the estimated receiver clock offset. Next, we are going to mitigate some of the GPS error sources. Fill in the following table using your calculations in the next tasks: PRNs 26 2 5 4 25 29 10 13 12 Elevation Iono delay Tropo delay Satellite Clock error Satellite Orbit error Task 3: Iono correction (20%) Using the L1 and L2 pseudorange measurements, calculate the iono delay (expressed in meters) for all satellites.

a) Calculate the Iono delays and fill them into the table

b) Correct the L1 pseudorange measurements with the iono delays, and recalculate the user position. Provide

i. The improved user position in Lat, Lon, Height ii. Error in user position with respect to truth in meters

iii. The norm of the range residuals Task 4: Tropo correction (20%) To calculate the tropo corrections, you first need the satellite elevation angles. For this, convert the satellite ECEF coordinates into an ENU coordinate frame, with the position found at 3 as the origin. Using the satellite coordinates in the local-level ENU coordinate frame you now can calculate the satellite elevation angles.

a) Calculate the satellite elevation angles and fill them into the table b) Calculate the satellite tropospheric delays, and put those in the table as well c) Correct the L1 pseudorange measurements with the iono and tropo delays, and

recalculate the user position. Provide i. The improved user position in Lat, Lon, Height

ii. Error in user position with respect to truth in meters iii. The norm of the range residuals

Task 5: Precise clock and orbit (20%) Using an extensive network of ground-based reference stations it is possible to calculate the satellite clock and orbit parameters much more precisely than those provided in the GPS broadcast message. See for example http://igscb.jpl.nasa.gov/components/usage.html. The struct SatPPP contains those precise clock and orbit parameters for this time epoch.

a) Calculate the error of the broadcast ephemeris clock, compared to the precise ephemeris. Put your result in the table.

b) Calculate the error of the broadcast ephemeris orbit, compared to the precise ephemeris, projected on the Line-Of-Sight vector. Put your result in the table.

c) Calculate the improved position using iono and tropo corrections, and the precise clock and orbit (SatPPP). Provide:

i. The improved user position in Lat, Lon, Height ii. Error in user position with respect to truth in meters

iii. The norm of the range residuals Task 6: Remaining errors & Conclusions (10%) The position solution is still not perfect. What remaining errors do you expect there to be in the measurements, and how do you suggest they can be mitigated? Draw your conclusions about the magnitude of the various errors, and how easy or hard it is to mitigate them. Take into consideration the potential receiver complexity (for example dual frequency vs single frequency), required ground infrastructure, communication, etc.