Class StateCovarianceBlender
- java.lang.Object
-
- org.orekit.time.AbstractTimeInterpolator<TimeStampedPair<Orbit,StateCovariance>>
-
- org.orekit.propagation.AbstractStateCovarianceInterpolator
-
- org.orekit.propagation.StateCovarianceBlender
-
- All Implemented Interfaces:
TimeInterpolator<TimeStampedPair<Orbit,StateCovariance>>
public class StateCovarianceBlender extends AbstractStateCovarianceInterpolator
State covariance blender.Its purpose is to interpolate state covariance between tabulated state covariances by using the concept of blending, exposed in : "Efficient Covariance Interpolation using Blending of Approximate State Error Transitions" by Sergei Tanygin.
It propagates tabulated values to the interpolation date assuming a standard keplerian model and then blend each propagated covariances using a smoothstep function.
It gives accurate results as explained here. In the very poorly tracked test case evolving in a highly dynamical environment mentioned in the linked thread, the user can expect at worst errors of less than 0.25% in position sigmas and less than 0.4% in velocity sigmas with steps of 40mn between tabulated values.
- Author:
- Vincent Cucchietti
- See Also:
SmoothStepFactory
,SmoothStepFactory.SmoothStepFunction
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.orekit.time.AbstractTimeInterpolator
AbstractTimeInterpolator.InterpolationData
-
-
Field Summary
-
Fields inherited from class org.orekit.propagation.AbstractStateCovarianceInterpolator
COLUMN_DIM, DEFAULT_POSITION_ANGLE, ROW_DIM
-
Fields inherited from class org.orekit.time.AbstractTimeInterpolator
DEFAULT_EXTRAPOLATION_THRESHOLD_SEC, DEFAULT_INTERPOLATION_POINTS
-
-
Constructor Summary
Constructors Constructor Description StateCovarianceBlender(SmoothStepFactory.SmoothStepFunction blendingFunction, TimeInterpolator<Orbit> orbitInterpolator, Frame outFrame, OrbitType outOrbitType, PositionAngleType outPositionAngleType)
Constructor.StateCovarianceBlender(SmoothStepFactory.SmoothStepFunction blendingFunction, TimeInterpolator<Orbit> orbitInterpolator, LOFType outLOF)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected StateCovariance
computeInterpolatedCovarianceInOrbitFrame(List<TimeStampedPair<Orbit,StateCovariance>> uncertainStates, Orbit interpolatedOrbit)
Compute the interpolated covariance expressed in the interpolated orbit frame.-
Methods inherited from class org.orekit.propagation.AbstractStateCovarianceInterpolator
expressCovarianceInDesiredOutput, getOrbitInterpolator, getOutFrame, getOutLOF, getOutOrbitType, getOutPositionAngleType, interpolate, interpolateOrbit
-
Methods inherited from class org.orekit.time.AbstractTimeInterpolator
addOptionalSubInterpolatorIfDefined, checkInterpolatorCompatibilityWithSampleSize, getCentralDate, getCentralDate, getExtrapolationThreshold, getNbInterpolationPoints, getSubInterpolators, getTimeParameter, interpolate, interpolate
-
-
-
-
Constructor Detail
-
StateCovarianceBlender
public StateCovarianceBlender(SmoothStepFactory.SmoothStepFunction blendingFunction, TimeInterpolator<Orbit> orbitInterpolator, LOFType outLOF)
Constructor.BEWARE: If the output local orbital frame is not considered pseudo-inertial, all the covariance components related to the velocity will be poorly interpolated. Only the position covariance should be considered in this case.
- Parameters:
blendingFunction
- blending functionorbitInterpolator
- orbit interpolatoroutLOF
- local orbital frame- See Also:
Frame
,OrbitType
,PositionAngleType
-
StateCovarianceBlender
public StateCovarianceBlender(SmoothStepFactory.SmoothStepFunction blendingFunction, TimeInterpolator<Orbit> orbitInterpolator, Frame outFrame, OrbitType outOrbitType, PositionAngleType outPositionAngleType)
Constructor.- Parameters:
blendingFunction
- blending functionorbitInterpolator
- orbit interpolatoroutFrame
- desired output covariance frameoutPositionAngleType
- desired output position angleoutOrbitType
- desired output orbit type- See Also:
Frame
,OrbitType
,PositionAngleType
-
-
Method Detail
-
computeInterpolatedCovarianceInOrbitFrame
protected StateCovariance computeInterpolatedCovarianceInOrbitFrame(List<TimeStampedPair<Orbit,StateCovariance>> uncertainStates, Orbit interpolatedOrbit)
Compute the interpolated covariance expressed in the interpolated orbit frame.- Specified by:
computeInterpolatedCovarianceInOrbitFrame
in classAbstractStateCovarianceInterpolator
- Parameters:
uncertainStates
- list of orbits and associated covariancesinterpolatedOrbit
- interpolated orbit- Returns:
- interpolated covariance expressed in the interpolated orbit frame
-
-