Square
IconSquare
Generate square signal.
This component extends from Signal
Usage
Square(start_time=0.0, offset=0.0, amplitude, frequency)
Parameters:
Name | Description | Units | Default value |
---|---|---|---|
start_time | s | 0 | |
offset | – | 0 | |
amplitude | – | ||
frequency | Hz |
Connectors
y
- This connector represents a real signal as an output from a component (RealOutput
)
Behavior
\[ \begin{align} y\left( t \right) &= ifelse\left( \mathtt{start\_time} < t, \mathtt{offset} + \mathtt{amplitude} \left( 1 - 2 \left\lfloor 2 \mathtt{frequency} \left( - \mathtt{start\_time} + t \right)\right\rfloor + 4 \left\lfloor \mathtt{frequency} \left( - \mathtt{start\_time} + t \right)\right\rfloor \right), \mathtt{offset} \right) \end{align} \]
Source
# Generate square signal.
component Square
extends Signal
parameter amplitude::Real
parameter frequency::Frequency
relations
y = if start_time<time then offset+(amplitude*(4*floor(frequency*(time-start_time))-2*floor(2*(time-start_time)*frequency)+1)) else offset
metadata {"JuliaSim": {"icons": {"default": "jsml://BlockComponents/Square.svg"}}}
end
Flattened Source
# Generate square signal. component Square y = RealOutput() [{ "JuliaSim": {"placement": {"icon": {"x1": 950, "y1": 450, "x2": 1050, "y2": 550}}} }] parameter start_time::Time = 0.0 parameter offset::Real = 0.0 parameter amplitude::Real parameter frequency::Frequency relations y = if start_time
Test Cases
Related
- Examples
- Experiments
- Analyses