Package com.irurueta.navigation.gnss
Class GNSSEstimation
java.lang.Object
com.irurueta.navigation.gnss.GNSSEstimation
- All Implemented Interfaces:
Serializable,Cloneable
Contains GNSS state estimation, which contains user
position, velocity and estimated clock offset and drift.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate doubleEstimated receiver clock drift expressed in meters per second (m/s).private doubleEstimated receiver clock offset expressed in meters (m).static final intNumber of parameters stored into Kalman filter state.private doubleX coordinate of estimated ECEF user velocity expressed in meters per second (m/s).private doubleY coordinate of estimated ECEF user velocity expressed in meters per second (m/s).private doubleZ coordinate of estimated ECEF user velocity expressed in meters per second (m/s).private doubleX coordinate of estimated ECEF user position expressed in meters (m).private doubleY coordinate of estimated ECEF user position expressed in meters (m).private doubleZ coordinate of estimated ECEF user position expressed in meters (m). -
Constructor Summary
ConstructorsConstructorDescriptionConstructor.GNSSEstimation(double x, double y, double z, double vx, double vy, double vz, double clockOffset, double clockDrift) Constructor.GNSSEstimation(com.irurueta.geometry.Point3D position, double vx, double vy, double vz, double clockOffset, double clockDrift) Constructor.GNSSEstimation(com.irurueta.geometry.Point3D position, com.irurueta.units.Speed vx, com.irurueta.units.Speed vy, com.irurueta.units.Speed vz, com.irurueta.units.Distance clockOffset, com.irurueta.units.Speed clockDrift) Constructor.GNSSEstimation(ECEFPosition position, ECEFVelocity velocity, double clockOffset, double clockDrift) Constructor.GNSSEstimation(ECEFPosition position, ECEFVelocity velocity, com.irurueta.units.Distance clockOffset, com.irurueta.units.Speed clockDrift) Constructor.GNSSEstimation(ECEFPositionAndVelocity positionAndVelocity, double clockOffset, double clockDrift) Constructor.GNSSEstimation(ECEFPositionAndVelocity positionAndVelocity, com.irurueta.units.Distance clockOffset, com.irurueta.units.Speed clockDrift) Constructor.GNSSEstimation(GNSSEstimation input) Copy constructor.GNSSEstimation(com.irurueta.units.Distance x, com.irurueta.units.Distance y, com.irurueta.units.Distance z, com.irurueta.units.Speed vx, com.irurueta.units.Speed vy, com.irurueta.units.Speed vz, com.irurueta.units.Distance clockOffset, com.irurueta.units.Speed clockDrift) Constructor. -
Method Summary
Modifier and TypeMethodDescriptiondouble[]asArray()Converts state data into an array.voidasArray(double[] result) Converts state data into an array.com.irurueta.algebra.MatrixasMatrix()Converts state data into a column matrix.voidasMatrix(com.irurueta.algebra.Matrix result) Converts state data into a column matrix.protected Objectclone()Makes a copy of this instance.voidcopyFrom(GNSSEstimation input) Copies data of provided instance into this instance.voidcopyTo(GNSSEstimation output) Copies this instance data into provided instance.booleanequals(GNSSEstimation other) Checks if provided instance has exactly the same contents as this instance.booleanequals(GNSSEstimation other, double threshold) Checks if provided instance has contents similar to this instance up to provided threshold value.booleanChecks if provided object is a GNSSKalmanStateEstimates having exactly the same contents as this instance.voidfromArray(double[] array) Sets array values into this instance state.voidfromMatrix(com.irurueta.algebra.Matrix matrix) Sets matrix values into this instance state.doubleGets estimated receiver clock drift expressed in meters per second (m/s).com.irurueta.units.SpeedGets estimated receiver clock drift.voidgetClockDriftSpeed(com.irurueta.units.Speed result) Gets estimated receiver clock drift.doubleGets estimated receiver clock offset expressed in meters (m).com.irurueta.units.DistanceGets estimated receiver clock offset.voidgetClockOffsetDistance(com.irurueta.units.Distance result) Gets estimated receiver clock offset.com.irurueta.units.DistanceGets x coordinate of estimated ECEF user position.voidgetDistanceX(com.irurueta.units.Distance result) Gets x coordinate of estimated ECEF user position.com.irurueta.units.DistanceGets y coordinate of estimated ECEF user position.voidgetDistanceY(com.irurueta.units.Distance result) Gets y coordinate of estimated ECEF user position.com.irurueta.units.DistanceGets z coordinate of estimated ECEF user position.voidgetDistanceZ(com.irurueta.units.Distance result) Gets z coordinate of estimated ECEF user position.Gets estimated ECEF user position.voidgetEcefPosition(ECEFPosition result) Gets estimatedECEF user position.Gets estimated ECEF user velocity.voidgetEcefVelocity(ECEFVelocity result) Gets estimated ECEF user velocity.com.irurueta.geometry.Point3DGets estimated ECEF user position expressed in meters (m).voidgetPosition(com.irurueta.geometry.Point3D result) Gets estimated ECEF user position expressed in meters (m).Gets estimated ECEF user position and velocity.voidGets estimated ECEF user position and velocity.com.irurueta.units.SpeedGets x coordinate of estimated ECEF user velocity.voidgetSpeedX(com.irurueta.units.Speed result) Gets x coordinate of estimated ECEF user velocity.com.irurueta.units.SpeedGets y coordinate of estimated ECEF user velocity.voidgetSpeedY(com.irurueta.units.Speed result) Gets y coordinate of estimated ECEF user velocity.com.irurueta.units.SpeedGets z coordinate of estimated ECEF user velocity.voidgetSpeedZ(com.irurueta.units.Speed result) Gets z coordinate of estimated ECEF user velocity.doublegetVx()Gets x coordinate of estimated ECEF user velocity expressed in meters per second (m/s).doublegetVy()Gets y coordinate of estimated ECEF user velocity expressed in meters per second (m/s).doublegetVz()Gets z coordinate of estimated ECEF user velocity expressed in meters per second (m/s).doublegetX()Gets x coordinate of estimated ECEF user position expressed in meters (m).doublegetY()Gets y coordinate of estimated ECEF user position expressed in meters (m).doublegetZ()Gets z coordinate of estimated ECEF user position expressed in meters (m).inthashCode()Computes and returns hash code for this instance.voidsetClockDrift(double clockDrift) Sets estimated receiver clock drift expressed in meters per second (m/s).voidsetClockDrift(com.irurueta.units.Speed clockDrift) Sets estimated receiver clock drift.voidsetClockOffset(double clockOffset) Sets estimated receiver clock offset expressed in meters (m).voidsetClockOffset(com.irurueta.units.Distance clockOffset) Sets estimated receiver clock offset.voidsetDistanceX(com.irurueta.units.Distance x) Sets x coordinate of estimated ECEF user position.voidsetDistanceY(com.irurueta.units.Distance y) Sets y coordinate of estimated ECEF user position.voidsetDistanceZ(com.irurueta.units.Distance z) Sets z coordinate of estimated ECEF user position.voidsetEcefPosition(ECEFPosition ecefPosition) Sets estimated ECEF user position.voidsetEcefVelocity(ECEFVelocity ecefVelocity) Sets estimated ECEF user velocity.voidsetPosition(com.irurueta.geometry.Point3D position) Sets estimated ECEF user position expressed in meters (m).voidsetPositionAndVelocity(ECEFPositionAndVelocity positionAndVelocity) Sets estimated ECEF user position and velocity.voidsetPositionCoordinates(double x, double y, double z) Sets coordinates of estimated ECEF user position expressed in meters (m).voidsetPositionCoordinates(com.irurueta.units.Distance x, com.irurueta.units.Distance y, com.irurueta.units.Distance z) Sets coordinates of estimated ECEF user position.voidsetSpeedX(com.irurueta.units.Speed speedX) Sets x coordinate of estimated ECEF user velocity.voidsetSpeedY(com.irurueta.units.Speed speedY) Sets y coordinate of estimated ECEF user velocity.voidsetSpeedZ(com.irurueta.units.Speed speedZ) Sets z coordinate of estimated ECEF user velocity.voidsetVelocityCoordinates(double vx, double vy, double vz) Sets coordinates of estimated ECEF user velocity expressed in meters per second (m/s).voidsetVelocityCoordinates(com.irurueta.units.Speed speedX, com.irurueta.units.Speed speedY, com.irurueta.units.Speed speedZ) Sets coordinates of estimated ECEF user velocity.voidsetVx(double vx) Sets x coordinate of estimated ECEF user velocity expressed in meters per second (m/s).voidsetVy(double vy) Sets y coordinate of estimated ECEF user velocity expressed in meters per second (m/s).voidsetVz(double vz) Sets z coordinate of estimated ECEF user velocity expressed in meters per second (m/s).voidsetX(double x) Sets x coordinate of estimated ECEF user position expressed in meters (m).voidsetY(double y) Sets y coordinate of estimated ECEF user position expressed in meters (m).voidsetZ(double z) Sets z coordinate of estimated ECEF user position expressed in meters (m).
-
Field Details
-
NUM_PARAMETERS
public static final int NUM_PARAMETERSNumber of parameters stored into Kalman filter state.- See Also:
-
x
private double xX coordinate of estimated ECEF user position expressed in meters (m). -
y
private double yY coordinate of estimated ECEF user position expressed in meters (m). -
z
private double zZ coordinate of estimated ECEF user position expressed in meters (m). -
vx
private double vxX coordinate of estimated ECEF user velocity expressed in meters per second (m/s). -
vy
private double vyY coordinate of estimated ECEF user velocity expressed in meters per second (m/s). -
vz
private double vzZ coordinate of estimated ECEF user velocity expressed in meters per second (m/s). -
clockOffset
private double clockOffsetEstimated receiver clock offset expressed in meters (m). -
clockDrift
private double clockDriftEstimated receiver clock drift expressed in meters per second (m/s).
-
-
Constructor Details
-
GNSSEstimation
public GNSSEstimation()Constructor. -
GNSSEstimation
public GNSSEstimation(double x, double y, double z, double vx, double vy, double vz, double clockOffset, double clockDrift) Constructor.- Parameters:
x- x coordinate of estimated ECEF user position expressed in meters (m).y- y coordinate of estimated ECEF user position expressed in meters (m).z- z coordinate of estimated ECEF user position expressed in meters (m).vx- x coordinate of estimated ECEF user velocity expressed in meters per second (m/s).vy- y coordinate of estimated ECEF user velocity expressed in meters per second (m/s).vz- z coordinate of estimated ECEF user velocity expressed in meters per second (m/s).clockOffset- estimated receiver clock offset expressed in meters (m).clockDrift- estimated receiver clock drift expressed in meters per second (m/s).
-
GNSSEstimation
public GNSSEstimation(com.irurueta.units.Distance x, com.irurueta.units.Distance y, com.irurueta.units.Distance z, com.irurueta.units.Speed vx, com.irurueta.units.Speed vy, com.irurueta.units.Speed vz, com.irurueta.units.Distance clockOffset, com.irurueta.units.Speed clockDrift) Constructor.- Parameters:
x- x coordinate of estimated ECEF user position.y- y coordinate of estimated ECEF user position.z- z coordinate of estimated ECEF user position.vx- x coordinate of estimated ECEF user velocity.vy- y coordinate of estimated ECEF user velocity.vz- z coordinate of estimated ECEF user velocity.clockOffset- estimated receiver clock offset.clockDrift- estimated receiver clock drift.
-
GNSSEstimation
public GNSSEstimation(com.irurueta.geometry.Point3D position, double vx, double vy, double vz, double clockOffset, double clockDrift) Constructor.- Parameters:
position- estimated ECEF user position.vx- x coordinate of estimated ECEF user velocity expressed in meters per second (m/s).vy- y coordinate of estimated ECEF user velocity expressed in meters per second (m/s).vz- z coordinate of estimated ECEF user velocity expressed in meters per second (m/s).clockOffset- estimated receiver clock offset expressed in meters (m).clockDrift- estimated receiver clock drift expressed in meters per second (m/s).
-
GNSSEstimation
public GNSSEstimation(com.irurueta.geometry.Point3D position, com.irurueta.units.Speed vx, com.irurueta.units.Speed vy, com.irurueta.units.Speed vz, com.irurueta.units.Distance clockOffset, com.irurueta.units.Speed clockDrift) Constructor.- Parameters:
position- estimated ECEF user position.vx- x coordinate of estimated ECEF user velocity.vy- y coordinate of estimated ECEF user velocity.vz- z coordinate of estimated ECEF user velocity.clockOffset- estimated receiver clock offset.clockDrift- estimated receiver clock drift. 8
-
-
Method Details
-
getX
public double getX()Gets x coordinate of estimated ECEF user position expressed in meters (m).- Returns:
- x coordinate of estimated ECEF user position.
-
setX
public void setX(double x) Sets x coordinate of estimated ECEF user position expressed in meters (m).- Parameters:
x- x coordinate of estimated ECEF user position.
-
getY
public double getY()Gets y coordinate of estimated ECEF user position expressed in meters (m).- Returns:
- y coordinate of estimated ECEF user position.
-
setY
public void setY(double y) Sets y coordinate of estimated ECEF user position expressed in meters (m).- Parameters:
y- y coordinate of estimated ECEF user position.
-
getZ
public double getZ()Gets z coordinate of estimated ECEF user position expressed in meters (m).- Returns:
- z coordinate of estimated ECEF user position.
-
setZ
public void setZ(double z) Sets z coordinate of estimated ECEF user position expressed in meters (m).- Parameters:
z- z coordinate of estimated ECEF user position.
-
setPositionCoordinates
public void setPositionCoordinates(double x, double y, double z) Sets coordinates of estimated ECEF user position expressed in meters (m).- Parameters:
x- x coordinate.y- y coordinate.z- z coordinate.
-
getVx
public double getVx()Gets x coordinate of estimated ECEF user velocity expressed in meters per second (m/s).- Returns:
- x coordinate of estimated ECEF user velocity.
-
setVx
public void setVx(double vx) Sets x coordinate of estimated ECEF user velocity expressed in meters per second (m/s).- Parameters:
vx- x coordinate of estimated ECEF user velocity.
-
getVy
public double getVy()Gets y coordinate of estimated ECEF user velocity expressed in meters per second (m/s).- Returns:
- y coordinate of estimated ECEF user velocity.
-
setVy
public void setVy(double vy) Sets y coordinate of estimated ECEF user velocity expressed in meters per second (m/s).- Parameters:
vy- y coordinate of estimated ECEF user velocity.
-
getVz
public double getVz()Gets z coordinate of estimated ECEF user velocity expressed in meters per second (m/s).- Returns:
- z coordinate of estimated ECEF user velocity.
-
setVz
public void setVz(double vz) Sets z coordinate of estimated ECEF user velocity expressed in meters per second (m/s).- Parameters:
vz- z coordinate of estimated ECEF user velocity.
-
setVelocityCoordinates
public void setVelocityCoordinates(double vx, double vy, double vz) Sets coordinates of estimated ECEF user velocity expressed in meters per second (m/s).- Parameters:
vx- x coordinate.vy- y coordinate.vz- z coordinate.
-
getClockOffset
public double getClockOffset()Gets estimated receiver clock offset expressed in meters (m). Notice that clock offset is estimated in terms of distance, since timing errors will ultimately be propagated as distance errors.- Returns:
- estimated receiver clock offset.
-
setClockOffset
public void setClockOffset(double clockOffset) Sets estimated receiver clock offset expressed in meters (m). Notice that clock offset is estimated in terms of distance, since timing errors are ultimately propagated as distance errors.- Parameters:
clockOffset- estimated receiver clock offset.
-
getClockDrift
public double getClockDrift()Gets estimated receiver clock drift expressed in meters per second (m/s). Notice that the rate at which clock errors increase or decrease will ultimately propagate as speed (and hence position) errors.- Returns:
- estimated receiver clock drift.
-
setClockDrift
public void setClockDrift(double clockDrift) Sets estimated receiver clock drift expressed in meters per second (m/s). Notice that the rate at which clock errors increase or decrease will ultimately propagate as speed (and hence position) errors.- Parameters:
clockDrift- estimated receiver clock drift.
-
getDistanceX
public void getDistanceX(com.irurueta.units.Distance result) Gets x coordinate of estimated ECEF user position.- Parameters:
result- instance where x coordinate of estimated ECEF user position will be stored.
-
getDistanceX
public com.irurueta.units.Distance getDistanceX()Gets x coordinate of estimated ECEF user position.- Returns:
- x coordinate of estimated ECEF user position.
-
setDistanceX
public void setDistanceX(com.irurueta.units.Distance x) Sets x coordinate of estimated ECEF user position.- Parameters:
x- x coordinate of estimated ECEF user position.
-
getDistanceY
public void getDistanceY(com.irurueta.units.Distance result) Gets y coordinate of estimated ECEF user position.- Parameters:
result- instance where y coordinate of estimated ECEF user position will be stored.
-
getDistanceY
public com.irurueta.units.Distance getDistanceY()Gets y coordinate of estimated ECEF user position.- Returns:
- y coordinate of estimated ECEF user position.
-
setDistanceY
public void setDistanceY(com.irurueta.units.Distance y) Sets y coordinate of estimated ECEF user position.- Parameters:
y- y coordinate of estimated ECEF user position.
-
getDistanceZ
public void getDistanceZ(com.irurueta.units.Distance result) Gets z coordinate of estimated ECEF user position.- Parameters:
result- instance where z coordinate of estimated ECEF user position will be stored.
-
getDistanceZ
public com.irurueta.units.Distance getDistanceZ()Gets z coordinate of estimated ECEF user position.- Returns:
- z coordinate of estimated ECEF user position.
-
setDistanceZ
public void setDistanceZ(com.irurueta.units.Distance z) Sets z coordinate of estimated ECEF user position.- Parameters:
z- z coordinate of estimated ECEF user position.
-
setPositionCoordinates
public void setPositionCoordinates(com.irurueta.units.Distance x, com.irurueta.units.Distance y, com.irurueta.units.Distance z) Sets coordinates of estimated ECEF user position.- Parameters:
x- x coordinate.y- y coordinate.z- z coordinate.
-
getSpeedX
public void getSpeedX(com.irurueta.units.Speed result) Gets x coordinate of estimated ECEF user velocity.- Parameters:
result- instance where x coordinate of estimated ECEF user velocity will be stored.
-
getSpeedX
public com.irurueta.units.Speed getSpeedX()Gets x coordinate of estimated ECEF user velocity.- Returns:
- x coordinate of estimated ECEF user velocity.
-
setSpeedX
public void setSpeedX(com.irurueta.units.Speed speedX) Sets x coordinate of estimated ECEF user velocity.- Parameters:
speedX- x coordinate of estimated ECEF user velocity.
-
getSpeedY
public void getSpeedY(com.irurueta.units.Speed result) Gets y coordinate of estimated ECEF user velocity.- Parameters:
result- instance where y coordinate of estimated ECEF user velocity will be stored.
-
getSpeedY
public com.irurueta.units.Speed getSpeedY()Gets y coordinate of estimated ECEF user velocity.- Returns:
- y coordinate of estimated ECEF user velocity.
-
setSpeedY
public void setSpeedY(com.irurueta.units.Speed speedY) Sets y coordinate of estimated ECEF user velocity.- Parameters:
speedY- y coordinate of estimated ECEF user velocity.
-
getSpeedZ
public void getSpeedZ(com.irurueta.units.Speed result) Gets z coordinate of estimated ECEF user velocity.- Parameters:
result- instance where z coordinate of estimated ECEF user velocity will be stored.
-
getSpeedZ
public com.irurueta.units.Speed getSpeedZ()Gets z coordinate of estimated ECEF user velocity.- Returns:
- z coordinate of estimated ECEF user velocity.
-
setSpeedZ
public void setSpeedZ(com.irurueta.units.Speed speedZ) Sets z coordinate of estimated ECEF user velocity.- Parameters:
speedZ- z coordinate of estimated ECEF user velocity.
-
setVelocityCoordinates
public void setVelocityCoordinates(com.irurueta.units.Speed speedX, com.irurueta.units.Speed speedY, com.irurueta.units.Speed speedZ) Sets coordinates of estimated ECEF user velocity.- Parameters:
speedX- x coordinate.speedY- y coordinate.speedZ- z coordinate.
-
getClockOffsetDistance
public void getClockOffsetDistance(com.irurueta.units.Distance result) Gets estimated receiver clock offset. Notice that clock offset is estimated in terms of distance, since timing errors will ultimately be propagated as distance errors.- Parameters:
result- instance where estimated receiver clock offset will be stored.
-
getClockOffsetDistance
public com.irurueta.units.Distance getClockOffsetDistance()Gets estimated receiver clock offset. Notice that clock offset is estimated in terms of distance, since timing errors will ultimately be propagated as distance errors.- Returns:
- estimated receiver clock offset.
-
setClockOffset
public void setClockOffset(com.irurueta.units.Distance clockOffset) Sets estimated receiver clock offset. Notice that clock offset is estimated in terms of distance, since timing errors are ultimately propagated as distance errors.- Parameters:
clockOffset- estimated receiver clock offset.
-
getClockDriftSpeed
public void getClockDriftSpeed(com.irurueta.units.Speed result) Gets estimated receiver clock drift. Notice that the rate at which clock errors increase or decrease will ultimately propagate as speed (and hence position) errors.- Parameters:
result- instance where estimated receiver clock drift will be stored.
-
getClockDriftSpeed
public com.irurueta.units.Speed getClockDriftSpeed()Gets estimated receiver clock drift. Notice that the rate at which clock errors increase or decrease will ultimately propagate as speed (and hence position) errors.- Returns:
- estimated receiver clock drift.
-
setClockDrift
public void setClockDrift(com.irurueta.units.Speed clockDrift) Sets estimated receiver clock drift. Notice that the rate at which clock errors increase or decrease will ultimately propagate as speed (and hence position) errors.- Parameters:
clockDrift- estimated receiver clock drift.
-
getPosition
public void getPosition(com.irurueta.geometry.Point3D result) Gets estimated ECEF user position expressed in meters (m).- Parameters:
result- instance where estimated ECEF user position will be stored.
-
getPosition
public com.irurueta.geometry.Point3D getPosition()Gets estimated ECEF user position expressed in meters (m).- Returns:
- estimated ECEF user position.
-
setPosition
public void setPosition(com.irurueta.geometry.Point3D position) Sets estimated ECEF user position expressed in meters (m).- Parameters:
position- estimated ECEF user position.
-
getEcefPosition
Gets estimated ECEF user position.- Returns:
- estimated ECEF user position.
-
getEcefVelocity
Gets estimated ECEF user velocity.- Returns:
- estimated ECEF user velocity.
-
getPositionAndVelocity
Gets estimated ECEF user position and velocity.- Returns:
- estimated ECEF user position and velocity.
-
asArray
public void asArray(double[] result) Converts state data into an array.- Parameters:
result- instance where state data will be stored.- Throws:
IllegalArgumentException- if provided array does not have length 8.
-
asArray
public double[] asArray()Converts state data into an array.- Returns:
- a new array containing state data.
-
fromArray
public void fromArray(double[] array) Sets array values into this instance state.- Parameters:
array- array to copy data from.- Throws:
IllegalArgumentException- if provided array does not have length 8.
-
asMatrix
public void asMatrix(com.irurueta.algebra.Matrix result) Converts state data into a column matrix. If provided matrix is not 8x1 it will be resized.- Parameters:
result- instance where state data will be stored.
-
asMatrix
public com.irurueta.algebra.Matrix asMatrix()Converts state data into a column matrix.- Returns:
- a new 8x1 column matrix containing state data.
-
fromMatrix
public void fromMatrix(com.irurueta.algebra.Matrix matrix) Sets matrix values into this instance state.- Parameters:
matrix- matrix to copy data from.- Throws:
IllegalArgumentException- if provided matrix is not 8x1.
-
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. -
equals
Checks if provided object is a GNSSKalmanStateEstimates having exactly the same contents as this instance. -
clone
Makes a copy of this instance.- Overrides:
clonein classObject- Returns:
- a copy of this instance.
- Throws:
CloneNotSupportedException- if clone fails for some reason.
-