Finding the repeat times of the GPS constellation - by Duncan Carr Agnew and Kristine M. Larson

 
 
 
The technical paper which describes this code is published in:  
GPS Solutions, Volume 11, Number 1, January 2007, pages 71-76, " Finding the repeat times of the GPS constellation"  
by Duncan Carr Agnew, Institute of Geophysics and Planetary Physics, Scripps Institute of Oceanography, University of California, San Diego, La Jolla, California, USA.  
K.M. Larson, Department of Aerospace Engineering Sciences, University of Colorado, Boulder, Colorado, USA.  
 
 
Abstract: Single-epoch estimates of position using GPS are improved by removing multipath signals, which repeat when the satellite constellation does. We present two programs for finding this repeat time, one using the orbital period and the other the topocentric positions of the satellites. Both methods show that the repeat time is variable across the constellation, at the few-second level for most satellites, but with a few showing much different values. The repeat time for topocentric positions, which we term the aspect repeat time, averages 247 s less than a day, with fluctuations through the day that may be as much as 2.5 s at high latitudes.  
 
Note: There are two Fortran programs available here: orbrep.f and asprep.f. The program orbrep.f (orbit repeat times) reads in a broadcast ephemeris file in RINEX format and writes out the repeat times relative to 86400 seconds for all satellites; if multiple ephemerides are given in the file then the values for the square root of the semi-major axis, and the correction to the mean motion, are averaged for each satellite. The computed orbit repeat times are twice the orbital period for each satellite.  
The asprep.f program (aspect repeat times) reads in a set of SP3 files, an initial time (ymdhms), an integer "N" number of days, and a location (latitude, longitude, ellipsoid height) and writes out the aspect repeat times of all satellites at "N" days from the initial time. The asprep.f program also outputs: the angular separation between the satellite position at the initial time and at the closest repeat position; the elevation and azimuth of the satellite; the angular velocity of the satellite; and the difference in the angle between the initial position and repeat position given in terms of time -- which is useful for deciding how close the actual repetition is. The files README.ORB and README.ASP show example command-line arguments for both programs, and the resultant screen output.  
 
 

Example command-line arguments & output for orbrep.f (README.ORB)

Fortran code for orbrep.f (orbrep.f)

Example input GPS broadcast ephemeris for orbrep.f (auto3560.03n)

Example command-line arguments & output for asprep.f (README.ASP)

Fortran code for asprep.f (asprep.f)

First example input precise ephemeris for asprep.f (igs12500.sp3)

Second example input precise ephemeris for asprep.f (igs12501.sp3)

Third example input precise ephemeris for asprep.f (igs12502.sp3)

 
 
 
Return to the GPS-TOOLBOX home page