arduino-audio-tools
Loading...
Searching...
No Matches
src
AudioTools
CoreAudio
AudioBasic
KalmanFilter.h
Go to the documentation of this file.
1
#pragma once
2
3
namespace
audio_tools
{
4
27
class
KalmanFilter
{
28
public
:
36
KalmanFilter
(
float
process_noise
= 0.01f,
float
measurement_noise
= 1.0f) {
37
begin
(
process_noise
,
measurement_noise
);
38
}
39
56
bool
begin
(
float
process_noise
,
float
measurement_noise
) {
57
Q
=
process_noise
;
58
R
=
measurement_noise
;
59
P
= 1.0;
60
X
= 0.0;
61
return
true
;
62
}
63
70
bool
begin
() {
71
X
= 0;
72
return
true
;
73
}
74
78
void
end
() {
X
= 0; }
79
87
void
addMeasurement
(
float
measurement
) {
88
// Prediction update
89
P
=
P
+
Q
;
90
91
// Measurement update
92
K
=
P
/ (
P
+
R
);
93
X
=
X
+
K
* (
measurement
-
X
);
94
P
= (1 -
K
) *
P
;
95
}
96
102
float
calculate
() {
return
X
; }
103
104
protected
:
108
float
Q
;
112
float
R
;
116
float
P
;
120
float
X
;
124
float
K
;
125
};
126
127
}
// namespace audio_tools
audio_tools::KalmanFilter
Simple 1D Kalman Filter for smoothing measurements.
Definition
KalmanFilter.h:27
audio_tools::KalmanFilter::calculate
float calculate()
Returns the current estimated value.
Definition
KalmanFilter.h:102
audio_tools::KalmanFilter::begin
bool begin(float process_noise, float measurement_noise)
reset the filter with new parameters
Definition
KalmanFilter.h:56
audio_tools::KalmanFilter::Q
float Q
Process noise covariance (Q)
Definition
KalmanFilter.h:108
audio_tools::KalmanFilter::R
float R
Measurement noise covariance (R)
Definition
KalmanFilter.h:112
audio_tools::KalmanFilter::K
float K
Kalman gain (K)
Definition
KalmanFilter.h:124
audio_tools::KalmanFilter::begin
bool begin()
Reset the filter state to zero, keeping the current noise parameters.
Definition
KalmanFilter.h:70
audio_tools::KalmanFilter::end
void end()
End or clear the filter (sets the estimate to zero).
Definition
KalmanFilter.h:78
audio_tools::KalmanFilter::KalmanFilter
KalmanFilter(float process_noise=0.01f, float measurement_noise=1.0f)
Construct a new Kalman Filter object.
Definition
KalmanFilter.h:36
audio_tools::KalmanFilter::X
float X
Estimated state (X)
Definition
KalmanFilter.h:120
audio_tools::KalmanFilter::P
float P
Estimation error covariance (P)
Definition
KalmanFilter.h:116
audio_tools::KalmanFilter::addMeasurement
void addMeasurement(float measurement)
Updates the filter with a new measurement and returns the filtered value.
Definition
KalmanFilter.h:87
audio_tools
Generic Implementation of sound input and output for desktop environments using portaudio.
Definition
AudioCodecsBase.h:10
audio_tools::writeData
size_t writeData(Print *p_out, T *data, int samples, int maxSamples=512)
Definition
AudioTypes.h:512
Generated by
1.9.8