Skip to content

This is a Python parser for ESP32 Wi-Fi Channel State Information (CSI) based on the ESP32 CSI specification.

License

Notifications You must be signed in to change notification settings

RikeshMMM/ESP32-CSI-Python-Parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ESP32 Wi-Fi CSI Python Parser

This is a Python parser for ESP32 Wi-Fi Channel State Information (CSI) based on the ESP32 CSI specification.

This project uses ESP CSI Toolkit created by Hernandez and Bulut.

Installation

Run the following to install:

pip install csiparser

Usage

# Import ESP32 CSI parser
import csiparser

# Parse and filter CSI data
example_csi = (
    csiparser.ESP32("../esp32_dataset/example_csi.csv")
             .filter_by_sig_mode(1)
             .get_csi()
             .remove_null_subcarriers()
             .get_amplitude_from_csi()
             .get_phase_from_csi()
)

# Retrieve example amplitude
example_amplitude = example_csi.amplitude

# Retrieve example phase 
example_phase = example_csi.phase

Further the amplitude and phase information can be plotted to visualize the distortion in amplitude and phase shift as follows:

Example Amplitude and Phase Graph

See Examples directory for full example.

Citation

Cite this Tool with BibTeX

License

Distributed under the MIT License. See LICENSE for more information.

About

This is a Python parser for ESP32 Wi-Fi Channel State Information (CSI) based on the ESP32 CSI specification.

Resources

License

Stars

Watchers

Forks

Languages