public class StateCovarianceKeplerianHermiteInterpolator extends AbstractStateCovarianceInterpolator
其目的是在表格化的状态协方差之间使用多项式插值。为此,它使用HermiteInterpolator
并根据给定的导数滤波器在表格化状态上计算第一和第二阶导数,假设标准的开普勒运动取决于给定的导数滤波器。
如此精确的结果如此解释:这里。在链接线程中提到的在高度动态环境中演变的跟踪非常差的测试案例中,用户可以期望在表格化值之间的40分钟步长下,位置sigma的最差误差小于0.2%,速度sigma的最差误差小于0.35%。
然而,请注意,与StateCovarianceBlender
相反,该方法不能保证计算出的状态协方差的正定性。
HermiteInterpolator
, StateCovarianceBlender
AbstractTimeInterpolator.InterpolationData
COLUMN_DIM, DEFAULT_POSITION_ANGLE, ROW_DIM
DEFAULT_EXTRAPOLATION_THRESHOLD_SEC, DEFAULT_INTERPOLATION_POINTS
Constructor and Description |
---|
StateCovarianceKeplerianHermiteInterpolator(int interpolationPoints, double extrapolationThreshold, TimeInterpolator<Orbit> orbitInterpolator, CartesianDerivativesFilter filter, Frame outFrame, OrbitType outOrbitType, PositionAngleType outPositionAngleType)
使用输出参考系的构造函数。
|
StateCovarianceKeplerianHermiteInterpolator(int interpolationPoints, double extrapolationThreshold, TimeInterpolator<Orbit> orbitInterpolator, CartesianDerivativesFilter filter, LOFType outLOF)
使用输出局部轨道参考系的构造函数。
|
StateCovarianceKeplerianHermiteInterpolator(int interpolationPoints, TimeInterpolator<Orbit> orbitInterpolator, CartesianDerivativesFilter filter, Frame outFrame, OrbitType outOrbitType, PositionAngleType outPositionAngleType)
使用输出参考系和:默认外推阈值值( DEFAULT_EXTRAPOLATION_THRESHOLD_SEC 秒)的构造函数。由于这种插值的实现是多项式的,因此应该仅在少量插值点(约10-20个点)的情况下使用,以避免朗格现象和数值问题(包括NaN的出现)。
|
StateCovarianceKeplerianHermiteInterpolator(int interpolationPoints, TimeInterpolator<Orbit> orbitInterpolator, CartesianDerivativesFilter filter, LOFType outLOF)
使用输出局部轨道参考系和:在插值过程中使用位置和两个时间导数。由于这种插值的实现是多项式的,因此应该仅在少量插值点(约10-20个点)的情况下使用,以避免朗格现象和数值问题(包括NaN的出现)。
|
StateCovarianceKeplerianHermiteInterpolator(int interpolationPoints, TimeInterpolator<Orbit> orbitInterpolator, Frame outFrame, OrbitType outOrbitType, PositionAngleType outPositionAngleType)
使用输出参考系和:默认插值点数为 DEFAULT_INTERPOLATION_POINTS 。在插值过程中使用位置和两个时间导数。由于这种插值的实现是多项式的,因此应该仅在少量插值点(约10-20个点)的情况下使用,以避免朗格现象和数值问题(包括NaN的出现)。
|
StateCovarianceKeplerianHermiteInterpolator(int interpolationPoints, TimeInterpolator<Orbit> orbitInterpolator, LOFType outLOF)
使用输出局部轨道参考系和:默认外推阈值值( DEFAULT_EXTRAPOLATION_THRESHOLD_SEC 秒)。在插值过程中使用位置和两个时间导数。由于这种插值的实现是多项式的,因此应该仅在少量插值点(约10-20个点)的情况下使用,以避免朗格现象和数值问题(包括NaN的出现)。
|
StateCovarianceKeplerianHermiteInterpolator(TimeInterpolator<Orbit> orbitInterpolator, Frame outFrame, OrbitType outOrbitType, PositionAngleType outPositionAngleType)
使用输出参考系和:默认插值点数为 DEFAULT_INTERPOLATION_POINTS 。默认外推阈值值(DEFAULT_EXTRAPOLATION_THRESHOLD_SEC 秒)。在插值过程中使用位置和两个时间导数。由于这种插值的实现是多项式的,因此应该仅在少量插值点(约10-20个点)的情况下使用,以避免朗格现象和数值问题(包括NaN的出现)。
|
StateCovarianceKeplerianHermiteInterpolator(TimeInterpolator<Orbit> orbitInterpolator, LOFType outLOF)
使用输出局部轨道参考系和:默认插值点数为 DEFAULT_INTERPOLATION_POINTS 。默认外推阈值值(DEFAULT_EXTRAPOLATION_THRESHOLD_SEC 秒)。在插值过程中使用位置和两个时间导数。由于这种插值的实现是多项式的,因此应该仅在少量插值点(约10-20个点)的情况下使用,以避免朗格现象和数值问题(包括NaN的出现)。
|
Modifier and Type | Method and Description |
---|---|
protected StateCovariance |
computeInterpolatedCovarianceInOrbitFrame(List<TimeStampedPair<Orbit,StateCovariance>> uncertainStates, Orbit interpolatedOrbit)
计算在插值轨道参考系中表示的插值协方差。
|
CartesianDerivativesFilter |
getFilter()
获取过滤器,定义是否仅使用状态协方差值,还是应该使用第一和/或第二个开普勒导数。
|
expressCovarianceInDesiredOutput, getOrbitInterpolator, getOutFrame, getOutLOF, getOutOrbitType, getOutPositionAngleType, interpolate, interpolateOrbit
addOptionalSubInterpolatorIfDefined, checkInterpolatorCompatibilityWithSampleSize, getCentralDate, getExtrapolationThreshold, getNbInterpolationPoints, getSubInterpolators, getTimeParameter, interpolate, interpolate
public StateCovarianceKeplerianHermiteInterpolator(TimeInterpolator<Orbit> orbitInterpolator, LOFType outLOF)
DEFAULT_INTERPOLATION_POINTS
DEFAULT_EXTRAPOLATION_THRESHOLD_SEC
秒)注意:如果输出局部轨道参考系不被视为伪惯性参考系,则所有与速度相关的协方差分量将被插值得很差。在这种情况下,应仅考虑位置协方差。
orbitInterpolator
- 轨道插值器
outLOF
- 输出局部轨道参考系
public StateCovarianceKeplerianHermiteInterpolator(int interpolationPoints, TimeInterpolator<Orbit> orbitInterpolator, LOFType outLOF)
DEFAULT_EXTRAPOLATION_THRESHOLD_SEC
秒)注意:如果输出局部轨道参考系不被视为伪惯性参考系,则所有与速度相关的协方差分量将被插值得很差。在这种情况下,应仅考虑位置协方差。
interpolationPoints
- 插值点数
orbitInterpolator
- 轨道插值器
outLOF
- 输出局部轨道参考系
public StateCovarianceKeplerianHermiteInterpolator(int interpolationPoints, TimeInterpolator<Orbit> orbitInterpolator, CartesianDerivativesFilter filter, LOFType outLOF)
注意:如果输出局部轨道参考系不被视为伪惯性参考系,则所有与速度相关的协方差分量将被插值得很差。在这种情况下,应仅考虑位置协方差。
interpolationPoints
- 插值点数
orbitInterpolator
- 轨道插值器
outLOF
- 输出局部轨道参考系
filter
- 从样本到在位置-速度-加速度插值中使用的导数的过滤器
public StateCovarianceKeplerianHermiteInterpolator(int interpolationPoints, double extrapolationThreshold, TimeInterpolator<Orbit> orbitInterpolator, CartesianDerivativesFilter filter, LOFType outLOF)
由于这种插值的实现是多项式的,因此应该仅在少量插值点(约10-20个点)的情况下使用,以避免朗格现象和数值问题(包括NaN的出现)。
注意:如果输出局部轨道参考系不被视为伪惯性参考系,则所有与速度相关的协方差分量将被插值得很差。在这种情况下,应仅考虑位置协方差。
interpolationPoints
- 插值点数
extrapolationThreshold
- 超出此值将导致传播失败的外推阈值
orbitInterpolator
- 轨道插值器
outLOF
- 输出局部轨道参考系
filter
- 定义在插值过程中是否仅使用状态协方差值,还是应该使用第一和/或第二个开普勒导数。
public StateCovarianceKeplerianHermiteInterpolator(TimeInterpolator<Orbit> orbitInterpolator, Frame outFrame, OrbitType outOrbitType, PositionAngleType outPositionAngleType)
DEFAULT_INTERPOLATION_POINTS
DEFAULT_EXTRAPOLATION_THRESHOLD_SEC
秒)orbitInterpolator
- 轨道插值器
outFrame
- 输出参考系
outOrbitType
- 输出轨道类型
outPositionAngleType
- 输出位置角类型
public StateCovarianceKeplerianHermiteInterpolator(int interpolationPoints, TimeInterpolator<Orbit> orbitInterpolator, Frame outFrame, OrbitType outOrbitType, PositionAngleType outPositionAngleType)
DEFAULT_INTERPOLATION_POINTS
interpolationPoints
- 插值点数
orbitInterpolator
- 轨道插值器
outFrame
- 输出参考系
outOrbitType
- 输出轨道类型
outPositionAngleType
- 输出位置角类型
public StateCovarianceKeplerianHermiteInterpolator(int interpolationPoints, TimeInterpolator<Orbit> orbitInterpolator, CartesianDerivativesFilter filter, Frame outFrame, OrbitType outOrbitType, PositionAngleType outPositionAngleType)
DEFAULT_EXTRAPOLATION_THRESHOLD_SEC
秒)interpolationPoints
- 插值点的数量
orbitInterpolator
- 轨道插值器
filter
- 过滤器,定义在插值过程中仅使用状态协方差值,还是应该使用第一和/或第二次开普勒导数。
outFrame
- 输出参考系
outOrbitType
- 输出轨道类型
outPositionAngleType
- 输出位置角类型
public StateCovarianceKeplerianHermiteInterpolator(int interpolationPoints, double extrapolationThreshold, TimeInterpolator<Orbit> orbitInterpolator, CartesianDerivativesFilter filter, Frame outFrame, OrbitType outOrbitType, PositionAngleType outPositionAngleType)
由于这种插值的实现是多项式的,应该仅在插值点数量较少(大约10-20个点)时使用,以避免朗格现象和数值问题(包括NaN的出现)。
interpolationPoints
- 插值点的数量
extrapolationThreshold
- 超出此阈值将导致传播失败
orbitInterpolator
- 轨道插值器
filter
- 过滤器,定义在插值过程中仅使用状态协方差值,还是应该使用第一和/或第二次开普勒导数。
outFrame
- 输出参考系
outOrbitType
- 输出轨道类型
outPositionAngleType
- 输出位置角类型
public CartesianDerivativesFilter getFilter()
protected StateCovariance computeInterpolatedCovarianceInOrbitFrame(List<TimeStampedPair<Orbit,StateCovariance>> uncertainStates, Orbit interpolatedOrbit)
computeInterpolatedCovarianceInOrbitFrame
在类 AbstractStateCovarianceInterpolator
uncertainStates
- 轨道和相关协方差的列表
interpolatedOrbit
- 插值轨道
Copyright © 2002-2023 CS GROUP. All rights reserved.