Estimating an orbit, how do I determine step size, etc.? What are assumptions that should be made

I have GPS data that consists of around 30 positions of a satellite over a day. They are seperated by anywhere from 30 mins to an hour. The satellite would be a cube sat in LEO. I want to estimate its orbit for the next day or so, what are things I should think about? Are there forces that I can ignore or should I model drag, solar radiation, etc.? One issue I had was that I was choosing points for the initial orbit that resulted in an orbit that was inside the Earth, how should I go about choosing those points? Randomly until I get something that works?

Hi @tru3anomaly and sorry for the delay,

I’m far from being even remotely close to an expert in orbit determination but I think that I can give you some tips on your problem:

  • Add a high order/degree Earth potential model (you can try 16x16, 32x32, 64x64)
  • Depending on how well you know the mentioned cubesat, you can add force models with its characteristics. For example, you could add the solar radiation pressure if you have a good model. Otherwise, I suggest you only add the drag so that the drag coefficient can be used as a variable by the algorithm. It will change its value to best fit your measurements (sometimes leading to funny situtation with Cx being negative).
  • I would also add Moon and Sun perturbations as they are non-negligible
  • Tides forces can also be added

Your issue with choosing points puzzles me, you can use several methods to compute an initial guess but I find it strange that it gives you an initial orbit inside the Earth ? Could you provide us your code so that we can take a look at it ?


Hey there,

I would suggest to read about numerical propagation and orbital perturbations. A good reference is Vallado’s textbook, who’s also done a tutorial available online.


Hi @Serrof,

Thank you for the tutorials ! I’m also going to do it :+1:.