Hi, I am using Orekit for OD. I want to make measurement data(GPS Pointing Solution, PV) and check this before OD to compare with other program with the same data.
Is it possible to make measurement data applied bias, noise and etc,.
Hi, I am using Orekit for OD. I want to make measurement data(GPS Pointing Solution, PV) and check this before OD to compare with other program with the same data.
Is it possible to make measurement data applied bias, noise and etc,.
Hi raycarter,
It is possible to generate measurement data with biases, noise, tropospheric effect and everything you want. You can have a look at the estimation documentation, there is a section about the measurement generation architecture with a complete (and complex) class diagram.
Basically, you set up a Generator
and add to it as many Scheduler
that you want, each one being able to generate measurements of one type with one specific scheduling. As an example generating Range
measurements from one ground station requires the station to see the spacecraft whereas generating PV
measurements can be done continuously at some user-defined rate. When a Scheduler
is built, it relies on a MeasurementBuilder
(RangeBuilder
, PVBuilder
…) and you can add as many EstimationModifier
instances to it as you want (just as you would add them to an ObservedMeasurement
prior to the orbit determination itself) so there effects are included in the generated measurements. So you can add consider a bias by just adding a Bias
instance to your measurement builder.
Orekit does not yet provide a generic NoiseModifier
in the same spirit as Bias
but it would clearly be a good addition (an easy one to make). Could you open a feature request in our issue tracker so we don’t forget about it? You can also contribute one if you want.
Does this add a constant bias, or does the bias modifier draw from the random number generator provided to the measurement builder? It sounds like you’re saying a NoiseModifier is needed in order to have a random bias, such as an exponentially correlated random variable.
Hi @autumnsault,
The Bias
modifier adds a constant bias.
The random noise addition exists in the measurement generation package, see the attribute CorrelatedRandomVectorGenerator noiseSource
in class AbstractMeasurementBuilder.
I think what Luc is saying is that instead of having it as an attribute in the class we could have it as an EstimationModifier
, in the same fashion as we have the Bias modifier.
I think it is more a question of improving the architecture and modularity of Orekit’s measurement package rather than adding a feature that doesn’t exist yet.
Am I right @luc ?
Maxime
But white noise has different properties than a non-constant bias, typically. Is it possible to add both using a random generator?
Yes, this is what I suggest.
The constructor for the CorrelatedRandomVectorGenerator
that AbstractMeasurementBuilder
expect can have a non-zero mean that you can use as a bias if you want to have both bias and noise implemented by the same object.