Lab 7: GPS Errors Part 2
Due: in class, October 21, 2003
Given:
- inputs from previous lab and
previous homework.
- TMGO receiver clock estimates
, in km. Note: these receiver
clock values came from analysis done by JPL. Apparently,
the first clock value is missing, so I just added a dummy value of 0.0 there. These
values correspond to 30 second time intervals starting at midnite.
In other words, since PRN 24 is observed in the first 660 values in your RINEX file,
you
will only need the first 660 values from this file.
For PRN 24 and given data files:
- Define constants, including those that will be needed for
the ionosphere free observables.
- Read the RINEX header of the given file.
- Convert the receiver coordinates into latitude, longitude, and height. Display to screen.
- Read in the observations.
- Load the file of satellite coordinates. Calculate elevation angle. Do not plot.
- Calculate the satellite clock correction for this time period. Plot.
- Read in the receiver clock correction for this time period. Plot.
- Calculate geometric range (GR) as a function of time. Do not plot.
- Calculate the ionosphere free range observable, RL3.
- How big is the ionosphere delay on RL1 (in meters)? What combination
of observables will provide this information? Plot.
- Calculate RL3 - GR + satellite_clk - receiver_clk. Plot.
What are the remaining error sources?
Hints: Save some time by starting with last week's
lab. Also, Matlab reads data files
pretty slowly. So, what I did to save time was
to read in the data file for last week's lab and then I
saved those observables into a matlab
file. Then, when I run this week's code I have two
options - read the RINEX file from scratch or read the
Matlab file. The latter is much quicker, and
this helps when you are debugging the rest of the code. There is no point
in re-reading a RINEX file just so you can make a nicer plot.
Turn in: code, answers to questions, and plots.