Class LeastSquaresTleGenerationAlgorithm

  • All Implemented Interfaces:
    TleGenerationAlgorithm

    public class LeastSquaresTleGenerationAlgorithm
    extends Object
    implements TleGenerationAlgorithm
    Least squares method to generate a usable TLE from a spacecraft state.
    Since:
    12.0
    Author:
    Mark Rutten
    • Field Detail

      • DEFAULT_MAX_ITERATIONS

        public static final int DEFAULT_MAX_ITERATIONS
        Default value for maximum number of iterations.
        See Also:
        Constant Field Values
    • Constructor Detail

      • LeastSquaresTleGenerationAlgorithm

        @DefaultDataContext
        public LeastSquaresTleGenerationAlgorithm​(int maxIterations)
        Default constructor.

        Uses the default data context.

        Parameters:
        maxIterations - maximum number of iterations for convergence
      • LeastSquaresTleGenerationAlgorithm

        public LeastSquaresTleGenerationAlgorithm​(int maxIterations,
                                                  TimeScale utc,
                                                  Frame teme)
        Constructor.
        Parameters:
        maxIterations - maximum number of iterations for convergence
        utc - UTC time scale
        teme - TEME frame
    • Method Detail

      • generate

        public TLE generate​(SpacecraftState state,
                            TLE templateTLE)
        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.

        Specified by:
        generate in interface TleGenerationAlgorithm
        Parameters:
        state - spacecraft state
        templateTLE - template TLE
        Returns:
        a TLE corresponding to the given state
      • getRms

        public double getRms()
        Get the Root Mean Square of the TLE estimation.

        Be careful that the RMS is updated each time the generate(SpacecraftState, TLE) method is called.

        Returns:
        the RMS
      • generate

        public <T extends CalculusFieldElement<T>> FieldTLE<T> generate​(FieldSpacecraftState<T> state,
                                                                        FieldTLE<T> templateTLE)
        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.

        Specified by:
        generate in interface TleGenerationAlgorithm
        Type Parameters:
        T - type of the elements
        Parameters:
        state - spacecraft state
        templateTLE - template TLE
        Returns:
        a TLE corresponding to the given state