GPS Satellite Location Laboratory: Ephemerides, Orbits and Satellite Locations, Lab Reports of Electrical and Electronics Engineering

In this laboratory session, students will develop matlab code to calculate the location of gps satellites using their ephemerides and almanac data. They will examine the accuracy of the solutions and investigate the impact of correction terms on satellite trajectories. Students will also generate satellite visibility charts for different locations and analyze the number of satellites available at each latitude.

Typology: Lab Reports

Pre 2010

Uploaded on 03/16/2009

koofers-user-d34-1
koofers-user-d34-1 🇺🇸

3

(1)

10 documents

1 / 3

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
ECE 498AL Laboratory 2
Ephemeredes, Orbits and Satellite Locations
Laboratory Goals
In this lab, we will develop MATLAB code that will solve for the location of the
satellites in the ECEF reference frame. You will examine the different sets of
information that the satellites broadcast in their individual ephemeredes as well as in the
almanac. The magnitude of the various correction terms will be studied as well. Finally,
you will investigate the trajectories of the GPS satellites, as viewed from Everitt Lab.
The code you write today will be used in future labs, so make sure it really works and
you understand what it is doing!
Prelab
Before coming to lab, download the code templates from the course website at
http://airglow.csl.uiuc.edu/Teaching/ECE498AL/. You will need:
GPS_Findsat.m (solves for a satellite’s location given its ephemeredes)
It is suggested that you spend some time familiarizing yourself with the code templates
and filling in what information you can (read the opening comments to find out what
each piece of code is supposed to do), as you will probably want to use the lab time to
test and debug the code in addition to working on the analysis questions.
Testing the Code
We will test the code by collecting data from the GPSRCVR program and comparing the
satellite locations calculated by your MATLAB code to that calculated by the receiver.
1) Edit the rcvr_par.dat file in the osgps_waas directory. Verify that the kalman_file
parameter is set to ‘1’.
2) Boot up the gpsrcvr program (look at Laboratory 1 if you forget how to do this).
Before actually starting the program, make sure that the files, curloc.dat,
current.alm, and eurrent.eph are present to perform a warm boot.
3) Start the receiver and collect data for about twenty minutes. During this time,
make note of the elevation and azimuth to several satellites, the GPS time (in GPS
seconds), as well as the receiver location given. You can work on other parts of
the lab while the receiver is collecting data.
4) Shut down the receiver. Make sure you have a copy of the gpskalm.log,
current.alm, and current.eph files and all of the MATLAB code you have written,
as you will need it for the post-lab questions.
Analysis
Download the program GPS_ParseAlamnac.m and GPS_ParseEphem.m from the course
website. These programs will read in the current.alm and current.eph files and create
pf3

Partial preview of the text

Download GPS Satellite Location Laboratory: Ephemerides, Orbits and Satellite Locations and more Lab Reports Electrical and Electronics Engineering in PDF only on Docsity!

ECE 498AL Laboratory 2 Ephemeredes, Orbits and Satellite Locations Laboratory Goals In this lab, we will develop MATLAB code that will solve for the location of the satellites in the ECEF reference frame. You will examine the different sets of information that the satellites broadcast in their individual ephemeredes as well as in the almanac. The magnitude of the various correction terms will be studied as well. Finally, you will investigate the trajectories of the GPS satellites, as viewed from Everitt Lab. The code you write today will be used in future labs, so make sure it really works and you understand what it is doing! Prelab Before coming to lab, download the code templates from the course website at http://airglow.csl.uiuc.edu/Teaching/ECE498AL/. You will need:

  • GPS_Findsat.m (solves for a satellite’s location given its ephemeredes) It is suggested that you spend some time familiarizing yourself with the code templates and filling in what information you can (read the opening comments to find out what each piece of code is supposed to do), as you will probably want to use the lab time to test and debug the code in addition to working on the analysis questions. Testing the Code We will test the code by collecting data from the GPSRCVR program and comparing the satellite locations calculated by your MATLAB code to that calculated by the receiver.
  1. Edit the rcvr_par.dat file in the osgps_waas directory. Verify that the kalman_file parameter is set to ‘1’.
  2. Boot up the gpsrcvr program (look at Laboratory 1 if you forget how to do this). Before actually starting the program, make sure that the files, curloc.dat, current.alm, and eurrent.eph are present to perform a warm boot.
  3. Start the receiver and collect data for about twenty minutes. During this time, make note of the elevation and azimuth to several satellites, the GPS time (in GPS seconds), as well as the receiver location given. You can work on other parts of the lab while the receiver is collecting data.
  4. Shut down the receiver. Make sure you have a copy of the gpskalm.log, current.alm, and current.eph files and all of the MATLAB code you have written, as you will need it for the post-lab questions. Analysis Download the program GPS_ParseAlamnac.m and GPS_ParseEphem.m from the course website. These programs will read in the current.alm and current.eph files and create

ECE 498AL Laboratory 2: Ephemeredes, Orbits and Satellite Locations 2 several arrays containing the ephemeredes for each satellite. Read the opening comments to understand the format of the resulting arrays and how to run the program. Q1 : Verify the GPS_Findsat.m routine you have written by calculating the elevation and azimuth to at least two satellites using the information in the current.alm file. You should report the satellite PRN, the GPS time, and the elevation and azimuth angles both as reported by the OSGPS receiver and using your MATAB code. The results from the two methods should agree to within a degree. Q2 : Download the GPS_Visability.m function. This function reads in the provided almanac file and plots a satellite visibility chart for a 24-hour period beginning at the time of applicability of the almanac data. Generate the chart based upon the almanac data obtained during your lab period for the location of Everitt Laboratory. What is the range of the number of satellites available? Q3 : You can use any location with the GPS_Visability.m function. Generate plots for a receiver at the equator, and one at 85° latitude. What differences do you notice from he different locations (equatorial, mid-latitude, and high-latitude)? Aspects to look at include how many times a day a given satellite is in view from a location, how long a given satellite is available, and how many satellites are available throughout the day. Q4 : Download the GPS_Plotsat.m function. Calculate the start and stop times (in GPS seconds) for your lab period. Use GPS_Plotsat.m and the almanac data to calculate which satellites rise and set during your lab period. Provide a listing of these satellites (as well as whether they are rising or setting). (HINT: you can send in almanac data for a single satellite to plot the satellite trajectories one at a time. This may make answering this question easier). Post-Lab Questions Use these programs in conjunction with the data you collected to answer the following questions: PL1 : Compare the precise ECEF coordinates calculated by GPS_Findsat.m using the data in the current.eph file to those reported in the gpskalm.log file. Note that the positions in the log file are those at transmit time (in the transmit time ECEF reference frame), while the time stamps in the file are reception times. To perform a valid comparison, you will need to figure out how to correct for this discrepancy! PL2 : For the two satellites used in Q1 , compare the satellite-location solutions using the information in current.alm and current.eph. Do this over a ten-minute period and compare both the difference in distance (in meters) and elevation/azimuth. What does this say about the utility of the coarse location solution (obtained from the current.alm information) in initial tracking of the satellites?