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