Hi all,
I’m implementing a kalman filter for orbit determination using the Python wrapper. I have managed to set everything up, but wanted some clarification a few things. I’m having trouble interpreting some of the results, and really wanted to make sure I’m using it correctly.
Kalman Observer
: would it be correct to say that the use of this class is solely so that a user can access the KalmanModel and get the various states, matrices etc?
On the other hand, the Propagator which is returned when you run KalmanEstimator.estimationStep()
: What does this propagator actually signify? Is it a corrected trajectory based on only the latest kalman estimate?
The doubt: Based on my understanding of the propagator, if we have a measurement at time “t”, and the we get an updated propagator “prop” when passing this measurement in estimationStep()
, then:
-
KalmanModel.getCorrectedMeasurement().getEstimatedValue()
; and prop.propagate(t).getPVCoordinates()
Should give the exact same state (or PV), which is the latest Kalman estimate? However, when I use both methods, I get different results. Both converge, but their behavior in the start varies quite a bit, with the getEstimatedValue()
value shooting up before settling down.
Based on the documentation, I know that the first way is the correct way to get the latest kalman estimate. I just wanted to understand how the updated propagator is different, and why exactly it would be wrong to use it to get a kalman estimate. Am I missing something?
My last question is on a related note: what does getPredictedMeasurement()
perform? What is the difference in predicted/corrected in this case, and how do they both differ from using the propagator itself?
Thanks in advance for any help.
Sincerely,
Spike