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 generate TLE a 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 generate TLE a 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