< spike_gen >

The spike_gen object defines a method of generating spikes. The input to the spike generator differs across models, but includes at least one time varying function that, after appropriate scaling and truncation, is used to drive the spike generation. The examples below demonstrate different spike generation methods. Some models may not allow all types of spike generation.


Spikes are generated according to a time-varying mean rate. The rate is determined by taking the output from the previous stage of the model and adding 'offset0', multiplying by 'scale' and adding 'offset'. The resulting rate is half-wave rectified (i.e., values less than zero are set to zero). Spikes are generated randomly according to this rate, and 'toffset' is added to the spike times.
  type        poisson      # Spike generation algorithm
  offset0     0.0          # Added *before* scaling [0.0]
  scale       1.0          # Multiplying factor [1.0]
  offset      0.0          # Added *after* scaling [0.0]
  toffset     0.040        # (s) Time offset (delay) added to spikes [0.0]

  # The following parameters allow a refractory period.  However, it should
  # be noted that adding the refractory period will distort the shape of
  # the actual mean rate.  The refractory period is implemented in a constant
  # rate Poisson process, and this process is then time-warped to create
  # the inhomogeneous process, but the refractory period is not taken into
  # account with the time warping.

  # After each spike, a duration is chosen from a Gaussian distribution for
  # the refractory period.  Negative values are discaarded, and the first
  # non-negative value is taken.

  refract_mean  0.006    # (s) Mean of Gaussian duration refractory period
  refract_sd    0.002    # (s) SD of refractory period



Conductance-driven integrate and fire spike generation.
  type   ifc         # Spike generation algorithm
  v_spike     10.0   # (mV) Spike height
  v_th_x     -52.5   # (mV) Spike threshold
  v_reset_x  -57.8   # (mV) Spike reset voltage 
  tau_r_ad     1.00  # (ms) Adaptation rise time
  tau_f_ad    80.0   # (ms) Adaptation fall time
  gbar_ad      0.0   # (nS) Adaptation conductance 
  v_ex         0.0   # (mV) Excitatory reversal potential
  v_in       -70.0   # (mV) Inhibitory reversal potential 
  v_ad       -90.0   # (mV) Adaptation reversal potential
  v_leak_x   -81.6   # (mV) Leakage reversal potential
  g_leak_x    18.0   # (nS) Leakage conductance 
  c_x        214.0   # (pF) Membrane capacitance 
  trefr_x      1.5   # (ms) Refractory period
  gx_scale     2.0   # (  ) Scale excitatory g, before adding bias 
  gx_bias      0.0   # (nS) Constant added to g, after any scaling
           # Membrane conductance noise
    type   gfg       #  gfg = Gaussian filtered Gaussian noise
    mean   0.0 (nS)  #  mean
    sd     4.0 (nS)  #  standard deviation
    tsd    2.0 (ms)  #  temporal SD
  grect        1     # half-wave rectify gx, gi after adding noise