I’m using the Planet Labs state vectors downloadable from http://ephemerides.planet-labs.com/planet.states or http://ephemerides.planet-labs.com/planet_YYYYMMDD.states to assess the TLEs/SGP4 accuracy (this post is related to What is the accuracy / uncertainty of Two Line Elements (TLEs)? and PSLV-C39/IRNSS-1H TLE accuracy).
Planet Labs publish a report with the RMS errors for their satellites (http://ephemerides.planet-labs.com/jspoc_matches.txt), but it doesn’t seem statistically useful to me, so I did my own analysis.
I chose the DOVE PIONEER satellite and in the next days I’ll do the same analysis also for other satellites. The graph shows its perigee, apogee, semi-major axis and eccentricity obtained from TLEs/SGP4:
After all the conversions (TEME to J2000, TDT to UTC), I calculated the TLE error: the distance between the Planet Labs position vector and the position obtained with the TLEs propagated with the SGP4 to the epoch of the Planet Labs state vectors.
The analysis includes the “historical” Planet Labs states from day 40 (of this year, I discarded the first unreliable JSpOC TLEs) to day 232 and 35 additional “latest” states (updated hourly).
The TLE age is calculated as PlanetLab_epoch – TLE_epoch and I only consider the ages in the interval [-1, 1] days; there are a total of 1256 values.
Unfortunately, there are also a few outliers (probably they come from JSpOC satellite identification cross-tagging), but I don’t want to include them in the analysis, because they usually can be easily spotted and hence can be easily discarded.
Since the distribution of the errors is unknown and far from normal, I cannot use the “standard” methods to find the outliers, so I use a simple rule based on the Chebyshev's inequality and I discard all the errors above 10 times the standard deviation (those values are “very rare”).
The discarded errors are: 531.7881 km (for age= 0.089 days) and 188.8319 km (for age= -0.91 days), the next biggest error (not discarded) is 8.4 km for age= 0.9 days. Here’s the graph of the (1254) used values:
We see that the errors for age > 0 are significantly bigger than the errors for age < 0 (as expected, because the JSpOC TLE are fitted to the tracking data).
Since I’m interested in a statistical level of confidence for the TLE/SGP4 derived state vector accuracy, I cannot just take 8.4 km as the biggest possible error.
If I consider the 95th percentile, I get 2.7 km (we could say that the position error given by “most of the TLEs/SGP4” in the [-1, 1] days interval is not bigger than 2.7 km), but a much more robust and conservative upper bound for the error comes from an improved version of the Chebyshev's inequality: https://en.wikipedia.org/wiki/Chebyshev%27s_inequality#Univariate_case (I use the version given by Ata Kaban). From that method I get that the TLE/SGP4 error is less than 5.3 km with a 95% confidence level.
All that said, here’s the questions:
- is there any way to obtain the hourly historical states?
- could anyone calculate a narrower statistically valid upper bound?
- could that 5.3 km error be taken as a “typical” TLE/SGP4 state vector accuracy (in the [-1, 1] interval) for a satellite that orbits at about 400 km altitude?
- how big could be the radial component of the error wrt the total error?