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 and measurements 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.
Constructor and Description |
---|
UnivariateProcessNoise(RealMatrix initialCovarianceMatrix,
LOFType lofType,
PositionAngle positionAngle,
UnivariateFunction[] lofCartesianOrbitalParametersEvolution,
UnivariateFunction[] propagationParametersEvolution)
Simple constructor.
|
UnivariateProcessNoise(RealMatrix initialCovarianceMatrix,
LOFType lofType,
PositionAngle positionAngle,
UnivariateFunction[] lofCartesianOrbitalParametersEvolution,
UnivariateFunction[] propagationParametersEvolution,
UnivariateFunction[] measurementsParametersEvolution)
Simple constructor.
|
Modifier and Type | Method and Description |
---|---|
UnivariateFunction[] |
getLofCartesianOrbitalParametersEvolution()
Getter for the lofCartesianOrbitalParametersEvolution.
|
LOFType |
getLofType()
Getter for the lofType.
|
UnivariateFunction[] |
getMeasurementsParametersEvolution()
Getter for the measurementsParametersEvolution.
|
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)
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 evolutionpublic UnivariateProcessNoise(RealMatrix initialCovarianceMatrix, LOFType lofType, PositionAngle positionAngle, UnivariateFunction[] lofCartesianOrbitalParametersEvolution, UnivariateFunction[] propagationParametersEvolution, UnivariateFunction[] measurementsParametersEvolution)
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 evolutionmeasurementsParametersEvolution
- Array of univariate functions for the measurements parameters process noise evolutionpublic LOFType getLofType()
public PositionAngle getPositionAngle()
public UnivariateFunction[] getLofCartesianOrbitalParametersEvolution()
public UnivariateFunction[] getPropagationParametersEvolution()
public UnivariateFunction[] getMeasurementsParametersEvolution()
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-2022 CS GROUP. All rights reserved.