RunningStatistics
Скользящая и кумулятивная статистика для временных рядов с датчиков на встроенных системах
Установка
Последняя опубликованная версия- Скачайте архив — реестр отдает его уже проверенным.
- В Arduino IDE выберите «Скетч → Подключить библиотеку → Добавить .ZIP библиотеку».
- Укажите скачанный файл — библиотека появится в списке доступных.
SHA-256:d466d42bce973d44dc9b823acd1cc6fd7b3e6d477c2bb19ecb7bae164539044aRunningStatistics-1.1.0-d466d42b.zipОписание
Два класса для обработки данных с датчиков: RollingStats считает скользящее окно (среднее, минимум, максимум, стандартное отклонение) за последние N минут или часов, а CumulativeStats накапливает статистику за всё время работы устройства без потери точности. Третий класс ExponentialAverage вычисляет экспоненциальную скользящую среднюю. Буферы RollingStats распределяются на этапе компиляции, без выделения памяти во время работы, и используют бины для усреднения отсчётов внутри каждого интервала времени. CumulativeStats применяет алгоритм Велфорда, что избавляет от накопления ошибок округления при длительных измерениях. Есть встроенная поддержка интегрирования «скорость × время» для подсчёта физических величин вроде дозы облучения. Библиотека не требует внешних зависимостей, только стандартные заголовки C99, и работает на ESP8266, ESP32, AVR и других платформах.