1#ifndef ALLAN_VARIANCE_HPP
2#define ALLAN_VARIANCE_HPP
25 double voltage = 0.0,
double sigma_base = 1e-3) {
26 double var = sigma_base * sigma_base;
27 var += coeffs.Q * coeffs.Q / (2.0 * tau);
28 var += 2.0 * std::log(2.0) * coeffs.B * coeffs.B;
29 var += coeffs.K * coeffs.K * tau / 6.0;
30 var += 1e-4 * voltage * voltage;
31 return std::sqrt(std::max(var, 1e-12));
35 std::vector<double>& tau_out, std::vector<double>& sigma2_out);
38 const std::vector<double>& sigma2_arr);
Output smoothing for calibrated PT pressure, per sensor uid (ESP32 and LabJack T7 alike).
void compute_allan_variance(const std::vector< double > ×eries, double tau0, std::vector< double > &tau_out, std::vector< double > &sigma2_out)
NoiseCoefficients fit_noise_coefficients(const std::vector< double > &tau_arr, const std::vector< double > &sigma2_arr)
double measurement_uncertainty(double tau, const NoiseCoefficients &coeffs, double voltage=0.0, double sigma_base=1e-3)
Measurement σ from paper Section 7 (Python measurement_uncertainty).
Motorized ball valve position: raw ADC counts -> % open.
Noise coefficients from Allan variance fit (scripts/calibration/allan_variance.py).