v2.0.0
Major update.
Support for extracting CSI for multiple antenna streams.
This changes the default get_CSI
behaviour, as well as adding additional options to more finely tweak functionality. By default, CSI extraction for any given chipset will work the same way as their MATLAB implementations.
Additional parameters:
extract_as_dBm
(bool, default=True): When extracting CSI amplitude, this option controls whether the amplitude is converted to dBm.squeeze_output
(bool, default=False): By default, the returned CSI shape will always be (frames, subcarriers, rx, tx). This option will remove singular dimensions, for instance, from CSI captures on devices with one antenna stream.
Support for ESP32.
ESP32 CSI CSVs as generated by StevenMHernandez's ESP32-CSI-Tool are now supported by default, and will be automatically detected. This lays groundwork for allowing custom CSV formats to be imported into CSIKit, which I hope to finish soon.
Visualization module
Initial support for more complex visualizations is now available through CSIKit.visualization
, implemented by @tweigel-dev. A tutorial and various examples for usage are included in docs/scenario_plot.ipynb
! Currently only support for Intel .dat-style CSI files is implemented, however the system is very extensible and should see future improvements.
Bugfixes for Atheros format
Resolved issues which occurred when reading CSI files generated by the more common versions of the Atheros CSI Tool. If any additional issues occur, please make an issue and provide an example file. These fixes usually don't take long at all, but I don't have examples of all formats.
PyTests
Rewrote the Intel/Nexmon MATLAB comparisons into rough PyTests, mainly for CI/CD. This hopefully should reduce major issues from reaching main releases. These can be run by running pytest
in the project root. Instructions for generating .mat files and performing additional testing are included in tests/x/README.md
.
Various Bugfixes