Hi eveyone,
Sorry to bother you again. I was wondering if there is any way to sequentially estimate the orbit using least squares.
Since I have a constellation with lots of satellites, which are connected by ISL, there would be a lot of parameters need to be determined as well as observations. Thus, the design matrix (Jacobian) of least squares method is huge. And when I used batch least squares to estimate, I often met “ran out of memory” error, even though I have increased heap memory.
In stead of estimating all observations at the same time, is there any way to sequentially calculate the jacobian of each observation and update the normal equation? Since the observations are independent of each other, theoretically it is possible to split them and calculate jacobians, normal equation matrices and normal equations separately. Then by summing these normal equation matrices and normal equations up, it could get the same results as the batch LSE.
In this way it only needs to save one normal equation matrix and updates it accordingly. This would save a lot of space, though it might lose some parameters (like jacobian matrix).
I realize there is Kalman filter available for sequential estimation, but if possible I would prefer using LSE. Therefore, I wonder if this method could be implemented through orekit somehow? Or at least is there anyway to extract jacobian before doing BatchLSEstimator.estimate()? So I may try to implement it myself somehow.
Thank you a lot!
Xingchi