Class GNSSBiasesGenerator

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

public class GNSSBiasesGenerator extends Object
Generates the GNSS range errors due to signal in space, ionosphere and troposphere errors based on the elevation angles. 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/Initialize_GNSS_biases.m
  • Field Details

    • IONO_FACTOR

      private static final double IONO_FACTOR
      Ionosphere factor.
      See Also:
    • TROPO_FACTOR

      private static final double TROPO_FACTOR
      Troposphere factor.
      See Also:
  • Constructor Details

    • GNSSBiasesGenerator

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

    • generateBiases

      public static List<Double> generateBiases(List<ECEFPosition> satellitePositions, ECEFPosition userPosition, GNSSConfig config, Random random)
      Generates biases.
      Parameters:
      satellitePositions - ECEF satellite positions expressed in meters (m).
      userPosition - ECEF user position expressed in meters (m).
      config - GNSS configuration.
      random - random number generator.
      Returns:
      list of generated biases for each provided satellite position.
    • generateBiases

      public static void generateBiases(List<ECEFPosition> satellitePositions, ECEFPosition userPosition, GNSSConfig config, Random random, List<Double> result)
      Generates biases.
      Parameters:
      satellitePositions - ECEF satellite positions expressed in meters (m).
      userPosition - ECEF user position expressed in meters (m).
      config - GNSS configuration.
      random - random number generator.
      result - instance where generated biases for each provided satellite position will be stored.
    • generateBias

      public static double generateBias(ECEFPosition satellitePosition, ECEFPosition userPosition, GNSSConfig config, Random random)
      Generates biases.
      Parameters:
      satellitePosition - ECEF satellite positions expressed in meters (m).
      userPosition - ECEF user position expressed in meters (m).
      config - GNSS configuration.
      random - random number generator.
      Returns:
      generated bias for provided satellite position.
    • generate

      private static void generate(List<ECEFPosition> satellitePositions, ECEFPosition userPosition, double userLatitude, double userLongitude, GNSSConfig config, Random random, List<Double> result)
      Generates biases.
      Parameters:
      satellitePositions - ECEF satellite positions expressed in meters (m).
      userPosition - ECEF user position expressed in meters (m).
      userLatitude - user latitude expressed in radians (rad).
      userLongitude - user longitude expressed in radians (rad).
      config - GNSS configuration.
      random - random number generator.
      result - instance where generated biases for each provided satellite position will be stored.
    • generate

      private static double generate(ECEFPosition satellitePosition, ECEFPosition userPosition, GNSSConfig config, com.irurueta.algebra.Matrix cen, Random random)
      Generates bias.
      Parameters:
      satellitePosition - ECEF satellite position expressed in meters (m).
      userPosition - ECEF user position expressed in meters (m).
      config - GNSS configuration.
      cen - ECEF to NED coordinate transformation matrix.
      random - random number generator.
      Returns:
      generated bias provided satellite position.