Class TleGenerationAlgorithm
- All Implemented Interfaces:
Cloneable,OrbitalParameterFactory<TLE>
- Direct Known Subclasses:
FixedPointTleGenerationAlgorithm,LeastSquaresTleGenerationAlgorithm
- Since:
- 12.0
- Author:
- Bryan Cazabonne
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringParameter name for B* coefficient.static final doubleB* scaling factor.static final StringName for eccentricity.static final StringName for inclination.static final StringName for mean anomaly.static final StringName for mean motion.static final StringName for periapsis argument.static final StringName for right ascension of ascending node. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedTleGenerationAlgorithm(TLE templateTLE, Frame teme, OsculatingToMeanConverter converter) Default constructor. -
Method Summary
Modifier and TypeMethodDescriptionclone()Create orbital parameters from current drivers values.<T extends CalculusFieldElement<T>>
FieldTLE<T> generate(FieldSpacecraftState<T> state, FieldTLE<T> newTemplateTLE) Generate a TLE from a given spacecraft state and a template TLE.generate(SpacecraftState state, TLE newTemplateTLE) Generate a TLE from a given spacecraft state and a template TLE.protected doublegetBStar()Get the current B-star value.Get the osculating to mean orbit converter.Get the Jacobian of the Cartesian coordinates with respect to the orbital parameters.Get the Jacobian of the Cartesian coordinates with respect to the orbital elements of a TLE.Get the drivers for additional drivers for non-Keplerian motion.Get the template TLE.protected double[]Convert an input into an array suitable to feed orbital parameters drivers.Methods inherited from class org.orekit.orbits.AbstractOrbitalParameterFactory
getDate, getFrame, getJacobianWrtCartesian, getMu, getOrbitalParametersDrivers, getOrbitType, getPositionAngleType, reset, setDate, setFrame, setMu, setPositionAngleType
-
Field Details
-
MEAN_MOTION
Name for mean motion.- See Also:
-
ECCENTRICITY
Name for eccentricity.- See Also:
-
INCLINATION
Name for inclination.- See Also:
-
PERIAPSIS_ARGUMENT
Name for periapsis argument.- See Also:
-
RAAN
Name for right ascension of ascending node.- See Also:
-
MEAN_ANOM
Name for mean anomaly.- See Also:
-
B_STAR
Parameter name for B* coefficient.- See Also:
-
B_STAR_SCALE
public static final double B_STAR_SCALEB* scaling factor.We use a power of 2 to avoid numeric noise introduction in the multiplications/divisions sequences.
-
-
Constructor Details
-
TleGenerationAlgorithm
Default constructor.- Parameters:
templateTLE- template TLEteme- teme frameconverter- osculating to mean orbit converter
-
-
Method Details
-
getTemplateTLE
Get the template TLE.- Returns:
- template TLE
-
getConverter
Get the osculating to mean orbit converter.- Returns:
- osculating to mean orbit converter
- Since:
- 14.0
-
getNonKeplerianParametersDrivers
Get the drivers for additional drivers for non-Keplerian motion.- Specified by:
getNonKeplerianParametersDriversin interfaceOrbitalParameterFactory<TLE>- Overrides:
getNonKeplerianParametersDriversin classAbstractOrbitalParameterFactory<TLE>- Returns:
- drivers for non-Keplerian motion
-
toArray
Convert an input into an array suitable to feed orbital parameters drivers.- Specified by:
toArrayin classAbstractOrbitalParameterFactory<TLE>- Parameters:
orbit- orbit to convert- Returns:
- arrays corresponding to orbit
-
createFromDrivers
Create orbital parameters from current drivers values.- Returns:
- created orbital parameters
-
getJacobianWrtParameters
Get the Jacobian of the Cartesian coordinates with respect to the orbital parameters.The Jacobian is evaluated at the
current drivers values, at thefactory dateand in thefactory frame.The TLE orbital elements are related to the Cartesian coordinates by the SGP4/SDP4 model itself, which has no closed-form derivatives, so the Jacobian is obtained by automatic differentiation: the six elements of the TLE built from the current drivers are turned into
Gradientvariables, and the resulting TLE is evaluated at its own epoch.- Returns:
- jacobian matrix dC/dB, where C are the Cartesian coordinates and B the orbital parameters this factory is built upon
-
getJacobianWrtParameters
Get the Jacobian of the Cartesian coordinates with respect to the orbital elements of a TLE.The TLE orbital elements are related to the Cartesian coordinates by the SGP4/SDP4 model itself, which has no closed-form derivatives, so the Jacobian is obtained by automatic differentiation: the six orbital elements are turned into
Gradientvariables and the TLE is evaluated at its own epoch. All the remaining data (identification, mean motion derivatives, B*) are held constant.- Parameters:
tle- TLE holding the orbital elements the Jacobian is computed with respect to- Returns:
- jacobian matrix dC/dB, at the TLE epoch and in the TEME frame
-
getBStar
protected double getBStar()Get the current B-star value.- Returns:
- current B-star value
-
generate
Generate a TLE from a given spacecraft state and a template TLE.The template TLE is only used to get identifiers like satellite number, launch year, etc. In other words, the keplerian elements contained in the generated TLE are based on the provided state and not the template TLE.
- Parameters:
state- spacecraft statenewTemplateTLE- template TLE- Returns:
- a TLE corresponding to the given state
-
generate
public <T extends CalculusFieldElement<T>> FieldTLE<T> generate(FieldSpacecraftState<T> state, FieldTLE<T> newTemplateTLE) Generate a TLE from a given spacecraft state and a template TLE.The template TLE is only used to get identifiers like satellite number, launch year, etc. In other words, the keplerian elements contained in the generated TLE are based on the provided state and not the template TLE.
- Type Parameters:
T- type of the elements- Parameters:
state- spacecraft statenewTemplateTLE- template TLE- Returns:
- a TLE corresponding to the given state
-
clone
- Overrides:
clonein classAbstractOrbitalParameterFactory<TLE>
-