Conversation
Phase is the channel every published CSI technique leans on -- Doppler, direction of arrival, breathing extraction -- and there is no way to see what the phase channel on a given deployment actually contains. When a phase-based method fails, nothing distinguishes "the algorithm is wrong" from "the phase on this hardware is unusable". Adds phase_diag.rs (600 lines, 8 tests): an opt-in sink recording raw and sanitised per-frame phase to CSV for offline analysis, behind --phase-diagnostics <dir>. Off unless the flag is given. Single-antenna ESP32 CSI carries a packet-detection timing offset appearing as a phase slope across subcarrier index, and it is large -- on this hardware roughly 758 radians per ADC sample of jitter. That is not noise to be averaged away; it swamps the physical phase entirely, and the sanitised channel is what remains after detrending it. Comparing the two on real captures is the only way to judge whether a phase-based method has signal to work with on a given board. Co-Authored-By: claude-flow <ruv@ruv.net>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Phase is the channel every published CSI technique leans on -- Doppler,
direction of arrival, breathing extraction -- and there is no way to see what
the phase channel on a given deployment actually contains. When a phase-based
method fails, nothing distinguishes "the algorithm is wrong" from "the phase on
this hardware is unusable".
Adds phase_diag.rs (600 lines, 8 tests): an opt-in sink recording raw and
. Off unless the flag is given.sanitised per-frame phase to CSV for offline analysis, behind
--phase-diagnostics
Single-antenna ESP32 CSI carries a packet-detection timing offset appearing as
a phase slope across subcarrier index, and it is large -- on this hardware
roughly 758 radians per ADC sample of jitter. That is not noise to be averaged
away; it swamps the physical phase entirely, and the sanitised channel is what
remains after detrending it. Comparing the two on real captures is the only way
to judge whether a phase-based method has signal to work with on a given board.
Rebased onto current
mainbefore opening: staged before today's seven merges, so it needed replaying to avoid reading as a revert of them. Clean rebase, no files deleted.