FastLED
3.9.15
Loading...
Searching...
No Matches
kalman_filter_impl.h
Go to the documentation of this file.
1
#pragma once
2
3
namespace
fl
{
4
namespace
detail
{
5
6
template
<
typename
T>
7
class
KalmanFilterImpl
{
8
public
:
9
KalmanFilterImpl
(T process_noise, T measurement_noise, T initial = T(0))
10
:
mQ
(process_noise),
mR
(measurement_noise),
11
mX
(initial),
mP
(T(1.0f)),
mLastValue
(initial) {}
12
13
T
update
(T measurement) {
14
mP
=
mP
+
mQ
;
15
T k =
mP
/ (
mP
+
mR
);
16
mX
=
mX
+ k * (measurement -
mX
);
17
mP
= (T(1.0f) - k) *
mP
;
18
mLastValue
=
mX
;
19
return
mX
;
20
}
21
22
T
value
()
const
{
return
mLastValue
; }
23
24
void
reset
(T initial = T(0)) {
25
mX
= initial;
26
mP
= T(1.0f);
27
mLastValue
= initial;
28
}
29
30
private
:
31
T
mQ
;
32
T
mR
;
33
T
mX
;
34
T
mP
;
35
T
mLastValue
;
36
};
37
38
}
// namespace detail
39
}
// namespace fl
fl::detail::KalmanFilterImpl::mX
T mX
Definition
kalman_filter_impl.h:33
fl::detail::KalmanFilterImpl::value
T value() const
Definition
kalman_filter_impl.h:22
fl::detail::KalmanFilterImpl::mQ
T mQ
Definition
kalman_filter_impl.h:31
fl::detail::KalmanFilterImpl::mR
T mR
Definition
kalman_filter_impl.h:32
fl::detail::KalmanFilterImpl::reset
void reset(T initial=T(0))
Definition
kalman_filter_impl.h:24
fl::detail::KalmanFilterImpl::mLastValue
T mLastValue
Definition
kalman_filter_impl.h:35
fl::detail::KalmanFilterImpl::KalmanFilterImpl
KalmanFilterImpl(T process_noise, T measurement_noise, T initial=T(0))
Definition
kalman_filter_impl.h:9
fl::detail::KalmanFilterImpl::mP
T mP
Definition
kalman_filter_impl.h:34
fl::detail::KalmanFilterImpl::update
T update(T measurement)
Definition
kalman_filter_impl.h:13
fl::detail
Compile-time linker keep-alive hook for a single fl::Bus.
Definition
bus_traits.h:48
fl
Base definition for an LED controller.
Definition
crgb.hpp:179
fl
math
filter
kalman_filter_impl.h
Generated on Tue Jun 16 2026 00:06:59 for FastLED by
1.13.2