Class MeasurementNoiseCovarianceEstimator
java.lang.Object
com.irurueta.numerical.signal.processing.MeasurementNoiseCovarianceEstimator
Estimates noise covariance matrix for a given set of measures.
Covariance matrix is updated each time that measures are added.
This class also computes average values of samples to estimate the bias
on given noise samples.
This class should only be used for samples obtained while system state is
held constant.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final com.irurueta.algebra.Matrix
Estimated measurement noise covariance matrix.private final int
Number of measurement vector dimensions (measure parameters).private final double[]
Estimated sample average.private long
Number of samples used for estimation.private final com.irurueta.algebra.Matrix
A sample expressed in matrix form.private final double[]
A sample after removing its mean.private final com.irurueta.algebra.Matrix
A covariance matrix for a single sample.private final com.irurueta.algebra.Matrix
The transposed sample matrix. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncom.irurueta.algebra.Matrix
Obtains estimated measurement noise covariance matrix.int
Obtains the number of measurement vector dimensions (measure parameters).double[]
Obtains estimated sample average.long
Obtains number of samples used for estimation.com.irurueta.algebra.Matrix
update
(double[] sample) Updates currently estimated covariance matrix by adding provided sample data.
-
Field Details
-
mp
private final int mpNumber of measurement vector dimensions (measure parameters). -
measurementNoiseCov
private final com.irurueta.algebra.Matrix measurementNoiseCovEstimated measurement noise covariance matrix. -
sampleAverage
private final double[] sampleAverageEstimated sample average. -
sampleCount
private long sampleCountNumber of samples used for estimation. -
sampleNoMean
private final double[] sampleNoMeanA sample after removing its mean. This is used internally, and it is kept as an instance variable for reuse purposes. -
sampleMatrix
private final com.irurueta.algebra.Matrix sampleMatrixA sample expressed in matrix form. This is used internally, and it is kept as an instance variable for reuse purposes. -
transposedSampleMatrix
private final com.irurueta.algebra.Matrix transposedSampleMatrixThe transposed sample matrix. This is used internally, and it is kept as an instance variable for reuse purposes. -
singleCov
private final com.irurueta.algebra.Matrix singleCovA covariance matrix for a single sample. This is used internally, and it is kept as an instance variable for reuse purposes.
-
-
Constructor Details
-
MeasurementNoiseCovarianceEstimator
Constructor.- Parameters:
measureParams
- number of measurement parameters for each sample (i.e. when sampling 3D acceleration samples, this value must be 3, since each sample contains acceleration values for x, y, and z axes).- Throws:
IllegalArgumentException
- if provided number of measure parameters is less than 1.SignalProcessingException
- if something fails.
-
-
Method Details
-
update
Updates currently estimated covariance matrix by adding provided sample data.- Parameters:
sample
- sample to be added to update covariance matrix.- Returns:
- covariance matrix after update.
- Throws:
IllegalArgumentException
- if provided sample length is not equal to the number of measure parameters set for this instance.SignalProcessingException
- if something fails.
-
getMeasureParams
public int getMeasureParams()Obtains the number of measurement vector dimensions (measure parameters).- Returns:
- number of measurement vector dimensions (measure parameters).
-
getMeasurementNoiseCov
public com.irurueta.algebra.Matrix getMeasurementNoiseCov()Obtains estimated measurement noise covariance matrix.- Returns:
- estimated measurement noise covariance matrix.
-
getSampleAverage
public double[] getSampleAverage()Obtains estimated sample average.- Returns:
- estimated sample average.
-
getSampleCount
public long getSampleCount()Obtains number of samples used for estimation.- Returns:
- number of samples used for estimation.
-