Limiter
IconLimiter
Within the specified upper and lower limits, input signal is passed as output signal. Outside these limits, corresponding limits are passed as output.
This component extends from SISO
Usage
Limiter(u_max, u_min=-u_max, assertion=assert(u_max, u_min, Base.isgreater))
Parameters:
Name | Description | Units | Default value |
---|---|---|---|
u_max | Maximum allowed input | – | |
u_min | Minimum allowed input | – | -u_max |
assertion | Internal parameter to assert that u_max is greater than u_min | – | assert(umax, umin, Base.isgreater) |
Connectors
u
- This connector represents a real signal as an input to a component (RealInput
)y
- This connector represents a real signal as an output from a component (RealOutput
)
Behavior
\[ \begin{align} y\left( t \right) &= max\left( min\left( u\left( t \right), \mathtt{u\_max} \right), \mathtt{u\_min} \right) \end{align} \]
Source
# Within the specified upper and lower limits, input signal is passed as output
# signal. Outside these limits, corresponding limits are passed as output.
component Limiter
extends SISO
# Maximum allowed input
parameter u_max::Real
# Minimum allowed input
parameter u_min::Real = -u_max
# Internal parameter to assert that `u_max` is greater than `u_min`
parameter assertion::Boolean = assert(u_max, u_min, Base.isgreater)
relations
y = max(min(u, u_max), u_min)
end
Flattened Source
# Within the specified upper and lower limits, input signal is passed as output # signal. Outside these limits, corresponding limits are passed as output. component Limiter u = RealInput() [{ "JuliaSim": { "placement": {"icon": {"iconName": "input", "x1": -50, "y1": 450, "x2": 50, "y2": 550}} } }] y = RealOutput() [{ "JuliaSim": { "placement": {"icon": {"iconName": "output", "x1": 950, "y1": 450, "x2": 1050, "y2": 550}} } }] # Maximum allowed input parameter u_max::Real # Minimum allowed input parameter u_min::Real = -u_max # Internal parameter to assert that `u_max` is greater than `u_min` parameter assertion::Boolean = assert(u_max, u_min, Base.isgreater) relations y = max(min(u, u_max), u_min) metadata {} end
Test Cases
Related
- Examples
- Experiments
- Analyses