MRPT
2.0.4
mrpt
math
filters.h
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
#pragma once
10
11
#include <cmath>
12
#include <cstdlib>
13
14
namespace
mrpt::math
15
{
16
/** @addtogroup filtering_grp Filtering algorithms
17
* \ingroup mrpt_math_grp
18
* @{ */
19
20
/** 1-order low-pass IIR filter.
21
* Discrete time equation: `y[k]=alpha*y[k-1]+(1-alpha)*x[k]`.
22
* With: x[k] input, y[k] output, alpha a parameter in [0,1]
23
*/
24
struct
LowPassFilter_IIR1
25
{
26
LowPassFilter_IIR1
(
double
alpha
= 0.5,
double
y_k_minus_1 = .0);
27
/** Processes one input sample, updates the filter state and return the
28
* filtered value. */
29
double
filter
(
double
x);
30
double
getLastOutput
()
const
;
31
/** See equation in LowPassFilter_IIR1 */
32
double
alpha
;
33
34
private
:
35
double
m_y_km1
;
36
};
37
38
/** @} */
// end grouping filtering_grp
39
}
// namespace mrpt::math
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
1-order low-pass IIR filter.
Definition:
filters.h:25
mrpt::math::LowPassFilter_IIR1::m_y_km1
double m_y_km1
Definition:
filters.h:35
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
mrpt::math
This base provides a set of functions for maths stuff.
Definition:
math/include/mrpt/math/bits_math.h:12
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
Page generated by
Doxygen 1.8.18
for MRPT 2.0.4 at Thu Sep 24 07:14:18 UTC 2020