Package org.orekit.estimation.sequential
Class SemiAnalyticalUnscentedKalmanEstimator
java.lang.Object
org.orekit.estimation.sequential.AbstractKalmanEstimator
org.orekit.estimation.sequential.SemiAnalyticalUnscentedKalmanEstimator
- All Implemented Interfaces:
ParameterEstimator
Implementation of an Unscented Semi-analytical Kalman filter (USKF) to perform orbit determination.
The filter uses a DSSTPropagatorBuilder.
The estimated parameters are driven by ParameterDriver objects. They are of 3 different types:
- Orbital parameters:The position and velocity of the spacecraft, or, more generally, its orbit.
These parameters are retrieved from the reference trajectory propagator builder when the filter is initialized. - Propagation parameters: Some parameters modeling physical processes (SRP or drag coefficients etc...).
They are also retrieved from the propagator builder during the initialization phase. - Measurements parameters: Parameters related to measurements (station biases, positions etc...).
They are passed down to the filter in its constructor.
The Kalman filter implementation used is provided by the underlying mathematical library Hipparchus. All the variables seen by Hipparchus (states, covariances...) are normalized using a specific scale for each estimated parameters or standard deviation noise for each measurement components.
An SemiAnalyticalUnscentedKalmanEstimator object is built using the build
method of a SemiAnalyticalUnscentedKalmanEstimatorBuilder.
- Since:
- 11.3
- Author:
- Gaƫtan Pierre, Bryan Cazabonne
-
Method Summary
Modifier and TypeMethodDescriptionprotected KalmanEstimationGet the provider for kalman filter estimations.protected KalmanFilter<MeasurementDecorator> Get the Hipparchus filter.Get the observer.protected double[]getScale()Get the parameter scaling factors.processMeasurements(List<ObservedMeasurement<?>> observedMeasurements) Process a single measurement.voidsetObserver(KalmanObserver observer) Set the observer.Methods inherited from class org.orekit.estimation.sequential.AbstractKalmanEstimator
getBuilders, getCurrentDate, getCurrentMeasurementNumber, getEstimatedMeasurementsParameters, getMatrixDecomposer, getPhysicalEstimatedCovarianceMatrix, getPhysicalEstimatedState, getPropagatorBuilders, getReferenceDateMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.orekit.estimation.ParameterEstimator
getOrbitalParametersDrivers, getPropagationParametersDrivers
-
Method Details
-
getKalmanEstimation
Get the provider for kalman filter estimations..- Specified by:
getKalmanEstimationin classAbstractKalmanEstimator- Returns:
- the provider for Kalman filter estimations
-
getKalmanFilter
Get the Hipparchus filter..- Specified by:
getKalmanFilterin classAbstractKalmanEstimator- Returns:
- the filter
-
getScale
protected double[] getScale()Get the parameter scaling factors..- Specified by:
getScalein classAbstractKalmanEstimator- Returns:
- the parameters scale
-
setObserver
Set the observer..- Overrides:
setObserverin classAbstractKalmanEstimator- Parameters:
observer- the observer
-
getObserver
Get the observer..- Overrides:
getObserverin classAbstractKalmanEstimator- Returns:
- the observer
-
processMeasurements
Process a single measurement.Update the filter with the new measurement by calling the estimate method.
- Parameters:
observedMeasurements- the list of measurements to process- Returns:
- estimated propagators
-