dhalperi / linux-80211n-csitool-supplementary

802.11n CSI Tool based on iwlwifi and Linux-2.6
http://dhalperi.github.com/linux-80211n-csitool/
196 stars 128 forks source link

CSI Verification #416

Open sulaimanalmani opened 5 years ago

sulaimanalmani commented 5 years ago

Hey,

I am working on device-free localization using CSI. I have made a grid of 5x5 between a transmitter and a receiver in an empty room and collected CSI data when a person is standing on each point on the grid. The problem is that the CSI is very similar where ever the person is standing. I have also tried live viewing the CSI but cannot figure out any specific pattern in the CSI.

I have nonetheless, used the obtained the data to try and train ML based classifiers but they just overfit to the data and cannot generalize. I have tried quite a few techniques (Autoencoders, PCA, DBSCAN, CNNs) but nothing seems to work. I have read a few papers but none of them mention facing this problem so, I figured it could be the case that I am missing some crucial step while obtaining the CSI data.

I am using intel 5300 on two laptops in injection and monitor mode and I am using the following commands:

Receiver: cd linux-80211n-csitool-supplementary/injection sudo ./setup_monitor_csi.sh 64 HT20 sudo linux-80211n-csitool-supplementary/netlink/log_to_file csi.dat

Transmitter: cd linux-80211n-csitool-supplementary/injection sudo ./setup_inject.sh 64 HT20 sudo su echo 0x4101 | sudo tee 'find /sys -name monitor_tx_rate' sudo ./random_packets 1000000 100 1 2000

and this code to decode the .dat file (I tried using both get_scaled_csi() and get_scaled_csi_sm()): https://github.com/ermongroup/Wifi_Activity_Recognition/blob/master/datfile_convert_final/Activity_datfile_to_csvfile.m

These are the two csi graphs for top right and bottom left corner. Capture2 Capture1

(x axis: subcarriers - 1x3x30 and y axis : SNR)

and here is a surface plot of the CSI figure

CSI show disturbance while the person is moving but then settles to the similar stable value when person stops moving. Is there some step I am missing during data acquisition ? @linteresa @asifhanif1122