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 |