Skip to content

halosnoopy/Group-Matching-Method-for-Indoor-Localization

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Group-Matching-Method-for-Indoor-Localization

Overview

The Group Matching Method (GMM) is a region-level filtering approach designed to improve indoor localization using Wi-Fi signal fingerprints.
It works by identifying which Access Points (APs) are the strongest in a given area and using this information to narrow down where a user is likely located.
By filtering the search space before matching, GMM helps achieve faster and more accurate positioning results.


Motivation

In Wi-Fi-based indoor localization, each location is represented by a set of signal strengths measured from nearby Access Points.
However, signal values often change due to interference, obstacles, or environmental conditions.
Although the signal strength can vary, the set of strongest APs in each area tends to remain stable.

This observation forms the key idea behind GMM:
instead of comparing full signal values, the method focuses on identifying which APs are dominant in the current signal and matches locations that share similar dominant APs.


How It Works

1. Offline Preparation

Before the localization process starts, a database of signal fingerprints is prepared:

  • Each fingerprint is a record of Wi-Fi signal strengths collected at a known location.
  • Missing values (when some APs are not detected) are replaced with a fixed number such as –100 dBm.
  • For every location, the strongest APs are identified and saved as a simple “top list” that shows which APs dominate in that area.

This creates two datasets:

  • FP dataset: stores all signal values.
  • RO dataset: stores which APs are strongest at each location.

These datasets are ready for quick lookup during localization.

image

2. Online Localization

When a new signal measurement is received:

  1. The system first checks which APs are strongest in the signal.
  2. It then looks for reference points in the database that have similar dominant APs.
  3. Only these matching points are kept for the next step, reducing unnecessary comparisons.
  4. Finally, the user’s position is estimated by averaging the coordinates of the closest matching points.

This process avoids searching the entire database and focuses only on regions that share similar AP patterns, improving both speed and accuracy.

image

Repository Files and Descriptions

File Description
ag_comp.py Main experiment script. Automatically runs the localization experiments with different hyperparameters (k and n). The generated results can be used to compare the performance of different algorithms.
ag_utils.py Contains utility functions developed to support the implementation of the algorithms, such as data loading, evaluation metrics, and helper routines.
da_utils.py Includes functions used for data analysis, statistical processing, and visualization support.
data_analysis.ipynb Jupyter Notebook used to explore and analyze the dataset before running experiments. Provides visual insights into signal distributions and feature behaviors.
gmknn.py Implements both the GMM and the conventional KNN algorithm for indoor localization. Used as the core module for comparison studies.
results_analysis.ipynb Jupyter Notebook for visualizing experimental results. It generates plots and figures to compare algorithm performance under different parameter settings and datasets.

About

A region-level filtering method for Wi-Fi indoor localization that identifies dominant Access Points to reduce the search space before applying machine learning algorithms for position estimation.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors