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 protectedUnscentedKalmanModel(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 voidfinalizeEstimation(ObservedMeasurement<?> observedMeasurement, ProcessEstimate estimate)Finalize estimation.List<PropagatorBuilder>getBuilders()Getter for the propagators.protected ProcessEstimategetCorrectedEstimate()Getter for the correctedEstimate.EstimatedMeasurement<?>getCorrectedMeasurement()Get the estimated measurement.SpacecraftState[]getCorrectedSpacecraftStates()Get the corrected spacecraft states.protected int[][]getCovarianceIndirection()Getter for the covarianceIndirection.AbsoluteDategetCurrentDate()Get the current date.intgetCurrentMeasurementNumber()Get the current measurement number.ProcessEstimategetEstimate()Get the current corrected estimate.ParameterDriversListgetEstimatedMeasurementsParameters()Get the list of estimated measurements parameters.ParameterDriversListgetEstimatedOrbitalParameters()Get the list of estimated orbital parameters.protected ParameterDriversList[]getEstimatedOrbitalParametersArray()Getter for the estimatedOrbitalParameters.ParameterDriversListgetEstimatedPropagationParameters()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.UnscentedEvolutiongetEvolution(double previousTime, RealVector[] sigmaPoints, MeasurementDecorator measurement)RealVectorgetInnovation(MeasurementDecorator measurement, RealVector predictedMeas, RealVector predictedState, RealMatrix innovationCovarianceMatrix)protected Map<String,Integer>getMeasurementParameterColumns()Getter for the measurementParameterColumns.protected RealMatrixgetNormalizedProcessNoise(int stateDimension)Get the normalized process noise matrix.protected int[]getOrbitsStartColumns()Getter for the orbitsStartColumns.RealMatrixgetPhysicalEstimatedCovarianceMatrix()Get the "physical" estimated covariance matrix (i.e. not normalized)RealVectorgetPhysicalEstimatedState()Get the "physical" estimated state (i.e. not normalized)RealMatrixgetPhysicalInnovationCovarianceMatrix()Get the physical innovation covariance matrix.RealMatrixgetPhysicalKalmanGain()Get the physical Kalman gain matrix.RealMatrixgetPhysicalMeasurementJacobian()Get the physical Jacobian of the measurement with respect to the state (H matrix).RealMatrixgetPhysicalStateTransitionMatrix()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.RealMatrixgetProcessNoiseMatrix(double previousTime, RealVector predictedState, MeasurementDecorator measurement)protected Map<String,Integer>getPropagationParameterColumns()Getter for the propagationParameterColumns.protected AbsoluteDategetReferenceDate()Getter for the referenceDate.protected double[]getScale()Getter for the scale.protected voidincrementCurrentMeasurementNumber()Increment current measurement number.protected voidsetCorrectedEstimate(ProcessEstimate correctedEstimate)Setter for the correctedEstimate.protected voidsetCorrectedMeasurement(EstimatedMeasurement<?> correctedMeasurement)Setter for the correctedMeasurement.protected voidsetCorrectedSpacecraftState(SpacecraftState correctedSpacecraftState, int index)Set correctedSpacecraftState at index.protected voidsetCurrentDate(AbsoluteDate currentDate)Setter for the currentDate.protected voidsetPredictedMeasurement(EstimatedMeasurement<?> predictedMeasurement)Setter for the predictedMeasurement.protected voidsetPredictedSpacecraftState(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:
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.- 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:
getPhysicalStateTransitionMatrixin 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:
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
public RealMatrix 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
public RealMatrix 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)
-
getPredictedSpacecraftStates
public SpacecraftState[] getPredictedSpacecraftStates()
Get the predicted spacecraft states.- Specified by:
getPredictedSpacecraftStatesin interfaceKalmanEstimation- Returns:
- predicted spacecraft states
-
getCorrectedSpacecraftStates
public SpacecraftState[] getCorrectedSpacecraftStates()
Get the corrected spacecraft states.- Specified by:
getCorrectedSpacecraftStatesin interfaceKalmanEstimation- Returns:
- corrected spacecraft states
-
getCurrentMeasurementNumber
public int getCurrentMeasurementNumber()
Get the current measurement number.- Specified by:
getCurrentMeasurementNumberin interfaceKalmanEstimation- Returns:
- current measurement number
-
getCurrentDate
public AbsoluteDate getCurrentDate()
Get the current date.- Specified by:
getCurrentDatein interfaceKalmanEstimation- Returns:
- current date
-
getPredictedMeasurement
public EstimatedMeasurement<?> getPredictedMeasurement()
Get the predicted measurement.This estimation has been evaluated on the last predicted orbits
- Specified by:
getPredictedMeasurementin interfaceKalmanEstimation- Returns:
- predicted measurement
-
getCorrectedMeasurement
public EstimatedMeasurement<?> getCorrectedMeasurement()
Get the estimated measurement.This estimation has been evaluated on the last corrected orbits
- Specified by:
getCorrectedMeasurementin interfaceKalmanEstimation- Returns:
- corrected measurement
-
getPhysicalEstimatedState
public RealVector getPhysicalEstimatedState()
Get the "physical" estimated state (i.e. not normalized)- Specified by:
getPhysicalEstimatedStatein interfaceKalmanEstimation- Returns:
- the "physical" estimated state
-
getPhysicalEstimatedCovarianceMatrix
public RealMatrix getPhysicalEstimatedCovarianceMatrix()
Get the "physical" estimated covariance matrix (i.e. not normalized)- Specified by:
getPhysicalEstimatedCovarianceMatrixin interfaceKalmanEstimation- Returns:
- the "physical" estimated covariance matrix
-
getEstimatedOrbitalParameters
public ParameterDriversList getEstimatedOrbitalParameters()
Get the list of estimated orbital parameters.- Specified by:
getEstimatedOrbitalParametersin interfaceKalmanEstimation- Returns:
- the list of estimated orbital parameters
-
getEstimatedPropagationParameters
public ParameterDriversList getEstimatedPropagationParameters()
Get the list of estimated propagation parameters.- Specified by:
getEstimatedPropagationParametersin interfaceKalmanEstimation- Returns:
- the list of estimated propagation parameters
-
getEstimatedMeasurementsParameters
public ParameterDriversList getEstimatedMeasurementsParameters()
Get the list of estimated measurements parameters.- Specified by:
getEstimatedMeasurementsParametersin 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
protected 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
-
-