Deadzone Icon
Discontinuous.Deadzone
Signal deadzone block that outputs zero within a specified input range:
- If u > umax: y = u - umax
- If -umax <= u <= umax: y = 0
- If u < -umax: y = u + umax
Commonly used in control systems to eliminate small noise or drift signals.
Arguments: u_max Upper limit of the deadzone (positive value).
Usage
PrimitiveComponents.Discontinuous.Deadzone(u_max=1.0)
Parameters:
| Name | Description | Units | Default value |
|---|---|---|---|
u_max | Upper limit of deadzone (positive value) | – | 1 |
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) &= ifelse\left( u\left( t \right) > \mathtt{u\_max}, - \mathtt{u\_max} + u\left( t \right), ifelse\left( u\left( t \right) < - \mathtt{u\_max}, \mathtt{u\_max} + u\left( t \right), 0 \right) \right) \end{align} \]
Source
"""
Signal deadzone block that outputs zero within a specified input range:
- If u > u_max: y = u - u_max
- If -u_max <= u <= u_max: y = 0
- If u < -u_max: y = u + u_max
Commonly used in control systems to eliminate small noise or drift signals.
Arguments:
`u_max` Upper limit of the deadzone (positive value).
"""
component Deadzone
"Input signal port"
u = RealInput() {
"Dyad": {
"placement": {
"diagram": {"iconName": "default", "x1": 0, "y1": 450, "x2": 100, "y2": 550, "rot": 0}
},
"tags": []
}
}
"Output signal port"
y = RealOutput() {
"Dyad": {
"placement": {
"diagram": {"iconName": "default", "x1": 900, "y1": 450, "x2": 1000, "y2": 550, "rot": 0}
},
"tags": []
}
}
"Upper limit of deadzone (positive value)"
parameter u_max::Real = 1.0
relations
y = ifelse(u > u_max, u - u_max, ifelse(u < -u_max, u + u_max, 0.0))
metadata {"Dyad": {"icons": {"default": "dyad://PrimitiveComponents/Deadzone.svg"}}}
end
Flattened Source
"""
Signal deadzone block that outputs zero within a specified input range:
- If u > u_max: y = u - u_max
- If -u_max <= u <= u_max: y = 0
- If u < -u_max: y = u + u_max
Commonly used in control systems to eliminate small noise or drift signals.
Arguments:
`u_max` Upper limit of the deadzone (positive value).
"""
component Deadzone
"Input signal port"
u = RealInput() {
"Dyad": {
"placement": {
"diagram": {"iconName": "default", "x1": 0, "y1": 450, "x2": 100, "y2": 550, "rot": 0}
},
"tags": []
}
}
"Output signal port"
y = RealOutput() {
"Dyad": {
"placement": {
"diagram": {"iconName": "default", "x1": 900, "y1": 450, "x2": 1000, "y2": 550, "rot": 0}
},
"tags": []
}
}
"Upper limit of deadzone (positive value)"
parameter u_max::Real = 1.0
relations
y = ifelse(u > u_max, u - u_max, ifelse(u < -u_max, u + u_max, 0.0))
metadata {"Dyad": {"icons": {"default": "dyad://PrimitiveComponents/Deadzone.svg"}}}
endTest Cases
No test cases defined.
Related
- Examples
- Experiments
- Analyses
- Tests