
CTRateLimiter |
ptolemy.domains.ct.lib.CTRateLimiter |
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.
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.
Author(s): Jie Liu
Version:$Id: CTRateLimiter.java,v 1.33 2006/02/07 00:45:43 cxh Exp $
Pt.Proposed Rating:Red (liuj)
Pt.Accepted Rating:Red (cxh)
risingSlewRate
The rising slew rate.
The parameter has type double and default value 1.0.
fallingSlewRate
The rising slew rate.
The parameter has type double and default value -1.0.