Go to the documentation of this file.
28 #ifndef __PidFilterh__
29 #define __PidFilterh__
44 inline double pd(
double error)
52 PidFilter(
double kp,
double kd=0,
double ki = 0,
double u = 0.0);
57 inline void setKs(
double kp,
double kd=0.0,
double ki=0.0,
double u_max = 0.0)
85 Sn_tmp = Sn + Ki *
error;
88 u_tmp = u_pd + Sn_tmp;
130 double tau = 1.0/(2.0*3.1415926535897932384626433832795029*
fc);
double getCutFrequency()
Retrieve the cut frequency of the filter.
double getDerivative(void) const
double getSampleTime()
Retrieve the sample time of the filter.
void reset(double error=0.0)
void init(const double y0)
Internal state reset.
double filt(double u)
Performs filtering on the actual input.
void operator=(const PidFilter &f)
void setKs(double kp, double kd=0.0, double ki=0.0, double u_max=0.0)
FirstOrderLowPassFilter(const double cutFrequency, const double sampleTime, const double y0)
Creates a filter with specified parameters.
First order low pass filter implementing the transfer function H(s) = \frac{1}{1+\tau s}.
double getIntegrative(void) const
double output()
Return current filter output.
double getProportional(void) const