LIBRARY
UnitDifference ​
A unit difference block that computes y[n] = u[n] - u[n-1].
Clock-agnostic.
Usage ​
DiscreteComponents.UnitDifference()
Parameters: ​
| Name | Description | Units | Default value |
|---|---|---|---|
initialization | – | DiscreteCom...t(; y0=0.0) |
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 ​
Behavior of this component cannot be rendered because it includes path variables.
Source ​
dyad
"""
A unit difference block that computes y[n] = u[n] - u[n-1].
Clock-agnostic.
"""
component UnitDifference@[input clk extends Discrete]
"The input signal"
u = RealInput@[clk]() {
"Dyad": {
"placement": {
"diagram": {"iconName": "default", "x1": -50, "y1": 450, "x2": 50, "y2": 550, "rot": 0}
},
"tags": []
}
}
"The difference output signal"
y = RealOutput@[clk]() {
"Dyad": {
"placement": {
"diagram": {"iconName": "default", "x1": 960, "y1": 450, "x2": 1060, "y2": 550, "rot": 0}
},
"tags": []
}
}
structural parameter initialization::InitialCondition = DiscreteComponents.InitialCondition.InitialOutput(y0 = 0.0)
relations
y = u@clk - u@(clk-1)
switch initialization
case InitialOutput
initial u@(clk-1) = u@clk - initialization.y0
case SteadyState
initial u@(clk-1) = u@clk
case InitialState
initial u@(clk-1) = initialization.x0
end
metadata {
"Dyad": {
"icons": {"default": "dyad://DiscreteComponents/UnitDifference.svg"},
"doc": {"behavior": false}
}
}
endFlattened Source
dyad
"""
A unit difference block that computes y[n] = u[n] - u[n-1].
Clock-agnostic.
"""
component UnitDifference
"The input signal"
u = RealInput@[clk]() {
"Dyad": {
"placement": {
"diagram": {"iconName": "default", "x1": -50, "y1": 450, "x2": 50, "y2": 550, "rot": 0}
},
"tags": []
}
}
"The difference output signal"
y = RealOutput@[clk]() {
"Dyad": {
"placement": {
"diagram": {"iconName": "default", "x1": 960, "y1": 450, "x2": 1060, "y2": 550, "rot": 0}
},
"tags": []
}
}
structural parameter initialization::InitialCondition = DiscreteComponents.InitialCondition.InitialOutput(y0 = 0.0)
relations
y = u@clk - u@(clk-1)
switch initialization
case InitialOutput
initial u@(clk-1) = u@clk - initialization.y0
case SteadyState
initial u@(clk-1) = u@clk
case InitialState
initial u@(clk-1) = initialization.x0
end
metadata {
"Dyad": {
"icons": {"default": "dyad://DiscreteComponents/UnitDifference.svg"},
"doc": {"behavior": false}
}
}
endTest Cases ​
No test cases defined.
Related ​
Examples
Experiments
Analyses
Tests