Trivial Kalman Filter
Unidimensional trivial Kalman filter (header only, Arduino compatible) library
TrivialKalmanFilter< D > Class Template Reference

#include <TrivialKalmanFilter.h>

Public Member Functions

 TrivialKalmanFilter (const D Rk, const D Qk)
 
update (const D zk)
 
get () const
 
void reset (const D xk=0, const D Pk=1)
 

Detailed Description

template<typename D = float>
class TrivialKalmanFilter< D >

Unidimensional Kalman filter

Useful for reducing input signal noise (e.g. from the temperature sensor).

Memory efficient, consumes only 4 x sizeof(float)) [bytes] of RAM memory. On (Arduino Nano 16MHz) execution of update() method takes about 100[us].

Template Parameters
Dtype to be used for arithmetic operations (e.g. float or double).

Definition at line 50 of file TrivialKalmanFilter.h.

Constructor & Destructor Documentation

◆ TrivialKalmanFilter()

template<typename D = float>
TrivialKalmanFilter< D >::TrivialKalmanFilter ( const D  Rk,
const D  Qk 
)
inline

Instantiates Kalman filter

Parameters
RkEstimation of the noise covariances (process)
QkEstimation of the noise covariances (observation)
See also
covariance.m - Covariance calculator for Rk parameter
https://en.wikipedia.org/wiki/Kalman_filter#Estimation_of_the_noise_covariances_Qk_and_Rk

Usage:

TrivialKalmanFilter tkf<float>(4.7e-3, 1e-5);
while (true) {
const auto filteredValue = tkf.update(getRawValueFromSensor());
// further processing of filteredValue
}

Definition at line 72 of file TrivialKalmanFilter.h.

Member Function Documentation

◆ get()

template<typename D = float>
D TrivialKalmanFilter< D >::get ( ) const
inline

Returns last estimated value

Returns
last estimated value

Definition at line 111 of file TrivialKalmanFilter.h.

◆ reset()

template<typename D = float>
void TrivialKalmanFilter< D >::reset ( const D  xk = 0,
const D  Pk = 1 
)
inline

Resets filter to its initial state

Definition at line 118 of file TrivialKalmanFilter.h.

◆ update()

template<typename D = float>
D TrivialKalmanFilter< D >::update ( const D  zk)
inline

Updates Kalman filter

Parameters
zkmeasured value
Returns
estimated value
See also
https://en.wikipedia.org/wiki/Kalman_filter#Predict

Definition at line 87 of file TrivialKalmanFilter.h.


The documentation for this class was generated from the following file: