Skip to content

Experiment

Eunseo-Jeong edited this page Jun 2, 2021 · 77 revisions

CSI Extraction

  1. Run Matlab to get CSI :

     cd usr/local/MATLAB/R2019a/bin
     ./matlab
    
  2. Upload the driver of 802.11n CSI Tool :

     sudo stop network-manager
     sudo modprobe -r iwlwifi mac80211
     sudo modprobe iwlwifi connector_log=0x1
    
  3. To extract the CSI, enter the following command(connect Wifi) :

     iw dev
     sudo ip link show wlan0
     sudo ip link set wlan0 up
     iw wlan0 link
     sudo iw dev wlan0 connect [WiFi name]
     iw wlan0 link
     sudo dhclient wlan0
    
  4. Extract the CSI by sending a ping :

     cd csi
     cd linux-80211n-csitool-supplementary-master/netlink
     gcc log_to_server.c -o log_to_server
     sudo ./log_to_server 127.0.0.1 8090
     
    
     [another terminal]
     ping -i 0.2 192.168.1.1
    
  5. Experiment result :

RubberDuck

  1. Extracting the CSI :
    RubberDuck

  2. Result (CSI Demo Video) :

RubberDuck

Synchronization with MOT and CSI

  • Run the python file

      python TrainModel.py
    
  • The synchronization of MOT and CSI was timed. After reading the MOT and CSI results files, labels were attached at the same time.

code

  • At this time, there could be an error in the MOT detection, so we looked at the front and back labels and put the frequency and attached the labels. This is to increase the accuracy of synchronization.

code

  • The test was conducted with Random Forest and Logistic Regression, and the measurement is accuracy.

code

  • Train data 75%, validation data 25%.

code

  • To improve performance, we reduced the number of columns from 90 to 6 using PCA.

code

  • The parameters of Random Forest were tested after obtaining the optimal parameters via GridSearchCV.

code

  • Logistic Regression was also tested using GridSearchCV to obtain optimal paramters.

code

  • The results of testing :

code

Clone this wiki locally