Hopsan
IntegratorLimited Class Reference

The IntegratorLimited class implements a integrator using bilinear transform which integrates a variable with limited output signal and wind-up protection. More...

Public Member Functions

void initialize (double timestep, double u0=0.0, double y0=0.0, double min=-1.5E+300, double max=1.5E+300)
 
void initializeValues (double u0, double y0)
 
void setMinMax (double min, double max)
 
double update (double u)
 
double value ()
 

Detailed Description

The IntegratorLimited class implements a integrator using bilinear transform which integrates a variable with limited output signal and wind-up protection.

The class implements

\[ y = \int_{0}^{t}
   \left\{
     \begin{array}{ll}
       0 & \mbox{if } \int u \, dt + y_0 < y_{min} \\
       0 & \mbox{if } \int u \, dt + y_0 > y_{max} \\
       u & \mbox{otherwise}
     \end{array}
   \right. \, dt + y_0\]

Member Function Documentation

◆ value()

double value ( )

Observe that a call to this method has to be followed by another call to update(double u)

Returns
The integrated actual value.
See also
value(double u)