RateLimiter Block
Limits the rate of change (slew rate) of the output signal
Open RateLimiter in BlockWerk →# Rate Limiter Block
Description
Limits the rate of change (slew rate) of the output signal. The output follows the input but cannot change faster than the specified rising or falling rate. Models actuator speed limits, motor acceleration constraints, and slew-rate-limited amplifiers.
Mathematical Model
rate = (input - previous_output) / dt clamped_rate = clamp(rate, fallingRate, risingRate) output = previous_output + clamped_rate × dt
Parameters
risingRate
Maximum positive rate of change in units per second.
fallingRate
Maximum negative rate of change in units per second (should be negative).
Remarks
- Rising vs falling: Use different risingRate and fallingRate values for asymmetric actuators (e.g., fast open, slow close)
- Zero rate: Setting a rate to 0 effectively locks the output (no change allowed in that direction)
- Sample time dependence: The effective slew rate depends on the simulation timestep; very small timesteps with large rates may cause numerical issues
- Initial condition: The output starts at the initial input value; if the first input is a step, the output ramps toward it at the configured rate
- Saturation vs RateLimiter: Use Saturation to cap amplitude; use RateLimiter to cap the speed of change — they complement each other
See Also
- Saturation: Limits amplitude, not rate
- Integrator: Accumulates signal over time