Proximity-based model for indoor localization using wireless signals
Systems and methods of using wireless signals to create a sensing infrastructure for tracking the location of a moving subject within residential or industrial indoor environments are provided. The changes and disruptions of wireless signals transmitted and received by a plurality of wireless devices are collected and analyzed to infer the position of a moving participant within a sensing area. More particularly, a proximity-based method that models and estimates the location of a moving participant within the sensing area with respect to a single or plurality of fixed position(s) of wireless devices is provided.
1 . A method for locating a user, the method comprising:
storing data from a plurality of sensing devices in a wireless signal database, each of the plurality of sensing devices located within a sensing area;
polling the wireless signal database for new wireless signal data;
applying a plurality of filters to the new wireless signal data;
storing the filtered wireless signal data in a training data database;
polling a pre-trained proximity database that stores proximity index data;
adjusting the pre-trained proximity database based on shifts detected in the wireless signal data over time;
comparing the new wireless signal data with the proximity index data to determine a current location of a user within the sensing area;
quantifying the proximity index data based on coordinates mapped to the proximity index data;
correlating the quantified proximity index data to movement; and
storing the quantified proximity index data in the pre-trained proximity database.
2 . A system for locating a user, the system comprising:
a plurality devices located within a sensing area;
a wireless signal database that stores raw wireless signal data from the plurality of devices;
a training data database that stores filtered wireless signal data;
a pre-trained proximity database that stores proximity index data,
a wireless communication interface that polls the wireless signal database for new wireless signal data and poll the pre-trained proximity database; and
a processor that executes instructions stored I memory, wherein the processor executes the instructions to:
apply a plurality of filters to the new wireless signal data,
adjust the pre-trained proximity database based on shifts detected in the wireless signal data over time, and
compare the new wireless signal data with the proximity index data to determine a current location of a user within the sensing area; wherein
the plurality of filters remove noise and normalize the wireless signal data;
the plurality of devices are transmitters and receivers;
the training data database stores feature tables from pre-recorded CSI data from a test environment.
3 . The system according to claim 2 , wherein the CSI data was recorded from empty captures and human presence detections in different parts of the test environment.
4 . A method for locating a user, the method comprising:
storing data from a plurality of sensing devices in a wireless signal database, each of the plurality of sensing devices located within a sensing area;
polling the wireless signal database for new wireless signal data;
applying a plurality of filters to the new wireless signal data;
storing the filtered wireless signal data in a training data database;
polling a pre-trained proximity database that stores proximity index data;
adjusting the pre-trained proximity database based on shifts detected in the wireless signal data over time; and
comparing the new wireless signal data with the proximity index data to determine a current location of a user within the sensing area; wherein
the plurality of filters remove noise and normalize the wireless signal data;
the plurality of devices are transmitters and receivers;
the training data database includes feature tables from pre-recorded CSI data from a test environment.
5 . The method according to claim 4 , wherein
the pre-recorded CSI data was recorded for empty captures and human presence captures in different parts of the test environment.