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
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.