Triangular
IconTriangular
Generate triangular signal
This component extends from Signal
Usage
Triangular(start_time=0.0, offset=0.0, amplitude, frequency, period=1/frequency)
Parameters:
Name | Description | Units | Default value |
---|---|---|---|
start_time | s | 0 | |
offset | – | 0 | |
amplitude | – | ||
frequency | Hz | ||
period | s | 1 / frequency |
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{amplitude} + 4 \mathtt{amplitude} \mathtt{frequency} \left| - \frac{1}{2} \mathtt{period} + \left|mod\left( - \frac{1}{4} \mathtt{period} - \mathtt{start\_time} + t, \mathtt{period} \right)\right|\right|, \mathtt{offset} \right) \end{align} \]
Source
# Generate triangular signal
component Triangular
extends Signal
parameter amplitude::Real
parameter frequency::Frequency
final parameter period::Period = 1/frequency
relations
y = if start_time<time then 4*amplitude*frequency*abs(abs(mod(time-period/4-start_time, period))-period/2)-amplitude else offset
metadata {"JuliaSim": {"icons": {"default": "jsml://BlockComponents/Triangular.svg"}}}
end
Flattened Source
# Generate triangular signal component Triangular 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 final parameter period::Period = 1/frequency relations y = if start_time
Test Cases
Related
- Examples
- Experiments
- Analyses