Content uploaded by Bryan Cazabonne

Author content

All content in this area was uploaded by Bryan Cazabonne on May 21, 2021

Content may be subject to copyright.

AN OPEN-SOURCE SOLUTION FOR TLE BASED ORBIT DETERMINATION

Thomas Paulet and Bryan Cazabonne

CS GROUP, Flight Dynamics and Science, 31506 Toulouse, France, Email: thomas.paulet@csgroup.eu;

bryan.cazabonne@csgroup.eu

ABSTRACT

Earth orbital space suffers from the ever increasing

count of space objects, including operational satellites

and space debris. Space system operations rely on

the management of vast catalogs of objects to avoid

any damaging collision. NORAD (North American

Aerospace Defense Command) and NASA (National

Aeronautics and Space Administration) both maintain a

database for a large quantity of orbiting objects. Data

are stored as Two Line Elements (TLE) and used along

with speciﬁc analytical propagation models. Operation

centers need Orbit Determination methods to accurately

compute conjunctions and collision probabilities. With

more and more ﬂying objects, computations must be

fast enough to ensure satellite safety. Mixing Orbit

Determination and TLE analytical propagation models

appears to be an effective way to grant security in space.

This paper presents an open-source solution for an Orbit

Determination method based on TLE propagation models.

The method was implemented and validated inside the

Orekit space mechanic library. It was then confronted

with a classical numerical Orbit Determination on a GNSS

test case.

Keywords: Orbit Determination; TLE; Open Source;

Orekit; Automatic Differenciation; Analytical Orbit

Propagation.

1. INTRODUCTION

Orbit Determination is a technique used to estimate the

state vector of a space object from a ﬁrst guess and a set

of observable measurements. The state vector contains

the orbital elements, the propagation dynamic parameters

and the measurement biases. Determined orbit is meant

to be as accurate as possible and accessible within the

shortest computation time. Those two paradigms become

even more challenging with the ever increasing number

of space objects orbiting the Earth. Orbit Determination

is especially necessary for debris tracking and collision

probability computation [

1

]. Thus, this technique shall be

able to quickly take care of large object collections.

Numerical Orbit Determination is widely used. It needs

a numerical orbit propagator which accurately computes

the orbital perturbations on a space object by equation

of motion numerical integration. It reaches signiﬁcant

precision level with realistic force models, but requires

high computation time. Analytical orbit propagators rather

sacriﬁce accuracy to beneﬁt computation speed. They

employ a set of empirical equations for modeling a space

object dynamic instead of a numerical integration of the

equation of motion. This kind of orbit propagators can

be adapted to be employed in an Orbit Determination

process. This kind of application is suitable to address

space surveillance topics, where fast orbit estimation is

required.

TLE data are a widespread way to represent an orbit.

They are generated and freely released by the NASA

and the NORAD for each Earth orbiting object bigger

than a softball ball. A TLE is a set of mean orbital

elements that locates an object in space with a few

kilometer-accuracy [

2

]. Even though quite imprecise, they

remain deployed in myriad space mechanic applications

[

3

] [

4

]. This kind of data also requires speciﬁc propagation

models to be used properly. The realization of an Orbit

Determination application based on TLE orbit propagators

looks promising. It was chosen to implement the process

with both the Simpliﬁed General Perturbation 4 (SGP4)

and the Simpliﬁed Deep-space Perturbation 4 (SDP4) orbit

propagation algorithms. Those analytical propagation

models are empirical and only take into account the main

orbital perturbations as presented in Figure 1.

A cornerstone of an Orbit Determination algorithm

development is the state transition matrix computation.

This mathematical object, regrouping state vector

partial derivatives, requires an accurate computation and

validation. It becomes important for short determination

arcs and very accurate observations. Automatic

differentiation is able to compute those partial derivatives

by applying chain rule. This method prevents the complex

task to establish and validate all model derivatives. State

transition matrix terms are computed directly from model

evolution equations, instead of creating a new differential

equation to integrate as it is done in Orekit numerical

or semi-analytical orbit determination [

5

] [

6

]. Moreover,

automatic differentiation is used to create SGP4/SDP4

compliant TLEs from a state vector.

We tested the analytical orbit determination performances

using real GPS satellite data. A network of six IGS

(International GNSS Service) stations is used. Only

pseudo range measurements were considered. Estimated

orbits were compared with IGS precise products. Station

reference positions were retrieved from SINEX ﬁle. We

also compared the analytical orbit determination method

with the Orekit’s numerical method. Final estimated orbit

accuracy and computation time were investigated. It

appeared that computation time is slightly increased with

analytical method while determined position accuracy on

the orbit shares the same the magnitude order.

This paper presents the development and validation

of the TLE orbit determination in the Orekit ﬂight

dynamics library. It also demonstrates Orekit capability

to build improved TLE with an accuracy of a hundred of

meters instead of a kilometer. This promotes developing

additional analytical propagation models in order to

acquire greater diversity within the open-source library.

2. THE OREKIT TLE ANALYTICAL ORBIT

DETERMINATION PROCESS

Orekit is an open-source space ﬂight dynamics library

[

7

]. It is written in Java and provides low level elements

for the development of ﬂight dynamics applications. It

was ﬁrst developed by CS GROUP in 2002 as a private

library for the company collaborators. In 2008, the library

evolved towards an open-source project under Apache

v2.0 License [

8

]. Orekit is now used worldwide, both by

academics and industries, to realize space applications,

studies and operations.

2.1. The TLE SGP4 and SDP4 propagation

algorithms

TLE format was created in the 60s, it gathers mean orbital

parameters of a space object. Though, it requires speciﬁc

algorithms to be analysed and then propagated [

9

]. A

collection of analytical orbit propagators were developed

along with this format, seeking fast computations of space

trajectories. These models were named Simpliﬁed General

Perturbations (SGP). Among them, SGP4 and SDP4 are

mainly used for TLE manipulations. SGP4 is used for low

Earth orbit propagation while SDP4 handles further space

objects with terrestrial orbit. If orbit period is below 225

minutes, the low orbit model is to be applied, otherwise,

the SDP4 is. These propagation algorithms consider the

main perturbation inﬂuences on a satellite: ﬁrst four zonal

Earth gravity ﬁeld harmonics, atmospheric drag and solar

radiation pressure. SDP4 adds luni-solar gravity attraction

and deep space secular effects. Perturbation models are

summed up in Figure 1.

For a given object, TLEs are generated periodically. This

refreshment rate along with the use of SGP4 and SDP4

enables to estimate the position of a space object within

a kilometer magnitude precision [

2

]. The aim of the

study was to improve the accuracy of this well spread

data format, in order to increase its scope.

It is to be noted that atmospheric drag model takes

into account a special coefﬁcient called B*. The B*

represents the ballistic coefﬁcient of the considered space

object. Drag coefﬁcient is usually estimated during

Orbit Determination process. Thus, estimating the B*

coefﬁcient may also improve a TLE.

TLE analytical Orbit Determination will then aim at

estimating the six TLE coefﬁcients that express the orbital

state: mean motion, eccentricity, inclination, longitude

of the ascending node, argument of periapsis and mean

anomaly, in addition of the B*.

2.2. The Batch Least Squares Orbit Determination

The Batch Least Squares algorithm is a classical technique

used for operational orbit determination. For a given

satellite initial state

Yt0

and for an available observation

arc, the Batch Least Squares algorithm provides an

estimation of the satellite’s state such as

ˆ

Yt0=Yt0+δy0(1)

The calculation of Equation 1 is done by an iterative

process solving the non-linear Equation 2 [10]

δy0= (ATW A)−1ATW b (2)

where

A : the partial derivatives matrix

W : the weighting matrix

b : the residual vector

The weighting matrix is initialized, at the beginning of the

estimation, by the user. The residual vector is computed,

for each measurement, by the difference between the

observed and the estimated measurements. Finally, the

partial derivatives matrix can be expressed by the product

of the observation matrix

H

by the state transition matrix

Φ

A=Ht,t.Φt,t0(3)

where

Ht,t =∂ρt

∂Yt

(4)

Φt,t0=∂Yt

∂Yt0

(5)

where

ρt

is an observed measurement at an arbitrary epoch

t

. In Orekit library, both the observation matrix and the

state transition matrix are calculated using the automatic

differentiation technique, which is detailed in the next

section.

2.3. Computing the state transition matrix with

automatic differentiation

Automatic differentiation is a set of techniques to avoid the

analytical calculation of the derivatives of long equations.

It relies on the fact that every computer program is

decomposed as a sequence of elementary arithmetic

operations (i.e. addition, subtraction, etc.), elementary

functions (i.e; exp, sin, cos, etc.), and control ﬂow

statements [

11

]. The calculation of the derivatives is

accurate to the precision of the computer system. For

instance, if

Yi

denotes an orbital element (e.g. the

eccentricity of the orbit), automatic differentiation gives

all

Yi

derivatives with respect to any parameter (i.e. orbital,

dynamic, or measurement parameters) by using only the

analytical expression of

Yi

. The partial derivatives are

stored in an array where the ﬁrst element is the value

of the parameter and the other elements are its partial

derivatives, as represented in Equation 6.

[Yi∂Yi/∂Y1∂Yi/∂Y2· · · ∂Yi/∂Y6](6)

As a result, automatic differentiation is used to

automatically differentiate all the simpliﬁed equations

of SGP4 and SDP4 algorithms in order to build the

state transition matrix needed by the orbit determination

process. Automatic differentiation is also used to

calculate the observation matrix

H

. Indeed, during

the measurements estimation, the partial derivatives

are calculated simultaneously with the value of

the measurements thanks to automatic differentiation

technique.

3. TLE ORBIT DETERMINATION RESULTS

Once the method is implemented, it remains to be tested

against real data. GNSS (Global Navigation Satellite

System) satellites are interesting because of the availability

of measurements and precise ephemeris. Data are freely

provided by the IGS. A satellite was chosen to simulate

a full orbit determination test case, with wisely selected

measurement stations along orbit ground track. Then, a

robustness test was performed on several GNSS satellites,

with more or less degraded conditions.

3.1. GPS IIR-M 6 test

In order to validate the process on a real operational case,

satellite GNSS IIR-M 6, NORAD ID 32711, is studied.

Considered measurement arc and stations are given on

Figure 2. First guess of the Orbit Determination process

is the following Space-Track.org TLE:

1 32711U 08012A 16044.40566026 -.00000039 00000-0 00000+0 0 9991

2 32711 55.4362 301.3402 0091577 207.7302 151.8353 2.00563580 58013

IGS SP3 high precision ephemeris are considered as

the reference for the spacecraft position [

12

]. The

measurements are also taken from IGS products. They

allowed to gather 8211 pseudo-range measurements on a

5h30m arc [13].

Three conﬁgurations are tested. Firstly, only the

six orbital parameters are estimated during the Orbit

Determination process. Then, the B* coefﬁcient is added

to the set of estimated parameters. A more classical

numerical Orbit Determination is ﬁnally performed for

comparison. The force models of the latter are ﬁtted on

SDP4. During the computation, drag coefﬁcient is also

estimated. In all three cases, ionospheric and tropospheric

pseudo range biases are also estimated [14].

The analytical method computations return two new

TLEs, that can be immediately propagated by usual

SGP4/SDP4 algorithms. B* is not estimated to produce

the ﬁrst, however, it is in the second. They are given

thereafter:

1 32711U 08012A 16044.40566026 -.00000039 00000-0 00000-0 0 9992

2 32711 55.4358 301.3401 0091593 207.7154 151.8480 2.00564373 58012

1 32711U 08012A 16044.40566026 -.00000039 00000-0 -13229+5 0 9994

2 32711 55.4358 301.3400 0091600 207.7008 151.8629 2.00564891 58018

The process clearly evolved orbital parameters.

When estimated, the B* coefﬁcient value seems far too

high. It is usually few

10−1

at most against

104

in this

case. Propagation will show either if this estimation is

appropriate or overestimated.

Relevant ﬁgures about the outputs of the different

runs are provided in Table 1. This test highlights that

analytical TLE Orbit Determination provides a signiﬁcant

enhancement for the spacecraft position knowledge

compared to the initial TLE. Indeed, estimated TLEs

are about an order of magnitude more accurate than the

original.

Measurement residuals are presented in Figure 3.

As expected, dispersion is greater with SDP4 usage, yet,

the calculations still manage to oncentrate the residuals

around zero. This reﬂects the correct behavior of the

Batch Least Square while using analytical propagation.

Analytical method remains less accurate than the

numerical. However, with respect to the batch least

square number of state evaluations, the analytical Orbit

Determination is faster than the numerical.

Stability of the algorithm is assessed studying Root Mean

Square error along the Orbit Determination steps. They

are given for all the three runs in Figure 4. Indeed, RMS

evolution is regular, and does not present any monotony

variation. The orbital state clearly always evolve toward a

better estimation of the measured object.

To complete the study and ensure that the new TLEs

are truly closer to real orbit, propagation comparison is

performed. Once again, the reference orbit is taken from

IGS SP3 ephemeris. Propagation does not exceed the

13th of February 2016 because of discontinuities between

two SP3 ﬁles [

15

]. Results are presented in Figure 5.

Clearly, orbit knowledge is improved not only at the

Orbit Determination epoch, but on 20-hour time span.

Considered that a TLE is usually generated every orbit,

i.e. about 12 hours in a GNSS case, the satellite position

accuracy can always be improved. Minimum position

error is achieved at median measurement epoch, it reaches

few ten meters against about 600 meters for the original

TLE.

3.2. Expansion and robustness

A ﬁnal robustness test is performed. It consists in several

TLEs analytical Orbit Determinations on different GPS

satellites, using the same set of measurement stations and

arc than the GPS IIR-M 6 case. Therefore, measurements

may not be suited for all orbits. The aim is to appreciate

how stiff the process is while dealing with data of various

quality. In all cases, it is chosen not to estimate the

B* coefﬁcient but still tropospheric and ionospheric

pseudo range biases. Results are provided in Table 2.

In a nutshell, 9 out of 14 test cases show a position

accuracy enhancement after TLE Orbit Determination is

performed. Most part of the improvements are beyond

50% gain in position precision. Failing cases correspond

to degraded Orbit Determination conditions. Indeed,

either the computation epoch is out of measurement arc

(G09, G19), or the number of measurements is quite

low (G15, G22). However, the algorithm still works out

for some cases with same issues, such as G02 or G06.

It is not obvious to conclude about the robustness, and

precisely characterize how inputs shall be to perform the

analytical TLE Orbit Determination. Still, the method

perfectly acts with regular Orbit Determination conditions,

i.e. signiﬁcant number of measurements well spread

around computation time.

4. CONCLUSION

The presented tests demonstrate that the analytical Orbit

Determination based on the SDP4 model truly improves

the accuracy of public TLE. Witnessed enhancement is

up to an order of magnitude on a GPS satellite position

accuracy at Orbit Determination epoch, and even more

when propagated. Moreover, the method produced a real

TLE that can be used as any NASA and NORAD data.

Orekit is even able to build a corresponding OMM (Orbit

Mean Message) to address other user needs.

5. FUTURE WORK

Computation time is yet to be improved for the method

to be useful for massive catalog management. As a

matter of fact, the most part of the calculation time,

with numerical or analytical method, is spent in frame

conversion. They are performed for each measurement

at each Batch Least Square step. This explains that with

a lot of measurements, analytical method is hardly faster

than numerical. Orekit community is about to solve this

issue, then the previous test cases should be run again to

experience the computation time gain.

Orbit Determination using an analytical propagator

coupled with automatic differentiation still seems to be a

promising method to manage huge space object catalogs.

Implementing it successfully within the Orekit library

with the TLE models encourages to extend the method to

other analytical propagators. Though, Eckstein-Hechler or

Brouwer-Lyddane models could also be used to perform

fast and adapted Orbit Determinations. This work would

enlarge Orekit capabilities in term of Orbit Determination

and its applications.

ACKNOWLEDGMENT

Authors would like to acknowledge Mr. Maxime Journot,

Mr. Luc Maisonobe and Mr. Pascal Parraud, all from CS

GROUP, Space division, France. Technical discussions

with them provided a signiﬁcant and valuable help to

implement this analytical Orbit Determination method in

the Orekit library.

TABLES AND FIGURES

Table 1. TLE analytical and numerical Orbit Determination results on GPS IIR-M 6 case. Errors are given at Orbit

Determination epoch, which is also ﬁrst guess TLE time.

Only orbital

parameter

estimation

B* and orbital

parameter

estimation

Numerical

orbit determination

First guess error with

respect to reference (m) 914.4 914.4 914.4

Result error with

respect to reference (m) 111.2 130.9 64.2

Position

improvement 87.2% 85.7% 93.0%

Residual

mean (m) 3.52 2.20 -1.9e-3

Residual standard

deviation (m) 7.23 3.95 1.10

State evaluation

count 5 9 4

Computation

time (s) 36.6 65.3 32.9

Table 2. TLE analytical and numerical Orbit Determination results on multiple GPS satellite cases. Errors are given

at Orbit Determination epoch, which is also ﬁrst guess TLE time. Green colored lines correspond to cases with posi-

tion accuracy enhancement compared to the initial TLE. In red, Orbit Determination does not lead to a better position

knowledge.

Figure 1. SGP4 and SDP4 analytical propagation force models. SGP4 is to be used when object orbital period is lower

than 225 minutes. SDP4 should be applied either.

Figure 2. GPS II R-M 6 ground track during measurement arc. Satellite goes from West to East. The arc starts on the

13th of February 2016 at 08:30:00 UTC and lasts 5h30min. Ground stations used for the Orbit Determination are also

represented.

Figure 3. Measurement residuals after numerical (at the top) and analytical TLE Orbit Determination (both at the middle

and the bottom). A GNSS satellite was considered along with related pseudo range measurements.

Analytical Orbit Determination was perform twice. Firstly estimating only orbital parameters (at the middle). Then, the

B* model parameter was also estimated (at the bottom).

Stations: BADG in blue, BSHM in red, POLV in green, SUTH in yellow, TLSE in light blue, ZECK in purple.

Black vertical line is Orbite Determination ﬁrst guess epoch.

Figure 4. Estimated state Root Mean Square error along Orbit Determination iteration.

In yellow, numerical Orbit Determination

In blue, TLE Orbit Determination without B* estimation

In red, TLE Orbit Determination with B* estimation

Figure 5. SDP4 analytical propagation of GPS II R-M 6 original and determined TLEs. First guess epoch is 2016/02/13

09:44:09 UTC. Reference orbit is ISG SP3 ephemeris product for the 13th of March 2016.

In yellow, original TLE

In blue, determined TLE without B* estimation

In red, determined TLE with B* estimation

REFERENCES

1.

Gottlieb R. G., Sponaugle S. J. , and Gaylor D. E.

(2001). Orbit determination accuracy requirements for

collision avoidance, Proceeding of the 11th Annual

AAS/AIAA Space Flight Mechanics Meeting, 1105–1121

2.

Vallado D. A., and Cefola P. J., (2012). 63rd

International Astronautical Congress, Two-line element

sets–practice and use

3.

Kelecy T., Hall D., Hamada K., and Stocker D.

(2007). Proceedings of the Advanced Maui Optical and

Space Surveillance Technologies Conference, Satellite

maneuver detection using Two-line Element (TLE) data

4.

Doornbos E., Klinkrad H., and Visser P. (2008). Use of

two-line element data for thermosphere neutral density

model calibration Advances in Space Research,

41

(7),

1115–1122

5.

Maisonobe, L., Parraud, P., Journot, M., and

Alcarraz-Garcia, A. (2018). Multi-satellites Precise

Orbit Determination, an adaptable open-source

implementation. In 2018 SpaceOps Conference (p.

2622)

6.

Cazabonne B., and Cefola P. J. (2021). Towards

Accurate Orbit Determination using Semi-analytical

Satellite Theory, AAS Paper 21-309, 31st AAS/AIAA

Space Flight Mechanics Meeting

7.

Maisonobe L., Pommier V., and Parraud P. (2010).

Orekit: an open-source library for operational ﬂight

dynamics applications, Proceedings of the 4 th

International Conference of Astrodynamics Tools and

Techniques

8.

Maisonobe L., Cefola P. J., Frouvelle N., Herbini

`

ere S.,

Laffont F. X., Lizy-Destrez S., and Neidhart T. (2008).

Open governance of the Orekit space ﬂight dynamics

library, Proceedings of the 5 th International Conference

of Astrodynamics Tools and Techniques.

9.

Hoots, Felix R., and R. L. Roehrich (1980). Spacetrack

report #3 : Models for propagation of the norad element

sets. In U.S. Air Force Aerospace Defense Command,

1980.

10. Schutz B., Tapley B., and Born G. (2004). Statistical

orbit determination, Elsevier

11.

Vassilev V., Efremov A., and Shadura O. (2020).

Automatic Differentiation in ROOT, arXiv pre-print

arXiv:2004.04435

12.

Grifﬁths, J., and Ray, J. R. (2009). On the precision

and accuracy of IGS orbits. Journal of Geodesy, 83(3-4),

277-287.

13.

Teunissen P. and Montenbruck O. (2017). Springer

handbook of global navigation satellite systems.

Springer.

14.

Cazabonne B., and Maisonobe L. (2020). Improve

GNSS Orbit Determination by using Estimated

Tropospheric and Ionospheric Models. In 2020

IEEE/ION Position, Location and Navigation

Symposium (PLANS) (pp. 1514-1523). IEEE.

15.

Feng Y. and Zheng Y. (2005). Efﬁcient interpolations

to gps orbits for precise wide area applications. GPS

Solutions, 9(4) :273–282