Class GNSSKalmanConfig

java.lang.Object
com.irurueta.navigation.gnss.GNSSKalmanConfig
All Implemented Interfaces:
Serializable, Cloneable

public class GNSSKalmanConfig extends Object implements Serializable, Cloneable
Contains GNSS Kalman filter configuration parameters (usually obtained through calibration) to determine the system noise covariance matrix.
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private double
    Acceleration PSD (Power Spectral Density) per axis expressed in (m^2/s^3).
    private double
    Receiver clock frequency-drift PSD (Power Spectral Density) expressed in (m^2/s^3).
    private double
    Receiver clock phase-drift PSD (Power Spectral Density) expressed in (m^2/s).
    private double
    Initial clock drift uncertainty per axis expressed in meters per second (m/s).
    private double
    Initial clock offset uncertainty per axis expressed in meters (m).
    private double
    Initial position uncertainty per axis expressed in meters (m).
    private double
    Initial velocity uncertainty per axis expressed in meters per second (m/s).
    private double
    Pseudo-range measurement noise SD (Standard Deviation) expressed in meters (m).
    private double
    Pseudo-range rate measurement noise SD (Standard Deviation) expressed in meters per second (m/s).
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructor.
    GNSSKalmanConfig(double initialPositionUncertainty, double initialVelocityUncertainty, double initialClockOffsetUncertainty, double initialClockDriftUncertainty, double accelerationPSD, double clockFrequencyPSD, double clockPhasePSD, double pseudoRangeSD, double rangeRateSD)
    Constructor.
    Copy constructor.
    GNSSKalmanConfig(com.irurueta.units.Distance initialPositionUncertainty, com.irurueta.units.Speed initialVelocityUncertainty, com.irurueta.units.Distance initialClockOffsetUncertainty, com.irurueta.units.Speed initialClockDriftUncertainty, double accelerationPSD, double clockFrequencyPSD, double clockPhasePSD, com.irurueta.units.Distance pseudoRangeSD, com.irurueta.units.Speed rangeRateSD)
    Constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected Object
    Makes a copy of this instance.
    void
    Copies data of provided instance into this instance.
    void
    Copies this instance data into provided instance.
    boolean
    Checks if provided instance has exactly the same contents as this instance.
    boolean
    equals(GNSSKalmanConfig other, double threshold)
    Checks if provided instance has contents similar to this instance up to provided threshold value.
    boolean
    Checks if provided object is a GNSSKalmanConfig having exactly the same contents as this instance.
    double
    Gets acceleration PSD (Power Spectral Density) per axis expressed in (m^2/s^3).
    double
    Gets receiver clock frequency-drift PSD (Power Spectral Density) expressed in (m^2/s^3).
    double
    Gets receiver clock phase-drift PSD (Power Spectral Density) expressed in (m^2/s).
    com.irurueta.units.Distance
    Gets initial clock offset uncertainty per axis.
    void
    getDistanceInitialClockOffsetUncertainty(com.irurueta.units.Distance result)
    Gets initial clock offset uncertainty per axis.
    com.irurueta.units.Distance
    Gets initial position uncertainty per axis.
    void
    getDistanceInitialPositionUncertainty(com.irurueta.units.Distance result)
    Gets initial position uncertainty per axis.
    com.irurueta.units.Distance
    Gets pseudo-range measurement noise SD (Standard Deviation).
    void
    getDistancePseudoRangeSD(com.irurueta.units.Distance result)
    Gets pseudo-range measurement noise SD (Standard Deviation).
    double
    Gets initial clock drift uncertainty per axis expressed in meters per second (m/s).
    double
    Gets initial clock offset uncertainty per axis expressed in meters (m).
    double
    Gets initial position uncertainty per axis expressed in meters (m).
    double
    Gets initial velocity uncertainty per axis expressed in meters per second (m/s).
    double
    Gets pseudo-range measurement noise SD (Standard Deviation) expressed in meters (m).
    double
    Gets pseudo-range rate measurement SD (Standard Deviation) expressed in meters per second (m/s).
    com.irurueta.units.Speed
    Gets initial clock drift uncertainty per axis.
    void
    getSpeedInitialClockDriftUncertainty(com.irurueta.units.Speed result)
    Gets initial clock drift uncertainty per axis.
    com.irurueta.units.Speed
    Gets initial velocity uncertainty per axis.
    void
    getSpeedInitialVelocityUncertainty(com.irurueta.units.Speed result)
    Gets initial velocity uncertainty per axis.
    com.irurueta.units.Speed
    Gets pseudo-range rate measurement noise SD (Standard Deviation).
    void
    getSpeedRangeRateSD(com.irurueta.units.Speed result)
    Gets pseudo-range rate measurement noise SD (Standard Deviation).
    int
    Computes and returns hash code for this instance.
    void
    setAccelerationPSD(double accelerationPSD)
    Sets acceleration PSD (Power Spectral Density) per axis expressed in (m^2/s^3).
    void
    setClockFrequencyPSD(double clockFrequencyPSD)
    Sets receiver clock frequency-drift PSD (Power Spectral Density) expressed in (m^2/s^3).
    void
    setClockPhasePSD(double clockPhasePSD)
    Sets receiver clock phase-drift PSD (Power Spectral Density) expressed in (m^2/s).
    void
    setInitialClockDriftUncertainty(double initialClockDriftUncertainty)
    Sets initial clock drift uncertainty per axis expressed in meters per second (m/s).
    void
    setInitialClockDriftUncertainty(com.irurueta.units.Speed initialClockDriftUncertainty)
    Sets initial clock drift uncertainty per axis.
    void
    setInitialClockOffsetUncertainty(double initialClockOffsetUncertainty)
    Sets initial clock offset uncertainty per axis expressed in meters (m).
    void
    setInitialClockOffsetUncertainty(com.irurueta.units.Distance initialClockOffsetUncertainty)
    Sets initial clock offset uncertainty per axis.
    void
    setInitialPositionUncertainty(double initialPositionUncertainty)
    Sets initial position uncertainty per axis expressed in meters (m).
    void
    setInitialPositionUncertainty(com.irurueta.units.Distance initialPositionUncertainty)
    Sets initial position uncertainty per axis.
    void
    setInitialVelocityUncertainty(double initialVelocityUncertainty)
    Sets initial velocity uncertainty per axis expressed in meters per second (m/s).
    void
    setInitialVelocityUncertainty(com.irurueta.units.Speed initialVelocityUncertainty)
    Sets initial velocity uncertainty per axis.
    void
    setPseudoRangeSD(double pseudoRangeSD)
    Sets pseudo-range measurement noise SD (Standard Deviation) expressed in meters (m).
    void
    setPseudoRangeSD(com.irurueta.units.Distance pseudoRangeSD)
    Sets pseudo-range measurement noise SD (Standard Deviation).
    void
    setRangeRateSD(double rangeRateSD)
    Sets pseudo-range rate measurement SD (Standard Deviation) expressed in meters per second (m/s).
    void
    setRangeRateSD(com.irurueta.units.Speed rangeRateSD)
    Sets pseudo-range rate measurement noise SD (Standard Deviation).
    void
    setValues(double initialPositionUncertainty, double initialVelocityUncertainty, double initialClockOffsetUncertainty, double initialClockDriftUncertainty, double accelerationPSD, double clockFrequencyPSD, double clockPhasePSD, double pseudoRangeSD, double rangeRateSD)
    Sets configuration parameters.
    void
    setValues(com.irurueta.units.Distance initialPositionUncertainty, com.irurueta.units.Speed initialVelocityUncertainty, com.irurueta.units.Distance initialClockOffsetUncertainty, com.irurueta.units.Speed initialClockDriftUncertainty, double accelerationPSD, double clockFrequencyPSD, double clockPhasePSD, com.irurueta.units.Distance pseudoRangeSD, com.irurueta.units.Speed rangeRateSD)
    Sets configuration parameters.

    Methods inherited from class java.lang.Object

    finalize, getClass, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • initialPositionUncertainty

      private double initialPositionUncertainty
      Initial position uncertainty per axis expressed in meters (m).
    • initialVelocityUncertainty

      private double initialVelocityUncertainty
      Initial velocity uncertainty per axis expressed in meters per second (m/s).
    • initialClockOffsetUncertainty

      private double initialClockOffsetUncertainty
      Initial clock offset uncertainty per axis expressed in meters (m).
    • initialClockDriftUncertainty

      private double initialClockDriftUncertainty
      Initial clock drift uncertainty per axis expressed in meters per second (m/s).
    • accelerationPSD

      private double accelerationPSD
      Acceleration PSD (Power Spectral Density) per axis expressed in (m^2/s^3).
    • clockFrequencyPSD

      private double clockFrequencyPSD
      Receiver clock frequency-drift PSD (Power Spectral Density) expressed in (m^2/s^3).
    • clockPhasePSD

      private double clockPhasePSD
      Receiver clock phase-drift PSD (Power Spectral Density) expressed in (m^2/s).
    • pseudoRangeSD

      private double pseudoRangeSD
      Pseudo-range measurement noise SD (Standard Deviation) expressed in meters (m).
    • rangeRateSD

      private double rangeRateSD
      Pseudo-range rate measurement noise SD (Standard Deviation) expressed in meters per second (m/s).
  • Constructor Details

    • GNSSKalmanConfig

      public GNSSKalmanConfig()
      Constructor.
    • GNSSKalmanConfig

      public GNSSKalmanConfig(double initialPositionUncertainty, double initialVelocityUncertainty, double initialClockOffsetUncertainty, double initialClockDriftUncertainty, double accelerationPSD, double clockFrequencyPSD, double clockPhasePSD, double pseudoRangeSD, double rangeRateSD)
      Constructor.
      Parameters:
      initialPositionUncertainty - initial position uncertainty per axis expressed in meters (m).
      initialVelocityUncertainty - initial velocity uncertainty per axis expressed in meters per second (m/s).
      initialClockOffsetUncertainty - initial clock offset uncertainty per axis expressed in meters (m).
      initialClockDriftUncertainty - initial clock drift uncertainty per axis expressed in meters per second (m/s).
      accelerationPSD - acceleration PSD (Power Spectral Density) per axis expressed in (m^2/s^3).
      clockFrequencyPSD - receiver clock frequency-drift PSD (Power Spectral Density) expressed in (m^2/s^3).
      clockPhasePSD - receiver clock phase-drift PSD (Power Spectral Density) expressed in (m^2/s).
      pseudoRangeSD - pseudo-range measurement noise SD (Standard Deviation) expressed in meters (m).
      rangeRateSD - pseudo-range measurement noise SD (Standard Deviation) expressed in meters per second (m/s).
    • GNSSKalmanConfig

      public GNSSKalmanConfig(com.irurueta.units.Distance initialPositionUncertainty, com.irurueta.units.Speed initialVelocityUncertainty, com.irurueta.units.Distance initialClockOffsetUncertainty, com.irurueta.units.Speed initialClockDriftUncertainty, double accelerationPSD, double clockFrequencyPSD, double clockPhasePSD, com.irurueta.units.Distance pseudoRangeSD, com.irurueta.units.Speed rangeRateSD)
      Constructor.
      Parameters:
      initialPositionUncertainty - initial position uncertainty per axis.
      initialVelocityUncertainty - initial velocity uncertainty per axis.
      initialClockOffsetUncertainty - initial clock offset uncertainty per axis.
      initialClockDriftUncertainty - initial clock drift uncertainty per axis.
      accelerationPSD - acceleration PSD (Power Spectral Density) per axis expressed in (m^2/s^3).
      clockFrequencyPSD - receiver clock frequency-drift PSD (Power Spectral Density) expressed in (m^2/s^3).
      clockPhasePSD - receiver clock phase-drift PSD (Power Spectral Density) expressed in (m^2/s).
      pseudoRangeSD - pseudo-range measurement noise SD (Standard Deviation) expressed in meters (m).
      rangeRateSD - pseudo-range measurement noise SD (Standard Deviation) expressed in meters per second (m/s).
    • GNSSKalmanConfig

      public GNSSKalmanConfig(GNSSKalmanConfig input)
      Copy constructor.
      Parameters:
      input - input instance to copy data from.
  • Method Details

    • getInitialPositionUncertainty

      public double getInitialPositionUncertainty()
      Gets initial position uncertainty per axis expressed in meters (m).
      Returns:
      initial position uncertainty per axis.
    • setInitialPositionUncertainty

      public void setInitialPositionUncertainty(double initialPositionUncertainty)
      Sets initial position uncertainty per axis expressed in meters (m).
      Parameters:
      initialPositionUncertainty - initial position uncertainty per axis.
    • getDistanceInitialPositionUncertainty

      public void getDistanceInitialPositionUncertainty(com.irurueta.units.Distance result)
      Gets initial position uncertainty per axis.
      Parameters:
      result - instance where initial position uncertainty per axis will be stored.
    • getDistanceInitialPositionUncertainty

      public com.irurueta.units.Distance getDistanceInitialPositionUncertainty()
      Gets initial position uncertainty per axis.
      Returns:
      initial position uncertainty per axis.
    • setInitialPositionUncertainty

      public void setInitialPositionUncertainty(com.irurueta.units.Distance initialPositionUncertainty)
      Sets initial position uncertainty per axis.
      Parameters:
      initialPositionUncertainty - initial position uncertainty per axis.
    • getInitialVelocityUncertainty

      public double getInitialVelocityUncertainty()
      Gets initial velocity uncertainty per axis expressed in meters per second (m/s).
      Returns:
      initial velocity uncertainty per axis.
    • setInitialVelocityUncertainty

      public void setInitialVelocityUncertainty(double initialVelocityUncertainty)
      Sets initial velocity uncertainty per axis expressed in meters per second (m/s).
      Parameters:
      initialVelocityUncertainty - initial velocity uncertainty per axis.
    • getSpeedInitialVelocityUncertainty

      public void getSpeedInitialVelocityUncertainty(com.irurueta.units.Speed result)
      Gets initial velocity uncertainty per axis.
      Parameters:
      result - instance where initial velocity uncertainty per axis will be stored.
    • getSpeedInitialVelocityUncertainty

      public com.irurueta.units.Speed getSpeedInitialVelocityUncertainty()
      Gets initial velocity uncertainty per axis.
      Returns:
      initial velocity uncertainty per axis.
    • setInitialVelocityUncertainty

      public void setInitialVelocityUncertainty(com.irurueta.units.Speed initialVelocityUncertainty)
      Sets initial velocity uncertainty per axis.
      Parameters:
      initialVelocityUncertainty - initial velocity uncertainty per axis.
    • getInitialClockOffsetUncertainty

      public double getInitialClockOffsetUncertainty()
      Gets initial clock offset uncertainty per axis expressed in meters (m).
      Returns:
      initial clock offset uncertainty per axis.
    • setInitialClockOffsetUncertainty

      public void setInitialClockOffsetUncertainty(double initialClockOffsetUncertainty)
      Sets initial clock offset uncertainty per axis expressed in meters (m).
      Parameters:
      initialClockOffsetUncertainty - initial clock offset uncertainty per axis.
    • getDistanceInitialClockOffsetUncertainty

      public void getDistanceInitialClockOffsetUncertainty(com.irurueta.units.Distance result)
      Gets initial clock offset uncertainty per axis.
      Parameters:
      result - instance where initial clock offset uncertainty per axis will be stored.
    • getDistanceInitialClockOffsetUncertainty

      public com.irurueta.units.Distance getDistanceInitialClockOffsetUncertainty()
      Gets initial clock offset uncertainty per axis.
      Returns:
      initial clock offset uncertainty per axis.
    • setInitialClockOffsetUncertainty

      public void setInitialClockOffsetUncertainty(com.irurueta.units.Distance initialClockOffsetUncertainty)
      Sets initial clock offset uncertainty per axis.
      Parameters:
      initialClockOffsetUncertainty - initial clock offset uncertainty per axis.
    • getInitialClockDriftUncertainty

      public double getInitialClockDriftUncertainty()
      Gets initial clock drift uncertainty per axis expressed in meters per second (m/s).
      Returns:
      initial clock drift uncertainty per axis.
    • setInitialClockDriftUncertainty

      public void setInitialClockDriftUncertainty(double initialClockDriftUncertainty)
      Sets initial clock drift uncertainty per axis expressed in meters per second (m/s).
      Parameters:
      initialClockDriftUncertainty - initial clock drift uncertainty per axis.
    • getSpeedInitialClockDriftUncertainty

      public void getSpeedInitialClockDriftUncertainty(com.irurueta.units.Speed result)
      Gets initial clock drift uncertainty per axis.
      Parameters:
      result - instance where initial clock drift uncertainty per axis will be stored.
    • getSpeedInitialClockDriftUncertainty

      public com.irurueta.units.Speed getSpeedInitialClockDriftUncertainty()
      Gets initial clock drift uncertainty per axis.
      Returns:
      initial clock drift uncertainty per axis.
    • setInitialClockDriftUncertainty

      public void setInitialClockDriftUncertainty(com.irurueta.units.Speed initialClockDriftUncertainty)
      Sets initial clock drift uncertainty per axis.
      Parameters:
      initialClockDriftUncertainty - initial clock drift uncertainty per axis.
    • getAccelerationPSD

      public double getAccelerationPSD()
      Gets acceleration PSD (Power Spectral Density) per axis expressed in (m^2/s^3).
      Returns:
      acceleration PSD.
    • setAccelerationPSD

      public void setAccelerationPSD(double accelerationPSD)
      Sets acceleration PSD (Power Spectral Density) per axis expressed in (m^2/s^3).
      Parameters:
      accelerationPSD - acceleration PSD.
    • getClockFrequencyPSD

      public double getClockFrequencyPSD()
      Gets receiver clock frequency-drift PSD (Power Spectral Density) expressed in (m^2/s^3).
      Returns:
      receiver clock frequency-drift PSD.
    • setClockFrequencyPSD

      public void setClockFrequencyPSD(double clockFrequencyPSD)
      Sets receiver clock frequency-drift PSD (Power Spectral Density) expressed in (m^2/s^3).
      Parameters:
      clockFrequencyPSD - receiver clock frequency-drift PSD.
    • getClockPhasePSD

      public double getClockPhasePSD()
      Gets receiver clock phase-drift PSD (Power Spectral Density) expressed in (m^2/s).
      Returns:
      receiver clock phase-drift PSD.
    • setClockPhasePSD

      public void setClockPhasePSD(double clockPhasePSD)
      Sets receiver clock phase-drift PSD (Power Spectral Density) expressed in (m^2/s).
      Parameters:
      clockPhasePSD - receiver clock phase-drift PSD.
    • getPseudoRangeSD

      public double getPseudoRangeSD()
      Gets pseudo-range measurement noise SD (Standard Deviation) expressed in meters (m).
      Returns:
      pseudo-range measurement noise SD.
    • setPseudoRangeSD

      public void setPseudoRangeSD(double pseudoRangeSD)
      Sets pseudo-range measurement noise SD (Standard Deviation) expressed in meters (m).
      Parameters:
      pseudoRangeSD - pseudo-range measurement noise SD.
    • getDistancePseudoRangeSD

      public void getDistancePseudoRangeSD(com.irurueta.units.Distance result)
      Gets pseudo-range measurement noise SD (Standard Deviation).
      Parameters:
      result - instance where pseudo-range measurement noise SD will be stored.
    • getDistancePseudoRangeSD

      public com.irurueta.units.Distance getDistancePseudoRangeSD()
      Gets pseudo-range measurement noise SD (Standard Deviation).
      Returns:
      pseudo-range measurement noise SD.
    • setPseudoRangeSD

      public void setPseudoRangeSD(com.irurueta.units.Distance pseudoRangeSD)
      Sets pseudo-range measurement noise SD (Standard Deviation).
      Parameters:
      pseudoRangeSD - pseudo-range measurement noise SD.
    • getRangeRateSD

      public double getRangeRateSD()
      Gets pseudo-range rate measurement SD (Standard Deviation) expressed in meters per second (m/s).
      Returns:
      pseudo-range rate measurement SD.
    • setRangeRateSD

      public void setRangeRateSD(double rangeRateSD)
      Sets pseudo-range rate measurement SD (Standard Deviation) expressed in meters per second (m/s).
      Parameters:
      rangeRateSD - pseudo-range rate measurement SD.
    • getSpeedRangeRateSD

      public void getSpeedRangeRateSD(com.irurueta.units.Speed result)
      Gets pseudo-range rate measurement noise SD (Standard Deviation).
      Parameters:
      result - instance where pseudo-range rate measurement noise SD will be stored.
    • getSpeedRangeRateSD

      public com.irurueta.units.Speed getSpeedRangeRateSD()
      Gets pseudo-range rate measurement noise SD (Standard Deviation).
      Returns:
      pseudo-range rate measurement noise SD.
    • setRangeRateSD

      public void setRangeRateSD(com.irurueta.units.Speed rangeRateSD)
      Sets pseudo-range rate measurement noise SD (Standard Deviation).
      Parameters:
      rangeRateSD - pseudo-range rate measurement noise SD.
    • setValues

      public void setValues(double initialPositionUncertainty, double initialVelocityUncertainty, double initialClockOffsetUncertainty, double initialClockDriftUncertainty, double accelerationPSD, double clockFrequencyPSD, double clockPhasePSD, double pseudoRangeSD, double rangeRateSD)
      Sets configuration parameters.
      Parameters:
      initialPositionUncertainty - initial position uncertainty per axis expressed in meters (m).
      initialVelocityUncertainty - initial velocity uncertainty per axis expressed in meters per second (m/s).
      initialClockOffsetUncertainty - initial clock offset uncertainty per axis expressed in meters (m).
      initialClockDriftUncertainty - initial clock drift uncertainty per axis expressed in meters per second (m/s).
      accelerationPSD - acceleration PSD (Power Spectral Density) per axis expressed in (m^2/s^3).
      clockFrequencyPSD - receiver clock frequency-drift PSD (Power Spectral Density) expressed in (m^2/s^3).
      clockPhasePSD - receiver clock phase-drift PSD (Power Spectral Density) expressed in (m^2/s).
      pseudoRangeSD - pseudo-range measurement noise SD (Standard Deviation) expressed in meters (m).
      rangeRateSD - pseudo-range measurement noise SD (Standard Deviation) expressed in meters per second (m/s).
    • setValues

      public void setValues(com.irurueta.units.Distance initialPositionUncertainty, com.irurueta.units.Speed initialVelocityUncertainty, com.irurueta.units.Distance initialClockOffsetUncertainty, com.irurueta.units.Speed initialClockDriftUncertainty, double accelerationPSD, double clockFrequencyPSD, double clockPhasePSD, com.irurueta.units.Distance pseudoRangeSD, com.irurueta.units.Speed rangeRateSD)
      Sets configuration parameters.
      Parameters:
      initialPositionUncertainty - initial position uncertainty per axis.
      initialVelocityUncertainty - initial velocity uncertainty per axis.
      initialClockOffsetUncertainty - initial clock offset uncertainty per axis.
      initialClockDriftUncertainty - initial clock drift uncertainty per axis.
      accelerationPSD - acceleration PSD (Power Spectral Density) per axis expressed in (m^2/s^3).
      clockFrequencyPSD - receiver clock frequency-drift PSD (Power Spectral Density) expressed in (m^2/s^3).
      clockPhasePSD - receiver clock phase-drift PSD (Power Spectral Density) expressed in (m^2/s).
      pseudoRangeSD - pseudo-range measurement noise SD (Standard Deviation).
      rangeRateSD - pseudo-range measurement noise SD (Standard Deviation).
    • copyTo

      public void copyTo(GNSSKalmanConfig output)
      Copies this instance data into provided instance.
      Parameters:
      output - destination instance where data will be copied to.
    • copyFrom

      public void copyFrom(GNSSKalmanConfig input)
      Copies data of provided instance into this instance.
      Parameters:
      input - instance to copy data from.
    • hashCode

      public int hashCode()
      Computes and returns hash code for this instance. Hash codes are almost unique values that are useful for fast classification and storage of objects in collections.
      Overrides:
      hashCode in class Object
      Returns:
      Hash code.
    • equals

      public boolean equals(Object obj)
      Checks if provided object is a GNSSKalmanConfig having exactly the same contents as this instance.
      Overrides:
      equals in class Object
      Parameters:
      obj - Object to be compared.
      Returns:
      true if both objects are considered to be equal, false otherwise.
    • equals

      public boolean equals(GNSSKalmanConfig other)
      Checks if provided instance has exactly the same contents as this instance.
      Parameters:
      other - instance to be compared.
      Returns:
      true if both instances are considered to be equal, false otherwise.
    • equals

      public boolean equals(GNSSKalmanConfig other, double threshold)
      Checks if provided instance has contents similar to this instance up to provided threshold value.
      Parameters:
      other - instance to be compared.
      threshold - maximum difference allowed for values.
      Returns:
      true if both instances are considered to be equal (up to provided threshold), false otherwise.
    • clone

      protected Object clone() throws CloneNotSupportedException
      Makes a copy of this instance.
      Overrides:
      clone in class Object
      Returns:
      a copy of this instance.
      Throws:
      CloneNotSupportedException - if clone fails for some reason.