Skip to content

Rakshit-Shetty/WifiRecog

 
 

Repository files navigation

Wifi_Activity_Recognition using LSTM

Latest dataset & Tensorflow code for IEEE Communication Magazine.
Title: A Survey on Behaviour Recognition Using WiFi Channel State Information

Work by Siamak Yousefi, Hirokazu Narui, Sankalp Dayal, Stefano Ermon, Shahrokh Valaee

Modified and optimised by : Shivam Raisharma, Anand Vishwakarma, Rakshit Shetty, Kaustubh Shete, Disha Revandkar for Intrusion Detection and Alert System

#To Do : convert into a tf2 pipeline and procure a chip that is compatible with existing csi tools


Prerequisite

Tensorflow >= 1.0
numpy
pandas
matplotlib
scikit-learn


How to run

  1. Download dataset from here
    -> Notice: Dataset size is ~4GB as a zip file

  2. "git clone" this repository.

  3. Run the cross_vali_data_convert_merge.py
    -> This script makes csv files(input features & label) of each activity in "input_files" folder.  

  4. Run the cross_vali_recurrent_network_wifi_activity.py -> This script makes learning curve images & confusion matrix in a new folder.  

Dataset

We collect dataset using Linux 802.11n CSI Tool.

The files with "input_" prefix are WiFi Channel State Information data.
-> 1st column shows timestamp.
-> 2nd - 91st column shows (30 subcarrier * 3 antenna) amplitude.
-> 92nd - 181st column shows (30 subcarrier * 3 antenna) phase.

The files with "annotation_" prefix are annotation data.

Jupyter notebook

PCA_STFT file visualize the data from .csv file. This code refers to CARM.

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 99.0%
  • Other 1.0%