ECE 498AL

Course Information

The use of satellite-based navigation systems such as the Global Positioning System (GPS), GLONASS, and the soon to be deployed Galileo system has increased tremendously over the past decade. The GPS industry generates revenue of several billion dollars each year. GPS is already tightly integrated into such disparate sectors of our lives as recreation, travel, telecommunications, the power industry, and financial world. The number of applications is only expected to increase in the coming years, as new uses for the timing and positioning information provided by these systems are found.

This course is intended to provide seniors and graduate students with a broad background on the basics of satellite-based navigation systems in addition to an in-depth working knowledge of the Global Positioning System. Students will learn about the signal structure, encoding techniques, orbital dynamics, sources of error, and numerical methods used to create a navigation solution. Students will gain hands-on experience in the laboratory working with a GPS receiver that allows access to the low-level information provided by the satellites. By the end of the semester, students will have developed Matlab code to interact with this GPS receiver and generate a navigation solution.

ECE 498JM: Global Positioning Systems meets for lectures on Mon, Wed, and Fri from 10:00-10:50a. There is a weekly lab on either Wed or Fri afternoon from 2:30-5:00p. The lab is held in 251 Everitt Laboratory.

Tentative Syllabus [PDF]

Date Lecture Laboratory Reading Homework
M 8/25 Course Overview and a History of Navigation [Lecture Slides]   Ch 1  
W 8/27 Overview of GPS Satellites and Receivers   2.2-2.4  
F 8/29 Basic Principles of Satellite Navigation Systems      
M 8/31 NO CLASS (Labor Day)      
W 9/3 The Newtron-Raphson Method     HW #1
Solution
F 9/5 Time Standards (read "Time and Frequency Dissemination")   4.1  
M 9/8 Reference Frames

LAB 1: A Frist Look at the GPS Signal and an Introduction to the OpenSource GPS Receiver Card
East Antenna Data
West Antenna Data

4.2  
W 9/10 Coordinate Transforms   4.A

HW #2
Matlab Template
Solution

F 9/12 Orbital Dynamics   4.3.1-4.3.2  
M 9/15 Calculating the Satellite Location   4.3.3  
W 9/17 Corrections to the Ephemerides   4.3.4-4.3.5 HW #3
Matlab test function
Solution
F 9/19 The GPS Signal and Spread-Spectrum Communications (read "The ABCs of Spread Spectrum - A tutorial" Analysis Code Example for Lab 1 9.1  
M 9/22 Pseduo-Random Codes LAB 2: Ephemerides and Satellite Locations
Solution
9.2.1, 9.5  
W 9/24 GPS Signal Structure     HW #4
Code/Data
Soluion
F 9/26 Range and Pseudorange   5.1  
M 9/29 Phase Range      
W 10/1 Code Range Navigation Solution   6.1 HW #5
Solution
F 10/3 Code Range Navigation Solution      
M 10/6 Phase Range Navigation Solution LAB 3: GPS Observables
GPSSIGNAL.dat
PRN15.dat
LabVIEW code
Solution
7.1-7.2  
W 10/8 The Effects of Relativity on GPS     HW #6
Solution
F 10/10 Error Statistics      
M 10/13 Ranging Errors   5.4  
W 10/15 MIDTERM 1 (IN CLASS)
Solution
     
F 10/17 Dilution of Precision      
M 10/20 Overdetermined Navigation Solution

LAB 4: The Navigation Solution
GPS_LAB4.zip

   
W 10/22 Propagation of Radio Waves in a Plasma: The Effects of the Ionosphere   5.3 HW #7
Solution
F 10/24 Atmospheric Effects      
M 10/27 Differential GPS   2.5  
W 10/29 GPS and Ionospheric Research      
F 10/31 The Wide Area Augmentation System     HW #8
Solution
M 11/3 Forward Error Correction & Convolutional Encoding   D. Hagerman Master's Thesis [PDF]  
W 11/5 Viterbi Decoding      
F 11/7 Applying WAAS Corrections     HW #9
M 11/10 Design Project Overview

LAB 5: Differential GPS
Lab05.zip
CRX2RNX.EXE

   
W 11/12 Velocity Determination   6.2  
F 11/14 Future Improvements to GPS   3.4  
M 11/17 Alternatives to GPS (GLONASS & Galileo)   3.5-3.8 HW #10
W 11/19 Alternatives to GPS (GLONASS & Galileo)      
F 11/21 Preparing for Final Project Presentation      
M 12/1 Final Project Presentations      
W 12/3 Final Project Presentations      
F 12/5 Final Project Presentations      
M 12/8 Final Project Presentations      
W 12/19 Final Project Presentations      
F 12/19 Final Project Report Due      

(Potentially) Useful MATLAB Files

  • GPS_TrimbleParse.m - Function to parse ASCII output from the Trimble AG332 receiver.
  • GPS_constants.m - File containing useful constants for various GPS calculations.
  • GPS_ECEF_temp.m - Template function for converting from LLA to ECEF.
  • GPS_elaz_temp.m - Template function for calculating the elevation/azimuth from one location (a receiver) to another (a satellite).
  • GPS_WGS84_temp.m - Template function for converting from ECEF to LLA in the WGS84 coordinate system.
  • GPS_GMT2GPS_temp.m - Template function to convert from GMT time to GPS time.
  • GPS_Findsat_temp.m - Template function to calculate satellite locations given their ephemerdes.
  • GPS_ParseEphem.m - Function to read data from the current.eph files generated by the OSGPS receiver.
  • GPS_ParseAlamanc.m - Function to read data from the current.alm files generated by the OSGPS receiver.
  • GPS_ParseGPSKALM.m - Function to read data from the gpskalm.log files genereated by the OSGPS receiver.
  • GPS_Visability.m - Creates a visability plot for satellites from a given location given a current.alm file.
  • GPS_Plotsat.m - Creates an az/el plot for requested satellites for a given time range and location.
  • GPS_ParseIGS.m - Function to parse an IGS sp3 file and return the satellite x,y,z location for the included satellites
  • GPS_CACode.m - Calculates the 1023-length CA code for the requested GPS PRN.
  • GPS_FindFrequency.m - Function to find the fine frequency for the requested satellite in the provided data stream.
  • GPS_DigitizeCA.m - Digitizes the requested PRN C/A code at the requested sampling frequency.
  • GPS_LAB4.zip - Files useful for Lab 4.

Useful Datasheets

Interesting Links

University of Illinois at Urbana-Champaign logo. Airglow Home | Contact Us | ©2008 Jonathan J. Makela