Coder Social home page Coder Social logo

lab_wifi_sensing's Introduction

Wireless Sensing with Wi-Fi CSI: Introduction

In this experiment, you will get hands-on experience with wireless sensing using Wi-Fi CSI.

In this Lab, you will learn how to:

  1. Collect CSI data (in Breathing scenario)
  2. Visualize CSI data, and understand its meaning
  3. Process CSI data.
  4. Estimate breath rate using DSP-based method.
  5. Write your own pipeline

Hornor Code: You should NEVER share your code with others groups or as a public repository. All the code is supposed to be the original outcome from your teamwork. Any violation of this rule will be considered as academic dishonesty and given zero score. However, you are encouraged to discuss the problem with your teammates and ask questions to the TAs.

PART I Tutorial

In this part, you will learn how to collect, visualize, and process CSI data. We will provide you a example pipeline for breath rate estimation. All you need is to read, run, and understand the code.

Please kindly note that the tutorial is not sufficient for you to get a very high score. (grading criteria is at the end of this document) You are encouraged to read the paper and understand the algorithm mentioned in the tutorial.

Dataset Introduction & Visualization: Understand CSI

This section will introduce the basics of CSI and how to collect it. As we will provide datasets for you to use (to test your model), therefore you do not need to collect CSI data (Please download the dataset from https://1drv.ms/u/s!Ajq1o16ob8nOpAdw7fcq_YnsyJPM?e=k47DJb and place it in the current directory).

You will be able to:

  1. Get an understanding of CSI data, from both time and frequency domain, and the meaning of its amplitude and phase.
  2. Understand the data format of ground truth (generated by PLUX Respiration Belts)

Breath Estimation Pipeline: A simple baseline

Breath rate estimation is a typical application of wireless sensing. In this section, we will provide you with a baseline method to estimate breath rate. And then you are advised to implement a complete pipeline for CSI breathing estimation, including dataloading, preprocessing, feature extraction, peek detection, and evaluation.

PART II: Your Own Pipeline

In this part, you are required to implement your own pipeline for breath rate estimation, or modified from PART I. You are encouraged to use the tutorial as a reference. You are also encouraged to read the paper and understand the algorithm mentioned in the tutorial.

Grading Criteria

We will only grade your code for Task 1-3. We will grade your code based on the following criteria (Totally 80 points in this lab): 1. Completeness of the pipeline, 2. Correctness of your code, 3. Performance of your method. (Details refer to the lab_wifi_sensing.ipynb file)

* Originality: You are encouraged to read the mentioned paper and algorithm, and either borrow the ideas or design your own method to finish the job. You can also fine tune the baseline method provided in the tutorial, and get at most 80% of the Originality points.

** Performance is measured by the mean squared error (MSE) between the estimated breath rate and the ground truth. The lower the MSE, compared to baseline, the better the score you will get.

Table of contents in lab_wifi_sensing.ipynb

1. Part1: Tutorial

  • 1.1 Dataset introduction

    • 1.1.1 Experiment environment
    • 1.1.2 Dataset files
  • 1.2. Visualization

    • 1.2.1 CSI visualization in the time domain
      • 1.2.1.1 Visualization of one subcarrier's amplitude and phase of one link
      • 1.2.1.2 Visualization of amplitude and phase of all subcarriers
      • 1.2.1.3 Visualization of one subcarrier's amplitude of all links
      • 1.2.1.4 Comparison of background CSI and 12 BPM CSI
    • 1.2.2 CSI visualization in frequency domain
    • 1.2.3 Visualization of all ground-truth
  • 1.3. Breath estimation pipeline

    • 1.3.1 Data loading
    • 1.3.2 Preprocessing
    • 1.3.3 Feature Extraction
    • 1.3.4 Peak Detection
    • 1.3.5 Result Evaluation

2. Part2: Task

  • 2.1 Task1: Controlled breath estimation (one person) (Points: 60)

  • 2.2 Task2: Controlled breath estimation (two person) (Points: 10)

  • 2.3 Task3: Varied breath estimation (one person) (Points: 10)

  • 2.4 Advanced Task (Optional Bonus)



lab_wifi_sensing's People

Contributors

zhang-xie avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.