BlockWerk Documentation
⊓

Saturation

Discontinuous

The Saturation block implements a limiter or saturation function that clamps the input signal between specified lower and upper limits. This is essential for modeling real-world actuators and systems with physical constraints such as motor voltage limits, control signal ranges, and anti-windup protection.

Simulate in BlockWerk

Interactive sandbox directly in your browser — zero installation, WASM-powered.

Simulate in BlockWerk →

Mathematical Model

y=max⁡(L,min⁡(U,u))y = \max(L, \min(U, u))

Inputs & Outputs

Direction ID Label Type Status
→ In in Input number Required
← Out out Output number Output

Parameters

Parameters Label Type Default Description
lowerLimit Lower Limit number -1 Minimum allowed value
upperLimit Upper Limit number 1 Maximum allowed value

Usage Examples

Input range -5 to 5, saturation limits -1 to 1 produces output in [-1, 1].

Remarks & Best Practices

  • Asymmetric limits supported (e.g., [0, 1] for single-sided constraint)
  • Zero computational overhead; instantaneous response
  • Essential for realistic actuator modeling (motor limits, servo ranges)
  • Prevents integrator windup in feedback controllers

Related Components

  • Gain: Signal scaling (use before saturation)
  • Sum: Signal combination
  • Derivative: Rate computation