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

Re: [Orekit Developers] Ephemeris Mode & AbstractPropagator



Good morning,

I make the remark that the TLE propagator as was widely discussed by its users is based on the Brouwer algorithm from 1959.

The attached paper from 1996 is about the use of the tesseral m-daily portion of the DSST theory to improve the accuracy of a TLE-type theory. In fact the accuracy was improved from the 1 km error typical of TLE theories to 100 to 200 meters.

The attachment provides more recent insight about the computational architectures for TLE-type propagators.

Dan Fonte was a graduate student for me. For his thesis, he worked on extending the DSST to include 50 x 50 geopotential models. See

http://dl.dropbox.com/u/1933567/Fonte_MS_Thesis_FINAL.pdf

Fonte also was responsible for the port of the GTDS orbit determination program to the Intel PC around 1994. This work was important because it extended the recursive approach.

Thomas, can you vector to me to some tutorial material on the web tools you use to build the Satellite Tracker? Thank you.

regards,

Paul

Dr. Paul J. Cefola
Adjunct Professor, Dept. Of Mechanical and Aerospace Engineering, University at Buffalo (SUNY)
Consultant in Aerospace Systems, Spaceflight Mechanics,&  Astrodynamics
508-696-1884 (Vineyard Haven MA home phone)
978-201-1393 (cell)

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


On 4/1/2012 5:29 AM, MAISONOBE Luc wrote:
Thomas Neidhart <thomas.neidhart@gmail.com> a écrit :

Hi,

Hello Thomas,


I used the ephemeris mode for the TLEPropagator, but after digging more
into this, I realized that this mode is more or less working in the same
way as the slave mode.

The AbstractPropagator only returns a wrapper class
(BoundedPropagatorView) for itself when calling getGeneratedEphemeris.
So if I understand it correctly, there is no real benefit in using the
ephemeris mode for any propagator derived from AbstractPropagator at the
moment?

Yes, except if the method is overriden by a concrete class.

The rationale behind this strange behaviour is related to performances. For numerical propagators, performing a complete propagation may be CPU internsive. In this case, we save the intermediate state in an ephemeris that is built on the fly and we reuse it later. It is a trade-off between computation time and memory consumption. In this case, the computation comes first and the ephemeris is a by-product. For analytical propagators, the reverse is true. Computation is very cheap so there is really no need to waste memory by storing results, it is more efficient to recompute everything. In this case there are no differences between propagation and ephemeride use.

However, it seems important to let the user still have all these features available regardless of the underlying propagator. So user may select either a numerical or an analytical propagator and use either direct computation (mainly if he wants to do a single pass from start to end) or ephemeris (mainly if he needs to go back to some dates or navigate back and forth, for example in a search algorithm).

The boundaries betwwen these two modes is blurred in the case of DSST which is a semianalytical model. If I remember well, Pascal did set up a smart mechanism to build ephemeris as propagation goes on, and reuse it at the same time. this means that if you propagate from t0 to t2 it builds an internal ephemeris, then if you go back to t1 (between t0 and t2) it will see it already has the required data and will use its ephemeris, and if you then go to t3 it will jump to t2, then propagate to t3 storing the results at the same time.

From user point of view, all propagators provide the same features, and all of them are as fast as they can be.

best regards,
Luc


Thomas





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



Attachment: AIAA 96-3606.pdf
Description: Adobe PDF document