public class GNSSMeasurementsGenerator
extends Object
-
Field Summary
Fields
static final double
Earth rotation rate expressed in radians per second (rad/s).
static final double
Speed of light in the vacuum expressed in meters per second (m/s).
-
Constructor Summary
Constructors
-
Method Summary
private static double
Converts time instance into seconds.
private static boolean
generate(double time,
double satelliteX,
double satelliteY,
double satelliteZ,
double satelliteVx,
double satelliteVy,
double satelliteVz,
double userX,
double userY,
double userZ,
double userLatitude,
double userLongitude,
double userVx,
double userVy,
double userVz,
double gnssRangeErrorBias,
GNSSConfig config,
Random random,
GNSSMeasurement result)
Internal method to generate a single satellite GNSS measurement.
private static boolean
generate(double time,
double satelliteX,
double satelliteY,
double satelliteZ,
double satelliteVx,
double satelliteVy,
double satelliteVz,
double userX,
double userY,
double userZ,
double userVx,
double userVy,
double userVz,
double gnssRangeErrorBias,
GNSSConfig config,
com.irurueta.algebra.Matrix cen,
com.irurueta.algebra.Matrix omegaIe,
com.irurueta.algebra.Matrix cei,
com.irurueta.algebra.Matrix satellitePosition,
com.irurueta.algebra.Matrix deltaR,
com.irurueta.algebra.Matrix satelliteVelocity,
com.irurueta.algebra.Matrix userPosition,
com.irurueta.algebra.Matrix userVelocity,
com.irurueta.algebra.Matrix tmp1,
com.irurueta.algebra.Matrix tmp2,
com.irurueta.algebra.Matrix tmp3,
com.irurueta.algebra.Matrix tmp4,
com.irurueta.algebra.Matrix tmp5,
com.irurueta.algebra.Matrix tmp6,
Random random,
GNSSMeasurement result)
Internal method to generate a single satellite GNSS measurement.
generate(double time,
double satelliteX,
double satelliteY,
double satelliteZ,
double satelliteVx,
double satelliteVy,
double satelliteVz,
double userX,
double userY,
double userZ,
double userVx,
double userVy,
double userVz,
double gnssRangeErrorBias,
GNSSConfig config,
Random random)
Generates a single satellite GNSS measurement.
static boolean
generate(double time,
double satelliteX,
double satelliteY,
double satelliteZ,
double satelliteVx,
double satelliteVy,
double satelliteVz,
double userX,
double userY,
double userZ,
double userVx,
double userVy,
double userVz,
double gnssRangeErrorBias,
GNSSConfig config,
Random random,
GNSSMeasurement result)
Generates a single satellite GNSS measurement.
Generates a single satellite GNSS measurement.
static boolean
Generates a single satellite GNSS measurement.
Generates a single satellite GNSS measurement.
static boolean
Generates a single satellite GNSS measurement.
generate(double time,
List<ECEFPositionAndVelocity> satellitePositionsAndVelocities,
double userX,
double userY,
double userZ,
double userVx,
double userVy,
double userVz,
List<Double> gnssRangeErrorBiases,
GNSSConfig config,
Random random)
Generates satellite GNSS measurements.
static void
generate(double time,
List<ECEFPositionAndVelocity> satellitePositionsAndVelocities,
double userX,
double userY,
double userZ,
double userVx,
double userVy,
double userVz,
List<Double> gnssRangeErrorBiases,
GNSSConfig config,
Random random,
Collection<GNSSMeasurement> result)
Generates satellite GNSS measurements.
Generates satellite GNSS measurements.
static void
Generates satellite GNSS measurements.
Generates satellite GNSS measurements.
static void
Generates satellite GNSS measurements.
Generates a single satellite GNSS measurement.
static boolean
Generates a single satellite GNSS measurement.
Generates a single satellite GNSS measurement.
static boolean
Generates a single satellite GNSS measurement.
Generates satellite GNSS measurements.
static void
Generates satellite GNSS measurements.
Generates satellite GNSS measurements.
static void
Generates satellite GNSS measurements.
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
SPEED_OF_LIGHT
public static final double SPEED_OF_LIGHT
Speed of light in the vacuum expressed in meters per second (m/s).
- 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
-
GNSSMeasurementsGenerator
private GNSSMeasurementsGenerator()
Constructor.
Prevents instantiation of utility class.
-
Method Details
-
generate
Generates satellite GNSS measurements.
- Parameters:
time
- current simulation time.
satellitePositionsAndVelocities
- satellite positions and velocities.
userPositionAndVelocity
- user position and velocity.
gnssRangeErrorBiases
- GNSS range error biases for each
satellite position and velocity.
config
- GNSS configuration parameters.
random
- random number generator.
- Returns:
- collection of GNSS measurements.
-
generate
Generates satellite GNSS measurements.
- Parameters:
time
- current simulation time.
satellitePositionsAndVelocities
- satellite positions and velocities.
userPositionAndVelocity
- user position and velocity.
gnssRangeErrorBiases
- GNSS range error biases for each
satellite position and velocity.
config
- GNSS configuration parameters.
random
- random number generator.
result
- instance where resulting collection of
GNSS measurements are stored.
-
generate
Generates satellite GNSS measurements.
- Parameters:
time
- current simulation time expressed in
seconds (s).
satellitePositionsAndVelocities
- satellite positions and velocities.
userPositionAndVelocity
- user position and velocity.
gnssRangeErrorBiases
- GNSS range error biases for each
satellite position and velocity.
config
- GNSS configuration parameters.
random
- random number generator.
- Returns:
- collection of GNSS measurements.
-
generate
Generates satellite GNSS measurements.
- Parameters:
time
- current simulation time expressed in
seconds (s).
satellitePositionsAndVelocities
- satellite positions and velocities.
userPositionAndVelocity
- user position and velocity.
gnssRangeErrorBiases
- GNSS range error biases for each
satellite position and velocity.
config
- GNSS configuration parameters.
random
- random number generator.
result
- instance where resulting collection of
GNSS measurements are stored.
-
generate
Generates satellite GNSS measurements.
- Parameters:
time
- current simulation time.
satellitePositionsAndVelocities
- satellite positions and velocities.
userPosition
- user position.
userVelocity
- user velocity.
gnssRangeErrorBiases
- GNSS range error biases for each satellite
position and velocity.
config
- GNSS configuration parameters.
random
- random number generator.
- Returns:
- collection of GNSS measurements.
-
generate
Generates satellite GNSS measurements.
- Parameters:
time
- current simulation time.
satellitePositionsAndVelocities
- satellite positions and velocities.
userPosition
- user position.
userVelocity
- user velocity.
gnssRangeErrorBiases
- GNSS range error biases for each satellite
position and velocity.
config
- GNSS configuration parameters.
random
- random number generator.
result
- instance where resulting collection of
GNSS measurements are stored.
-
generate
Generates satellite GNSS measurements.
- Parameters:
time
- current simulation time expressed in
seconds (s).
satellitePositionsAndVelocities
- satellite positions and velocities.
userPosition
- user position.
userVelocity
- user velocity.
gnssRangeErrorBiases
- GNSS range error biases for each satellite
position and velocity.
config
- GNSS configuration parameters.
random
- random number generator.
- Returns:
- collection of GNSS measurements.
-
generate
Generates satellite GNSS measurements.
- Parameters:
time
- current simulation time expressed in
seconds (s).
satellitePositionsAndVelocities
- satellite positions and velocities.
userPosition
- user position.
userVelocity
- user velocity.
gnssRangeErrorBiases
- GNSS range error biases for each
satellite position and velocity.
config
- GNSS configuration parameters.
random
- random number generator.
result
- instance where resulting collection of
GNSS measurements are stored.
-
generate
public static Collection<GNSSMeasurement> generate(double time,
List<ECEFPositionAndVelocity> satellitePositionsAndVelocities,
double userX,
double userY,
double userZ,
double userVx,
double userVy,
double userVz,
List<Double> gnssRangeErrorBiases,
GNSSConfig config,
Random random)
Generates satellite GNSS measurements.
- Parameters:
time
- current simulation time expressed in
seconds (s).
satellitePositionsAndVelocities
- satellite positions and velocities.
userX
- x ECEF coordinate of user position
expressed in meters (m).
userY
- y ECEF coordinate of user position
expressed in meters (m).
userZ
- z ECEF coordinate of user position
expressed in meters (m).
userVx
- x ECEF coordinate of user velocity
expressed in meters per second (m/s).
userVy
- y ECEF coordinate of user velocity
expressed in meters per second (m/s).
userVz
- z ECEF coordinate of user velocity
expressed in meters per second (m/s).
gnssRangeErrorBiases
- GNSS range error biases for each
satellite position and velocity.
config
- GNSS configuration parameters.
random
- random number generator.
- Returns:
- collection of GNSS measurements.
-
generate
public static void generate(double time,
List<ECEFPositionAndVelocity> satellitePositionsAndVelocities,
double userX,
double userY,
double userZ,
double userVx,
double userVy,
double userVz,
List<Double> gnssRangeErrorBiases,
GNSSConfig config,
Random random,
Collection<GNSSMeasurement> result)
Generates satellite GNSS measurements.
- Parameters:
time
- current simulation time expressed in
seconds (s).
satellitePositionsAndVelocities
- satellite positions and velocities.
userX
- x ECEF coordinate of user position
expressed in meters (m).
userY
- y ECEF coordinate of user position
expressed in meters (m).
userZ
- z ECEF coordinate of user position
expressed in meters (m).
userVx
- x ECEF coordinate of user velocity
expressed in meters per second (m/s).
userVy
- y ECEF coordinate of user velocity
expressed in meters per second (m/s).
userVz
- z ECEF coordinate of user velocity
expressed in meters per second (m/s).
gnssRangeErrorBiases
- GNSS range error biases for each
satellite position and velocity.
config
- GNSS configuration parameters.
random
- random number generator.
result
- instance where resulting collection of
GNSS measurements are stored.
-
generate
Generates a single satellite GNSS measurement.
- Parameters:
time
- current simulation time.
satellitePositionAndVelocity
- satellite position and velocity.
userPositionAndVelocity
- user position and velocity.
gnssRangeErrorBias
- GNSS range error bias.
config
- GNSS configuration parameters.
random
- random number generator.
- Returns:
- a new GNSS measurement.
-
generate
Generates a single satellite GNSS measurement.
- Parameters:
time
- current simulation time.
satellitePositionAndVelocity
- satellite position and velocity.
userPositionAndVelocity
- user position and velocity.
gnssRangeErrorBias
- GNSS range error bias.
config
- GNSS configuration parameters.
random
- random number generator.
result
- instance where resulting GNSS measurement
is stored.
- Returns:
- true if result has been obtained, failed if satellite is below elevation
mask angle and result is not updated.
-
generate
Generates a single satellite GNSS measurement.
- Parameters:
time
- current simulation time expressed in
seconds (s).
satellitePositionAndVelocity
- satellite position and velocity.
userPositionAndVelocity
- user position and velocity.
gnssRangeErrorBias
- GNSS range error bias.
config
- GNSS configuration parameters.
random
- random number generator.
- Returns:
- a new GNSS measurement.
-
generate
Generates a single satellite GNSS measurement.
- Parameters:
time
- current simulation time expressed in
seconds (s).
satellitePositionAndVelocity
- satellite position and velocity.
userPositionAndVelocity
- user position and velocity.
gnssRangeErrorBias
- GNSS range error bias.
config
- GNSS configuration parameters.
random
- random number generator.
result
- instance where resulting GNSS measurement
is stored.
- Returns:
- true if result has been obtained, failed if satellite is below elevation
mask angle and result is not updated.
-
generate
Generates a single satellite GNSS measurement.
- Parameters:
time
- current simulation time.
satellitePosition
- satellite position.
satelliteVelocity
- satellite velocity.
userPosition
- user position.
userVelocity
- user velocity.
gnssRangeErrorBias
- GNSS range error bias.
config
- GNSS configuration parameters.
random
- random number generator.
- Returns:
- a new GNSS measurement.
-
generate
Generates a single satellite GNSS measurement.
- Parameters:
time
- current simulation time.
satellitePosition
- satellite position.
satelliteVelocity
- satellite velocity.
userPosition
- user position.
userVelocity
- user velocity.
gnssRangeErrorBias
- GNSS range error bias.
config
- GNSS configuration parameters.
random
- random number generator.
result
- instance where resulting GNSS measurement is stored.
- Returns:
- true if result has been obtained, failed if satellite is below elevation
mask angle and result is not updated.
-
generate
Generates a single satellite GNSS measurement.
- Parameters:
time
- current simulation time expressed in seconds (s).
satellitePosition
- satellite position.
satelliteVelocity
- satellite velocity.
userPosition
- user position.
userVelocity
- user velocity.
gnssRangeErrorBias
- GNSS range error bias.
config
- GNSS configuration parameters.
random
- random number generator.
- Returns:
- a new GNSS measurement.
-
generate
Generates a single satellite GNSS measurement.
- Parameters:
time
- current simulation time expressed in seconds (s).
satellitePosition
- satellite position.
satelliteVelocity
- satellite velocity.
userPosition
- user position.
userVelocity
- user velocity.
gnssRangeErrorBias
- GNSS range error bias.
config
- GNSS configuration parameters.
random
- random number generator.
result
- instance where resulting GNSS measurement
is stored.
- Returns:
- true if result has been obtained, failed if satellite is below elevation
mask angle and result is not updated.
-
generate
public static GNSSMeasurement generate(double time,
double satelliteX,
double satelliteY,
double satelliteZ,
double satelliteVx,
double satelliteVy,
double satelliteVz,
double userX,
double userY,
double userZ,
double userVx,
double userVy,
double userVz,
double gnssRangeErrorBias,
GNSSConfig config,
Random random)
Generates a single satellite GNSS measurement.
- Parameters:
time
- current simulation time expressed in seconds (s).
satelliteX
- x ECEF coordinate of satellite position
expressed in meters (m).
satelliteY
- y ECEF coordinate of satellite position
expressed in meters (m).
satelliteZ
- z ECEF coordinate of satellite position
expressed in meters (m).
satelliteVx
- x ECEF coordinate of satellite velocity
expressed in meters per second (m/s).
satelliteVy
- y ECEF coordinate of satellite velocity
expressed in meters per second (m/s).
satelliteVz
- z ECEF coordinate of satellite velocity
expressed in meters per second (m/s).
userX
- x ECEF coordinate of user position
expressed in meters (m).
userY
- y ECEF coordinate of user position
expressed in meters (m).
userZ
- z ECEF coordinate of user position
expressed in meters (m).
userVx
- x ECEF coordinate of user velocity
expressed in meters per second (m/s).
userVy
- y ECEF coordinate of user velocity
expressed in meters per second (m/s).
userVz
- z ECEF coordinate of user velocity
expressed in meters per second (m/s).
gnssRangeErrorBias
- GNSS range error bias.
config
- GNSS configuration parameters.
random
- random number generator.
- Returns:
- a new GNSS measurement.
-
generate
public static boolean generate(double time,
double satelliteX,
double satelliteY,
double satelliteZ,
double satelliteVx,
double satelliteVy,
double satelliteVz,
double userX,
double userY,
double userZ,
double userVx,
double userVy,
double userVz,
double gnssRangeErrorBias,
GNSSConfig config,
Random random,
GNSSMeasurement result)
Generates a single satellite GNSS measurement.
- Parameters:
time
- current simulation time expressed in seconds (s).
satelliteX
- x ECEF coordinate of satellite position
expressed in meters (m).
satelliteY
- y ECEF coordinate of satellite position
expressed in meters (m).
satelliteZ
- z ECEF coordinate of satellite position
expressed in meters (m).
satelliteVx
- x ECEF coordinate of satellite velocity
expressed in meters per second (m/s).
satelliteVy
- y ECEF coordinate of satellite velocity
expressed in meters per second (m/s).
satelliteVz
- z ECEF coordinate of satellite velocity
expressed in meters per second (m/s).
userX
- x ECEF coordinate of user position
expressed in meters (m).
userY
- y ECEF coordinate of user position
expressed in meters (m).
userZ
- z ECEF coordinate of user position
expressed in meters (m).
userVx
- x ECEF coordinate of user velocity
expressed in meters per second (m/s).
userVy
- y ECEF coordinate of user velocity
expressed in meters per second (m/s).
userVz
- z ECEF coordinate of user velocity
expressed in meters per second (m/s).
gnssRangeErrorBias
- GNSS range error bias.
config
- GNSS configuration parameters.
random
- random number generator.
result
- instance where resulting GNSS measurement
is stored.
- Returns:
- true if result has been obtained, failed if satellite is below elevation
mask angle and result is not updated.
-
generate
private static boolean generate(double time,
double satelliteX,
double satelliteY,
double satelliteZ,
double satelliteVx,
double satelliteVy,
double satelliteVz,
double userX,
double userY,
double userZ,
double userLatitude,
double userLongitude,
double userVx,
double userVy,
double userVz,
double gnssRangeErrorBias,
GNSSConfig config,
Random random,
GNSSMeasurement result)
Internal method to generate a single satellite GNSS measurement.
- Parameters:
time
- current simulation time expressed in seconds (s).
satelliteX
- x ECEF coordinate of satellite position
expressed in meters (m).
satelliteY
- y ECEF coordinate of satellite position
expressed in meters (m).
satelliteZ
- z ECEF coordinate of satellite position
expressed in meters (m).
satelliteVx
- x ECEF coordinate of satellite velocity
expressed in meters per second (m/s).
satelliteVy
- y ECEF coordinate of satellite velocity
expressed in meters per second (m/s).
satelliteVz
- z ECEF coordinate of satellite velocity
expressed in meters per second (m/s).
userX
- x ECEF coordinate of user position
expressed in meters (m).
userY
- y ECEF coordinate of user position
expressed in meters (m).
userZ
- z ECEF coordinate of user position
expressed in meters (m).
userLatitude
- latitude of user NED position expressed in
radians (rad).
userLongitude
- longitude of user NED position expressed in
radians (rad).
userVx
- x ECEF coordinate of user velocity
expressed in meters per second (m/s).
userVy
- y ECEF coordinate of user velocity
expressed in meters per second (m/s).
userVz
- z ECEF coordinate of user velocity
expressed in meters per second (m/s).
gnssRangeErrorBias
- GNSS range error bias.
config
- GNSS configuration parameters.
random
- random number generator.
result
- instance where resulting GNSS measurement
is stored.
- Returns:
- true if result has been obtained, failed if satellite is below elevation
mask angle and result is not updated.
-
generate
private static boolean generate(double time,
double satelliteX,
double satelliteY,
double satelliteZ,
double satelliteVx,
double satelliteVy,
double satelliteVz,
double userX,
double userY,
double userZ,
double userVx,
double userVy,
double userVz,
double gnssRangeErrorBias,
GNSSConfig config,
com.irurueta.algebra.Matrix cen,
com.irurueta.algebra.Matrix omegaIe,
com.irurueta.algebra.Matrix cei,
com.irurueta.algebra.Matrix satellitePosition,
com.irurueta.algebra.Matrix deltaR,
com.irurueta.algebra.Matrix satelliteVelocity,
com.irurueta.algebra.Matrix userPosition,
com.irurueta.algebra.Matrix userVelocity,
com.irurueta.algebra.Matrix tmp1,
com.irurueta.algebra.Matrix tmp2,
com.irurueta.algebra.Matrix tmp3,
com.irurueta.algebra.Matrix tmp4,
com.irurueta.algebra.Matrix tmp5,
com.irurueta.algebra.Matrix tmp6,
Random random,
GNSSMeasurement result)
throws com.irurueta.algebra.WrongSizeException
Internal method to generate a single satellite GNSS measurement.
- Parameters:
time
- current simulation time expressed in seconds (s).
satelliteX
- x ECEF coordinate of satellite position
expressed in meters (m).
satelliteY
- y ECEF coordinate of satellite position
expressed in meters (m).
satelliteZ
- z ECEF coordinate of satellite position
expressed in meters (m).
satelliteVx
- x ECEF coordinate of satellite velocity
expressed in meters per second (m/s).
satelliteVy
- y ECEF coordinate of satellite velocity
expressed in meters per second (m/s).
satelliteVz
- z ECEF coordinate of satellite velocity
expressed in meters per second (m/s).
userX
- x ECEF coordinate of user position
expressed in meters (m).
userY
- y ECEF coordinate of user position
expressed in meters (m).
userZ
- z ECEF coordinate of user position
expressed in meters (m).
userVx
- x ECEF coordinate of user velocity
expressed in meters per second (m/s).
userVy
- y ECEF coordinate of user velocity
expressed in meters per second (m/s).
userVz
- z ECEF coordinate of user velocity
expressed in meters per second (m/s).
gnssRangeErrorBias
- GNSS range error bias.
config
- GNSS configuration parameters.
cen
- ECEF to NED coordinate transformation matrix.
omegaIe
- skew symmetric matrix of Earth rotation rate.
cei
- ECEF to ECI conversion matrix.
satellitePosition
- column matrix containing satellite position.
deltaR
- vector containing satellite to user position
difference.
satelliteVelocity
- column matrix containing satellite velocity.
userPosition
- column matrix containing user position.
userVelocity
- column matrix containing user velocity.
tmp1
- column matrix containing temporal values.
tmp2
- column matrix containing temporal values.
tmp3
- column matrix containing temporal values.
tmp4
- column matrix containing temporal values.
tmp5
- column matrix containing temporal values.
tmp6
- column matrix containing temporal values.
random
- random number generator.
result
- instance where resulting GNSS measurement
is stored.
- Returns:
- true if result has been obtained, failed if satellite is below elevation
mask angle and result is not updated.
- Throws:
com.irurueta.algebra.WrongSizeException
- if an error occurs.
-
convertTime
private static double convertTime(com.irurueta.units.Time time)
Converts time instance into seconds.
- Parameters:
time
- instance to be converted.
- Returns:
- time converted to seconds.