Block that limits the rate of change of the input u by a ramp
if the boolean input active is true,
otherwise the block outputs y = u.
This block computes a threshold for the rate of change between
input u and output y as
thr = (u-y)/Td, where Td > 0 is a parameter.
The output y is computed as follows:
thr < fallingSlewRate, then dy/dt = fallingSlewRate,
thr > raisingSlewRate, then dy/dt = raisingSlewRate,
dy/dt = thr.
A smaller time constant Td > 0 means a higher accuracy for the derivative approximation.
Note that when the input activate switches to false,
the output y can have a discontinuity.
For the block to work with arbitrary inputs and in order to produce a differentiable output,
the input is numerically differentiated with derivative time constant Td.