Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Advanced Topics

By the end of the previous chapter you can produce CSI reliably, in several arrangements, and get them onto a host in a format that opens in a dataframe. That is the part of the problem this project solves directly.

What follows is the part it does not. Turning a stream of complex samples into a statement about a room is a signal-processing and machine-learning problem, and one where the honest state of the art is that results transfer poorly between environments. Both of the earlier chapters flagged this: raw CSI is noisy and hard to interpret directly, and the literature’s most consistent finding is that a model trained in one room degrades sharply in another.

These three sections are guidance rather than reference. There is no first-party public csi-rs crate for filtering, inference, or calibration yet, so nothing here documents an API we ship. What it does do is anchor each topic to something concrete — what esp-csi-rs actually hands you, what the hardware actually reports, what the measurement harnesses in the repository actually measure — and name the third-party Rust crates worth reaching for, clearly marked as third-party.

If you are here because a capture is not behaving, skip to the third.