Rate limiter
Limits how fast a signal may change.
- signal
- Gradara equations
- 2 ports
- 2 parameters
rateLimiterLibraryNonlinearDescription
Limits how fast its output can rise or fall. The output tracks the input, moving no faster than Rising limit upward and Falling limit downward.
Near the input the output follows it with a first-order lag of 1 ms, so it settles on the input rather than hitting it exactly.
Example
Nonlinearities Saturation, dead zone, relay, and rate limiter acting on the same sine.
Sine, amplitude 2Saturation ±1Dead zone ±0.5RelayRate limit 2/s
Also in this example:SaturationSine waveDead zoneRelay
Ports
Inputs 1
-
u
Input signal.
Outputs 1
-
y
Rate-limited output.
Parameters
-
Rising limit
rising10 1/s≥ 0
Largest upward rate, in units per second. 0 or more; 0 stops the output from rising.
-
Falling limit
falling10 1/s≥ 0
Largest downward rate, in units per second, as a positive number. 0 or more; 0 stops the output from falling.
Equations
Modelica
dy/dt = min(rising, 1000 · (u − y)) if u > y dy/dt = max(−falling, 1000 · (u − y)) otherwise y = 0 at time 0
Implementation
The block’s Modelica model
Real x(start=0, fixed=true); der(x) = if u > x then min(rising, (u - x)*1000) else max(-falling, (u - x)*1000); y = x;
Assumptions and limitations
- The output starts at 0, not at the input, so a nonzero input at time 0 is approached at the rate limit.
- Tracking uses a fixed 1 ms time constant; signals faster than that are also smoothed.
See also
Select a block in Gradara and press F1 to open its page offline.