[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Orekit Users] Converting a State Vector to a TLE



Hi all,

paulcefo <paulcefo@buffalo.edu> a écrit :

Petrus,

Darrell Herriges considered the least squares fit of both GP4 and the DSST (as it existed at that time) to numerical integration. Both GP4 and DSST were options in the MIT version of the GTDS program.

It would be a good thing if Matt took a look at the Herriges document.

The process of fitting an analytical theory to numerical integration orbit was originally developed at the Goddard Space Flight Center and had the name "Precise Conversion of Elements" or PCE. Initially the PCE process was used to generate Brouwer mean elements for numerical trajectory over a finite time span.

I know Darrell Heriges' thesis well as I was his thesis supervisor.

Darrell is now USAF Col (ret'd).

More recently we have been developing a Standalone DSST Orbit Determination Program which relies on the same library as the Standalone DSST Orbit Propagator.

Paul

--
Dr. Paul J. Cefola
Consultant in Aerospace Systems, Spaceflight Mechanics, & Astrodynamics
Adjunct Faculty, Dept. of Mechanical and Aerospace Engineering, University at Buffalo (SUNY)

4 Moonstone Way
Vineyard Haven, MA 02568
USA

508-696-1884 (phone on Martha's Vineyard)
978-201-1393 (cell)

paulcefo@buffalo.edu
paul.cefola@gmail.com

On 11/15/2014 11:33 am, Petrus Hyvönen wrote:
Hi Matt and Paul,

I?m happy if you continue this discussion on the list, this is an
area I have wondered too how to do well.

I have an example of a conversion from Keplerian, which I think as
well can be definied initially by state vector, online visible at:
http://nbviewer.ipython.org/urls/dl.dropboxusercontent.com/u/164808/TLE%20Generation%20Example.ipynb
[1]

(it?s in python but a very near java)

My example is partly based on the test example in the orekit source.
Is this a good way to do it, and I assume that is the same question as
you Matt have?

Note also that Orekit provides a direct implementation of the process Paul explained in detail above. You can look at org.orekit.propagation.conversion package and more precisely at the PropagatorConvertor and its implementations.

There is an example for TLE in the unit tests, in the TLEConvertorTest.java file.

This code is based on a contribution made a few years ago by Telespazio and enhanced by Pascal who generalized it so it can support any type of propagators.

best regards,
Luc


Not sure if I follow your description fully Paul, but the special
perturbations you are referring to, are they the ones in the paper at
the orekit site?
https://www.orekit.org/forge/.../MIT_Herriges_SM_Thesis_1988.pdf [2]

Best regards
/Petrus

On 14 Nov 2014, at 23:43 , paulcefo <paulcefo@buffalo.edu> wrote:

Matt,

There is a well established way to do this.

1. you should use the state vector as the initial condition in a
Special Perturbation (numerical integration) orbit propagation. If
you are considering a LEO orbit, the time interval for the Special
Perturbation orbit propagation should be at least 3 or 4 days. You
should record the position velocity on a fine grid (say every few
minutes).

The 3 or 4 day interval is dictated by the desire to make the
integration span long relative to the periodic terms that are
neglected in the GP4 theory that is the basis for the TLE.

2. use a least squares process (differential correction) to fit the
GP4 theory to the position and velocity that you created with the
Special Perturbation orbit propagator.

The results of this least squares process will a set of TLE.

There are lots of fine details to be discussed.

There are documents and software that describe and demonstrate this
approach.

The DSST satellite theory is quite ... different ... from GP4.

Send me a note and we can discuss.

regards,

Paul Cefola

--
Dr. Paul J. Cefola
Consultant in Aerospace Systems, Spaceflight Mechanics, &
Astrodynamics
Adjunct Faculty, Dept. of Mechanical and Aerospace Engineering,
University at Buffalo (SUNY)

4 Moonstone Way
Vineyard Haven, MA 02568
USA

508-696-1884 (phone on Martha's Vineyard)
978-201-1393 (cell)

paulcefo@buffalo.edu
paul.cefola@gmail.com

On 11/14/2014 3:01 pm, matthew.darden@solers.com wrote:

Hi,
I have to take a state vector (in this case a PVCoordinates and
AbsoluteDate)
and convert it into a TLE (or rather orbital elements that I can
make a TLE
from). I know the answer will never be very good, but I have to do
it. Is
there a good way to make this conversion?
I know that I can just get what I need by creating a
KeplerianOrbit from what
I have, but those values are osculating and I need the mean
orbital elements
if I want the answer to be anywhere near correct. I tried using
OsculatingToMeanElementsConverter with a DSST propagator using
different force
models, but nothing really made any difference.
As a test case I took a random TLE, got the PVCoordinates at the
time the TLE
was created (so that it would be as accurate as possible) and
passed those
into my method. Which should spit out a generic TLE with orbital
values close
to the originals. To test how close the two orbits truly are, I
simply
propagated them both every 10 minutes for a 24 hour period,
checking the
distance between the two points.
Thank you,
Matt



Links:
------
[1]
http://nbviewer.ipython.org/urls/dl.dropboxusercontent.com/u/164808/TLEGenerationExample.ipynb
[2] https://www.orekit.org/forge/.../MIT_Herriges_SM_Thesis_1988.pdf




----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.