Class AccumulatedAccelerationTriadNoiseEstimator
java.lang.Object
com.irurueta.navigation.inertial.calibration.noise.AccumulatedTriadNoiseEstimator<com.irurueta.units.AccelerationUnit,com.irurueta.units.Acceleration,AccelerationTriad,AccumulatedAccelerationTriadNoiseEstimator,AccumulatedAccelerationTriadNoiseEstimatorListener>
com.irurueta.navigation.inertial.calibration.noise.AccumulatedAccelerationTriadNoiseEstimator
- All Implemented Interfaces:
AccelerometerNoiseRootPsdSource
public class AccumulatedAccelerationTriadNoiseEstimator
extends AccumulatedTriadNoiseEstimator<com.irurueta.units.AccelerationUnit,com.irurueta.units.Acceleration,AccelerationTriad,AccumulatedAccelerationTriadNoiseEstimator,AccumulatedAccelerationTriadNoiseEstimatorListener>
implements AccelerometerNoiseRootPsdSource
Estimates accumulated acceleration noise variances and PSD's (Power Spectral Densities)
along with their average values.
This estimator must be used when the body where the accelerometer is attached
remains static on the same position with zero velocity while capturing data.
To compute PSD's, this estimator assumes that measurement samples are obtained
at a constant provided rate equal to
AccumulatedTriadNoiseEstimator.getTimeInterval()
seconds.
If not available, accelerometer sampling rate average can be estimated using
TimeIntervalEstimator
.
This estimator does NOT require the knowledge of current location and body
orientation.
Because body location and orientation is not known, estimated average values
cannot be used to determine biases. Only norm of noise estimations
(variance or standard deviation) can be safely used.
This estimator does NOT require the knowledge of current location and body
orientation.
This implementation of noise estimator will use the following units:
- meters per squared second (m/s^2) for acceleration, average or standard deviation values.
- (m^2/s^4) for acceleration variances.
- (m^2 * s^-3) for accelerometer PSD (Power Spectral Density).
- (m * s^-1.5) for accelerometer root PSD (Power Spectral Density).-
Field Summary
Fields inherited from class com.irurueta.navigation.inertial.calibration.noise.AccumulatedTriadNoiseEstimator
DEFAULT_TIME_INTERVAL_SECONDS
-
Constructor Summary
ConstructorsConstructorDescriptionConstructor.AccumulatedAccelerationTriadNoiseEstimator
(AccumulatedAccelerationTriadNoiseEstimatorListener listener) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionprotected double
convertToDefaultUnit
(double value, com.irurueta.units.AccelerationUnit unit) Converts provided value and unit into default unit.protected com.irurueta.units.Acceleration
createMeasurement
(double value, com.irurueta.units.AccelerationUnit unit) Creates a measurement with provided value and unit.protected AccelerationTriad
createTriad
(double valueX, double valueY, double valueZ, com.irurueta.units.AccelerationUnit unit) Creates a triad with provided values and unit.double
Gets accelerometer base noise level root PSD (Power Spectral Density) expressed in (m * s^-1.5).protected com.irurueta.units.AccelerationUnit
Gets default unit for a measurement.Methods inherited from class com.irurueta.navigation.inertial.calibration.noise.AccumulatedTriadNoiseEstimator
addTriad, addTriad, addTriad, getAverageStandardDeviation, getAverageStandardDeviationAsMeasurement, getAverageStandardDeviationAsMeasurement, getAvgNoisePsd, getAvgNorm, getAvgNormAsMeasurement, getAvgNormAsMeasurement, getAvgTriad, getAvgTriad, getAvgX, getAvgXAsMeasurement, getAvgXAsMeasurement, getAvgY, getAvgYAsMeasurement, getAvgYAsMeasurement, getAvgZ, getAvgZAsMeasurement, getAvgZAsMeasurement, getLastTriad, getLastTriad, getListener, getNoiseRootPsdNorm, getNumberOfProcessedSamples, getPsdX, getPsdY, getPsdZ, getRootPsdX, getRootPsdY, getRootPsdZ, getStandardDeviationNorm, getStandardDeviationNormAsMeasurement, getStandardDeviationNormAsMeasurement, getStandardDeviationTriad, getStandardDeviationTriad, getStandardDeviationX, getStandardDeviationXAsMeasurement, getStandardDeviationXAsMeasurement, getStandardDeviationY, getStandardDeviationYAsMeasurement, getStandardDeviationYAsMeasurement, getStandardDeviationZ, getStandardDeviationZAsMeasurement, getStandardDeviationZAsMeasurement, getTimeInterval, getTimeIntervalAsTime, getTimeIntervalAsTime, getVarianceX, getVarianceY, getVarianceZ, isRunning, reset, setListener, setTimeInterval, setTimeInterval
-
Constructor Details
-
AccumulatedAccelerationTriadNoiseEstimator
public AccumulatedAccelerationTriadNoiseEstimator()Constructor.
-
-
Method Details
-
createTriad
protected AccelerationTriad createTriad(double valueX, double valueY, double valueZ, com.irurueta.units.AccelerationUnit unit) Creates a triad with provided values and unit.- Specified by:
createTriad
in classAccumulatedTriadNoiseEstimator<com.irurueta.units.AccelerationUnit,
com.irurueta.units.Acceleration, AccelerationTriad, AccumulatedAccelerationTriadNoiseEstimator, AccumulatedAccelerationTriadNoiseEstimatorListener> - Parameters:
valueX
- x coordinate value.valueY
- y coordinate value.valueZ
- z coordinate value.unit
- unit.- Returns:
- created triad.
-
getDefaultUnit
protected com.irurueta.units.AccelerationUnit getDefaultUnit()Gets default unit for a measurement.- Specified by:
getDefaultUnit
in classAccumulatedTriadNoiseEstimator<com.irurueta.units.AccelerationUnit,
com.irurueta.units.Acceleration, AccelerationTriad, AccumulatedAccelerationTriadNoiseEstimator, AccumulatedAccelerationTriadNoiseEstimatorListener> - Returns:
- default unit for a measurement.
-
createMeasurement
protected com.irurueta.units.Acceleration createMeasurement(double value, com.irurueta.units.AccelerationUnit unit) Creates a measurement with provided value and unit.- Specified by:
createMeasurement
in classAccumulatedTriadNoiseEstimator<com.irurueta.units.AccelerationUnit,
com.irurueta.units.Acceleration, AccelerationTriad, AccumulatedAccelerationTriadNoiseEstimator, AccumulatedAccelerationTriadNoiseEstimatorListener> - Parameters:
value
- value to be set.unit
- unit to be set.- Returns:
- created measurement.
-
convertToDefaultUnit
protected double convertToDefaultUnit(double value, com.irurueta.units.AccelerationUnit unit) Converts provided value and unit into default unit.- Specified by:
convertToDefaultUnit
in classAccumulatedTriadNoiseEstimator<com.irurueta.units.AccelerationUnit,
com.irurueta.units.Acceleration, AccelerationTriad, AccumulatedAccelerationTriadNoiseEstimator, AccumulatedAccelerationTriadNoiseEstimatorListener> - Parameters:
value
- measurement value to be converted.unit
- unit of measurement value to be converted.- Returns:
- converted value.
-
getAccelerometerBaseNoiseLevelRootPsd
public double getAccelerometerBaseNoiseLevelRootPsd()Gets accelerometer base noise level root PSD (Power Spectral Density) expressed in (m * s^-1.5).- Specified by:
getAccelerometerBaseNoiseLevelRootPsd
in interfaceAccelerometerNoiseRootPsdSource
- Returns:
- accelerometer base noise level root PSD.
-