Hello to Orekit community,
I am working on orbit determination using BLS algorithm with real RADEC measurements. (using python wrapper)
I was wondering how was handled the rejected measurements when computing residuals and jacobians using the getOptimum() function after the OD.
To set up an example with rejected measurements, I put the “radecOutlierRejectionMultiplier” = 1 and “radecOutlierRejectionStartingIteration” = 0, the OD seems to succesfully converge with 679 rejected measurments on a 1190 batch.
Then I use the getOptimum() method to fetch the Jacobian, the weighted residuals and the RMS value. The jacobian has 679*2 lines with only zeros which I guess are corresponding to the 679 rejected RADEC measures. Same observation with the residuals. When I am computing the RMS, I noticed that the value returned by the optimum.getRMS() method return a rms value that include the rejected measurements as if their residues are zero. In my example, the sum of the squared residuals are divided by 2380 ( instead of 1022 ?).
So my question is : Is is a normal behaviour ? If I am understanding right what is happening, it is like we are considering the rejected measures as “perfect” (residus = 0 ) when computing the RMS. Maybe there is a trick as they are weigthed residus ?
Don’t hesitate to correct me if there is an error in my understanding or if my example is not revelant.
Best regards and thank you for your answer !