pub struct CsiWindow {
pub window_id: WindowId,
pub session_id: SessionId,
pub source_id: SourceId,
pub start_ns: u64,
pub end_ns: u64,
pub frame_count: u32,
pub mean_amplitude: Vec<f32>,
pub phase_variance: Vec<f32>,
pub motion_energy: f32,
pub presence_score: f32,
pub quality_score: f32,
}Expand description
A bounded window of frames, summarized into per-subcarrier statistics plus scalar motion / presence / quality scores.
Invariants (enforced by the DSP windowing stage, CsiWindow::validate):
- all frames came from one
source_idand onesession_id start_ns < end_ns0.0 <= presence_score <= 1.0and0.0 <= quality_score <= 1.0mean_amplitude.len() == phase_variance.len()
Fields§
§window_id: WindowIdWindow id.
session_id: SessionIdOwning session.
source_id: SourceIdSource the frames came from.
start_ns: u64Timestamp of the first frame, ns.
end_ns: u64Timestamp of the last frame, ns.
frame_count: u32Number of frames aggregated.
mean_amplitude: Vec<f32>Mean amplitude per subcarrier.
phase_variance: Vec<f32>Phase variance per subcarrier.
motion_energy: f32Scalar motion energy (>= 0).
presence_score: f32Presence score in [0.0, 1.0].
quality_score: f32Window quality in [0.0, 1.0].
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for CsiWindow
impl<'de> Deserialize<'de> for CsiWindow
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl StructuralPartialEq for CsiWindow
Auto Trait Implementations§
impl Freeze for CsiWindow
impl RefUnwindSafe for CsiWindow
impl Send for CsiWindow
impl Sync for CsiWindow
impl Unpin for CsiWindow
impl UnsafeUnpin for CsiWindow
impl UnwindSafe for CsiWindow
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more