Class StateCovarianceBlender
- All Implemented Interfaces:
TimeInterpolator<TimeStampedPair<Orbit,StateCovariance>>
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:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.orekit.time.AbstractTimeInterpolator
AbstractTimeInterpolator.InterpolationData -
Field Summary
Fields inherited from class org.orekit.propagation.covariance.AbstractStateCovarianceInterpolator
COLUMN_DIM, DEFAULT_POSITION_ANGLE, ROW_DIMFields inherited from class org.orekit.time.AbstractTimeInterpolator
DEFAULT_EXTRAPOLATION_THRESHOLD_SEC, DEFAULT_INTERPOLATION_POINTS -
Constructor Summary
ConstructorsConstructorDescriptionStateCovarianceBlender(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
Modifier and TypeMethodDescriptionprotected StateCovariancecomputeInterpolatedCovarianceInOrbitFrame(List<TimeStampedPair<Orbit, StateCovariance>> uncertainStates, Orbit interpolatedOrbit) Compute the interpolated covariance expressed in the interpolated orbit frame.Methods inherited from class org.orekit.propagation.covariance.AbstractStateCovarianceInterpolator
expressCovarianceInDesiredOutput, getOrbitInterpolator, getOutFrame, getOutLOF, getOutOrbitType, getOutPositionAngleType, getSubInterpolators, interpolate, interpolateOrbitMethods inherited from class org.orekit.time.AbstractTimeInterpolator
addOptionalSubInterpolatorIfDefined, checkInterpolatorCompatibilityWithSampleSize, getCentralDate, getCentralDate, getExtrapolationThreshold, getInternalNbInterpolationPoints, getNbInterpolationPoints, getTimeParameter, interpolate, interpolate
-
Constructor Details
-
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:
-
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 frameoutOrbitType- desired output orbit typeoutPositionAngleType- desired output position angle- See Also:
-
-
Method Details
-
computeInterpolatedCovarianceInOrbitFrame
protected StateCovariance computeInterpolatedCovarianceInOrbitFrame(List<TimeStampedPair<Orbit, StateCovariance>> uncertainStates, Orbit interpolatedOrbit) Compute the interpolated covariance expressed in the interpolated orbit frame.- Specified by:
computeInterpolatedCovarianceInOrbitFramein classAbstractStateCovarianceInterpolator- Parameters:
uncertainStates- list of orbits and associated covariancesinterpolatedOrbit- interpolated orbit- Returns:
- interpolated covariance expressed in the interpolated orbit frame
-