Class LinearFingerprintPositionEstimator<P extends com.irurueta.geometry.Point<P>>

Type Parameters:
P - a Point type.
Direct Known Subclasses:
LinearFingerprintPositionEstimator2D, LinearFingerprintPositionEstimator3D

public abstract class LinearFingerprintPositionEstimator<P extends com.irurueta.geometry.Point<P>> extends FingerprintPositionEstimator<P>
Base class for position estimators based on located fingerprints containing only RSSI readings and having as well prior knowledge of the location of radio sources associated to those readings. This implementation uses a first-order Taylor approximation over provided located fingerprints to determine an approximate position for a non-located fingerprint and solves the problem in a linear way.
  • Constructor Details

    • LinearFingerprintPositionEstimator

      protected LinearFingerprintPositionEstimator()
      Constructor.
    • LinearFingerprintPositionEstimator

      protected LinearFingerprintPositionEstimator(FingerprintPositionEstimatorListener<P> listener)
      Constructor.
      Parameters:
      listener - listener in charge of handling events.
    • LinearFingerprintPositionEstimator

      protected LinearFingerprintPositionEstimator(List<? extends RssiFingerprintLocated<? extends RadioSource,? extends RssiReading<? extends RadioSource>,P>> locatedFingerprints, RssiFingerprint<? extends RadioSource,? extends RssiReading<? extends RadioSource>> fingerprint, List<? extends RadioSourceLocated<P>> sources)
      Constructor.
      Parameters:
      locatedFingerprints - located fingerprints containing RSSI readings.
      fingerprint - fingerprint containing readings at an unknown location for provided located fingerprints.
      sources - located radio sources.
      Throws:
      IllegalArgumentException - if provided non located fingerprint is null, located fingerprints value is null or there are not enough fingerprints or readings within provided fingerprints (for 2D position estimation at least 2 located total readings are required among all fingerprints, for example 2 readings are required in a single fingerprint, or at least 2 fingerprints at different locations containing a single reading are required. For 3D position estimation 3 located total readings are required among all fingerprints).
    • LinearFingerprintPositionEstimator

      protected LinearFingerprintPositionEstimator(List<? extends RssiFingerprintLocated<? extends RadioSource,? extends RssiReading<? extends RadioSource>,P>> locatedFingerprints, RssiFingerprint<? extends RadioSource,? extends RssiReading<? extends RadioSource>> fingerprint, List<? extends RadioSourceLocated<P>> sources, FingerprintPositionEstimatorListener<P> listener)
      Constructor.
      Parameters:
      locatedFingerprints - located fingerprints containing RSSI readings.
      fingerprint - fingerprint containing readings at an unknown location for provided located fingerprints.
      sources - located radio sources.
      listener - listener in charge of handling events.
      Throws:
      IllegalArgumentException - if provided non located fingerprint is null, located fingerprints value is null or there are not enough fingerprints or readings within provided fingerprints (for 2D position estimation at least 2 located total readings are required among all fingerprints, for example 2 readings are required in a single fingerprint, or at least 2 fingerprints at different locations containing a single reading are required. For 3D position estimation 3 located total readings are required among all fingerprints).
  • Method Details