From a509b29348971c900098f959d96a30f0fd4e2e30 Mon Sep 17 00:00:00 2001 From: philsson Date: Wed, 29 Aug 2018 22:45:59 +0200 Subject: [PATCH] Simple Incremental LPF filter --- src/control/lpf.cpp | 17 +++++++++++++++++ src/control/lpf.h | 19 +++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 src/control/lpf.cpp create mode 100644 src/control/lpf.h diff --git a/src/control/lpf.cpp b/src/control/lpf.cpp new file mode 100644 index 0000000..583e510 --- /dev/null +++ b/src/control/lpf.cpp @@ -0,0 +1,17 @@ +#include "src/control/lpf.h" + +namespace control { + + +incrementalLPF::incrementalLPF() +: m_filtered(0) +{ +} + +double incrementalLPF::filter(double latestValue) +{ + m_filtered = m_filtered*0.95 + latestValue*0.05; + return m_filtered; +} + +} // namespace control \ No newline at end of file diff --git a/src/control/lpf.h b/src/control/lpf.h new file mode 100644 index 0000000..af15588 --- /dev/null +++ b/src/control/lpf.h @@ -0,0 +1,19 @@ +#pragma once + +namespace control { + +class incrementalLPF +{ + +public: + + incrementalLPF(); + + double filter(double latestValue); + +private: + + double m_filtered; +}; + +} // namespace control \ No newline at end of file