Ксения (01.11.2019 15:06 - 15:10, просмотров: 1004) ответил fk0 на Процитирую самого себя: "Зачем вообще использовать "экспоненциальное скользящее среднее", кроме как от бедности (не хватает ресурсов CPU)? Я картинку уже давал, повторяю. Если с простым, нормальным, обычным, скользящим средним в графике есть нули,
Именно от бедности - не хватает скорости на более эффективные методы фильтрации. В моем случае DMA непрерывно и циклически заполняет буфер данными от АЦП. По прерываниям от DMA в центре буфера и его конце соответствующая половина буфера суммируется и находится среднее. А экспоненциальное сглаживание происходит уже на уровне средних. И выбрано оно только потому, что расчет быстрый и прошлые значения хранить не надо.
Однако свой вопрос я задавала исключительно про степень подавления шума этим фильтром, тогда как плюсы и минусы разных фильтров мне хорошо известны.
Случай скользящего среднего:
X’ = sum(X) / N;
ШумПослеФильтрации = ШумДоФильтрации * sqrt(N)
т.е. при N=1 фильтрации нет, а фильтрация максимальна при бесконечном N.
Случай экспоненциального фильтра:
X’ = a * X + (1-a) * X’предыдущее;
Вариант Mahagam'а:
ШумПослеФильтрации = ШумДоФильтрации * sqrt(a)
Мой вариант:
ШумПослеФильтрации = ШумДоФильтрации / sqrt(2/a-1)
Условию "при a=1 фильтрации нет, при а=0 она максимальна" обе формулы одинаково удовлетворяют.
Если у вас есть свой вариант такой формулы, или вы согласны в одним из этих вариантов, то прошу на эту тему высказаться.
А прочие подтвеждения вашей эрудиции мне без надобности, т.к. я ваше мнение и так высоко ценю :).