- Localization of mobile devices based on probe requests received at Access points
- Long Term Goal - Simultaneous localisation of multiple devices, for analytics
- Probe requests - Any wifi enabled device sends frame requesting information regarding all access points in the area
- Each probe request contains: MAC id of the device, timestamp, signal strength
- Not necessary for the mobile device to be connected to AP. Only wifi scanning should be on
-
Heuristics 1
-
Heuristic 2
-
Heuristics 3
-
Let (x, y) be the current coordinates of the mobile device.
-
(xi, yi) coordinates of the ith AP.
-
All the three previous approaches tried to find the position of the device geometrically based on the distance calculated.
-
Find the optimum value of x and y that minimize the value of F(x, y) using the Downhill Simplex Algorithm.
-
Offline Work to create Fingerprinting Database
- Record the signal strength of probes received at several points by each Access Point.
- Store this information in a database along with the known coordinates of the client device.
-
Online Tracking Phase
- The current RSSI vector at an unknown location is compared to those stored in the fingerprint.
- The closest match is returned as the estimated user location.
- Closest: smallest euclidean distance between RSSI vectors.
- Observed State - RSSI values; Hidden State - Location (X, Y)
- Multinomial HMM - discretized state space, discretized observations.
- Problem - State Space : Grid map across store. ~4000 states.
- RSSI discretized to (-30, -31…-99). Tuple of 4 RSSIs implies 704 = ~24 M parameters!
- Too many parameters, training time excruciatingly large
- Gaussian Emission Probabilities, Gaussian Transition Probabilities (State space still discretized) # of parameters reduced to 20
- However, # of possible states still ~4000
- Hard EM (Using Viterbi) used for training - Time = O(Y2T); Y: # of states, T : sequence length
- Due to so many states, single step of EM - 55 hours!
- HMM - always discretized state space. Can’t reduce size of state space without losing accuracy
- Therefore, we turn to continuous state space modelling, aka Kalman Filters
-
Kalman Filters - estimating continuous state variables, with noisy observations over time
-
Continuous - no nasty quadratic dependence on state space size;
-
Training time linear in sequence size
-
Problem - Observations : RSSI values. State Variables : Location
-
Fundamentally different quantities. How to associate the two?
-
Possible Solution : Convert RSSI to distance, apply Kalman filter, then triangulate
-
Kalman Filter assumes that the emission = affine transformation of hidden state + Gaussian Noise. Hidden State: correct distances Observed State: noisy distances (calculated from RSSIs)
-
But with extended/unscented Kalman Filters we can model Emission = non-linear transformation of hidden state + Gaussian Noise We can then have - Hidden States: Coordinates, Observed States = RSSI values
-
This should give better results as now we don’t need to do triangulation to find the coordinates, the hidden states are the coordinates.