Rate Limiter

Specifies a maximum rate of change of a signal.

1378

Inputs/Outputs

datatype_icon

reset

A Boolean or a Boolean array that determines whether to use initial output to compute the rate limiter.

True Uses initial output to compute the rate limiter.
False Uses the previous output to compute the rate limiter.

This node automatically uses initial output to compute the rate limiter on the first call.

Default value: False

datatype_icon

input

Input signal.

This input accepts a double-precision, floating-point number or an array of double-precision, floating-point numbers.

datatype_icon

positive slew rate

Allowable positive change in the output signal between successive calls to this node.

This input accepts a double-precision, floating-point number or an array of double-precision, floating-point numbers.

Default value: 0

datatype_icon

negative slew rate

Allowable negative change in the output signal between successive calls to this node.

This input accepts a double-precision, floating-point number or an array of double-precision, floating-point numbers.

Default value: 0

datatype_icon

initial output

Output value on the first call to this node or when reset is True.

This input accepts a double-precision, floating-point number or an array of double-precision, floating-point numbers.

Default value: 0

datatype_icon

dt

Loop-cycle time or interval, in seconds, at which this node is called.

dt must be greater than zero.

datatype_icon

output

Output signal.

This output can return a double-precision, floating-point number or an array of double-precision, floating-point numbers.

Algorithm Definition for the Rate Limiter Function

The following equations define the rate limiter function.

D = u ( t ) y ( t 1 ) d t D = u ( t ) y ( t 1 ) d t
y ( t ) = { positive slew rate × d t + y ( t 1 )    if D > positive slew rate negative slew rate × d t + y ( t 1 )    if D < negative slew rate u ( t )    otherwise y ( t ) = { positive slew rate × d t + y ( t 1 )    if D > positive slew rate negative slew rate × d t + y ( t 1 )    if D < negative slew rate u ( t )    otherwise

where

  • u is the input signal
  • y is the output signal
  • t is the current simulation time
  • D is the rate of change of the signal