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