public class SemiAnalyticalKalmanEstimator extends Object
The filter uses a DSSTPropagatorBuilder
.
The estimated parameters are driven by ParameterDriver
objects. They are of 3 different types:
The Kalman filter implementation used is provided by the underlying mathematical library Hipparchus. All the variables seen by Hipparchus (states, covariances, measurement matrices...) are normalized using a specific scale for each estimated parameters or standard deviation noise for each measurement components.
Constructor and Description |
---|
SemiAnalyticalKalmanEstimator(MatrixDecomposer decomposer,
DSSTPropagatorBuilder propagatorBuilder,
CovarianceMatrixProvider covarianceMatrixProvider,
ParameterDriversList estimatedMeasurementParameters,
CovarianceMatrixProvider measurementProcessNoiseMatrix)
Kalman filter estimator constructor (package private).
|
Modifier and Type | Method and Description |
---|---|
AbsoluteDate |
getCurrentDate()
Get the current date.
|
int |
getCurrentMeasurementNumber()
Get the current measurement number.
|
ParameterDriversList |
getEstimatedMeasurementsParameters()
Get the list of estimated measurements parameters.
|
ParameterDriversList |
getOrbitalParametersDrivers(boolean estimatedOnly)
Get the orbital parameters supported by this estimator.
|
RealMatrix |
getPhysicalEstimatedCovarianceMatrix()
Get the "physical" estimated covariance matrix (i.e.
|
RealVector |
getPhysicalEstimatedState()
Get the "physical" estimated state (i.e.
|
ParameterDriversList |
getPropagationParametersDrivers(boolean estimatedOnly)
Get the propagator parameters supported by this estimator.
|
DSSTPropagator |
processMeasurements(List<ObservedMeasurement<?>> observedMeasurements)
Process a single measurement.
|
void |
setObserver(KalmanObserver observer)
Set the observer.
|
public SemiAnalyticalKalmanEstimator(MatrixDecomposer decomposer, DSSTPropagatorBuilder propagatorBuilder, CovarianceMatrixProvider covarianceMatrixProvider, ParameterDriversList estimatedMeasurementParameters, CovarianceMatrixProvider measurementProcessNoiseMatrix)
decomposer
- decomposer to use for the correction phasepropagatorBuilder
- propagator builder used to evaluate the orbit.covarianceMatrixProvider
- provider for process noise matrixestimatedMeasurementParameters
- measurement parameters to estimatemeasurementProcessNoiseMatrix
- provider for measurement process noise matrixpublic void setObserver(KalmanObserver observer)
observer
- the observerpublic int getCurrentMeasurementNumber()
public AbsoluteDate getCurrentDate()
public RealVector getPhysicalEstimatedState()
public RealMatrix getPhysicalEstimatedCovarianceMatrix()
public ParameterDriversList getOrbitalParametersDrivers(boolean estimatedOnly)
If there are more than one propagator builder, then the names of the drivers have an index marker in square brackets appended to them in order to distinguish the various orbits. So for example with one builder generating Keplerian orbits the names would be simply "a", "e", "i"... but if there are several builders the names would be "a[0]", "e[0]", "i[0]"..."a[1]", "e[1]", "i[1]"...
estimatedOnly
- if true, only estimated parameters are returnedpublic ParameterDriversList getPropagationParametersDrivers(boolean estimatedOnly)
estimatedOnly
- if true, only estimated parameters are returnedpublic ParameterDriversList getEstimatedMeasurementsParameters()
public DSSTPropagator processMeasurements(List<ObservedMeasurement<?>> observedMeasurements)
Update the filter with the new measurement by calling the estimate method.
observedMeasurements
- the list of measurements to processCopyright © 2002-2022 CS GROUP. All rights reserved.