step_rate_generator – Provide a piecewise constant input rate


The rate_generator provides a piecewise constant rate input to the connected rate unit(s). Please note that this input is handled in the same way as input from any other rate unit, i.e. it is processed by the input function of the receiving rate unit. The amplitude of the rate is changed at the specified times. The unit of the rate is Hz.

If allow_offgrid_times is false, times will be rounded to the nearest grid point if they are less than tic/2 from the grid point, otherwise NEST reports an error. If true, times are rounded to the nearest grid point if within tic/2 from the grid point, otherwise they are rounded up to the end of the grid point.

Times of amplitude changes must be strictly increasing after conversion to simulation time steps. The option allow_offgrid_times may be useful, e.g., if you are using randomized times for rate changes which typically would not fall onto simulation time steps.

All stimulation devices share the parameters start and stop, which control the stimulation period. The property origin is a global offset that shifts the stimulation period. All three values are set as times in ms.

  • For spike-emitting devices, only spikes with times t that fulfill start < t <= stop are emitted. Spikes that have timestamp of t = start are not emitted.

  • For current-emitting devices, the current is activated and deactivated such that the current first affects the target dynamics during the update step (start, start+h], i.e., an effect can be recorded at the earliest at time start+h. The last interval during which the current affects the target’s dynamics is (stop-h, stop].

The property stimulus_source defaults to an empty string. It can be set to the name of a stimulation backend, in which case it will take its parameters from the configured backend instead of from the internally stored values. More details on available backends and their properties can be found in the guide to stimulating the network.



A string (default: “”) specifying an arbitrary textual label for the device. Stimulation backends might use the label to generate device specific identifiers like filenames and such.


A positive floating point number (default : 0.0) used as the reference time in ms for start and stop.


A positive floating point number (default: 0.0) specifying the activation time in ms, relative to origin.


A string (default: “”) specifying the name of the stimulation backend from which to get the data for updating the stimulus parameters of the device. By default the device uses its internally stored parameters for updating the stimulus.


A floating point number (default: infinity) specifying the deactivation time in ms, relative to origin. The value of stop must be greater than or equal to start.


Times at which current changes (list of ms)


Amplitudes of step current current (list of pA)


Default false

Set parameters from a stimulation backend

The parameters in this stimulation device can be updated with input coming from a stimulation backend.

The data structure used for the update holds pairs of values in the form

[ (amplitude_times, amplitude_values), (amplitude_times, amplitude_values), … ].

Thus, the size of the data for the step_rate_generator needs to be even.



See also

Device, Generator, Rate