T
- type of the field elements
public abstract class FieldTLEPropagator<T extends org.hipparchus.CalculusFieldElement<T>> extends FieldAbstractAnalyticalPropagator<T>
所使用的模型是SGP4和SDP4,最初由NORAD提出作为TLE的唯一便利传播器。此传播器的输入和输出仅适用于NORAD的两行根元素集,因为它仅使用适用于TLE的估计和均值。
根据NORAD的建议,内部选择深空或近空传播器,因此用户无需担心所使用的计算方法。为每个TLE创建一个实例(此实例只能使用selectExtrapolator(FieldTLE, CalculusFieldElement[])
方法获取),并且可以在任何时间计算位置和速度坐标
。在提供的TLE时刻之前和之后的24小时范围内保证最大精度(当然,此精度实际上无法测量或预测:根据CelesTrak,精度接近一公里,误差可能不会超过2公里)。
此实现在很大程度上受到论文和源代码重新审视Spacetrack报告#3的启发,并且完全符合其结果和测试用例。
FieldTLE
Modifier and Type | Field and Description |
---|---|
protected T |
a
最终半长轴。
|
protected T |
a0dp
原始恢复的半长轴。
|
protected T |
beta0
sqrt (1 - e2)。
|
protected T |
beta02
1 - e2。
|
protected T |
c1
SPTRCK#3中的C1。
|
protected T |
c2
SPTRCK#3中的C2。
|
protected T |
c4
SPTRCK#3中的C4。
|
protected T |
coef
用于SGP C3计算的系数。
|
protected T |
coef1
用于SGP C5计算的系数。
|
protected T |
cosi0
初始倾角的余弦。
|
protected T |
e
最终离心率。
|
protected T |
e0sq
原始离心率的平方。
|
protected T |
eeta
原始离心率* eta。
|
protected T |
eta
SPTRCK#3中的eta。
|
protected T |
etasq
eta的平方。
|
protected T |
i
最终倾角。
|
protected T |
omega
最终近地点参数。
|
protected T |
omgdot
近地点参数(omega)计算的公共参数。
|
protected T |
perige
近地点,以KM和海拔表示。
|
protected T |
s4
s*常数s的新值。
|
protected T |
sini0
初始倾角的正弦。
|
protected T |
t2cof
3/2 * C1。
|
protected T |
theta2
倾角余弦的平方。
|
protected FieldTLE<T> |
tle
初始状态。
|
protected T |
tsi
SPTRCK#3中的tsi。
|
protected TimeScale |
utc
UTC时间标度。
|
protected T |
xl
SPTRCK#3中的L。
|
protected T |
xmdot
平近点角(M)计算的公共参数。
|
protected T |
xn0dp
原始恢复的平均运动。
|
protected T |
xnodcf
升交点赤经(OMEGA)计算的公共参数。
|
protected T |
xnode
最终升交点赤经。
|
protected T |
xnodot
升交点赤经(OMEGA)计算的公共参数。
|
DEFAULT_MASS
Modifier | Constructor and Description |
---|---|
protected |
FieldTLEPropagator(FieldTLE<T> initialTLE, AttitudeProvider attitudeProvider, T mass, Frame teme, T[] parameters)
派生类的受保护构造函数。
|
protected |
FieldTLEPropagator(FieldTLE<T> initialTLE, AttitudeProvider attitudeProvider, T mass, T[] parameters)
派生类的受保护构造函数。
|
Modifier and Type | Method and Description |
---|---|
Frame |
getFrame()
获取轨道传播的参考系。
|
protected T |
getMass(FieldAbsoluteDate<T> date)
获取质量。
|
static double |
getMU()
获取用于TLE传播的地球引力系数。
|
List<ParameterDriver> |
getParametersDrivers()
获取参数的驱动程序。
|
FieldPVCoordinates<T> |
getPVCoordinates(FieldAbsoluteDate<T> date, T[] parameters)
从初始TLE获取外推的位置和速度。
|
FieldTLE<T> |
getTLE()
获取底层TLE。
|
FieldOrbit<T> |
propagateOrbit(FieldAbsoluteDate<T> date, T[] parameters)
将轨道外推到特定目标日期。
|
void |
resetInitialState(FieldSpacecraftState<T> state)
重置传播器的初始状态。
|
protected void |
resetIntermediateState(FieldSpacecraftState<T> state, boolean forward)
重置中间状态。
|
static <T extends org.hipparchus.CalculusFieldElement<T>> |
selectExtrapolator(FieldTLE<T> tle, AttitudeProvider attitudeProvider, T mass, Frame teme, T[] parameters)
选择要与所选TLE一起使用的外推器。
|
static <T extends org.hipparchus.CalculusFieldElement<T>> |
selectExtrapolator(FieldTLE<T> tle, AttitudeProvider attitudeProvider, T mass, T[] parameters)
选择要与所选TLE一起使用的外推器。
|
static <T extends org.hipparchus.CalculusFieldElement<T>> |
selectExtrapolator(FieldTLE<T> tle, Frame teme, T[] parameters)
选择要与所选TLE一起使用的外推器。
|
static <T extends org.hipparchus.CalculusFieldElement<T>> |
selectExtrapolator(FieldTLE<T> tle, T[] parameters)
选择要与所选TLE一起使用的外推器。
|
protected abstract void |
sxpInitialize(T[] parameters)
每个传播器(SGP或SDP)的初始化。
|
protected abstract void |
sxpPropagate(T t, T[] parameters)
每个传播器(SGP或SDP)的传播。
|
acceptStep, addEventDetector, basicPropagate, clearEventsDetectors, getEphemerisGenerator, getEventsDetectors, getPvProvider, propagate
addAdditionalStateProvider, getAdditionalStateProviders, getAttitudeProvider, getField, getInitialState, getManagedAdditionalStates, getMultiplexer, getPVCoordinates, getStartDate, initializeAdditionalStates, initializePropagation, isAdditionalStateManaged, propagate, setAttitudeProvider, setStartDate, stateChanged, updateAdditionalStates, updateUnmanagedStates
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, isSupported
clearStepHandlers, setStepHandler, setStepHandler
getPosition
protected final TimeScale utc
@DefaultDataContext protected FieldTLEPropagator(FieldTLE<T> initialTLE, AttitudeProvider attitudeProvider, T mass, T[] parameters)
此构造函数使用默认数据上下文
。
initialTLE
- 要传播的唯一TLE
attitudeProvider
- 姿态计算提供程序
mass
- 航天器质量(千克)
parameters
- SGP4和SDP4模型参数
FieldTLEPropagator(FieldTLE, AttitudeProvider, CalculusFieldElement, Frame, CalculusFieldElement[])
@DefaultDataContext public static <T extends org.hipparchus.CalculusFieldElement<T>> FieldTLEPropagator<T> selectExtrapolator(FieldTLE<T> tle, T[] parameters)
此方法使用默认数据上下文
。
T
- 元素类型
tle
- 要传播的TLE。
parameters
- SGP4和SDP4模型参数
selectExtrapolator(FieldTLE, Frame, CalculusFieldElement[])
public static <T extends org.hipparchus.CalculusFieldElement<T>> FieldTLEPropagator<T> selectExtrapolator(FieldTLE<T> tle, Frame teme, T[] parameters)
此方法使用默认数据上下文
。
T
- 元素类型
tle
- 要传播的TLE。
teme
- TEME参考系。
parameters
- SGP4和SDP4模型参数
@DefaultDataContext public static <T extends org.hipparchus.CalculusFieldElement<T>> FieldTLEPropagator<T> selectExtrapolator(FieldTLE<T> tle, AttitudeProvider attitudeProvider, T mass, T[] parameters)
此方法使用默认数据上下文
。
T
- 元素类型
tle
- 要传播的TLE。
attitudeProvider
- 姿态计算提供程序
mass
- 航天器质量(千克)
parameters
- SGP4和SDP4模型参数
selectExtrapolator(FieldTLE, AttitudeProvider, CalculusFieldElement, Frame, CalculusFieldElement[])
public static <T extends org.hipparchus.CalculusFieldElement<T>> FieldTLEPropagator<T> selectExtrapolator(FieldTLE<T> tle, AttitudeProvider attitudeProvider, T mass, Frame teme, T[] parameters)
T
- 元素类型
tle
- 要传播的TLE。
attitudeProvider
- 姿态计算提供程序
mass
- 航天器质量(千克)
teme
- 用于传播的TEME参考系。
parameters
- SGP4和SDP4模型参数
public static double getMU()
public FieldPVCoordinates<T> getPVCoordinates(FieldAbsoluteDate<T> date, T[] parameters)
date
- 最终日期
parameters
- 模型的值
public List<ParameterDriver> getParametersDrivers()
protected abstract void sxpInitialize(T[] parameters)
parameters
- 模型参数
protected abstract void sxpPropagate(T t, T[] parameters)
t
- 与初始时刻的偏移(分钟)
parameters
- 模型参数
public void resetInitialState(FieldSpacecraftState<T> state)
对于TLE推算器,仅建议在协方差传播时调用此方法,当新的state
与之前的状态仅通过添加包含导数的附加状态不同时。
resetInitialState
在接口 FieldPropagator<T 扩展 org.hipparchus.CalculusFieldElement<T>>
resetInitialState
在类 FieldAbstractPropagator<T 扩展 org.hipparchus.CalculusFieldElement<T>>
state
- 要考虑的新初始状态
protected void resetIntermediateState(FieldSpacecraftState<T> state, boolean forward)
resetIntermediateState
在类 FieldAbstractAnalyticalPropagator<T 扩展 org.hipparchus.CalculusFieldElement<T>>
state
- 要考虑的新中间状态
forward
- 如果为true,则中间状态对其后的传播有效
protected T getMass(FieldAbsoluteDate<T> date)
getMass
在类 FieldAbstractAnalyticalPropagator<T 扩展 org.hipparchus.CalculusFieldElement<T>>
date
- 轨道的目标日期
public FieldOrbit<T> propagateOrbit(FieldAbsoluteDate<T> date, T[] parameters)
propagateOrbit
在类 FieldAbstractAnalyticalPropagator<T 扩展 org.hipparchus.CalculusFieldElement<T>>
date
- 轨道的目标日期
parameters
- 模型参数
public Frame getFrame()
传播参考系是初始状态的定义参考系,因此应在设置此状态后调用此方法,否则可能返回null。
getFrame
在接口 FieldPropagator<T 扩展 org.hipparchus.CalculusFieldElement<T>>
getFrame
在类 FieldAbstractPropagator<T 扩展 org.hipparchus.CalculusFieldElement<T>>
FieldPropagator.resetInitialState(FieldSpacecraftState)
Copyright © 2002-2023 CS GROUP. All rights reserved.