Frequently Asked Questions for Revisiting Spacetrack Report #3
AIAA 20066753
Vallado, David A., Paul Crawford, Richard Hujsak, and T.S. Kelso, "Revisiting
Spacetrack Report #3," presented at the AIAA/AAS Astrodynamics Specialist
Conference, Keystone, CO, 2006 August 21–24.
 What code, programs, examples, and instructions are available to implement SGP4?
 Are there any Licenses required to use the SGP4 code?
There is no license associated with the code and you may use it for any
purpose—personal or commercial—as you wish. We ask only that you
include citations in your documentation and source code to show the source of
the code and provide links to the main page, to
facilitate communications regarding any questions on the theory or source code.
 How does this code differ from the SGP4 implementation in Systems Tool Kit (STK)?
The code in this paper (specifically, the C++ version) is exactly the same code as used in STK and will produce identical results.
 What is the output of the SGP4 program?
Cartesian position and velocity versus Time Since TLE Epoch in the True
Equator, Mean Equinox (TEME) coordinate system (Vallado 2013:211, 231234).
 What settings are recommended for the SGP4 program?
To match the expected operation of the US Air Force Joint Space Operations Center (JSPOC), the inputs should be:
 a – AFSPC operation
 m – Manual input of time span and timestep
 72 – Constants to use
 How can I create a Cartesian position and velocity ephemeris from a TLE?
The general algorithm is (MATLAB filenames are used):
 Read in the data file (TLE information)
 Convert the TLE information (twoline2rv.m)
 Initialize SGP4 (sgp4.m with 0.0 time)
 Loop through the desired time period:
 Call SGP4 and obtain the position and velocity vectors in TEME (sgp4.m)
 Write out the relevant parameters: time since epoch, TEME position and velocity
 End loop
The file testmat.m accomplishes these tasks.
 How can I create a latitude and longitude ephemeris from a TLE?
The general algorithm is (MATLAB filenames are used):
 Read in the data file (TLE information)
 Convert the TLE information (twoline2rv.m)
 Initialize SGP4 (sgp4.m with 0.0 time)
 Loop through the desired time period:
 Call SGP4 and obtain the position and velocity vectors in TEME (sgp4.m)
 Convert the position and velocity vectors to latitude and longitude:
 Rotate from the TEME to ECEF coordinate frames (teme2ecef.m)
 Use the ECEF vectors to find latitude and longitude (ijk2ll.m)
(Vallado 2013:169172)
 Write out the relevant parameters: time since epoch, latitude, longitude
 End loop
 How can I create an azimuth and elevation look angles ephemeris from a TLE?
The general algorithm is (MATLAB filenames are used):
 Read in the data file (TLE information)
 Convert the TLE information (twoline2rv.m)
 Initialize SGP4 (sgp4.m with 0.0 time)
 Set the site ECEF position vector (site.m)
 Loop through the desired time period:
 Call SGP4 and obtain the position and velocity vectors in TEME (sgp4.m)
 Convert the position and velocity vectors to azimuth and elevation:
 Rotate from the TEME to ECEF coordinate frames (teme2ecef.m)
 Calculate the ECEF range vector from site to satellite, convert the
ECEF range vector to SEZ, and calculate azimuth and elevation
(rv2razel.m)
 Write out the relevant parameters: time since epoch, latitude, longitude
 End loop
 How can I convert a TEME ephemeris to an Earth Fixed ephemeris?
teme2ecef.m will convert a TEME vector to Earth fixed (ECEF).
The general algorithm is (MATLAB filenames are used):
 Read in data file (TEME ephemeris information)
 Loop through all the data or the desired time period:
 Convert the position and velocity vectors from TEME to ECEF (teme2ecef.m)
 Write out the relevant parameters: time since epoch, ECEF position and velocity
 End loop
 How can I convert a TEME ephemeris to another ECI ephemeris?
It is no longer recommended to go directly from TEME to another ECI frame (as
shown in teme2eci.m) as there are many variables that are unknown. Going to ECEF
first is better and simpler. Then, if you need J2000, MOD, TOD, or PEF,
use the ECEF data and convert it using the full standard techniques.
The general algorithm is (MATLAB filenames are used):
 Read in data file (TEME ephemeris information)
 Loop through all the data or the desired time period:
 Convert the position and velocity vectors from TEME to ECEF (teme2ecef.m)
 Convert from ECEF to J2000 (ecef2eci.m), Mean of Date (ecef2mod.m), True
of Date (ecef2tod.m), or Pseudo Earth Fixed (ecef2pef.m). Note that PEF is
also known as TDR (NASA) and EFG (JSpOC) and does not include polar
motion.
 Write out the relevant parameters: time since epoch, ECI position and velocity
 End loop
