ESPectre SDK 2.8.0-280-gac7af68
Wi-Fi CSI motion sensing for ESP32 firmware
Loading...
Searching...
No Matches
utils.h File Reference
#include <cstdint>
#include <cmath>
#include <algorithm>

Go to the source code of this file.

Classes

struct  espectre::MeanVariance

Namespaces

namespace  espectre

Functions

float espectre::calculate_mean (const float *values, size_t n)
 Calculate mean of an array.
float espectre::calculate_median_float (float *arr, size_t size)
 Calculate median of a float array (sorts array in-place).
float espectre::apply_cv_normalization (float std_dev, float mean)
 Apply gain-invariant normalization to standard deviation.
float espectre::calculate_turbulence_from_variance (float variance, const float *values, size_t count)
 Calculate turbulence from variance with gain-invariant normalization.
MeanVariance espectre::calculate_mean_variance_two_pass (const float *values, size_t n)
 Calculate mean and variance in one two-pass sweep (numerically stable).
float espectre::calculate_variance_two_pass (const float *values, size_t n)
 Calculate variance using the two-pass algorithm.
float espectre::calculate_magnitude (int8_t i, int8_t q)
 Calculate magnitude (amplitude) from I/Q components.
uint8_t espectre::normalize_amplitude_profile (const float *amplitudes, uint8_t count, float mean, float *out)
 Write the mean-normalized amplitude profile into out.
uint8_t espectre::normalize_amplitude_profile (const float *amplitudes, uint8_t count, float *out)