47 : freq(_freq), mincutoff(_mincutoff), beta(_beta), dcutoff(_dcutoff)
62 dx = (input_value - x_prev) * freq;
65 T edx =
alpha(dcutoff, freq) * dx + (1 -
alpha(dcutoff, freq)) * dhatxprev;
67 T cutoff = mincutoff + beta * std::abs(
static_cast<double>(edx));
70 hatxprev = input_value;
71 filtered_val =
alpha(cutoff, freq) * input_value + (1 -
alpha(cutoff, freq)) * hatxprev;
72 hatxprev = filtered_val;
78 T tau = 1.0 / (2 * M_PI * cutoff);
80 return 1.0 / (1.0 + tau / te);
99 T mincutoff, beta, dcutoff;
100 T x_prev, dhatxprev, hatxprev;
void clear()
Definition one_euro_filter.h:88
T alpha(T cutoff, double freq)
Definition one_euro_filter.h:76
void input(T input_value)
Definition one_euro_filter.h:58
T output()
Definition one_euro_filter.h:83
OneEuroFilter(double _freq, T _mincutoff, T _beta, T _dcutoff)
Definition one_euro_filter.h:46