📚Link to main project page
This repository contains a project dedicated to the classification (recognition) and positioning (in the future) of objects using Wi-Fi signals. Today, Wi-Fi technology is starting to go beyond our usual uses. One such example is the ability to perform classification using the Channel State Information or CSI. Each physical object introduces its own distortions in the transmitted signal, which allows classification it.
For collect CSI I use two routers (model is WR842ND) with this special OpenWRT firmware. This firmware contains recvCSI
and sendData
functions.
When transmitting a Wi-Fi signal, the receiver can receive Channel State Information (CSI), which contains complex numbers describing the amplitude and phase of the signal subcarriers.
Since the routers used have antennas, we have 4 signal paths.
All 4 paths are connected horizontally into one large data packet (one line in Fig. 2.). I mainly use amplitudes for research, as they provide higher machine learning accuracy results.
I get CSI from special data-files recorded by the receiving router (Rx). They are grouped by experiments in the csi
folder
The project is launched using the main script clf.py
. Explanations are in the code as comments.
The main library that I use for data preprocessing is Pandas. For machine learning I use Keras with Tensorflow backend
To analyze the correlation of features, a small feature-selector module is used.
This code is released under the MIT license.
Several scientific research have been published on the topic of this project:
- РАЗРАБОТКА МЕТОДОВ КЛАССИФИКАЦИИ ОБЪЕКТОВ НА БАЗЕ МАРШРУТИЗАТОРОВ WI-FI - РИНЦ, 2020
- Object Classification Based on Channel State Information Using Machine Learning - Scopus, 2020
- ИСПОЛЬЗОВАНИЕ МЕТОДА МАШИННОГО ОБУЧЕНИЯ «СЛУЧАЙНЫЙ ЛЕС» ДЛЯ ПОЗИЦИОНИРОВАНИЯ ЧЕЛОВЕКА В ПОМЕЩЕНИЯХ ПРИ ПОМОЩИ СИГНАЛА WI-FI - РИНЦ, 2020
- Analysis Of Classification Methods For Wi-Fi Signals Based On The Use Of Channel State Information Spatial Features And CNN - Scopus, 2021 (in the process of release)