This actor limits the first derivative of the input signal (u). The output (y) changes no faster than the specified limit. The derivative is calculated using this equation:
u(k) - y(k-1)
rate = --------------
t(k) - t(k-1)
where u(k) and t(k) are the current input and time, and y(k-1) and t(k-1) are the output and time at the previous step. The output is determined by comparing rate to the risingSlewRate and fallingSlewRate parameters.
y(k) = (t(k)-t(k-1))*risingSlewRate + y(k-1)
y(k) = (t(k)-t(k-1))*fallingSlewRate + y(k-1)
This actor works as a (continuous) nonlinear function. It does not control integration step sizes. Notice that this actor does not try to find the time instant that the input rate reaches the rising slew rate or falling slew rate. As a consequence, this may cause some ODE solvers not converging under some circumstances. FIXME: This actor should implement the CTStateful interface to support rollback.
public VisualSim.data.expr.Parameter risingSlewRate
public VisualSim.data.expr.Parameter fallingSlewRate
Created with the Personal Edition of HelpNDoc: Single source CHM, PDF, DOC and HTML Help creation