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.