Package org.orekit.estimation.sequential
Class KalmanModel
java.lang.Object
org.orekit.estimation.sequential.KalmanModel
- All Implemented Interfaces:
NonLinearProcess<MeasurementDecorator>,KalmanEstimation
Class defining the process model dynamics to use with a
KalmanEstimator.- Since:
- 9.2
- Author:
- Romain Gerbaud, Maxime Journot
-
Constructor Summary
ConstructorsConstructorDescriptionKalmanModel(List<PropagatorBuilder> propagatorBuilders, List<CovarianceMatrixProvider> covarianceMatricesProviders, ParameterDriversList estimatedMeasurementParameters, CovarianceMatrixProvider measurementProcessNoiseMatrix) Kalman process model constructor. -
Method Summary
Modifier and TypeMethodDescriptionvoidfinalizeEstimation(ObservedMeasurement<?> observedMeasurement, ProcessEstimate estimate) Finalize estimation.Getter for the propagators.protected ProcessEstimateGetter for the correctedEstimate.Get the estimated measurement.Get the corrected spacecraft states.protected int[][]Getter for the covarianceIndirection.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.protected ParameterDriversList[]Getter for the estimatedOrbitalParameters.Get the list of estimated propagation parameters.protected ParameterDriversList[]Getter for the estimatedPropagationParameters.Get the propagators estimated with the values set in the propagators builders.getEvolution(double previousTime, RealVector previousState, MeasurementDecorator measurement) getInnovation(MeasurementDecorator measurement, NonLinearEvolution evolution, RealMatrix innovationCovarianceMatrix) Getter for the measurementParameterColumns.protected RealMatrixgetNormalizedProcessNoise(int stateDimension) Get the normalized process noise matrix.protected int[]Getter for the orbitsStartColumns.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.Get the predicted spacecraft states.Getter for the propagationParameterColumns.protected AbsoluteDateGetter for the referenceDate.Getter for the reference trajectories.protected double[]getScale()Getter for the scale.protected voidIncrement 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.voidsetReferenceTrajectories(Propagator[] referenceTrajectories) Setter for the reference trajectories.protected voidupdateReferenceTrajectories(Propagator[] propagators) Update the reference trajectories using the propagators as input.
-
Constructor Details
-
KalmanModel
public KalmanModel(List<PropagatorBuilder> propagatorBuilders, List<CovarianceMatrixProvider> covarianceMatricesProviders, ParameterDriversList estimatedMeasurementParameters, CovarianceMatrixProvider measurementProcessNoiseMatrix) Kalman process model constructor.- Parameters:
propagatorBuilders- propagators builders used to evaluate the orbits.covarianceMatricesProviders- providers for covariance matricesestimatedMeasurementParameters- measurement parameters to estimatemeasurementProcessNoiseMatrix- provider for measurement process noise matrix
-
-
Method Details
-
updateReferenceTrajectories
Update the reference trajectories using the propagators as input.- Parameters:
propagators- The new propagators to use
-
getEvolution
public NonLinearEvolution getEvolution(double previousTime, RealVector previousState, MeasurementDecorator measurement) - Specified by:
getEvolutionin interfaceNonLinearProcess<MeasurementDecorator>
-
getInnovation
public RealVector getInnovation(MeasurementDecorator measurement, NonLinearEvolution evolution, RealMatrix innovationCovarianceMatrix) - Specified by:
getInnovationin interfaceNonLinearProcess<MeasurementDecorator>
-
finalizeEstimation
public void finalizeEstimation(ObservedMeasurement<?> observedMeasurement, ProcessEstimate estimate) Finalize estimation.- Parameters:
observedMeasurement- measurement that has just been processedestimate- corrected estimate
-
getReferenceTrajectories
Getter for the reference trajectories.- Returns:
- the referencetrajectories
-
setReferenceTrajectories
Setter for the reference trajectories.- Parameters:
referenceTrajectories- the reference trajectories to be setted
-
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)
-
getPredictedSpacecraftStates
Get the predicted spacecraft states.- Specified by:
getPredictedSpacecraftStatesin interfaceKalmanEstimation- Returns:
- predicted spacecraft states
-
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
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
-
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
-
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
-
getEstimate
Get the current corrected estimate.- Returns:
- current corrected estimate
-
getBuilders
Getter for the propagators.- Returns:
- the propagators
-
getEstimatedPropagators
Get the propagators estimated with the values set in the propagators builders.- Returns:
- propagators based on the current values in the builder
-
getNormalizedProcessNoise
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
Getter for the propagationParameterColumns.- Returns:
- the propagationParameterColumns
-
getMeasurementParameterColumns
Getter for the measurementParameterColumns.- Returns:
- the measurementParameterColumns
-
getEstimatedPropagationParametersArray
Getter for the estimatedPropagationParameters.- Returns:
- the estimatedPropagationParameters
-
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
Getter for the correctedEstimate.- Returns:
- the correctedEstimate
-
setCorrectedEstimate
Setter for the correctedEstimate.- Parameters:
correctedEstimate- the correctedEstimate
-
getReferenceDate
Getter for the referenceDate.- Returns:
- the referenceDate
-
incrementCurrentMeasurementNumber
protected void incrementCurrentMeasurementNumber()Increment current measurement number. -
setCurrentDate
Setter for the currentDate.- Parameters:
currentDate- the currentDate
-
setCorrectedSpacecraftState
Set correctedSpacecraftState at index.- Parameters:
correctedSpacecraftState- corrected S/C state o setindex- index where to set in the array
-
setPredictedSpacecraftState
Set predictedSpacecraftState at index.- Parameters:
predictedSpacecraftState- predicted S/C state o setindex- index where to set in the array
-
setPredictedMeasurement
Setter for the predictedMeasurement.- Parameters:
predictedMeasurement- the predictedMeasurement
-
setCorrectedMeasurement
Setter for the correctedMeasurement.- Parameters:
correctedMeasurement- the correctedMeasurement
-