Package org.orekit.estimation.sequential
Class SemiAnalyticalUnscentedKalmanModel
java.lang.Object
org.orekit.estimation.sequential.SemiAnalyticalUnscentedKalmanModel
- All Implemented Interfaces:
UnscentedProcess<MeasurementDecorator>,KalmanEstimation,SemiAnalyticalProcess
public class SemiAnalyticalUnscentedKalmanModel
extends Object
implements KalmanEstimation, UnscentedProcess<MeasurementDecorator>, SemiAnalyticalProcess
Class defining the process model dynamics to use with a
SemiAnalyticalUnscentedKalmanEstimator.- Since:
- 11.3
- Author:
- Gaƫtan Pierre, Bryan Cazabonne
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedSemiAnalyticalUnscentedKalmanModel(DSSTPropagatorBuilder propagatorBuilder, CovarianceMatrixProvider covarianceMatrixProvider, ParameterDriversList estimatedMeasurementParameters, CovarianceMatrixProvider measurementProcessNoiseMatrix) Unscented Kalman process model constructor (package private). -
Method Summary
Modifier and TypeMethodDescriptionvoidfinalizeEstimation(ObservedMeasurement<?> observedMeasurement, ProcessEstimate estimate) Finalize estimation.voidFinalize estimation operations on the observation grid.Get the estimated measurement.Get the corrected spacecraft states.Get the current date.intGet the current measurement number.Get the current corrected estimate.Get the list of estimated measurements parameters.Get the list of estimated orbital parameters.Get the list of estimated propagation parameters.Get the propagator estimated with the values set in the propagator builder.getEvolution(double previousTime, RealVector[] sigmaPoints, MeasurementDecorator measurement) getInnovation(MeasurementDecorator measurement, RealVector predictedMeas, RealVector predictedState, RealMatrix innovationCovarianceMatrix) intGet the number of estimated measurement parameters.intGet the number of estimated orbital parameters.intGet the number of estimated propagation parameters.Get the observer for Kalman Filter estimations.Get the "physical" estimated covariance matrix (i.e. not normalized)Get the "physical" estimated state (i.e. not normalized)Get the physical innovation covariance matrix.Get the physical Kalman gain matrix.Get the physical Jacobian of the measurement with respect to the state (H matrix).Get physical state transition matrix between previous state and estimated (but not yet corrected) state.Get the predicted measurement.getPredictedMeasurements(RealVector[] predictedSigmaPoints, MeasurementDecorator measurement) Get the predicted spacecraft states.getProcessNoiseMatrix(double previousTime, RealVector predictedState, MeasurementDecorator measurement) voidinitializeShortPeriodicTerms(SpacecraftState meanState) Initialize the short periodic terms for the Kalman Filter.processMeasurements(List<ObservedMeasurement<?>> observedMeasurements, UnscentedKalmanFilter<MeasurementDecorator> filter) Process measurements.voidsetObserver(KalmanObserver observer) Set the observer.voidUpdate the nominal spacecraft state.voidUpdate the DSST short periodic terms.
-
Constructor Details
-
SemiAnalyticalUnscentedKalmanModel
protected SemiAnalyticalUnscentedKalmanModel(DSSTPropagatorBuilder propagatorBuilder, CovarianceMatrixProvider covarianceMatrixProvider, ParameterDriversList estimatedMeasurementParameters, CovarianceMatrixProvider measurementProcessNoiseMatrix) Unscented Kalman process model constructor (package private).- Parameters:
propagatorBuilder- propagators builders used to evaluate the orbits.covarianceMatrixProvider- provider for covariance matrixestimatedMeasurementParameters- measurement parameters to estimatemeasurementProcessNoiseMatrix- provider for measurement process noise matrix
-
-
Method Details
-
getObserver
Get the observer for Kalman Filter estimations.- Specified by:
getObserverin interfaceSemiAnalyticalProcess- Returns:
- the observer for Kalman Filter estimations
-
setObserver
Set the observer.- Parameters:
observer- the observer
-
getEstimate
Get the current corrected estimate.For the Unscented Semi-analytical Kalman Filter it corresponds to the corrected filter correction. In other words, it doesn't represent an orbital state.
- Returns:
- current corrected estimate
-
processMeasurements
public DSSTPropagator processMeasurements(List<ObservedMeasurement<?>> observedMeasurements, UnscentedKalmanFilter<MeasurementDecorator> filter) Process measurements.- Parameters:
observedMeasurements- the list of measurements to processfilter- Unscented Kalman Filter- Returns:
- estimated propagator
-
getEstimatedPropagator
Get the propagator estimated with the values set in the propagator builder.- Returns:
- propagator based on the current values in the builder
-
getEvolution
public UnscentedEvolution getEvolution(double previousTime, RealVector[] sigmaPoints, MeasurementDecorator measurement) - Specified by:
getEvolutionin interfaceUnscentedProcess<MeasurementDecorator>
-
getProcessNoiseMatrix
public RealMatrix getProcessNoiseMatrix(double previousTime, RealVector predictedState, MeasurementDecorator measurement) - Specified by:
getProcessNoiseMatrixin interfaceUnscentedProcess<MeasurementDecorator>
-
getPredictedMeasurements
public RealVector[] getPredictedMeasurements(RealVector[] predictedSigmaPoints, MeasurementDecorator measurement) - Specified by:
getPredictedMeasurementsin interfaceUnscentedProcess<MeasurementDecorator>
-
getInnovation
public RealVector getInnovation(MeasurementDecorator measurement, RealVector predictedMeas, RealVector predictedState, RealMatrix innovationCovarianceMatrix) - Specified by:
getInnovationin interfaceUnscentedProcess<MeasurementDecorator>
-
finalizeEstimation
public void finalizeEstimation(ObservedMeasurement<?> observedMeasurement, ProcessEstimate estimate) Finalize estimation.- Specified by:
finalizeEstimationin interfaceSemiAnalyticalProcess- Parameters:
observedMeasurement- measurement that has just been processedestimate- corrected estimate
-
finalizeOperationsObservationGrid
public void finalizeOperationsObservationGrid()Finalize estimation operations on the observation grid.- Specified by:
finalizeOperationsObservationGridin interfaceSemiAnalyticalProcess
-
getEstimatedOrbitalParameters
Get the list of estimated orbital parameters.- Specified by:
getEstimatedOrbitalParametersin interfaceKalmanEstimation- Returns:
- the list of estimated orbital parameters
-
getEstimatedPropagationParameters
Get the list of estimated propagation parameters.- Specified by:
getEstimatedPropagationParametersin interfaceKalmanEstimation- Returns:
- the list of estimated propagation parameters
-
getEstimatedMeasurementsParameters
Get the list of estimated measurements parameters.- Specified by:
getEstimatedMeasurementsParametersin interfaceKalmanEstimation- Returns:
- the list of estimated measurements parameters
-
getPredictedSpacecraftStates
Get the predicted spacecraft states.Predicted state is osculating.
- Specified by:
getPredictedSpacecraftStatesin interfaceKalmanEstimation- Returns:
- predicted spacecraft states
-
getCorrectedSpacecraftStates
Get the corrected spacecraft states.Corrected state is osculating.
- Specified by:
getCorrectedSpacecraftStatesin interfaceKalmanEstimation- Returns:
- corrected spacecraft states
-
getPhysicalEstimatedState
Get the "physical" estimated state (i.e. not normalized)- Specified by:
getPhysicalEstimatedStatein interfaceKalmanEstimation- Returns:
- the "physical" estimated state
-
getPhysicalEstimatedCovarianceMatrix
Get the "physical" estimated covariance matrix (i.e. not normalized)- Specified by:
getPhysicalEstimatedCovarianceMatrixin interfaceKalmanEstimation- Returns:
- the "physical" estimated covariance matrix
-
getPhysicalStateTransitionMatrix
Get physical state transition matrix between previous state and estimated (but not yet corrected) state.- Specified by:
getPhysicalStateTransitionMatrixin interfaceKalmanEstimation- Returns:
- state transition matrix between previous state and estimated state (but not yet corrected) (may be null for initial process estimate)
-
getPhysicalMeasurementJacobian
Get the physical Jacobian of the measurement with respect to the state (H matrix).- Specified by:
getPhysicalMeasurementJacobianin interfaceKalmanEstimation- Returns:
- physical Jacobian of the measurement with respect to the state (may be null for initial process estimate or if the measurement has been ignored)
-
getPhysicalInnovationCovarianceMatrix
Get the physical innovation covariance matrix.- Specified by:
getPhysicalInnovationCovarianceMatrixin interfaceKalmanEstimation- Returns:
- physical innovation covariance matrix (may be null for initial process estimate or if the measurement has been ignored)
-
getPhysicalKalmanGain
Get the physical Kalman gain matrix.- Specified by:
getPhysicalKalmanGainin interfaceKalmanEstimation- Returns:
- Kalman gain matrix (may be null for initial process estimate or if the measurement has been ignored)
-
getCurrentMeasurementNumber
public int getCurrentMeasurementNumber()Get the current measurement number.- Specified by:
getCurrentMeasurementNumberin interfaceKalmanEstimation- Returns:
- current measurement number
-
getCurrentDate
Get the current date.- Specified by:
getCurrentDatein interfaceKalmanEstimation- Returns:
- current date
-
getPredictedMeasurement
Get the predicted measurement.This estimation has been evaluated on the last predicted orbits
- Specified by:
getPredictedMeasurementin interfaceKalmanEstimation- Returns:
- predicted measurement
-
getCorrectedMeasurement
Get the estimated measurement.This estimation has been evaluated on the last corrected orbits
- Specified by:
getCorrectedMeasurementin interfaceKalmanEstimation- Returns:
- corrected measurement
-
updateNominalSpacecraftState
Update the nominal spacecraft state.- Specified by:
updateNominalSpacecraftStatein interfaceSemiAnalyticalProcess- Parameters:
nominal- nominal spacecraft state
-
updateShortPeriods
Update the DSST short periodic terms.- Specified by:
updateShortPeriodsin interfaceSemiAnalyticalProcess- Parameters:
state- current mean state
-
initializeShortPeriodicTerms
Initialize the short periodic terms for the Kalman Filter.- Specified by:
initializeShortPeriodicTermsin interfaceSemiAnalyticalProcess- Parameters:
meanState- mean state for auxiliary elements
-
getNumberSelectedOrbitalDrivers
public int getNumberSelectedOrbitalDrivers()Get the number of estimated orbital parameters.- Returns:
- the number of estimated orbital parameters
-
getNumberSelectedPropagationDrivers
public int getNumberSelectedPropagationDrivers()Get the number of estimated propagation parameters.- Returns:
- the number of estimated propagation parameters
-
getNumberSelectedMeasurementDrivers
public int getNumberSelectedMeasurementDrivers()Get the number of estimated measurement parameters.- Returns:
- the number of estimated measurement parameters
-