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 AccumulatedMagneticFluxDensityTriadNoiseEstimatorAccumulated noise estimator for magnetic flux density measurements.private doubleAccumulated average x-coordinate of magnetic flux density while body remains in a static interval and expressed in Teslas (T).private doubleAccumulated average y-coordinate of magnetic flux density while body remains in a static interval and expressed in Teslas (T).private doubleAccumulated average z-coordinate of magnetic flux density while body remains in a static interval and expressed in Teslas (T).private doubleContains 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 voidGets corresponding acceleration triad from provided input sample.protected voidHandles a dynamic-to-static interval change.protected voidHandles an initialization completion.protected voidHandles an error during initialization.protected voidhandleStaticToDynamicChange(double accumulatedAvgX, double accumulatedAvgY, double accumulatedAvgZ, double accumulatedStdX, double accumulatedStdY, double accumulatedStdZ) Handles a static-to-dynamic interval change.protected voidPost process provided input sample.voidreset()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:
resetin 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:
handleStaticToDynamicChangein 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.
-