1
$\begingroup$

Let's assume I wanted to assess the accuracy of SGP4 over time.

I have an archived set of orbital ephemerides taken from SpaceTrack for a non-active object over the last year.

If I picked an epoch say, six months ago and took the starting position, how would I propagate that position through time and space using SGP4?

I've found the source code for SGP4 but honestly I can't make hide nor hair of how its meant to be used because of the way it's been written.

$\endgroup$
1
  • $\begingroup$ The code on celestrak has examples. Spacetrack distributes code too, I would imagine they have documentation for it, but can't check right now. celestrak.org/software/vallado-sw.php $\endgroup$ Commented Jun 26 at 15:43

1 Answer 1

2
$\begingroup$

The necessary input to SGP4 is a TLE, and a time. It takes the difference between the epoch date of the TLE and the chosen time and plugs it into a gigantic pile of complicated maths, which generates position and velocity, or whatever other representation of the state you request, at the desired time. Because it's using polynomials of trig functions of polynomials with time as the only variable, some kinds of errors oscillate, but others grow quadratically or worse with time. You can ask SGP4 to plug in any time interval you want, but six months will produce gigantic errors.

What exactly are the contents of your "archived set of orbital ephemerides"? Is it just a bunch of TLEs for the same object at different epoch times, or do you actually have position and velocity to compare against? Also, which version of SGP4 are you talking about? What does this code you found look like? There are a number of very different versions, and I don't yet know which you might have found.

$\endgroup$
1
  • $\begingroup$ Unfortunately, I've just checked my archive and it doesn't have what I thought it did. It has desired destination orbits, not the latest ephemerides. So that data is no good to me. I can pull TLEs from space-track though space-track.org/basicspacedata/query/class/tle/NORAD_CAT_ID/…. As for the version, I've found a few, ranging from fortran to c# but I was going to go with the C++ version on Celestrak $\endgroup$ Commented Jun 27 at 21:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.