38 template<
typename VectorT>
52 this->
reset(initValue);
98 mc_rtc::log::warning(
"Time constant must be at least twice the timestep (Nyquist–Shannon sampling theorem)");
void clampInPlace(double &value, double lower, double upper)
Definition: clamp.h:38
Definition: ExponentialMovingAverage.h:15
void warning(Args &&... args)
Definition: logging.h:69
Definition: ExponentialMovingAverage.h:40
double timeConstant_
Definition: ExponentialMovingAverage.h:109
ExponentialMovingAverage(double dt, double timeConstant, const VectorT &initValue=VectorT::Zero())
Definition: ExponentialMovingAverage.h:50
double timeConstant() const
Definition: ExponentialMovingAverage.h:86
void reset(const VectorT &initVal)
Definition: ExponentialMovingAverage.h:81
const VectorT & eval() const
Definition: ExponentialMovingAverage.h:69
void timeConstant(double T)
Definition: ExponentialMovingAverage.h:94
double dt_
Definition: ExponentialMovingAverage.h:108
double saturation_
Definition: ExponentialMovingAverage.h:110
void saturation(double limit)
Definition: ExponentialMovingAverage.h:75
double alpha_
Definition: ExponentialMovingAverage.h:107
VectorT average_
Definition: ExponentialMovingAverage.h:106
void append(const VectorT &value)
Definition: ExponentialMovingAverage.h:60