RateLimiter

Parent Previous Next

Full Library / Algorithmic / Analog / control-analog function / CTRateLimiter
Block Name: 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.

  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.


Field Detail

risingSlewRate

public VisualSim.data.expr.Parameter risingSlewRate


fallingSlewRate

public VisualSim.data.expr.Parameter fallingSlewRate



Created with the Personal Edition of HelpNDoc: Single source CHM, PDF, DOC and HTML Help creation