MRPT
2.0.1
filters.cpp
Go to the documentation of this file.
1
/* +------------------------------------------------------------------------+
2
| Mobile Robot Programming Toolkit (MRPT) |
3
| https://www.mrpt.org/ |
4
| |
5
| Copyright (c) 2005-2020, Individual contributors, see AUTHORS file |
6
| See: https://www.mrpt.org/Authors - All rights reserved. |
7
| Released under BSD License. See: https://www.mrpt.org/License |
8
+------------------------------------------------------------------------+ */
9
10
#include "
math-precomp.h
"
// Precompiled headers
11
12
#include <
mrpt/math/filters.h
>
13
14
using namespace
mrpt::math
;
15
16
LowPassFilter_IIR1::LowPassFilter_IIR1
(
double
_alpha,
double
y_k_minus_1)
17
: alpha(_alpha), m_y_km1(y_k_minus_1)
18
{
19
}
20
21
double
LowPassFilter_IIR1::filter
(
double
x)
22
{
23
// y[k] = alpha*y[k - 1] + (1 - alpha)*x[k]
24
const
double
y =
alpha
*
m_y_km1
+ (1 -
alpha
) * x;
25
m_y_km1
= y;
26
return
y;
27
}
28
29
double
LowPassFilter_IIR1::getLastOutput
()
const
{
return
m_y_km1
; }
mrpt::math
This base provides a set of functions for maths stuff.
Definition:
math/include/mrpt/math/bits_math.h:11
mrpt::math::LowPassFilter_IIR1::LowPassFilter_IIR1
LowPassFilter_IIR1(double alpha=0.5, double y_k_minus_1=.0)
Definition:
filters.cpp:16
mrpt::math::LowPassFilter_IIR1::m_y_km1
double m_y_km1
Definition:
filters.h:35
mrpt::math::LowPassFilter_IIR1::filter
double filter(double x)
Processes one input sample, updates the filter state and return the filtered value.
Definition:
filters.cpp:21
filters.h
mrpt::math::LowPassFilter_IIR1::alpha
double alpha
See equation in LowPassFilter_IIR1.
Definition:
filters.h:32
mrpt::math::LowPassFilter_IIR1::getLastOutput
double getLastOutput() const
Definition:
filters.cpp:29
math-precomp.h
Page generated by
Doxygen 1.8.14
for MRPT 2.0.1 Git: 0fef1a6d7 Fri Apr 3 23:00:21 2020 +0200 at vie abr 3 23:20:28 CEST 2020