public class KalmanEstimatorUtil extends Object
This class includes common methods used by the different Kalman models in Orekit (i.e., Extended, Unscented, and Semi-analytical)
Modifier and Type | Method and Description |
---|---|
static <T extends ObservedMeasurement<T>> |
applyDynamicOutlierFilter(EstimatedMeasurement<T> measurement,
org.hipparchus.linear.RealMatrix innovationCovarianceMatrix)
Set and apply a dynamic outlier filter on a measurement.
|
static void |
checkDimension(int dimension,
ParameterDriversList orbitalParameters,
ParameterDriversList propagationParameters,
ParameterDriversList measurementParameters)
Check dimension.
|
static org.hipparchus.linear.RealVector |
computeInnovationVector(EstimatedMeasurement<?> predicted)
Compute the unnormalized innovation vector from the given predicted measurement.
|
static org.hipparchus.linear.RealVector |
computeInnovationVector(EstimatedMeasurement<?> predicted,
double[] sigma)
Compute the normalized innovation vector from the given predicted measurement.
|
static MeasurementDecorator |
decorate(ObservedMeasurement<?> observedMeasurement,
AbsoluteDate referenceDate)
Decorate an observed measurement.
|
static MeasurementDecorator |
decorateUnscented(ObservedMeasurement<?> observedMeasurement,
AbsoluteDate referenceDate)
Decorate an observed measurement for an Unscented Kalman Filter.
|
static SpacecraftState[] |
filterRelevant(ObservedMeasurement<?> observedMeasurement,
SpacecraftState[] allStates)
Filter relevant states for a measurement.
|
static org.hipparchus.linear.RealMatrix |
normalizeCovarianceMatrix(org.hipparchus.linear.RealMatrix physicalP,
double[] parameterScales)
Normalize a covariance matrix.
|
static org.hipparchus.linear.RealMatrix |
unnormalizeCovarianceMatrix(org.hipparchus.linear.RealMatrix normalizedP,
double[] parameterScales)
Un-nomalized the covariance matrix.
|
static org.hipparchus.linear.RealMatrix |
unnormalizeInnovationCovarianceMatrix(org.hipparchus.linear.RealMatrix normalizedS,
double[] sigmas)
Un-normalize the innovation covariance matrix.
|
static org.hipparchus.linear.RealMatrix |
unnormalizeKalmanGainMatrix(org.hipparchus.linear.RealMatrix normalizedK,
double[] parameterScales,
double[] sigmas)
Un-normalize the Kalman gain matrix.
|
static org.hipparchus.linear.RealMatrix |
unnormalizeMeasurementJacobian(org.hipparchus.linear.RealMatrix normalizedH,
double[] parameterScales,
double[] sigmas)
Un-normalize the measurement matrix.
|
static org.hipparchus.linear.RealMatrix |
unnormalizeStateTransitionMatrix(org.hipparchus.linear.RealMatrix normalizedSTM,
double[] parameterScales)
Un-nomalized the state transition matrix.
|
public static MeasurementDecorator decorate(ObservedMeasurement<?> observedMeasurement, AbsoluteDate referenceDate)
The "physical" measurement noise matrix is the covariance matrix of the measurement. Normalizing it consists in applying the following equation: Rn[i,j] = R[i,j]/σ[i]/σ[j] Thus the normalized measurement noise matrix is the matrix of the correlation coefficients between the different components of the measurement.
observedMeasurement
- the measurementreferenceDate
- reference datepublic static MeasurementDecorator decorateUnscented(ObservedMeasurement<?> observedMeasurement, AbsoluteDate referenceDate)
This method uses directly the measurement's covariance matrix, without any normalization.
observedMeasurement
- the measurementreferenceDate
- reference datepublic static void checkDimension(int dimension, ParameterDriversList orbitalParameters, ParameterDriversList propagationParameters, ParameterDriversList measurementParameters)
dimension
- dimension to checkorbitalParameters
- orbital parameterspropagationParameters
- propagation parametersmeasurementParameters
- measurements parameterspublic static SpacecraftState[] filterRelevant(ObservedMeasurement<?> observedMeasurement, SpacecraftState[] allStates)
observedMeasurement
- measurement to considerallStates
- all statespublic static <T extends ObservedMeasurement<T>> void applyDynamicOutlierFilter(EstimatedMeasurement<T> measurement, org.hipparchus.linear.RealMatrix innovationCovarianceMatrix)
Loop on the modifiers to see if a dynamic outlier filter needs to be applied.
Compute the sigma array using the matrix in input and set the filter.
Apply the filter by calling the modify method on the estimated measurement.
Reset the filter.
T
- the type of measurementmeasurement
- measurement to filterinnovationCovarianceMatrix
- So called innovation covariance matrix S, with:S = H.Ppred.Ht + R
Where:
- H is the normalized measurement matrix (Ht its transpose)
- Ppred is the normalized predicted covariance matrix
- R is the normalized measurement noise matrix
public static org.hipparchus.linear.RealVector computeInnovationVector(EstimatedMeasurement<?> predicted)
predicted
- predicted measurementpublic static org.hipparchus.linear.RealVector computeInnovationVector(EstimatedMeasurement<?> predicted, double[] sigma)
predicted
- predicted measurementsigma
- measurement standard deviationpublic static org.hipparchus.linear.RealMatrix normalizeCovarianceMatrix(org.hipparchus.linear.RealMatrix physicalP, double[] parameterScales)
physicalP
- "physical" covariance matrix in inputparameterScales
- scale factor of estimated parameterspublic static org.hipparchus.linear.RealMatrix unnormalizeCovarianceMatrix(org.hipparchus.linear.RealMatrix normalizedP, double[] parameterScales)
normalizedP
- normalized covariance matrixparameterScales
- scale factor of estimated parameterspublic static org.hipparchus.linear.RealMatrix unnormalizeStateTransitionMatrix(org.hipparchus.linear.RealMatrix normalizedSTM, double[] parameterScales)
normalizedSTM
- normalized state transition matrixparameterScales
- scale factor of estimated parameterspublic static org.hipparchus.linear.RealMatrix unnormalizeMeasurementJacobian(org.hipparchus.linear.RealMatrix normalizedH, double[] parameterScales, double[] sigmas)
normalizedH
- normalized measurement matrixparameterScales
- scale factor of estimated parameterssigmas
- measurement theoretical standard deviationpublic static org.hipparchus.linear.RealMatrix unnormalizeInnovationCovarianceMatrix(org.hipparchus.linear.RealMatrix normalizedS, double[] sigmas)
normalizedS
- normalized innovation covariance matrixsigmas
- measurement theoretical standard deviationpublic static org.hipparchus.linear.RealMatrix unnormalizeKalmanGainMatrix(org.hipparchus.linear.RealMatrix normalizedK, double[] parameterScales, double[] sigmas)
normalizedK
- normalized Kalman gain matrixparameterScales
- scale factor of estimated parameterssigmas
- measurement theoretical standard deviationCopyright © 2002-2023 CS GROUP. All rights reserved.