Class WindowedMagneticFluxDensityMeasurementNoiseEstimator
java.lang.Object
com.irurueta.navigation.inertial.calibration.noise.WindowedMeasurementNoiseEstimator<com.irurueta.units.MagneticFluxDensityUnit,com.irurueta.units.MagneticFluxDensity,WindowedMagneticFluxDensityMeasurementNoiseEstimator,WindowedMagneticFluxDensityMeasurementNoiseEstimatorListener>
com.irurueta.navigation.inertial.calibration.noise.WindowedMagneticFluxDensityMeasurementNoiseEstimator
public class WindowedMagneticFluxDensityMeasurementNoiseEstimator
extends WindowedMeasurementNoiseEstimator<com.irurueta.units.MagneticFluxDensityUnit,com.irurueta.units.MagneticFluxDensity,WindowedMagneticFluxDensityMeasurementNoiseEstimator,WindowedMagneticFluxDensityMeasurementNoiseEstimatorListener>
Estimates magnetometer noise variances and PSD's (Power Spectral Density)
along with magnetic flux density average average value for a windowed amount of samples.
This estimator must be used when the body where the magnetometer is attached
remains static on the same position and orientation with zero velocity while
capturing data.
To compute PSD's, this estimator assumes that magnetometer samples are
obtained at a constant provided rate equal to
WindowedMeasurementNoiseEstimator.getTimeInterval()
seconds.
If not available, accelerometer sampling rate average can be estimated using
TimeIntervalEstimator
.
Notice that if there are less than WindowedMeasurementNoiseEstimator.getWindowSize()
processed
samples in the window, this estimator will assume that the remaining ones
until the window is completed have zero values.
This estimator does NOT require the knowledge of current location and body
orientation.
This implementation of noise estimator will use the following units:
- Teslas (T) for magnetic flux density, average or standard deviation values.
- squared Teslas (T^2) for magnetic flux density variances.
- (T^2 * s) for magnetometer PSD (Power Spectral Density).
- (T * s^0.5) for magnetometer root PSD (Power Spectral Density).-
Field Summary
Fields inherited from class com.irurueta.navigation.inertial.calibration.noise.WindowedMeasurementNoiseEstimator
DEFAULT_TIME_INTERVAL_SECONDS, DEFAULT_WINDOW_SIZE, MIN_WINDOW_SIZE
-
Constructor Summary
ConstructorsConstructorDescriptionConstructor.WindowedMagneticFluxDensityMeasurementNoiseEstimator
(WindowedMagneticFluxDensityMeasurementNoiseEstimatorListener listener) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionprotected double
convertToDefaultUnit
(com.irurueta.units.MagneticFluxDensity value) Converts provided measurement into default unit.protected com.irurueta.units.MagneticFluxDensity
createMeasurement
(double value, com.irurueta.units.MagneticFluxDensityUnit unit) Creates a measurement with provided value and unit.protected com.irurueta.units.MagneticFluxDensityUnit
Gets default unit for a measurement.Methods inherited from class com.irurueta.navigation.inertial.calibration.noise.WindowedMeasurementNoiseEstimator
addMeasurement, addMeasurement, addMeasurementAndProcess, addMeasurementAndProcess, getAvg, getAvgAsMeasurement, getAvgAsMeasurement, getFirstWindowedMeasurement, getFirstWindowedMeasurement, getFirstWindowedMeasurementValue, getLastWindowedMeasurement, getLastWindowedMeasurement, getLastWindowedMeasurementValue, getListener, getNumberOfAddedSamples, getNumberOfProcessedSamples, getNumberOfSamplesInWindow, getPsd, getRootPsd, getStandardDeviation, getStandardDeviationAsMeasurement, getStandardDeviationAsMeasurement, getTimeInterval, getTimeIntervalAsTime, getTimeIntervalAsTime, getVariance, getWindowSize, isRunning, isWindowFilled, reset, setListener, setTimeInterval, setTimeInterval, setWindowSize
-
Constructor Details
-
WindowedMagneticFluxDensityMeasurementNoiseEstimator
public WindowedMagneticFluxDensityMeasurementNoiseEstimator()Constructor.
-
-
Method Details
-
getDefaultUnit
protected com.irurueta.units.MagneticFluxDensityUnit getDefaultUnit()Gets default unit for a measurement.- Specified by:
getDefaultUnit
in classWindowedMeasurementNoiseEstimator<com.irurueta.units.MagneticFluxDensityUnit,
com.irurueta.units.MagneticFluxDensity, WindowedMagneticFluxDensityMeasurementNoiseEstimator, WindowedMagneticFluxDensityMeasurementNoiseEstimatorListener> - Returns:
- default unit for a measurement.
-
createMeasurement
protected com.irurueta.units.MagneticFluxDensity createMeasurement(double value, com.irurueta.units.MagneticFluxDensityUnit unit) Creates a measurement with provided value and unit.- Specified by:
createMeasurement
in classWindowedMeasurementNoiseEstimator<com.irurueta.units.MagneticFluxDensityUnit,
com.irurueta.units.MagneticFluxDensity, WindowedMagneticFluxDensityMeasurementNoiseEstimator, WindowedMagneticFluxDensityMeasurementNoiseEstimatorListener> - Parameters:
value
- value to be set.unit
- unit to be set.- Returns:
- created measurement.
-
convertToDefaultUnit
protected double convertToDefaultUnit(com.irurueta.units.MagneticFluxDensity value) Converts provided measurement into default unit.- Specified by:
convertToDefaultUnit
in classWindowedMeasurementNoiseEstimator<com.irurueta.units.MagneticFluxDensityUnit,
com.irurueta.units.MagneticFluxDensity, WindowedMagneticFluxDensityMeasurementNoiseEstimator, WindowedMagneticFluxDensityMeasurementNoiseEstimatorListener> - Parameters:
value
- measurement to be converted.- Returns:
- converted value.
-