Class MagnetometerMeasurementsGenerator
java.lang.Object
com.irurueta.navigation.inertial.calibration.generators.MeasurementsGenerator<StandardDeviationBodyMagneticFluxDensity,MagnetometerMeasurementsGenerator,MagnetometerMeasurementsGeneratorListener,BodyKinematicsAndMagneticFluxDensity>
com.irurueta.navigation.inertial.calibration.generators.MagnetometerMeasurementsGenerator
- All Implemented Interfaces:
AccelerometerNoiseRootPsdSource
public class MagnetometerMeasurementsGenerator
extends MeasurementsGenerator<StandardDeviationBodyMagneticFluxDensity,MagnetometerMeasurementsGenerator,MagnetometerMeasurementsGeneratorListener,BodyKinematicsAndMagneticFluxDensity>
Generates measurements for the calibration of magnetometers by alternating
static and dynamic intervals where device is kept static or moved.
Generated measurements must be used with magnetometer calibrators based
on the knowledge of position on Earth and time instant.
Such calibrators are the following ones:
-
KnownPositionAndInstantMagnetometerCalibrator
- KnownHardIronPositionAndInstantMagnetometerCalibrator
- RobustKnownPositionAndInstantMagnetometerCalibrator
and all its implementations.
- RobustKnownHardIronPositionAndInstantMagnetometerCalibrator
and all its implementations.-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final AccumulatedMagneticFluxDensityTriadNoiseEstimator
Accumulated noise estimator for magnetic flux density measurements.private double
Accumulated average x-coordinate of magnetic flux density while body remains in a static interval and expressed in Teslas (T).private double
Accumulated average y-coordinate of magnetic flux density while body remains in a static interval and expressed in Teslas (T).private double
Accumulated average z-coordinate of magnetic flux density while body remains in a static interval and expressed in Teslas (T).private double
Contains standard deviation of magnetic flux density during initialization (i.e. base noise level) expressed in Teslas (T).Fields inherited from class com.irurueta.navigation.inertial.calibration.generators.MeasurementsGenerator
DEFAULT_MAX_DYNAMIC_SAMPLES, DEFAULT_MIN_STATIC_SAMPLES, listener, staticIntervalDetector, triad
-
Constructor Summary
ConstructorsConstructorDescriptionConstructor.Constructor. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
Gets corresponding acceleration triad from provided input sample.protected void
Handles a dynamic-to-static interval change.protected void
Handles an initialization completion.protected void
Handles an error during initialization.protected void
handleStaticToDynamicChange
(double accumulatedAvgX, double accumulatedAvgY, double accumulatedAvgZ, double accumulatedStdX, double accumulatedStdY, double accumulatedStdZ) Handles a static-to-dynamic interval change.protected void
Post process provided input sample.void
reset()
Resets this generator.Methods inherited from class com.irurueta.navigation.inertial.calibration.generators.MeasurementsGenerator
checkProcessedSamples, getAccelerometerBaseNoiseLevel, getAccelerometerBaseNoiseLevelAsMeasurement, getAccelerometerBaseNoiseLevelAsMeasurement, getAccelerometerBaseNoiseLevelPsd, getAccelerometerBaseNoiseLevelRootPsd, getBaseNoiseLevelAbsoluteThreshold, getBaseNoiseLevelAbsoluteThresholdAsMeasurement, getBaseNoiseLevelAbsoluteThresholdAsMeasurement, getInitialStaticSamples, getInstantaneousNoiseLevelFactor, getListener, getMaxDynamicSamples, getMinStaticSamples, getProcessedDynamicSamples, getProcessedStaticSamples, getStatus, getThreshold, getThresholdAsMeasurement, getThresholdAsMeasurement, getThresholdFactor, getTimeInterval, getTimeIntervalAsTime, getTimeIntervalAsTime, getWindowSize, isDynamicIntervalSkipped, isRunning, isStaticIntervalSkipped, process, setBaseNoiseLevelAbsoluteThreshold, setBaseNoiseLevelAbsoluteThreshold, setInitialStaticSamples, setInstantaneousNoiseLevelFactor, setListener, setMaxDynamicSamples, setMinStaticSamples, setThresholdFactor, setTimeInterval, setTimeInterval, setWindowSize, updateCounters
-
Field Details
-
accumulatedEstimator
Accumulated noise estimator for magnetic flux density measurements. -
avgBx
private double avgBxAccumulated average x-coordinate of magnetic flux density while body remains in a static interval and expressed in Teslas (T). -
avgBy
private double avgByAccumulated average y-coordinate of magnetic flux density while body remains in a static interval and expressed in Teslas (T). -
avgBz
private double avgBzAccumulated average z-coordinate of magnetic flux density while body remains in a static interval and expressed in Teslas (T). -
stdBNorm
private double stdBNormContains standard deviation of magnetic flux density during initialization (i.e. base noise level) expressed in Teslas (T).
-
-
Constructor Details
-
MagnetometerMeasurementsGenerator
public MagnetometerMeasurementsGenerator()Constructor.
-
-
Method Details
-
reset
public void reset() throws com.irurueta.navigation.LockedExceptionResets this generator.- Overrides:
reset
in classMeasurementsGenerator<StandardDeviationBodyMagneticFluxDensity,
MagnetometerMeasurementsGenerator, MagnetometerMeasurementsGeneratorListener, BodyKinematicsAndMagneticFluxDensity> - Throws:
com.irurueta.navigation.LockedException
- if generator is busy.
-
handleStaticToDynamicChange
protected void handleStaticToDynamicChange(double accumulatedAvgX, double accumulatedAvgY, double accumulatedAvgZ, double accumulatedStdX, double accumulatedStdY, double accumulatedStdZ) Handles a static-to-dynamic interval change.- Specified by:
handleStaticToDynamicChange
in classMeasurementsGenerator<StandardDeviationBodyMagneticFluxDensity,
MagnetometerMeasurementsGenerator, MagnetometerMeasurementsGeneratorListener, BodyKinematicsAndMagneticFluxDensity> - Parameters:
accumulatedAvgX
- average x-coordinate of measurements during last static period expressed in meters per squared second (m/s^2).accumulatedAvgY
- average y-coordinate of specific force during last static period expressed in meters per squared second (m/s^2).accumulatedAvgZ
- average z-coordinate of specific force during last static period expressed in meters per squared second (m/s^2).accumulatedStdX
- standard deviation of x-coordinate of measurements during last static period expressed in meters per squared second (m/s^2).accumulatedStdY
- standard deviation of y-coordinate of measurements during last static period expressed in meters per squared second (m/s^2).accumulatedStdZ
- standard deviation of z-coordinate of measurements during last static period expressed in meters per squared second (m/s^2).
-
handleDynamicToStaticChange
protected void handleDynamicToStaticChange()Handles a dynamic-to-static interval change. -
handleInitializationCompleted
protected void handleInitializationCompleted()Handles an initialization completion. -
handleInitializationFailed
protected void handleInitializationFailed()Handles an error during initialization.
-