exp_gen :
An analog exponential signal generator
The exp_gen
primitive generates an exponential signal. A set of parameters define the stimulus waveform V(t) as follows:
- For t < delay1 :
V(t) = init_value
- For delay1 <= t < delay2:
V(t) = init_value + change*(1-exp(delay1-t)/tau1)
- For t >= delay2 :
V(t) = init_value + change*(1-exp(delay1-t)/tau1) - change*(1-exp(delay2-t)/tau2)
That is, the primitive initially generates a DC signal at init_value
. At the first onset (t=delay1
), the primitive starts to generate a signal that exponentially converges towards init_value
+change
with a time constant of tau1
. Then at the second onset (t=delay2
), the signal starts to exponentially converge back towards init_value
with a time constant of tau2
. If the parameter delay2
is negative, the primitive does not produce the second onset.
The primitive can also repeat the two exponential onsets at the period defined by the parameter period
, when it has a positive value greater than delay2-delay1
.
Input/Output Terminals
Name | I/O | Type | Description |
out | output | xreal | signal output |
Parameters
Name | Type | Default | Unit | Description |
init_value | real | 0.0 | None | initial value |
change | real | 0.0 | None | change value |
delay1 | real | 0.0 | seconds | delay to onset #1 |
delay2 | real | -1.0 | seconds | delay to onset #2 |
tau1 | real | 0.0 | seconds | time constant #1 |
tau2 | real | 0.0 | seconds | time constant #2 |
period | real | -1.0 | seconds | repetition period |