Package org.orekit.estimation.sequential
Class UnscentedKalmanModel
- java.lang.Object
-
- org.orekit.estimation.sequential.UnscentedKalmanModel
-
- All Implemented Interfaces:
UnscentedProcess<MeasurementDecorator>
,KalmanEstimation
public class UnscentedKalmanModel extends Object implements UnscentedProcess<MeasurementDecorator>
Class defining the process model dynamics to use with aUnscentedKalmanEstimator
.- Since:
- 11.3
- Author:
- Gaƫtan Pierre, Bryan Cazabonne
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
UnscentedKalmanModel(List<PropagatorBuilder> propagatorBuilders, List<CovarianceMatrixProvider> covarianceMatricesProviders, ParameterDriversList estimatedMeasurementParameters, CovarianceMatrixProvider measurementProcessNoiseMatrix)
Unscented Kalman process model constructor (package private).
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
finalizeEstimation(ObservedMeasurement<?> observedMeasurement, ProcessEstimate estimate)
Finalize estimation.List<PropagatorBuilder>
getBuilders()
Getter for the propagators.protected ProcessEstimate
getCorrectedEstimate()
Getter for the correctedEstimate.EstimatedMeasurement<?>
getCorrectedMeasurement()
Get the estimated measurement.SpacecraftState[]
getCorrectedSpacecraftStates()
Get the corrected spacecraft states.protected int[][]
getCovarianceIndirection()
Getter for the covarianceIndirection.AbsoluteDate
getCurrentDate()
Get the current date.int
getCurrentMeasurementNumber()
Get the current measurement number.ProcessEstimate
getEstimate()
Get the current corrected estimate.ParameterDriversList
getEstimatedMeasurementsParameters()
Get the list of estimated measurements parameters.ParameterDriversList
getEstimatedOrbitalParameters()
Get the list of estimated orbital parameters.protected ParameterDriversList[]
getEstimatedOrbitalParametersArray()
Getter for the estimatedOrbitalParameters.ParameterDriversList
getEstimatedPropagationParameters()
Get the list of estimated propagation parameters.protected ParameterDriversList[]
getEstimatedPropagationParametersArray()
Getter for the estimatedPropagationParameters.Propagator[]
getEstimatedPropagators()
Get the propagators estimated with the values set in the propagators builders.UnscentedEvolution
getEvolution(double previousTime, RealVector[] sigmaPoints, MeasurementDecorator measurement)
RealVector
getInnovation(MeasurementDecorator measurement, RealVector predictedMeas, RealVector predictedState, RealMatrix innovationCovarianceMatrix)
protected Map<String,Integer>
getMeasurementParameterColumns()
Getter for the measurementParameterColumns.protected RealMatrix
getNormalizedProcessNoise(int stateDimension)
Get the normalized process noise matrix.protected int[]
getOrbitsStartColumns()
Getter for the orbitsStartColumns.RealMatrix
getPhysicalEstimatedCovarianceMatrix()
Get the "physical" estimated covariance matrix (i.e.RealVector
getPhysicalEstimatedState()
Get the "physical" estimated state (i.e.RealMatrix
getPhysicalInnovationCovarianceMatrix()
Get the physical innovation covariance matrix.RealMatrix
getPhysicalKalmanGain()
Get the physical Kalman gain matrix.RealMatrix
getPhysicalMeasurementJacobian()
Get the physical Jacobian of the measurement with respect to the state (H matrix).RealMatrix
getPhysicalStateTransitionMatrix()
Get physical state transition matrix between previous state and estimated (but not yet corrected) state.EstimatedMeasurement<?>
getPredictedMeasurement()
Get the predicted measurement.RealVector[]
getPredictedMeasurements(RealVector[] predictedSigmaPoints, MeasurementDecorator measurement)
SpacecraftState[]
getPredictedSpacecraftStates()
Get the predicted spacecraft states.protected Map<String,Integer>
getPropagationParameterColumns()
Getter for the propagationParameterColumns.protected AbsoluteDate
getReferenceDate()
Getter for the referenceDate.protected double[]
getScale()
Getter for the scale.protected void
incrementCurrentMeasurementNumber()
Increment current measurement number.protected void
setCorrectedEstimate(ProcessEstimate correctedEstimate)
Setter for the correctedEstimate.protected void
setCorrectedMeasurement(EstimatedMeasurement<?> correctedMeasurement)
Setter for the correctedMeasurement.protected void
setCorrectedSpacecraftState(SpacecraftState correctedSpacecraftState, int index)
Set correctedSpacecraftState at index.void
setCurrentDate(AbsoluteDate currentDate)
Setter for the currentDate.protected void
setPredictedMeasurement(EstimatedMeasurement<?> predictedMeasurement)
Setter for the predictedMeasurement.protected void
setPredictedSpacecraftState(SpacecraftState predictedSpacecraftState, int index)
Set predictedSpacecraftState at index.
-
-
-
Constructor Detail
-
UnscentedKalmanModel
protected UnscentedKalmanModel(List<PropagatorBuilder> propagatorBuilders, List<CovarianceMatrixProvider> covarianceMatricesProviders, ParameterDriversList estimatedMeasurementParameters, CovarianceMatrixProvider measurementProcessNoiseMatrix)
Unscented Kalman process model constructor (package private).- Parameters:
propagatorBuilders
- propagators builders used to evaluate the orbits.covarianceMatricesProviders
- provider for covariance matrixestimatedMeasurementParameters
- measurement parameters to estimatemeasurementProcessNoiseMatrix
- provider for measurement process noise matrix
-
-
Method Detail
-
getEvolution
public UnscentedEvolution getEvolution(double previousTime, RealVector[] sigmaPoints, MeasurementDecorator measurement)
- Specified by:
getEvolution
in interfaceUnscentedProcess<MeasurementDecorator>
-
getPredictedMeasurements
public RealVector[] getPredictedMeasurements(RealVector[] predictedSigmaPoints, MeasurementDecorator measurement)
- Specified by:
getPredictedMeasurements
in interfaceUnscentedProcess<MeasurementDecorator>
-
getInnovation
public RealVector getInnovation(MeasurementDecorator measurement, RealVector predictedMeas, RealVector predictedState, RealMatrix innovationCovarianceMatrix)
- Specified by:
getInnovation
in interfaceUnscentedProcess<MeasurementDecorator>
-
finalizeEstimation
public void finalizeEstimation(ObservedMeasurement<?> observedMeasurement, ProcessEstimate estimate)
Finalize estimation.- Parameters:
observedMeasurement
- measurement that has just been processedestimate
- corrected estimate
-
getPhysicalStateTransitionMatrix
public RealMatrix getPhysicalStateTransitionMatrix()
Get physical state transition matrix between previous state and estimated (but not yet corrected) state.- Specified by:
getPhysicalStateTransitionMatrix
in interfaceKalmanEstimation
- Returns:
- state transition matrix between previous state and estimated state (but not yet corrected) (may be null for initial process estimate)
-
getPhysicalMeasurementJacobian
public RealMatrix getPhysicalMeasurementJacobian()
Get the physical Jacobian of the measurement with respect to the state (H matrix).- Specified by:
getPhysicalMeasurementJacobian
in 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
public RealMatrix getPhysicalInnovationCovarianceMatrix()
Get the physical innovation covariance matrix.- Specified by:
getPhysicalInnovationCovarianceMatrix
in interfaceKalmanEstimation
- Returns:
- physical innovation covariance matrix (may be null for initial process estimate or if the measurement has been ignored)
-
getPhysicalKalmanGain
public RealMatrix getPhysicalKalmanGain()
Get the physical Kalman gain matrix.- Specified by:
getPhysicalKalmanGain
in interfaceKalmanEstimation
- Returns:
- Kalman gain matrix (may be null for initial process estimate or if the measurement has been ignored)
-
getPredictedSpacecraftStates
public SpacecraftState[] getPredictedSpacecraftStates()
Get the predicted spacecraft states.- Specified by:
getPredictedSpacecraftStates
in interfaceKalmanEstimation
- Returns:
- predicted spacecraft states
-
getCorrectedSpacecraftStates
public SpacecraftState[] getCorrectedSpacecraftStates()
Get the corrected spacecraft states.- Specified by:
getCorrectedSpacecraftStates
in interfaceKalmanEstimation
- Returns:
- corrected spacecraft states
-
getCurrentMeasurementNumber
public int getCurrentMeasurementNumber()
Get the current measurement number.- Specified by:
getCurrentMeasurementNumber
in interfaceKalmanEstimation
- Returns:
- current measurement number
-
getCurrentDate
public AbsoluteDate getCurrentDate()
Get the current date.- Specified by:
getCurrentDate
in interfaceKalmanEstimation
- Returns:
- current date
-
getPredictedMeasurement
public EstimatedMeasurement<?> getPredictedMeasurement()
Get the predicted measurement.This estimation has been evaluated on the last predicted orbits
- Specified by:
getPredictedMeasurement
in interfaceKalmanEstimation
- Returns:
- predicted measurement
-
getCorrectedMeasurement
public EstimatedMeasurement<?> getCorrectedMeasurement()
Get the estimated measurement.This estimation has been evaluated on the last corrected orbits
- Specified by:
getCorrectedMeasurement
in interfaceKalmanEstimation
- Returns:
- corrected measurement
-
getPhysicalEstimatedState
public RealVector getPhysicalEstimatedState()
Get the "physical" estimated state (i.e. not normalized)- Specified by:
getPhysicalEstimatedState
in interfaceKalmanEstimation
- Returns:
- the "physical" estimated state
-
getPhysicalEstimatedCovarianceMatrix
public RealMatrix getPhysicalEstimatedCovarianceMatrix()
Get the "physical" estimated covariance matrix (i.e. not normalized)- Specified by:
getPhysicalEstimatedCovarianceMatrix
in interfaceKalmanEstimation
- Returns:
- the "physical" estimated covariance matrix
-
getEstimatedOrbitalParameters
public ParameterDriversList getEstimatedOrbitalParameters()
Get the list of estimated orbital parameters.- Specified by:
getEstimatedOrbitalParameters
in interfaceKalmanEstimation
- Returns:
- the list of estimated orbital parameters
-
getEstimatedPropagationParameters
public ParameterDriversList getEstimatedPropagationParameters()
Get the list of estimated propagation parameters.- Specified by:
getEstimatedPropagationParameters
in interfaceKalmanEstimation
- Returns:
- the list of estimated propagation parameters
-
getEstimatedMeasurementsParameters
public ParameterDriversList getEstimatedMeasurementsParameters()
Get the list of estimated measurements parameters.- Specified by:
getEstimatedMeasurementsParameters
in interfaceKalmanEstimation
- Returns:
- the list of estimated measurements parameters
-
getEstimate
public ProcessEstimate getEstimate()
Get the current corrected estimate.- Returns:
- current corrected estimate
-
getBuilders
public List<PropagatorBuilder> getBuilders()
Getter for the propagators.- Returns:
- the propagators
-
getEstimatedPropagators
public Propagator[] getEstimatedPropagators()
Get the propagators estimated with the values set in the propagators builders.- Returns:
- propagators based on the current values in the builder
-
getNormalizedProcessNoise
protected RealMatrix getNormalizedProcessNoise(int stateDimension)
Get the normalized process noise matrix.- Parameters:
stateDimension
- state dimension- Returns:
- the normalized process noise matrix
-
getOrbitsStartColumns
protected int[] getOrbitsStartColumns()
Getter for the orbitsStartColumns.- Returns:
- the orbitsStartColumns
-
getPropagationParameterColumns
protected Map<String,Integer> getPropagationParameterColumns()
Getter for the propagationParameterColumns.- Returns:
- the propagationParameterColumns
-
getMeasurementParameterColumns
protected Map<String,Integer> getMeasurementParameterColumns()
Getter for the measurementParameterColumns.- Returns:
- the measurementParameterColumns
-
getEstimatedPropagationParametersArray
protected ParameterDriversList[] getEstimatedPropagationParametersArray()
Getter for the estimatedPropagationParameters.- Returns:
- the estimatedPropagationParameters
-
getEstimatedOrbitalParametersArray
protected ParameterDriversList[] getEstimatedOrbitalParametersArray()
Getter for the estimatedOrbitalParameters.- Returns:
- the estimatedOrbitalParameters
-
getCovarianceIndirection
protected int[][] getCovarianceIndirection()
Getter for the covarianceIndirection.- Returns:
- the covarianceIndirection
-
getScale
protected double[] getScale()
Getter for the scale.- Returns:
- the scale
-
getCorrectedEstimate
protected ProcessEstimate getCorrectedEstimate()
Getter for the correctedEstimate.- Returns:
- the correctedEstimate
-
setCorrectedEstimate
protected void setCorrectedEstimate(ProcessEstimate correctedEstimate)
Setter for the correctedEstimate.- Parameters:
correctedEstimate
- the correctedEstimate
-
getReferenceDate
protected AbsoluteDate getReferenceDate()
Getter for the referenceDate.- Returns:
- the referenceDate
-
incrementCurrentMeasurementNumber
protected void incrementCurrentMeasurementNumber()
Increment current measurement number.
-
setCurrentDate
public void setCurrentDate(AbsoluteDate currentDate)
Setter for the currentDate.- Parameters:
currentDate
- the currentDate
-
setCorrectedSpacecraftState
protected void setCorrectedSpacecraftState(SpacecraftState correctedSpacecraftState, int index)
Set correctedSpacecraftState at index.- Parameters:
correctedSpacecraftState
- corrected S/C state o setindex
- index where to set in the array
-
setPredictedSpacecraftState
protected void setPredictedSpacecraftState(SpacecraftState predictedSpacecraftState, int index)
Set predictedSpacecraftState at index.- Parameters:
predictedSpacecraftState
- predicted S/C state o setindex
- index where to set in the array
-
setPredictedMeasurement
protected void setPredictedMeasurement(EstimatedMeasurement<?> predictedMeasurement)
Setter for the predictedMeasurement.- Parameters:
predictedMeasurement
- the predictedMeasurement
-
setCorrectedMeasurement
protected void setCorrectedMeasurement(EstimatedMeasurement<?> correctedMeasurement)
Setter for the correctedMeasurement.- Parameters:
correctedMeasurement
- the correctedMeasurement
-
-