EWMA
Фильтр экспоненциального взвешенного скользящего среднего для сглаживания шумных данных АЦП с минимальными затратами памяти
Установка
Последняя опубликованная версия- Скачайте архив — реестр отдает его уже проверенным.
- В Arduino IDE выберите «Скетч → Подключить библиотеку → Добавить .ZIP библиотеку».
- Укажите скачанный файл — библиотека появится в списке доступных.
SHA-256:43efcc38626fd2af549f5b363a4da31e20973068146fe47c495ff2ef585fc94fEWMA-1.0.3-43efcc38.zipОписание
Если АЦП вашего микроконтроллера (особенно ESP8266) выдаёт шумные показания, фильтр EWMA поможет их сгладить, потребляя минимум памяти. В отличие от классического подхода с буфером последних N значений, здесь хранится только одно число — результат предыдущего фильтрования. Сглаживание регулируется параметром alpha: чем выше значение, тем меньше фильтр усредняет и тем быстрее реагирует на скачки. Для целочисленных данных (uint32_t и больше) есть вариант EwmaT, который полностью работает с целыми числами без операций с плавающей запятой, экономя место кода особенно критично на встраиваемых платах вроде Arduino или STM32. Главное помнить: для корректных расчётов тип данных должен быть достаточно широкий (минимум 32 бита), иначе переполнение испортит результаты.