Main MRPT website > C++ reference for MRPT 1.5.6
filters.h
Go to the documentation of this file.
1 /* +---------------------------------------------------------------------------+
2  | Mobile Robot Programming Toolkit (MRPT) |
3  | http://www.mrpt.org/ |
4  | |
5  | Copyright (c) 2005-2017, Individual contributors, see AUTHORS file |
6  | See: http://www.mrpt.org/Authors - All rights reserved. |
7  | Released under BSD License. See details in http://www.mrpt.org/License |
8  +---------------------------------------------------------------------------+ */
9 #pragma once
10 
11 #include <mrpt/base/link_pragmas.h>
12 #include <cstdlib>
13 #include <cmath>
14 
15 namespace mrpt
16 {
17  namespace math
18  {
19 
20  /** @addtogroup filtering_grp Filtering algorithms
21  * \ingroup mrpt_base_grp
22  * @{ */
23 
24  /** 1-order low-pass IIR filter.
25  * Discrete time equation: `y[k]=alpha*y[k-1]+(1-alpha)*x[k]`.
26  * With: x[k] input, y[k] output, alpha a parameter in [0,1]
27  */
29  {
30  LowPassFilter_IIR1(double alpha = 0.5, double y_k_minus_1 = .0);
31  double filter(double x); //!< Processes one input sample, updates the filter state and return the filtered value.
32  double getLastOutput() const;
33  double alpha; //!< See equation in LowPassFilter_IIR1
34  private:
35  double m_y_km1;
36  };
37 
38  /** @} */ // end grouping filtering_grp
39  } // end NS
40 } // end NS
GLclampf GLclampf GLclampf alpha
Definition: glext.h:3510
1-order low-pass IIR filter.
Definition: filters.h:28
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
double alpha
See equation in LowPassFilter_IIR1.
Definition: filters.h:33
GLenum GLint x
Definition: glext.h:3516
GLenum filter
Definition: glext.h:4617



Page generated by Doxygen 1.8.14 for MRPT 1.5.6 Git: 4c65e8431 Tue Apr 24 08:18:17 2018 +0200 at lun oct 28 01:35:26 CET 2019