ESPectre SDK 2.8.0-280-gac7af68
Wi-Fi CSI motion sensing for ESP32 firmware
Loading...
Searching...
No Matches
espectre::L1DeltaTracker Class Reference

#include <l1_delta_tracker.h>

Public Member Functions

 L1DeltaTracker ()=default
 ~L1DeltaTracker ()
 L1DeltaTracker (L1DeltaTracker &&other) noexcept
L1DeltaTrackeroperator= (L1DeltaTracker &&other) noexcept
 L1DeltaTracker (const L1DeltaTracker &)=delete
L1DeltaTrackeroperator= (const L1DeltaTracker &)=delete
void configure (uint16_t capacity, uint16_t lag=L1_DELTA_LAG)
void configure_hampel (bool enabled, uint8_t window_size=HAMPEL_TURBULENCE_WINDOW_DEFAULT, float threshold=HAMPEL_TURBULENCE_THRESHOLD_DEFAULT)
void clear ()
void process (const float *amplitudes, uint8_t amplitude_count)
void process (const float *amplitudes, uint8_t amplitude_count, float amplitude_mean)
void advance_missing_slots (uint32_t count)
uint16_t count () const
float mean () const
float delta_lag_ratio () const
 Mean lagged displacement over mean adjacent displacement.
uint16_t build_series (float *out) const

Detailed Description

Definition at line 73 of file l1_delta_tracker.h.

Constructor & Destructor Documentation

◆ L1DeltaTracker() [1/3]

espectre::L1DeltaTracker::L1DeltaTracker ( )
default

◆ ~L1DeltaTracker()

espectre::L1DeltaTracker::~L1DeltaTracker ( )
inline

Definition at line 76 of file l1_delta_tracker.h.

◆ L1DeltaTracker() [2/3]

espectre::L1DeltaTracker::L1DeltaTracker ( L1DeltaTracker && other)
inlinenoexcept

Definition at line 77 of file l1_delta_tracker.h.

◆ L1DeltaTracker() [3/3]

espectre::L1DeltaTracker::L1DeltaTracker ( const L1DeltaTracker & )
delete

Member Function Documentation

◆ operator=() [1/2]

L1DeltaTracker & espectre::L1DeltaTracker::operator= ( L1DeltaTracker && other)
inlinenoexcept

Definition at line 94 of file l1_delta_tracker.h.

◆ operator=() [2/2]

L1DeltaTracker & espectre::L1DeltaTracker::operator= ( const L1DeltaTracker & )
delete

◆ configure()

void espectre::L1DeltaTracker::configure ( uint16_t capacity,
uint16_t lag = L1_DELTA_LAG )
inline
Parameters
capacityDelta ring capacity in packets
lagProfile-displacement distance in packets, bounded by L1_DELTA_LAG_MAX because the profile ring is statically sized

Definition at line 123 of file l1_delta_tracker.h.

◆ configure_hampel()

void espectre::L1DeltaTracker::configure_hampel ( bool enabled,
uint8_t window_size = HAMPEL_TURBULENCE_WINDOW_DEFAULT,
float threshold = HAMPEL_TURBULENCE_THRESHOLD_DEFAULT )
inline

Definition at line 129 of file l1_delta_tracker.h.

◆ clear()

void espectre::L1DeltaTracker::clear ( )
inline

Definition at line 139 of file l1_delta_tracker.h.

◆ process() [1/2]

void espectre::L1DeltaTracker::process ( const float * amplitudes,
uint8_t amplitude_count )
inline

Definition at line 153 of file l1_delta_tracker.h.

◆ process() [2/2]

void espectre::L1DeltaTracker::process ( const float * amplitudes,
uint8_t amplitude_count,
float amplitude_mean )
inline

Definition at line 161 of file l1_delta_tracker.h.

◆ advance_missing_slots()

void espectre::L1DeltaTracker::advance_missing_slots ( uint32_t count)
inline

Definition at line 220 of file l1_delta_tracker.h.

◆ count()

uint16_t espectre::L1DeltaTracker::count ( ) const
inline

Definition at line 231 of file l1_delta_tracker.h.

◆ mean()

float espectre::L1DeltaTracker::mean ( ) const
inline

Definition at line 232 of file l1_delta_tracker.h.

◆ delta_lag_ratio()

float espectre::L1DeltaTracker::delta_lag_ratio ( ) const
inline

Mean lagged displacement over mean adjacent displacement.

Noise saturates the displacement immediately, so its ratio sits near 1.0; real channel evolution keeps growing with the lag and lifts it. Both terms share the same units, so the ratio drops the noise floor that makes the raw mean unusable when the link is weak.

Definition at line 242 of file l1_delta_tracker.h.

◆ build_series()

uint16_t espectre::L1DeltaTracker::build_series ( float * out) const
inline

Definition at line 250 of file l1_delta_tracker.h.


The documentation for this class was generated from the following file: