CovarianceMatrixProvider
public class UnivariateProcessNoise extends AbstractCovarianceMatrixProvider
UnivariateFunction
.
The argument of the functions is a duration in seconds (between current and previous spacecraft state).
The output of the functions must be of the dimension of a standard deviation.
The method getProcessNoiseMatrix(org.orekit.propagation.SpacecraftState, org.orekit.propagation.SpacecraftState)
then square the values so that they are consistent with a covariance matrix.
The orbital parameters evolutions are provided in LOF frame and Cartesian (PV);
then converted in inertial frame and current OrbitType
and PositionAngle
when method getProcessNoiseMatrix(org.orekit.propagation.SpacecraftState, org.orekit.propagation.SpacecraftState)
is called.
The time-dependent functions define a process noise matrix that is diagonal
in the Local Orbital Frame, corresponds to Cartesian elements, abd represents
the temporal evolution of (the standard deviation of) the process noise model. The
first function is therefore the standard deviation along the LOF X axis, the second
function represents the standard deviation along the LOF Y axis...
This allows to set up simply a process noise representing an uncertainty that grows
mainly along the track. The 6x6 upper left part of output matrix will however not be
diagonal as it will be converted to the same inertial frame and orbit type as the
state
used by the Kalman estimator
.
The propagation parameters are not associated to a specific frame and are appended as
is in the lower right part diagonal of the output matrix. This implies this simplified
model does not include correlation between the parameters and the orbit, but only
evolution of the parameters themselves. If such correlations are needed, users must
set up a custom covariance matrix provider
. In most
cases, the parameters are constant and their evolution noise is always 0, so the
functions can be set to x -> 0
.
This class always provides one initial noise matrix or initial covariance matrix and one process noise matrix.
WARNING: as of release 9.2, this feature is still considered experimental
Constructor | Description |
---|---|
UnivariateProcessNoise(RealMatrix initialCovarianceMatrix,
LOFType lofType,
PositionAngle positionAngle,
UnivariateFunction[] lofCartesianOrbitalParametersEvolution,
UnivariateFunction[] propagationParametersEvolution) |
Simple constructor.
|
Modifier and Type | Method | Description |
---|---|---|
UnivariateFunction[] |
getLofCartesianOrbitalParametersEvolution() |
Getter for the lofCartesianOrbitalParametersEvolution.
|
LOFType |
getLofType() |
Getter for the lofType.
|
PositionAngle |
getPositionAngle() |
Getter for the positionAngle.
|
RealMatrix |
getProcessNoiseMatrix(SpacecraftState previous,
SpacecraftState current) |
Get the process noise matrix between previous and current states.
|
UnivariateFunction[] |
getPropagationParametersEvolution() |
Getter for the propagationParametersEvolution.
|
getInitialCovarianceMatrix
public UnivariateProcessNoise(RealMatrix initialCovarianceMatrix, LOFType lofType, PositionAngle positionAngle, UnivariateFunction[] lofCartesianOrbitalParametersEvolution, UnivariateFunction[] propagationParametersEvolution) throws OrekitException
initialCovarianceMatrix
- initial covariance matrixlofType
- the LOF type usedpositionAngle
- the position angle used for the computation of the process noiselofCartesianOrbitalParametersEvolution
- Array of univariate functions for the six orbital parameters process noise evolution in LOF frame and Cartesian orbit typepropagationParametersEvolution
- Array of univariate functions for the propagation parameters process noise evolutionOrekitException
- if lofOrbitalParametersEvolution array size is different from 6public LOFType getLofType()
public PositionAngle getPositionAngle()
public UnivariateFunction[] getLofCartesianOrbitalParametersEvolution()
public UnivariateFunction[] getPropagationParametersEvolution()
public RealMatrix getProcessNoiseMatrix(SpacecraftState previous, SpacecraftState current)
The process noise matrix is a covariance matrix corresponding to the
parameters managed by the Kalman estimator
.
The number of rows/columns and their order are as follows:
In most cases, the process noise for the part corresponding to measurements (the final rows and columns) will be set to 0 for the process noise corresponding to the evolution between a non-null previous and current state.
previous
- previous statecurrent
- current statePropagatorBuilder.getOrbitalParametersDrivers()
,
PropagatorBuilder.getPropagationParametersDrivers()
Copyright © 2002-2018 CS Systèmes d'information. All rights reserved.