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 |
4.2 | |
| W 9/10 | Coordinate Transforms | 4.A | HW #2 |
|
| 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 |
||
| 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 |
||
| 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
- ZX60-2534M datasheet.
- Navstar GPS Space Segment/Navigation User Interfaces
- WAAS Specification data sheet
Interesting Links
- Google Earth kmz file with realtime location of Earth orbiting objects (from Analytical Graphics)
- NASA J-Track web applet showing satellite locations.
- Another realtime satellite tracking site.
- Realtime, official WAAS information.
