Class SatelliteECEFPositionAndVelocityGenerator

java.lang.Object
com.irurueta.navigation.gnss.SatelliteECEFPositionAndVelocityGenerator

public class SatelliteECEFPositionAndVelocityGenerator extends Object
Computes satellites positions and velocities. This implementation is based on the equations defined in "Principles of GNSS, Inertial, and Multi-sensor Integrated Navigation Systems, Second Edition" and on the companion software available at: https://github.com/ymjdz/MATLAB-Codes/blob/master/Satellite_positions_and_velocities.m
  • Field Details

    • EARTH_GRAVITATIONAL_CONSTANT

      public static final double EARTH_GRAVITATIONAL_CONSTANT
      WGS84 Earth gravitational constant expressed in m^3 * s^-2
      See Also:
    • EARTH_ROTATION_RATE

      public static final double EARTH_ROTATION_RATE
      Earth rotation rate expressed in radians per second (rad/s).
      See Also:
  • Constructor Details

    • SatelliteECEFPositionAndVelocityGenerator

      private SatelliteECEFPositionAndVelocityGenerator()
      Constructor. Prevents instantiation of utility class.
  • Method Details

    • generateSatellitesPositionAndVelocity

      public static Collection<ECEFPositionAndVelocity> generateSatellitesPositionAndVelocity(double time, GNSSConfig config)
      Generates positions and velocities of satellites based on provided configuration.
      Parameters:
      time - current time expressed in seconds (s).
      config - GNSS configuration.
      Returns:
      collection containing position and velocities of satellites.
    • generateSatellitesPositionAndVelocity

      public static void generateSatellitesPositionAndVelocity(double time, GNSSConfig config, Collection<ECEFPositionAndVelocity> result)
      Generates positions and velocities of satellites based on provided configuration.
      Parameters:
      time - current time expressed in seconds (s).
      config - GNSS configuration.
      result - instance where computed positions and velocities of satellites will be stored.
    • generateSatellitePositionAndVelocity

      public static ECEFPositionAndVelocity generateSatellitePositionAndVelocity(double time, GNSSConfig config, int j)
      Generates position and velocity of a single satellite based on provided configuration.
      Parameters:
      time - current time expressed in seconds (s).
      config - GNSS configuration.
      j - number of satellite whose position and velocity must be computed.
      Returns:
      computed satellite position and velocity.
    • generateSatellitePositionAndVelocity

      public static void generateSatellitePositionAndVelocity(double time, GNSSConfig config, int j, ECEFPositionAndVelocity result)
      Generates position and velocity of a single satellite based on provided configuration.
      Parameters:
      time - current time expressed in seconds (s).
      config - GNSS configuration.
      j - number of satellite whose position and velocity must be computed.
      result - instance where computed satellite position and velocity will be stored.