12#include <include/qlibs_types.hpp>
13#include <include/tdl.hpp>
31 bool isSetup{
false };
32 static void windowSet(
real_t *w,
54 explicit operator bool() const noexcept
162 const size_t w_size );
169 template <
size_t windowSize>
172 return setup( window, windowSize );
203 const size_t w_size );
210 template <
size_t windowSize>
213 return setup( window, windowSize );
249 const real_t a = 0.9_re );
257 template <
size_t windowSize>
261 return setup( window, windowSize, a );
296 const real_t a = 0.9_re );
304 template <
size_t windowSize>
308 return setup( window, windowSize, a );
347 const size_t wk_size );
358 template <
size_t windowAndKernelSize>
361 real_t (&window)[ windowAndKernelSize ],
362 real_t (&kernel)[ windowAndKernelSize ] )
364 return setup( sg, c, window, kernel, windowAndKernelSize );
430 const real_t measureNoiseCov,
431 const real_t estErrorCov );
520 template <
size_t windowSize>
523 real_t (&window)[ windowSize ],
524 real_t (&weights)[ windowSize ],
525 real_t (&w1)[ windowSize ] )
527 return setup( a, m, windowSize, window, weights, w1 );
537 template <
size_t windowSize>
539 real_t (&window)[ windowSize ],
540 real_t (&weights)[ windowSize ] )
542 return setup( a, 0.0F, windowSize, window, weights,
nullptr);
Adaptive Filter LMS.
Definition smoother.hpp:480
bool setup(const real_t a, const real_t m, real_t(&window)[windowSize], real_t(&weights)[windowSize], real_t(&w1)[windowSize])
Setup an initialize the Adaptive Filter LMS.
Definition smoother.hpp:521
bool setup(const real_t a, real_t(&window)[windowSize], real_t(&weights)[windowSize])
Setup an initialize the Adaptive Filter LMS.
Definition smoother.hpp:538
real_t smooth(const real_t x) override
Perform the smooth operation recursively for the input signal x.
Definition smoother.cpp:400
virtual ~smootherALNF()
Definition smoother.hpp:491
bool setup(const real_t a, const real_t m, const size_t wsize, real_t *window, real_t *weights, real_t *w1=nullptr)
Setup an initialize the Adaptive Filter LMS.
Definition smoother.cpp:377
Double exponential smoothing (Holt’s Method)
Definition smoother.hpp:445
virtual ~smootherDESF()
Definition smoother.hpp:455
real_t smooth(const real_t x) override
Perform the smooth operation recursively for the input signal x.
Definition smoother.cpp:361
bool setup(const real_t a, const real_t b, const size_t nS)
Setup an initialize the Double exponential smoothing instance.
Definition smoother.cpp:342
An Exponential weighting filter.
Definition smoother.hpp:379
real_t smooth(const real_t x) override
Perform the smooth operation recursively for the input signal x.
Definition smoother.cpp:287
virtual ~smootherEXPW()
Definition smoother.hpp:387
bool setup(const real_t lam=0.8_re)
Setup an initialize the Exponential weighting filter.
Definition smoother.cpp:272
A Gaussian filter.
Definition smoother.hpp:323
virtual ~smootherGMWF()
Definition smoother.hpp:331
bool setup(const real_t sg, const real_t c, real_t *window, real_t *kernel, const size_t wk_size)
Setup an initialize the Gaussian filter.
Definition smoother.cpp:222
bool setup(const real_t sg, const real_t c, real_t(&window)[windowAndKernelSize], real_t(&kernel)[windowAndKernelSize])
Setup an initialize the Gaussian filter.
Definition smoother.hpp:359
real_t smooth(const real_t x) override
Perform the smooth operation recursively for the input signal x.
Definition smoother.cpp:263
The smoother base abstract class.
Definition smoother.hpp:27
virtual ~smoother()
Definition smoother.hpp:37
bool reset(void)
Reset the smoother filter.
Definition smoother.hpp:71
bool isInitialized(void) const
Check if the smoother filter has been initialized using setup().
Definition smoother.hpp:44
virtual real_t smooth(const real_t x)=0
Perform the smooth operation recursively for the input signal x.
A scalar Kalman filter.
Definition smoother.hpp:408
bool setup(const real_t processNoiseCov, const real_t measureNoiseCov, const real_t estErrorCov)
Setup an initialize the scalar Kalman filter.
Definition smoother.cpp:303
real_t smooth(const real_t x) override
Perform the smooth operation recursively for the input signal x.
Definition smoother.cpp:322
virtual ~smootherKLMN()
Definition smoother.hpp:420
A 1st order Low-Pass Filter.
Definition smoother.hpp:81
virtual ~smootherLPF1()
Definition smoother.hpp:88
bool setup(const real_t a=0.9_re)
Setup an initialize the 1st order Low-Pass Filter.
Definition smoother.cpp:18
real_t smooth(const real_t x) override
Perform the smooth operation recursively for the input signal x.
Definition smoother.cpp:31
A 2nd order Low-Pass Filter.
Definition smoother.hpp:110
bool setup(const real_t a=0.9_re)
Setup an initialize the 2nd order Low-Pass Filter.
Definition smoother.cpp:45
real_t smooth(const real_t x) override
Perform the smooth operation recursively for the input signal x.
Definition smoother.cpp:67
virtual ~smootherLPF2()
Definition smoother.hpp:123
A Moving Outlier Removal filter.
Definition smoother.hpp:229
real_t smooth(const real_t x) override
Perform the smooth operation recursively for the input signal x.
Definition smoother.cpp:160
virtual ~smootherMOR1()
Definition smoother.hpp:238
bool setup(real_t *window, const size_t w_size, const real_t a=0.9_re)
Setup an initialize the Moving Outlier Removal filter.
Definition smoother.cpp:143
bool setup(real_t(&window)[windowSize], const real_t a=0.9_re)
Setup an initialize the Moving Outlier Removal filter.
Definition smoother.hpp:258
A Moving Outlier Removal filter.
Definition smoother.hpp:277
real_t smooth(const real_t x) override
Perform the smooth operation recursively for the input signal x.
Definition smoother.cpp:199
bool setup(real_t *window, const size_t w_size, const real_t a=0.9_re)
Setup an initialize the Moving Outlier Removal filter.
Definition smoother.cpp:181
bool setup(real_t(&window)[windowSize], const real_t a=0.9_re)
Setup an initialize the Moving Outlier Removal filter.
Definition smoother.hpp:305
virtual ~smootherMOR2()
Definition smoother.hpp:285
A Moving Window Median filter.
Definition smoother.hpp:146
bool setup(real_t *window, const size_t w_size)
Setup an initialize the Moving Window Median filter.
Definition smoother.cpp:87
virtual ~smootherMWM1()
Definition smoother.hpp:153
real_t smooth(const real_t x) override
Perform the smooth operation recursively for the input signal x.
Definition smoother.cpp:102
bool setup(real_t(&window)[windowSize])
Setup an initialize the Moving Window Median filter.
Definition smoother.hpp:170
A Moving Window Median filter.
Definition smoother.hpp:188
real_t smooth(const real_t x) override
Perform the smooth operation recursively for the input signal x.
Definition smoother.cpp:127
virtual ~smootherMWM2()
Definition smoother.hpp:194
bool setup(real_t *window, const size_t w_size)
Setup an initialize the Moving Window Median filter.
Definition smoother.cpp:113
bool setup(real_t(&window)[windowSize])
Setup an initialize the Moving Window Median filter.
Definition smoother.hpp:211
The qLibs++ library namespace.
Definition mat.hpp:18
float real_t
A type to instantiate a real variable double-precision of 64-bits IEEE 754.
Definition qlibs_types.hpp:43