Class INSLooselyCoupledKalmanEpochEstimator

java.lang.Object
com.irurueta.navigation.inertial.INSLooselyCoupledKalmanEpochEstimator

public class INSLooselyCoupledKalmanEpochEstimator extends Object
Implements one cycle of the loosely coupled INS/GNSS Kalman filter plus closed-loop correction of all inertial states. This implementation is based on the equations defined in "Principles of GNSS, Inertial, and Multisensor Integrated Navigation Systems, Second Edition" and on the companion software available at: https://github.com/ymjdz/MATLAB-Codes/blob/master/LC_KF_Epoch.m
  • Field Details

    • EARTH_ROTATION_RATE

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

      public static final double EARTH_EQUATORIAL_RADIUS_WGS84
      The equatorial radius of WGS84 ellipsoid (6378137 m) defining Earth's shape.
      See Also:
    • EARTH_ECCENTRICITY

      public static final double EARTH_ECCENTRICITY
      Earth eccentricity as defined on the WGS84 ellipsoid.
      See Also:
    • POS_AND_VEL_COMPONENTS

      private static final int POS_AND_VEL_COMPONENTS
      Number of components of position + velocity.
      See Also:
  • Constructor Details

    • INSLooselyCoupledKalmanEpochEstimator

      private INSLooselyCoupledKalmanEpochEstimator()
      Constructor. Prevents instantiation of helper class.
  • Method Details

    • estimate

      public static INSLooselyCoupledKalmanState estimate(com.irurueta.navigation.frames.ECEFPosition userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, double propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      userPosition - ECEF user position.
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(com.irurueta.navigation.frames.ECEFPosition userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, double propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      userPosition - ECEF user position.
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(com.irurueta.navigation.frames.ECEFPosition userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, double propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, double previousLatitude, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      userPosition - ECEF user position.
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      previousLatitude - previous latitude solution expressed in radians (rad).
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(com.irurueta.navigation.frames.ECEFPosition userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, double propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, double previousLatitude, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      userPosition - ECEF user position.
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      previousLatitude - previous latitude solution expressed in radians (rad).
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(com.irurueta.navigation.frames.ECEFPosition userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, double propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      userPosition - ECEF user position.
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(com.irurueta.navigation.frames.ECEFPosition userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, double propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      userPosition - ECEF user position.
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(com.irurueta.navigation.frames.ECEFPosition userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, double propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, double previousLatitude, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      userPosition - ECEF user position.
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      previousLatitude - previous latitude solution expressed in radians (rad).
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(com.irurueta.navigation.frames.ECEFPosition userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, double propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, double previousLatitude, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      userPosition - GNSS estimated ECEF user position.
      userVelocity - GNSS estimated ECEF user velocity.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      previousLatitude - previous latitude solution expressed in radians (rad).
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(double x, double y, double z, double vx, double vy, double vz, double propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      x - ECEF x coordinate of user position expressed in meters (m).
      y - ECEF y coordinate of user position expressed in meters (m).
      z - ECEF z coordinate of user position expressed in meters (m).
      vx - ECEF x coordinate of user velocity expressed in meters per second (m/s).
      vy - ECEF y coordinate of user velocity expressed in meters per second (m/s).
      vz - ECEF z coordinate of user velocity expressed in meters per second (m/s).
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(double x, double y, double z, double vx, double vy, double vz, double propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      x - ECEF x coordinate of user position expressed in meters (m).
      y - ECEF y coordinate of user position expressed in meters (m).
      z - ECEF z coordinate of user position expressed in meters (m).
      vx - ECEF x coordinate of user velocity expressed in meters per second (m/s).
      vy - ECEF y coordinate of user velocity expressed in meters per second (m/s).
      vz - ECEF z coordinate of user velocity expressed in meters per second (m/s).
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(double x, double y, double z, double vx, double vy, double vz, double propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, double previousLatitude, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      x - ECEF x coordinate of user position expressed in meters (m).
      y - ECEF y coordinate of user position expressed in meters (m).
      z - ECEF z coordinate of user position expressed in meters (m).
      vx - ECEF x coordinate of user velocity expressed in meters per second (m/s).
      vy - ECEF y coordinate of user velocity expressed in meters per second (m/s).
      vz - ECEF z coordinate of user velocity expressed in meters per second (m/s).
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      previousLatitude - previous latitude solution expressed in radians (rad).
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(double x, double y, double z, double vx, double vy, double vz, double propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, double previousLatitude, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      x - ECEF x coordinate of user position expressed in meters (m).
      y - ECEF y coordinate of user position expressed in meters (m).
      z - ECEF z coordinate of user position expressed in meters (m).
      vx - ECEF x coordinate of user velocity expressed in meters per second (m/s).
      vy - ECEF y coordinate of user velocity expressed in meters per second (m/s).
      vz - ECEF z coordinate of user velocity expressed in meters per second (m/s).
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      previousLatitude - previous latitude solution expressed in radians (rad).
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(double x, double y, double z, double vx, double vy, double vz, double propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      x - ECEF x coordinate of user position expressed in meters (m).
      y - ECEF y coordinate of user position expressed in meters (m).
      z - ECEF z coordinate of user position expressed in meters (m).
      vx - ECEF x coordinate of user velocity expressed in meters per second (m/s).
      vy - ECEF y coordinate of user velocity expressed in meters per second (m/s).
      vz - ECEF z coordinate of user velocity expressed in meters per second (m/s).
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(double x, double y, double z, double vx, double vy, double vz, double propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      x - ECEF x coordinate of user position expressed in meters (m).
      y - ECEF y coordinate of user position expressed in meters (m).
      z - ECEF z coordinate of user position expressed in meters (m).
      vx - ECEF x coordinate of user velocity expressed in meters per second (m/s).
      vy - ECEF y coordinate of user velocity expressed in meters per second (m/s).
      vz - ECEF z coordinate of user velocity expressed in meters per second (m/s).
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(double x, double y, double z, double vx, double vy, double vz, double propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, double previousLatitude, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      x - ECEF x coordinate of user position expressed in meters (m).
      y - ECEF y coordinate of user position expressed in meters (m).
      z - ECEF z coordinate of user position expressed in meters (m).
      vx - ECEF x coordinate of user velocity expressed in meters per second (m/s).
      vy - ECEF y coordinate of user velocity expressed in meters per second (m/s).
      vz - ECEF z coordinate of user velocity expressed in meters per second (m/s).
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      previousLatitude - previous latitude solution expressed in radians (rad).
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(double x, double y, double z, double vx, double vy, double vz, double propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, double previousLatitude, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      x - ECEF x coordinate of user position expressed in meters (m).
      y - ECEF y coordinate of user position expressed in meters (m).
      z - ECEF z coordinate of user position expressed in meters (m).
      vx - ECEF x coordinate of user velocity expressed in meters per second (m/s).
      vy - ECEF y coordinate of user velocity expressed in meters per second (m/s).
      vz - ECEF z coordinate of user velocity expressed in meters per second (m/s).
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      previousLatitude - previous latitude solution expressed in radians (rad).
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(com.irurueta.navigation.frames.ECEFPosition userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      userPosition - ECEF user position.
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(com.irurueta.navigation.frames.ECEFPosition userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      userPosition - ECEF user position.
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(com.irurueta.navigation.frames.ECEFPosition userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, double previousLatitude, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      userPosition - ECEF user position.
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      previousLatitude - previous latitude solution expressed in radians (rad).
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(com.irurueta.navigation.frames.ECEFPosition userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, double previousLatitude, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state of a single epoch.
      Parameters:
      userPosition - ECEF user position.
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      previousLatitude - previous latitude solution expressed in radians (rad).
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(com.irurueta.navigation.frames.ECEFPosition userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state of a single epoch.
      Parameters:
      userPosition - ECEF user position.
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(com.irurueta.navigation.frames.ECEFPosition userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state of a single epoch.
      Parameters:
      userPosition - ECEF user position.
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(com.irurueta.navigation.frames.ECEFPosition userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, double previousLatitude, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state of a single epoch.
      Parameters:
      userPosition - ECEF user position.
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      previousLatitude - previous latitude solution expressed in radians (rad).
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(com.irurueta.navigation.frames.ECEFPosition userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, double previousLatitude, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state of a single epoch.
      Parameters:
      userPosition - ECEF user position.
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      previousLatitude - previous latitude solution expressed in radians (rad).
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(double x, double y, double z, double vx, double vy, double vz, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state of a single epoch.
      Parameters:
      x - ECEF x coordinate of user position expressed in meters (m).
      y - ECEF y coordinate of user position expressed in meters (m).
      z - ECEF z coordinate of user position expressed in meters (m).
      vx - ECEF x coordinate of user velocity expressed in meters per second (m/s).
      vy - ECEF y coordinate of user velocity expressed in meters per second (m/s).
      vz - ECEF z coordinate of user velocity expressed in meters per second (m/s).
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(double x, double y, double z, double vx, double vy, double vz, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      x - ECEF x coordinate of user position expressed in meters (m).
      y - ECEF y coordinate of user position expressed in meters (m).
      z - ECEF z coordinate of user position expressed in meters (m).
      vx - ECEF x coordinate of user velocity expressed in meters per second (m/s).
      vy - ECEF y coordinate of user velocity expressed in meters per second (m/s).
      vz - ECEF z coordinate of user velocity expressed in meters per second (m/s).
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(double x, double y, double z, double vx, double vy, double vz, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, double previousLatitude, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      x - ECEF x coordinate of user position expressed in meters (m).
      y - ECEF y coordinate of user position expressed in meters (m).
      z - ECEF z coordinate of user position expressed in meters (m).
      vx - ECEF x coordinate of user velocity expressed in meters per second (m/s).
      vy - ECEF y coordinate of user velocity expressed in meters per second (m/s).
      vz - ECEF z coordinate of user velocity expressed in meters per second (m/s).
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      previousLatitude - previous latitude solution expressed in radians (rad).
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(double x, double y, double z, double vx, double vy, double vz, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, double previousLatitude, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      x - ECEF x coordinate of user position expressed in meters (m).
      y - ECEF y coordinate of user position expressed in meters (m).
      z - ECEF z coordinate of user position expressed in meters (m).
      vx - ECEF x coordinate of user velocity expressed in meters per second (m/s).
      vy - ECEF y coordinate of user velocity expressed in meters per second (m/s).
      vz - ECEF z coordinate of user velocity expressed in meters per second (m/s).
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      previousLatitude - previous latitude solution expressed in radians (rad).
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(double x, double y, double z, double vx, double vy, double vz, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      x - ECEF x coordinate of user position expressed in meters (m).
      y - ECEF y coordinate of user position expressed in meters (m).
      z - ECEF z coordinate of user position expressed in meters (m).
      vx - ECEF x coordinate of user velocity expressed in meters per second (m/s).
      vy - ECEF y coordinate of user velocity expressed in meters per second (m/s).
      vz - ECEF z coordinate of user velocity expressed in meters per second (m/s).
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(double x, double y, double z, double vx, double vy, double vz, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimated the update of Kalman filter state for a single epoch.
      Parameters:
      x - ECEF x coordinate of user position expressed in meters (m).
      y - ECEF y coordinate of user position expressed in meters (m).
      z - ECEF z coordinate of user position expressed in meters (m).
      vx - ECEF x coordinate of user velocity expressed in meters per second (m/s).
      vy - ECEF y coordinate of user velocity expressed in meters per second (m/s).
      vz - ECEF z coordinate of user velocity expressed in meters per second (m/s).
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(double x, double y, double z, double vx, double vy, double vz, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, double previousLatitude, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      x - ECEF x coordinate of user position expressed in meters (m).
      y - ECEF y coordinate of user position expressed in meters (m).
      z - ECEF z coordinate of user position expressed in meters (m).
      vx - ECEF x coordinate of user velocity expressed in meters per second (m/s).
      vy - ECEF y coordinate of user velocity expressed in meters per second (m/s).
      vz - ECEF z coordinate of user velocity expressed in meters per second (m/s).
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      previousLatitude - previous latitude solution expressed in radians (rad).
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(double x, double y, double z, double vx, double vy, double vz, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, double previousLatitude, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      x - ECEF x coordinate of user position expressed in meters (m).
      y - ECEF y coordinate of user position expressed in meters (m).
      z - ECEF z coordinate of user position expressed in meters (m).
      vx - ECEF x coordinate of user velocity expressed in meters per second (m/s).
      vy - ECEF y coordinate of user velocity expressed in meters per second (m/s).
      vz - ECEF z coordinate of user velocity expressed in meters per second (m/s).
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      previousLatitude - previous latitude solution expressed in radians (rad).
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(com.irurueta.geometry.Point3D userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, double propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      userPosition - ECEF user position expressed in meters (m).
      userVelocity - ECEf user velocity.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(com.irurueta.geometry.Point3D userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, double propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      userPosition - ECEF user position expressed in meters (m).
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(com.irurueta.geometry.Point3D userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, double propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, double previousLatitude, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      userPosition - ECEF user position expressed in meters (m).
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      previousLatitude - previous latitude solution expressed in radians (rad).
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(com.irurueta.geometry.Point3D userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, double propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, double previousLatitude, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      userPosition - ECEF user position expressed in meters (m).
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      previousLatitude - previous latitude solution expressed in radians (rad).
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(com.irurueta.geometry.Point3D userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, double propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      userPosition - ECEF user position expressed in meters (m).
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(com.irurueta.geometry.Point3D userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, double propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      userPosition - ECEF user position expressed in meters (m).
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(com.irurueta.geometry.Point3D userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, double propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, double previousLatitude, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      userPosition - ECEF user position expressed in meters (m).
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      previousLatitude - previous latitude solution expressed in radians (rad).
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(com.irurueta.geometry.Point3D userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, double propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, double previousLatitude, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      userPosition - ECEF user position expressed in meters (m).
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      previousLatitude - previous latitude solution expressed in radians (rad).
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(com.irurueta.geometry.Point3D userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      userPosition - ECEF user position expressed in meters (m).
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(com.irurueta.geometry.Point3D userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      userPosition - ECEF user position expressed in meters (m).
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(com.irurueta.geometry.Point3D userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, double previousLatitude, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      userPosition - ECEF user position expressed in meters (m).
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      previousLatitude - previous latitude solution expressed in radians (rad).
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(com.irurueta.geometry.Point3D userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, double previousLatitude, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      userPosition - ECEF user position expressed in meters (m).
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      previousLatitude - previous latitude solution expressed in radians (rad).
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(com.irurueta.geometry.Point3D userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      userPosition - ECEF user position expressed in meters (m).
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(com.irurueta.geometry.Point3D userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      userPosition - ECEF user position expressed in meters (m).
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(com.irurueta.geometry.Point3D userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, double previousLatitude, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      userPosition - ECEF user position expressed in meters (m).
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      previousLatitude - previous latitude solution expressed in radians (rad).
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(com.irurueta.geometry.Point3D userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, double previousLatitude, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      userPosition - ECEF user position expressed in meters (m).
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      previousLatitude - previous latitude solution expressed in radians (rad).
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(com.irurueta.navigation.gnss.ECEFPositionAndVelocity positionAndVelocity, double propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      positionAndVelocity - ECEF user position and velocity.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(com.irurueta.navigation.gnss.ECEFPositionAndVelocity positionAndVelocity, double propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      positionAndVelocity - ECEF user position and velocity.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(com.irurueta.navigation.gnss.ECEFPositionAndVelocity positionAndVelocity, double propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, double previousLatitude, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      positionAndVelocity - ECEF user position and velocity.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      previousLatitude - previous latitude solution expressed in radians (rad).
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(com.irurueta.navigation.gnss.ECEFPositionAndVelocity positionAndVelocity, double propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, double previousLatitude, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      positionAndVelocity - ECEF user position and velocity.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      previousLatitude - previous latitude solution expressed in radians (rad).
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(com.irurueta.navigation.gnss.ECEFPositionAndVelocity positionAndVelocity, double propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      positionAndVelocity - ECEF user position and velocity.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(com.irurueta.navigation.gnss.ECEFPositionAndVelocity positionAndVelocity, double propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      positionAndVelocity - ECEF user position and velocity.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(com.irurueta.navigation.gnss.ECEFPositionAndVelocity positionAndVelocity, double propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, double previousLatitude, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      positionAndVelocity - ECEF user position and velocity.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      previousLatitude - previous latitude solution expressed in radians (rad).
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(com.irurueta.navigation.gnss.ECEFPositionAndVelocity positionAndVelocity, double propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, double previousLatitude, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      positionAndVelocity - ECEF user position and velocity.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      previousLatitude - previous latitude solution expressed in radians (rad).
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(com.irurueta.navigation.gnss.ECEFPositionAndVelocity positionAndVelocity, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      positionAndVelocity - ECEF user position and velocity.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(com.irurueta.navigation.gnss.ECEFPositionAndVelocity positionAndVelocity, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      positionAndVelocity - ECEF user position and velocity.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(com.irurueta.navigation.gnss.ECEFPositionAndVelocity positionAndVelocity, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, double previousLatitude, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      positionAndVelocity - ECEF user position and velocity.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      previousLatitude - previous latitude solution expressed in radians (rad).
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(com.irurueta.navigation.gnss.ECEFPositionAndVelocity positionAndVelocity, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, double previousLatitude, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      positionAndVelocity - ECEF user position and velocity.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      previousLatitude - previous latitude solution expressed in radians (rad).
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(com.irurueta.navigation.gnss.ECEFPositionAndVelocity positionAndVelocity, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      positionAndVelocity - ECEF user position and velocity.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(com.irurueta.navigation.gnss.ECEFPositionAndVelocity positionAndVelocity, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      positionAndVelocity - ECEF user position and velocity.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(com.irurueta.navigation.gnss.ECEFPositionAndVelocity positionAndVelocity, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, double previousLatitude, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      positionAndVelocity - ECEF user position and velocity.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      previousLatitude - previous latitude solution expressed in radians (rad).
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(com.irurueta.navigation.gnss.ECEFPositionAndVelocity positionAndVelocity, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, double previousLatitude, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      positionAndVelocity - ECEF user position and velocity.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      previousLatitude - previous latitude solution expressed in radians (rad).
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(com.irurueta.navigation.frames.ECEFPosition userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, double propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, com.irurueta.units.Angle previousLatitude, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      userPosition - ECEF user position.
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      previousLatitude - previous latitude solution.
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(com.irurueta.navigation.frames.ECEFPosition userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, double propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, com.irurueta.units.Angle previousLatitude, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      userPosition - ECEF user position.
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      previousLatitude - previous latitude solution.
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(com.irurueta.navigation.frames.ECEFPosition userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, double propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, com.irurueta.units.Angle previousLatitude, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      userPosition - ECEF user position.
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      previousLatitude - previous latitude solution.
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(com.irurueta.navigation.frames.ECEFPosition userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, double propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, com.irurueta.units.Angle previousLatitude, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      userPosition - GNSS estimated ECEF user position.
      userVelocity - GNSS estimated ECEF user velocity.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      previousLatitude - previous latitude solution.
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(double x, double y, double z, double vx, double vy, double vz, double propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, com.irurueta.units.Angle previousLatitude, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      x - ECEF x coordinate of user position expressed in meters (m).
      y - ECEF y coordinate of user position expressed in meters (m).
      z - ECEF z coordinate of user position expressed in meters (m).
      vx - ECEF x coordinate of user velocity expressed in meters per second (m/s).
      vy - ECEF y coordinate of user velocity expressed in meters per second (m/s).
      vz - ECEF z coordinate of user velocity expressed in meters per second (m/s).
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      previousLatitude - previous latitude solution.
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(double x, double y, double z, double vx, double vy, double vz, double propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, com.irurueta.units.Angle previousLatitude, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      x - ECEF x coordinate of user position expressed in meters (m).
      y - ECEF y coordinate of user position expressed in meters (m).
      z - ECEF z coordinate of user position expressed in meters (m).
      vx - ECEF x coordinate of user velocity expressed in meters per second (m/s).
      vy - ECEF y coordinate of user velocity expressed in meters per second (m/s).
      vz - ECEF z coordinate of user velocity expressed in meters per second (m/s).
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      previousLatitude - previous latitude solution.
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(double x, double y, double z, double vx, double vy, double vz, double propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, com.irurueta.units.Angle previousLatitude, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      x - ECEF x coordinate of user position expressed in meters (m).
      y - ECEF y coordinate of user position expressed in meters (m).
      z - ECEF z coordinate of user position expressed in meters (m).
      vx - ECEF x coordinate of user velocity expressed in meters per second (m/s).
      vy - ECEF y coordinate of user velocity expressed in meters per second (m/s).
      vz - ECEF z coordinate of user velocity expressed in meters per second (m/s).
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      previousLatitude - previous latitude solution.
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(double x, double y, double z, double vx, double vy, double vz, double propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, com.irurueta.units.Angle previousLatitude, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      x - ECEF x coordinate of user position expressed in meters (m).
      y - ECEF y coordinate of user position expressed in meters (m).
      z - ECEF z coordinate of user position expressed in meters (m).
      vx - ECEF x coordinate of user velocity expressed in meters per second (m/s).
      vy - ECEF y coordinate of user velocity expressed in meters per second (m/s).
      vz - ECEF z coordinate of user velocity expressed in meters per second (m/s).
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      previousLatitude - previous latitude solution.
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(com.irurueta.navigation.frames.ECEFPosition userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, com.irurueta.units.Angle previousLatitude, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      userPosition - ECEF user position.
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      previousLatitude - previous latitude solution.
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(com.irurueta.navigation.frames.ECEFPosition userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, com.irurueta.units.Angle previousLatitude, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state of a single epoch.
      Parameters:
      userPosition - ECEF user position.
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      previousLatitude - previous latitude solution.
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(com.irurueta.navigation.frames.ECEFPosition userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, com.irurueta.units.Angle previousLatitude, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state of a single epoch.
      Parameters:
      userPosition - ECEF user position.
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      previousLatitude - previous latitude solution.
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(com.irurueta.navigation.frames.ECEFPosition userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, com.irurueta.units.Angle previousLatitude, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state of a single epoch.
      Parameters:
      userPosition - ECEF user position.
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      previousLatitude - previous latitude solution.
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(double x, double y, double z, double vx, double vy, double vz, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, com.irurueta.units.Angle previousLatitude, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      x - ECEF x coordinate of user position expressed in meters (m).
      y - ECEF y coordinate of user position expressed in meters (m).
      z - ECEF z coordinate of user position expressed in meters (m).
      vx - ECEF x coordinate of user velocity expressed in meters per second (m/s).
      vy - ECEF y coordinate of user velocity expressed in meters per second (m/s).
      vz - ECEF z coordinate of user velocity expressed in meters per second (m/s).
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      previousLatitude - previous latitude solution.
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(double x, double y, double z, double vx, double vy, double vz, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, com.irurueta.units.Angle previousLatitude, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      x - ECEF x coordinate of user position expressed in meters (m).
      y - ECEF y coordinate of user position expressed in meters (m).
      z - ECEF z coordinate of user position expressed in meters (m).
      vx - ECEF x coordinate of user velocity expressed in meters per second (m/s).
      vy - ECEF y coordinate of user velocity expressed in meters per second (m/s).
      vz - ECEF z coordinate of user velocity expressed in meters per second (m/s).
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      previousLatitude - previous latitude solution.
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(double x, double y, double z, double vx, double vy, double vz, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, com.irurueta.units.Angle previousLatitude, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      x - ECEF x coordinate of user position expressed in meters (m).
      y - ECEF y coordinate of user position expressed in meters (m).
      z - ECEF z coordinate of user position expressed in meters (m).
      vx - ECEF x coordinate of user velocity expressed in meters per second (m/s).
      vy - ECEF y coordinate of user velocity expressed in meters per second (m/s).
      vz - ECEF z coordinate of user velocity expressed in meters per second (m/s).
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      previousLatitude - previous latitude solution.
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(double x, double y, double z, double vx, double vy, double vz, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, com.irurueta.units.Angle previousLatitude, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      x - ECEF x coordinate of user position expressed in meters (m).
      y - ECEF y coordinate of user position expressed in meters (m).
      z - ECEF z coordinate of user position expressed in meters (m).
      vx - ECEF x coordinate of user velocity expressed in meters per second (m/s).
      vy - ECEF y coordinate of user velocity expressed in meters per second (m/s).
      vz - ECEF z coordinate of user velocity expressed in meters per second (m/s).
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      previousLatitude - previous latitude solution.
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(com.irurueta.geometry.Point3D userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, double propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, com.irurueta.units.Angle previousLatitude, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      userPosition - ECEF user position expressed in meters (m).
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      previousLatitude - previous latitude solution.
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(com.irurueta.geometry.Point3D userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, double propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, com.irurueta.units.Angle previousLatitude, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      userPosition - ECEF user position expressed in meters (m).
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      previousLatitude - previous latitude solution expressed in radians (rad).
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(com.irurueta.geometry.Point3D userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, double propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, com.irurueta.units.Angle previousLatitude, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      userPosition - ECEF user position expressed in meters (m).
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      previousLatitude - previous latitude solution.
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(com.irurueta.geometry.Point3D userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, double propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, com.irurueta.units.Angle previousLatitude, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      userPosition - ECEF user position expressed in meters (m).
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      previousLatitude - previous latitude solution.
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(com.irurueta.geometry.Point3D userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, com.irurueta.units.Angle previousLatitude, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      userPosition - ECEF user position expressed in meters (m).
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      previousLatitude - previous latitude solution.
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(com.irurueta.geometry.Point3D userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, com.irurueta.units.Angle previousLatitude, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      userPosition - ECEF user position expressed in meters (m).
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      previousLatitude - previous latitude solution.
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(com.irurueta.geometry.Point3D userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, com.irurueta.units.Angle previousLatitude, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      userPosition - ECEF user position expressed in meters (m).
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      previousLatitude - previous latitude solution.
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(com.irurueta.geometry.Point3D userPosition, com.irurueta.navigation.frames.ECEFVelocity userVelocity, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, com.irurueta.units.Angle previousLatitude, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      userPosition - ECEF user position expressed in meters (m).
      userVelocity - ECEF user velocity.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      previousLatitude - previous latitude solution.
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(com.irurueta.navigation.gnss.ECEFPositionAndVelocity positionAndVelocity, double propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, com.irurueta.units.Angle previousLatitude, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      positionAndVelocity - ECEF user position and velocity.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      previousLatitude - previous latitude solution.
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(com.irurueta.navigation.gnss.ECEFPositionAndVelocity positionAndVelocity, double propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, com.irurueta.units.Angle previousLatitude, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      positionAndVelocity - ECEF user position and velocity.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      previousLatitude - previous latitude solution.
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(com.irurueta.navigation.gnss.ECEFPositionAndVelocity positionAndVelocity, double propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, com.irurueta.units.Angle previousLatitude, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      positionAndVelocity - ECEF user position and velocity.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      previousLatitude - previous latitude solution.
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(com.irurueta.navigation.gnss.ECEFPositionAndVelocity positionAndVelocity, double propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, com.irurueta.units.Angle previousLatitude, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      positionAndVelocity - ECEF user position and velocity.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      previousLatitude - previous latitude solution.
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(com.irurueta.navigation.gnss.ECEFPositionAndVelocity positionAndVelocity, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, com.irurueta.units.Angle previousLatitude, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      positionAndVelocity - ECEF user position and velocity.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      previousLatitude - previous latitude solution.
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(com.irurueta.navigation.gnss.ECEFPositionAndVelocity positionAndVelocity, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, BodyKinematics bodyKinematics, com.irurueta.units.Angle previousLatitude, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      positionAndVelocity - ECEF user position and velocity.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      previousLatitude - previous latitude solution.
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSLooselyCoupledKalmanState estimate(com.irurueta.navigation.gnss.ECEFPositionAndVelocity positionAndVelocity, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, com.irurueta.units.Angle previousLatitude, INSLooselyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      positionAndVelocity - ECEF user position and velocity.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      previousLatitude - previous latitude solution.
      config - Loosely Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(com.irurueta.navigation.gnss.ECEFPositionAndVelocity positionAndVelocity, com.irurueta.units.Time propagationInterval, INSLooselyCoupledKalmanState previousState, double fx, double fy, double fz, com.irurueta.units.Angle previousLatitude, INSLooselyCoupledKalmanConfig config, INSLooselyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state for a single epoch.
      Parameters:
      positionAndVelocity - ECEF user position and velocity.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      previousLatitude - previous latitude solution.
      config - Loosely Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • convertTime

      private static double convertTime(com.irurueta.units.Time time)
      Converts time instance into a value expressed in seconds.
      Parameters:
      time - time instance to be converted.
      Returns:
      time value expressed in seconds.
    • convertAngle

      private static double convertAngle(com.irurueta.units.Angle angle)
      Converts angle instance into a value expressed in radians.
      Parameters:
      angle - angle instance to be converted.
      Returns:
      angle value expressed in radians.