Class MixedRadioSourceEstimator<S extends RadioSource,P extends com.irurueta.geometry.Point<P>>
- Type Parameters:
S- aRadioSourcetype.P- aPointtype.
- Direct Known Subclasses:
MixedRadioSourceEstimator2D,MixedRadioSourceEstimator3D
This implementation is like RangingAndRssiRadioSourceEstimator but allows mixing different kinds of located radio source readings (ranging, RSSI and ranging+RSSI).
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final doubleDefault exponent typically used on free space for path loss propagation in terms of distance.static final booleanIndicates whether path loss estimation is enabled or not by default.static final booleanIndicates whether radio source transmitted power estimation is enabled or not by default.static final booleanIndicates that by default position covariances of readings must be taken into account to increase the amount of standard deviation of each ranging measure by the amount of position standard deviation assuming that both measures are statistically independent.private doubleEstimated exponent typically used on free space for path loss propagation in terms of distance.private DoubleVariance of estimated path loss exponent.private DoubleEstimated transmitted power expressed in dBm's or null if not available.private DoubleVariance of estimated transmitted power.private doubleInitial exponent typically used on free space for path loss propagation in terms of distance.private PInitial position to start the estimation of radio source position.private DoubleInitial transmitted power to start the estimation of radio source transmitted power.private intNumber of ranging readings available among all readings.private intNumber of RSSI readings available among all readings.protected booleanIndicates whether path loss estimation is enabled or not.protected RangingRadioSourceEstimator<S, P> Ranging radio source estimator.protected RssiRadioSourceEstimator<S, P> RSSI radio source estimator.private booleanIndicates whether position is estimated using RSSI data.static final doubleSpeed of light expressed in meters per second (m/s).protected booleanIndicates whether transmitted power estimation is enabled or not.private booleanIndicates whether an homogeneous linear solver is used to estimate an initial position for the internal ranging radio source estimator.private booleanIndicates whether position covariances of readings must be taken into account to increase the amount of standard deviation of each ranging measure by the amount of position standard deviation assuming that both measures are statistically independent.Fields inherited from class com.irurueta.navigation.indoor.radiosource.RadioSourceEstimator
estimatedCovariance, estimatedPositionCoordinates, estimatedPositionCovariance, listener, locked, readings -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedConstructor.protectedConstructor.protectedMixedRadioSourceEstimator(Double initialTransmittedPowerDbm) Constructor.protectedMixedRadioSourceEstimator(Double initialTransmittedPowerdBm, MixedRadioSourceEstimatorListener<S, P> listener) Constructor.protectedMixedRadioSourceEstimator(List<? extends ReadingLocated<P>> readings) Constructor.protectedMixedRadioSourceEstimator(List<? extends ReadingLocated<P>> readings, MixedRadioSourceEstimatorListener<S, P> listener) Constructor.protectedMixedRadioSourceEstimator(List<? extends ReadingLocated<P>> readings, Double initialTransmittedPowerdBm) Constructor.protectedMixedRadioSourceEstimator(List<? extends ReadingLocated<P>> readings, Double initialTransmittedPowerdBm, MixedRadioSourceEstimatorListener<S, P> listener) Constructor.protectedMixedRadioSourceEstimator(List<? extends ReadingLocated<P>> readings, P initialPosition) Constructor.protectedMixedRadioSourceEstimator(List<? extends ReadingLocated<P>> readings, P initialPosition, MixedRadioSourceEstimatorListener<S, P> listener) Constructor.protectedMixedRadioSourceEstimator(List<? extends ReadingLocated<P>> readings, P initialPosition, Double initialTransmittedPowerdBm) Constructor.protectedMixedRadioSourceEstimator(List<? extends ReadingLocated<P>> readings, P initialPosition, Double initialTransmittedPowerdBm, double initialPathLossExponent) Constructor.protectedMixedRadioSourceEstimator(List<? extends ReadingLocated<P>> readings, P initialPosition, Double initialTransmittedPowerdBm, double initialPathLossExponent, MixedRadioSourceEstimatorListener<S, P> listener) Constructor.protectedMixedRadioSourceEstimator(List<? extends ReadingLocated<P>> readings, P initialPosition, Double initialTransmittedPowerdBm, MixedRadioSourceEstimatorListener<S, P> listener) Constructor.protectedMixedRadioSourceEstimator(P initialPosition) Constructor.protectedMixedRadioSourceEstimator(P initialPosition, MixedRadioSourceEstimatorListener<S, P> listener) Constructor.protectedMixedRadioSourceEstimator(P initialPosition, Double initialTransmittedPowerdBm) Constructor.protectedMixedRadioSourceEstimator(P initialPosition, Double initialTransmittedPowerdBm, double initialPathLossExponent) Constructor.protectedMixedRadioSourceEstimator(P initialPosition, Double initialTransmittedPowerdBm, double initialPathLossExponent, MixedRadioSourceEstimatorListener<S, P> listener) Constructor.protectedMixedRadioSourceEstimator(P initialPosition, Double initialTransmittedPowerdBm, MixedRadioSourceEstimatorListener<S, P> listener) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionbooleanareValidReadings(List<? extends ReadingLocated<P>> readings) Indicates whether readings are valid or not.private voidcheckReadings(List<? extends ReadingLocated<P>> readings) Checks number of available ranging readings and number of available RSSI readings.protected abstract voidCreates inner estimators if needed.private RangingReadingLocated<S, P> createRangingReading(RangingAndRssiReadingLocated<S, P> reading) Creates a ranging reading from a ranging and RSSI reading.private RssiReadingLocated<S, P> createRssiReading(RangingAndRssiReadingLocated<S, P> reading) Creates an RSSI reading from a ranging and RSSI reading.voidestimate()Estimate position, transmitted power and path loss exponent.doubleGets estimated exponent typically used on free space for path loss propagation in terms of distance.Gets estimated path loss exponent variance.Gets estimated radio source position.Gets estimated transmitted power expressed in milli watts (mW) or null if not available.Gets estimated transmitted power expressed in dBm's or null if not available.Gets estimated transmitted power variance.doubleGets initial exponent typically used on free space for path loss propagation in terms of distance.Gets initial position to start the estimation of radio source position.Gets initial transmitted power to start the estimation of radio source transmitted power (expressed in mW).Gets initial transmitted power to start the estimation of radio source transmitted power (expressed in dBm's).intGets minimum required number of ranging or ranging+rssi readings required to start estimation.intGets minimum required number of readings to estimate power, position and path-loss exponent.intGets minimum required number of rssi or ranging+rssi readings required to start estimation.booleanIndicates whether position covariances of readings must be taken into account to increase the amount of standard deviation of each ranging measure by the amount of position standard deviation assuming that both measures are statistically independent.booleanIndicates whether an homogeneous linear solver is used to estimate an initial position for the internal ranging radio source estimator.booleanIndicates whether path loss estimation is enabled or not.booleanisReady()Indicates whether this instance is ready to start the estimation.booleanIndicates whether transmitted power estimation is enabled or not.voidsetHomogeneousRangingLinearSolverUsed(boolean useHomogeneousLinearSolver) Specifies whether an homogeneous linear solver is used to estimate an initial position for the internal ranging radio source estimator.voidsetInitialPathLossExponent(double initialPathLossExponent) Sets initial exponent typically used on free space for path loss propagation in terms of distance.voidsetInitialPosition(P initialPosition) Sets initial position to start the estimation of radio source position.voidsetInitialTransmittedPower(Double initialTransmittedPower) Sets initial transmitted power to start the estimation of radio source transmitted power (expressed in mW).voidsetInitialTransmittedPowerdBm(Double initialTransmittedPowerdBm) Sets initial transmitted power to start the estimation of radio source transmitted power (expressed in dBm's).voidsetPathLossEstimationEnabled(boolean pathLossEstimationEnabled) Specifies whether path loss estimation is enabled or not.voidsetTransmittedPowerEstimationEnabled(boolean transmittedPowerEstimationEnabled) Specifies whether transmitted power estimation is enabled or not.voidsetUseReadingPositionCovariances(boolean useReadingPositionCovariances) Specifies whether position covariances of readings must be taken into account to increase the amount of standard deviation of each ranging measure by the amount of position standard deviation assuming that both measures are statistically independent.Methods inherited from class com.irurueta.navigation.indoor.radiosource.RadioSourceEstimator
getEstimatedCovariance, getEstimatedPosition, getEstimatedPositionCoordinates, getEstimatedPositionCovariance, getEstimatedRadioSource, getListener, getNumberOfDimensions, getReadings, internalSetReadings, isLocked, setListener, setReadings
-
Field Details
-
SPEED_OF_LIGHT
public static final double SPEED_OF_LIGHTSpeed of light expressed in meters per second (m/s).- See Also:
-
DEFAULT_PATH_LOSS_EXPONENT
public static final double DEFAULT_PATH_LOSS_EXPONENTDefault exponent typically used on free space for path loss propagation in terms of distance. This value is used for free space environments.- See Also:
-
DEFAULT_TRANSMITTED_POWER_ESTIMATION_ENABLED
public static final boolean DEFAULT_TRANSMITTED_POWER_ESTIMATION_ENABLEDIndicates whether radio source transmitted power estimation is enabled or not by default. Typically, this data is required for Wi-Fi Access points, but it is already provided for Beacons (and hence its estimation is not needed).- See Also:
-
DEFAULT_PATHLOSS_ESTIMATION_ENABLED
public static final boolean DEFAULT_PATHLOSS_ESTIMATION_ENABLEDIndicates whether path loss estimation is enabled or not by default.- See Also:
-
DEFAULT_USE_READING_POSITION_COVARIANCES
public static final boolean DEFAULT_USE_READING_POSITION_COVARIANCESIndicates that by default position covariances of readings must be taken into account to increase the amount of standard deviation of each ranging measure by the amount of position standard deviation assuming that both measures are statistically independent.- See Also:
-
rssiInnerEstimator
protected RssiRadioSourceEstimator<S extends RadioSource,P extends com.irurueta.geometry.Point<P>> rssiInnerEstimatorRSSI radio source estimator. -
rangingInnerEstimator
protected RangingRadioSourceEstimator<S extends RadioSource,P extends com.irurueta.geometry.Point<P>> rangingInnerEstimatorRanging radio source estimator. -
transmittedPowerEstimationEnabled
protected boolean transmittedPowerEstimationEnabledIndicates whether transmitted power estimation is enabled or not. -
pathLossEstimationEnabled
protected boolean pathLossEstimationEnabledIndicates whether path loss estimation is enabled or not. -
estimatedTransmittedPowerdBm
Estimated transmitted power expressed in dBm's or null if not available. -
estimatedPathLossExponent
private double estimatedPathLossExponentEstimated exponent typically used on free space for path loss propagation in terms of distance. On different environments path loss exponent might have different values: - Free space: 2.0 - Urban Area: 2.7 to 3.5 - Suburban Area: 3 to 5 - Indoor (line-of-sight): 1.6 to 1.8 If path loss exponent estimation is not enabled, this value will always be equal toDEFAULT_PATH_LOSS_EXPONENT -
estimatedTransmittedPowerVariance
Variance of estimated transmitted power. This value will only be available when transmitted power estimation is enabled. -
estimatedPathLossExponentVariance
Variance of estimated path loss exponent. This value will only be available when path-loss exponent estimation is enabled. -
initialTransmittedPowerdBm
Initial transmitted power to start the estimation of radio source transmitted power. If not defined, average value of received power readings will be used. -
initialPosition
Initial position to start the estimation of radio source position. If not defined, centroid of provided readings will be used. -
initialPathLossExponent
private double initialPathLossExponentInitial exponent typically used on free space for path loss propagation in terms of distance. On different environments path loss exponent might have different values: - Free space: 2.0 - Urban Area: 2.7 to 3.5 - Suburban Area: 3 to 5 - Indoor (line-of-sight): 1.6 to 1.8If path loss exponent estimation is enabled, estimation will start at this value and will converge to the most appropriate value. If path loss exponent estimation is disabled, this value will be assumed to be exact and the estimated path loss exponent will be equal to this value.
-
useReadingPositionCovariances
private boolean useReadingPositionCovariancesIndicates whether position covariances of readings must be taken into account to increase the amount of standard deviation of each ranging measure by the amount of position standard deviation assuming that both measures are statistically independent. -
numRangingReadings
private int numRangingReadingsNumber of ranging readings available among all readings. -
numRssiReadings
private int numRssiReadingsNumber of RSSI readings available among all readings. -
rssiPositionEnabled
private boolean rssiPositionEnabledIndicates whether position is estimated using RSSI data. If enough ranging readings are available, this is false and position is estimated using ranging readings, otherwise this is true and position is estimated using RSSI data in a less reliable way. -
useHomogeneousRangingLinearSolver
private boolean useHomogeneousRangingLinearSolverIndicates whether an homogeneous linear solver is used to estimate an initial position for the internal ranging radio source estimator.
-
-
Constructor Details
-
MixedRadioSourceEstimator
protected MixedRadioSourceEstimator()Constructor. -
MixedRadioSourceEstimator
Constructor. Sets radio signal readings belonging to the same radio source.- Parameters:
readings- radio signal readings belonging to the same radio sources.- Throws:
IllegalArgumentException- if readings are not valid.
-
MixedRadioSourceEstimator
Constructor.- Parameters:
initialPosition- initial position to start the estimation of radio source position.
-
MixedRadioSourceEstimator
Constructor. Sets radio signal readings belonging to the same radio source.- Parameters:
readings- radio signal readings belonging to the same radio source.initialPosition- initial position to start the estimation of radio source position.- Throws:
IllegalArgumentException- if readings are not valid.
-
MixedRadioSourceEstimator
Constructor.- Parameters:
initialTransmittedPowerDbm- initial transmitted power to start the estimation of radio source transmitted power (expressed in dBm's).
-
MixedRadioSourceEstimator
protected MixedRadioSourceEstimator(List<? extends ReadingLocated<P>> readings, Double initialTransmittedPowerdBm) Constructor. Sets radio signal readings belonging to the same radio source.- Parameters:
readings- radio signal readings belonging to the same radio source.initialTransmittedPowerdBm- initial transmitted power to start the estimation of radio source transmitted power (expressed in dBm's).- Throws:
IllegalArgumentException- if readings are not valid.
-
MixedRadioSourceEstimator
protected MixedRadioSourceEstimator(List<? extends ReadingLocated<P>> readings, P initialPosition, Double initialTransmittedPowerdBm) Constructor. Sets radio signal readings belonging to the same radio source.- Parameters:
readings- radio signal readings belonging to the same radio source.initialPosition- initial position to start the estimation of radio source position.initialTransmittedPowerdBm- initial transmitted power to start the estimation of radio source transmitted power (expressed in dBm's).- Throws:
IllegalArgumentException- if readings are not valid.
-
MixedRadioSourceEstimator
Constructor.- Parameters:
initialPosition- initial position to start the estimation of radio source position.initialTransmittedPowerdBm- initial transmitted power to start the estimation of radio source transmitted power (expressed in dBm's).
-
MixedRadioSourceEstimator
protected MixedRadioSourceEstimator(List<? extends ReadingLocated<P>> readings, P initialPosition, Double initialTransmittedPowerdBm, double initialPathLossExponent) Constructor. Sets radio signal readings belonging to the same radio source.- Parameters:
readings- radio signal readings belonging to the same radio source.initialPosition- initial position to start the estimation of radio source position.initialTransmittedPowerdBm- initial transmitted power to start the estimation of radio source transmitted power (expressed in dBm's).initialPathLossExponent- initial path loss exponent. A typical value is 2.0.- Throws:
IllegalArgumentException- if readings are not valid.
-
MixedRadioSourceEstimator
protected MixedRadioSourceEstimator(P initialPosition, Double initialTransmittedPowerdBm, double initialPathLossExponent) Constructor.- Parameters:
initialPosition- initial position to start the estimation of radio source position.initialTransmittedPowerdBm- initial transmitted power to start the estimation of radio source transmitted power (expressed in dBm's).initialPathLossExponent- initial path loss exponent. A typical value is 2.0.
-
-
Method Details
-
getInitialTransmittedPowerdBm
Gets initial transmitted power to start the estimation of radio source transmitted power (expressed in dBm's). If not defined, average value of received power readings will be used.If transmitted power estimation is enabled, estimation will start at this value and will be converted to the most appropriate value. If transmitted power estimation is disabled, this value will be assumed to be exact and the estimated transmitted power will be equal to this value (converted to dBm's).
- Returns:
- initial transmitted power to start the estimation of radio source transmitted power.
-
setInitialTransmittedPowerdBm
public void setInitialTransmittedPowerdBm(Double initialTransmittedPowerdBm) throws com.irurueta.navigation.LockedException Sets initial transmitted power to start the estimation of radio source transmitted power (expressed in dBm's). If not defined, average value of received power readings will be used.If transmitted power estimation is enabled, estimation will start at this value and will be converted to the most appropriate value. If transmitted power estimation is disabled, this value will be assumed to be exact and the estimated transmitted power will be equal to this value (converted to dBm's).
- Parameters:
initialTransmittedPowerdBm- initial transmitted power to start the estimation of radio source transmitted power.- Throws:
com.irurueta.navigation.LockedException- if estimator is locked.
-
getInitialTransmittedPower
Gets initial transmitted power to start the estimation of radio source transmitted power (expressed in mW). If not defined, average value of received power readings will be used.If transmitted power estimation is enabled, estimation will start at this value and will be converted to the most appropriate value. If transmitted power estimation is disabled, this value will be assumed to be exact and the estimated transmitted power will be equal to this value (converted to dBm's).
- Returns:
- initial transmitted power to start the estimation of radio source transmitted power.
-
setInitialTransmittedPower
public void setInitialTransmittedPower(Double initialTransmittedPower) throws com.irurueta.navigation.LockedException Sets initial transmitted power to start the estimation of radio source transmitted power (expressed in mW). If not defined, average value of received power readings will be used.If transmitted power estimation is enabled, estimation will start at this value and will be converted to the most appropriate value. If transmitted power estimation is disabled, this value will be assumed to be exact and the estimated transmitted power will be equal to this value (converted to dBm's).
- Parameters:
initialTransmittedPower- initial transmitted power to start the estimation of radio source transmitted power.- Throws:
com.irurueta.navigation.LockedException- if estimator is locked.IllegalArgumentException- if provided value is negative.
-
isTransmittedPowerEstimationEnabled
public boolean isTransmittedPowerEstimationEnabled()Indicates whether transmitted power estimation is enabled or not.- Returns:
- true if transmitted power estimation is enabled, false otherwise.
-
setTransmittedPowerEstimationEnabled
public void setTransmittedPowerEstimationEnabled(boolean transmittedPowerEstimationEnabled) throws com.irurueta.navigation.LockedException Specifies whether transmitted power estimation is enabled or not.- Parameters:
transmittedPowerEstimationEnabled- true if transmitted power estimation is enabled, false otherwise.- Throws:
com.irurueta.navigation.LockedException- if estimator is locked.
-
getInitialPosition
Gets initial position to start the estimation of radio source position. If not defined, centroid of provided readings will be used.If position estimation is enabled, estimation will start at this value and will converge to the most appropriate value. If position estimation is disabled, this value will be assumed to be exact and the estimated position will be equal to this value.
- Returns:
- initial position to start the estimation of radio source position.
-
setInitialPosition
Sets initial position to start the estimation of radio source position. If not defined, centroid of provided fingerprints will be used.If position estimation is enabled, estimation will start at this value and will converge to the most appropriate value. If position estimation is disabled, this value will be assumed to be exact and the estimated position will be equal to this value.
- Parameters:
initialPosition- initial position to start the estimation of radio source position.- Throws:
com.irurueta.navigation.LockedException- if estimator is locked.
-
getInitialPathLossExponent
public double getInitialPathLossExponent()Gets initial exponent typically used on free space for path loss propagation in terms of distance. On different environments path loss exponent might have different value: - Free space: 2.0 - Urban Area: 2.7 to 3.5 - Suburban Area: 3 to 5 - Indoor (line-of-sight): 1.6 to 1.8If path loss exponent estimation is enabled, estimation will start at this value and will converge to the most appropriate value. If path loss exponent estimation is disabled, this value will be assumed to be exact and the estimated path loss exponent will be equal to this value.
- Returns:
- initial path loss exponent.
-
setInitialPathLossExponent
public void setInitialPathLossExponent(double initialPathLossExponent) throws com.irurueta.navigation.LockedException Sets initial exponent typically used on free space for path loss propagation in terms of distance. On different environments path loss exponent might have different value: - Free space: 2.0 - Urban Area: 2.7 to 3.5 - Suburban Area: 3 to 5 - Indoor (line-of-sight): 1.6 to 1.8If path loss exponent estimation is enabled, estimation will start at this value and will converge to the most appropriate value. If path loss exponent estimation is disabled, this value will be assumed to be exact and the estimated path loss exponent will be equal to this value.
- Parameters:
initialPathLossExponent- initial path loss exponent.- Throws:
com.irurueta.navigation.LockedException- if estimator is locked.
-
isPathLossEstimationEnabled
public boolean isPathLossEstimationEnabled()Indicates whether path loss estimation is enabled or not.- Returns:
- true if path loss estimation is enabled, false otherwise.
-
setPathLossEstimationEnabled
public void setPathLossEstimationEnabled(boolean pathLossEstimationEnabled) throws com.irurueta.navigation.LockedException Specifies whether path loss estimation is enabled or not.- Parameters:
pathLossEstimationEnabled- true if path loss estimation is enabled, false otherwise.- Throws:
com.irurueta.navigation.LockedException- if estimator is locked.
-
getUseReadingPositionCovariance
public boolean getUseReadingPositionCovariance()Indicates whether position covariances of readings must be taken into account to increase the amount of standard deviation of each ranging measure by the amount of position standard deviation assuming that both measures are statistically independent.- Returns:
- true to take into account reading position covariances, false otherwise.
-
setUseReadingPositionCovariances
public void setUseReadingPositionCovariances(boolean useReadingPositionCovariances) throws com.irurueta.navigation.LockedException Specifies whether position covariances of readings must be taken into account to increase the amount of standard deviation of each ranging measure by the amount of position standard deviation assuming that both measures are statistically independent.- Parameters:
useReadingPositionCovariances- true to take into account reading position covariances, false otherwise.- Throws:
com.irurueta.navigation.LockedException- if estimator is locked.
-
isHomogeneousRangingLinearSolverUsed
public boolean isHomogeneousRangingLinearSolverUsed()Indicates whether an homogeneous linear solver is used to estimate an initial position for the internal ranging radio source estimator.- Returns:
- true if homogeneous linear solver is used, false if an inhomogeneous linear one is used instead.
-
setHomogeneousRangingLinearSolverUsed
public void setHomogeneousRangingLinearSolverUsed(boolean useHomogeneousLinearSolver) throws com.irurueta.navigation.LockedException Specifies whether an homogeneous linear solver is used to estimate an initial position for the internal ranging radio source estimator.- Parameters:
useHomogeneousLinearSolver- true if homogeneous linear solver is used, false if an inhomogeneous linear one is used instead.- Throws:
com.irurueta.navigation.LockedException- if estimator is locked.
-
getMinRangingReadings
public int getMinRangingReadings()Gets minimum required number of ranging or ranging+rssi readings required to start estimation.- Returns:
- minimum required number of ranging or ranging+rssi readings.
-
getMinRssiReadings
public int getMinRssiReadings()Gets minimum required number of rssi or ranging+rssi readings required to start estimation.- Returns:
- minimum required number of rssi or ranging+rssi readings.
-
getMinReadings
public int getMinReadings()Gets minimum required number of readings to estimate power, position and path-loss exponent. This value depends on the number of parameters to be estimated, but for position only, this is 3 readings.- Specified by:
getMinReadingsin classRadioSourceEstimator<P extends com.irurueta.geometry.Point<P>,ReadingLocated<P extends com.irurueta.geometry.Point<P>>, MixedRadioSourceEstimatorListener<S extends RadioSource, P extends com.irurueta.geometry.Point<P>>> - Returns:
- minimum required number of readings.
- Throws:
IllegalStateException- if inner RSSI estimator is busy.
-
getEstimatedPosition
Gets estimated radio source position.- Specified by:
getEstimatedPositionin classRadioSourceEstimator<P extends com.irurueta.geometry.Point<P>,ReadingLocated<P extends com.irurueta.geometry.Point<P>>, MixedRadioSourceEstimatorListener<S extends RadioSource, P extends com.irurueta.geometry.Point<P>>> - Returns:
- estimated radio source position.
-
areValidReadings
Indicates whether readings are valid or not. Readings are considered valid when there are enough readings.- Overrides:
areValidReadingsin classRadioSourceEstimator<P extends com.irurueta.geometry.Point<P>,ReadingLocated<P extends com.irurueta.geometry.Point<P>>, MixedRadioSourceEstimatorListener<S extends RadioSource, P extends com.irurueta.geometry.Point<P>>> - Parameters:
readings- readings to be validated.- Returns:
- true if readings are valid, false otherwise.
-
isReady
public boolean isReady()Indicates whether this instance is ready to start the estimation.- Specified by:
isReadyin classRadioSourceEstimator<P extends com.irurueta.geometry.Point<P>,ReadingLocated<P extends com.irurueta.geometry.Point<P>>, MixedRadioSourceEstimatorListener<S extends RadioSource, P extends com.irurueta.geometry.Point<P>>> - Returns:
- true if this instance is ready, false otherwise.
-
estimate
public void estimate() throws RadioSourceEstimationException, com.irurueta.navigation.NotReadyException, com.irurueta.navigation.LockedExceptionEstimate position, transmitted power and path loss exponent.- Specified by:
estimatein classRadioSourceEstimator<P extends com.irurueta.geometry.Point<P>,ReadingLocated<P extends com.irurueta.geometry.Point<P>>, MixedRadioSourceEstimatorListener<S extends RadioSource, P extends com.irurueta.geometry.Point<P>>> - Throws:
RadioSourceEstimationException- if estimation fails.com.irurueta.navigation.NotReadyException- if estimator is not ready.com.irurueta.navigation.LockedException- if estimator is locked.
-
getEstimatedTransmittedPower
Gets estimated transmitted power expressed in milli watts (mW) or null if not available.- Returns:
- estimated transmitted power expressed in milli watts or null.
-
getEstimatedTransmittedPowerdBm
Gets estimated transmitted power expressed in dBm's or null if not available.- Returns:
- estimated transmitted power expressed in dBm's or null.
-
getEstimatedPathLossExponent
public double getEstimatedPathLossExponent()Gets estimated exponent typically used on free space for path loss propagation in terms of distance. On different environments path loss exponent might have different values: - Free space: 2.0 - Urban Area: 2.7 to 3.5 - Suburban Area: 3 to 5 - Indoor (line-of-sight): 1.6 to 1.8 If path loss exponent estimation is not enabled, this value will always be equal toDEFAULT_PATH_LOSS_EXPONENT- Returns:
- estimated path loss exponent.
-
getEstimatedTransmittedPowerVariance
Gets estimated transmitted power variance. This value will only be available when transmitted power estimation is enabled.- Returns:
- estimated transmitted power variance or null.
-
getEstimatedPathLossExponentVariance
Gets estimated path loss exponent variance. This value will only be available when path-loss exponent estimation is enabled.- Returns:
- estimated path loss exponent variance or null.
-
createInnerEstimatorsIfNeeded
protected abstract void createInnerEstimatorsIfNeeded()Creates inner estimators if needed. -
checkReadings
Checks number of available ranging readings and number of available RSSI readings. Also determines whether position must be estimated using ranging data or RSSI data.- Parameters:
readings- readings to be checked.
-