Как отфильтровать случайные всплески в показаниях, взятых с датчика?
Были сняты показания c датчика.
К примеру,
4.9, 5.1, 3.8, 3.9, 4.0, 2881.3 (БА-БАХ!), 4.6, 4.3
Какие имеются способы фильтрации данных с такими случайными всплесками?
У меня возникла мысль брать, скажем, 50 последних отсчётов показаний и вычислять для них cреднеквадратическое отклонение (σ). В случае если текущее показание отличается на более чем 1σ/2σ/3σ, то принять его как "неадекватное" и приравнять к значению предыдущего показания. Но возникает вопрос: а можно ли избежать повторного вычисления σ
для каждого отсчёта заново?
Хорошая ли это идея или есть более оптимальные способы фильтрации?