iaf_psc_alpha¶
iaf_psc_alpha - Leaky integrate-and-fire neuron model
Description¶
iaf_psc_alpha is an implementation of a leaky integrate-and-fire model with alpha-kernel synaptic currents. Thus, synaptic currents and the resulting post-synaptic potentials have a finite rise time.
The threshold crossing is followed by an absolute refractory period during which the membrane potential is clamped to the resting potential.
The general framework for the consistent formulation of systems with neuron like dynamics interacting by point events is described in 1. A flow chart can be found in 2.
Critical tests for the formulation of the neuron model are the comparisons of simulation results for different computation step sizes.
The iaf_psc_alpha is the standard model used to check the consistency of the nest simulation kernel because it is at the same time complex enough to exhibit non-trivial dynamics and simple enough compute relevant measures analytically.
Note
If tau_m is very close to tau_syn_ex or tau_syn_in, numerical problems may arise due to singularities in the propagator matrics. If this is the case, replace equal-valued parameters by a single parameter.
For details, please see IAF_neurons_singularity.ipynb in
the NEST source code (docs/model_details).
Parameters¶
The following parameters can be set in the status dictionary.
V_m |
mV |
Membrane potential |
E_L |
mV |
Resting membrane potential |
C_m |
pF |
Capacity of the membrane |
tau_m |
ms |
Membrane time constant |
t_ref |
ms |
Duration of refractory period |
V_th |
mV |
Spike threshold |
V_reset |
mV |
Reset potential of the membrane |
tau_syn_ex |
ms |
Rise time of the excitatory synaptic alpha function |
tau_syn_in |
ms |
Rise time of the inhibitory synaptic alpha function |
I_e |
pA |
Constant input current |
V_min |
mV |
Absolute lower value for the membrane potenial |
References¶
- 1
Rotter S, Diesmann M (1999). Exact simulation of time-invariant linear systems with applications to neuronal modeling. Biologial Cybernetics 81:381-402. DOI: https://doi.org/10.1007/s004220050570
- 2
Diesmann M, Gewaltig M-O, Rotter S, & Aertsen A (2001). State space analysis of synchronous spiking in cortical neural networks. Neurocomputing 38-40:565-571. DOI: https://doi.org/10.1016/S0925-2312(01)00409-X
- 3
Morrison A, Straube S, Plesser H E, Diesmann M (2006). Exact subthreshold integration with continuous spike times in discrete time neural network simulations. Neural Computation, in press DOI: https://doi.org/10.1162/neco.2007.19.1.47
See also¶
iaf_psc_delta, iaf_psc_exp, iaf_cond_alpha
Authors¶
Diesmann, Gewaltig
Parameters¶
Name |
Physical unit |
Default value |
Description |
|---|---|---|---|
C_m |
pF |
250pF |
Capacity of the membrane |
Tau |
ms |
10ms |
Membrane time constant. |
tau_syn_in |
ms |
2ms |
Time constant of synaptic current. |
tau_syn_ex |
ms |
2ms |
Time constant of synaptic current. |
t_ref |
ms |
2ms |
Duration of refractory period. |
E_L |
mV |
-70mV |
Resting potential. |
V_reset |
mV |
-70mV - E_L |
Reset potential of the membrane. |
Theta |
mV |
-55mV - E_L |
Spike threshold. |
I_e |
pA |
0pA |
constant external input current |
State variables¶
Name |
Physical unit |
Default value |
Description |
|---|---|---|---|
V_abs |
mV |
0mV |
|
V_m |
mV |
V_abs + E_L |
Membrane potential. |
Equations¶
Source code¶
neuron iaf_psc_alpha:
state:
r integer = 0 # counts number of tick during the refractory period
V_abs mV = 0 mV
end
equations:
kernel I_kernel_in = (e / tau_syn_in) * t * exp(-t / tau_syn_in)
kernel I_kernel_ex = (e / tau_syn_ex) * t * exp(-t / tau_syn_ex)
recordable inline V_m mV = V_abs + E_L # Membrane potential.
inline I pA = convolve(I_kernel_in, in_spikes) + convolve(I_kernel_ex, ex_spikes) + I_e + I_stim
V_abs' = -V_abs/tau_m + I/C_m
end
parameters:
C_m pF = 250 pF # Capacitance of the membrane
tau_m ms = 10 ms # Membrane time constant
tau_syn_in ms = 2 ms # Time constant of synaptic current
tau_syn_ex ms = 2 ms # Time constant of synaptic current
t_ref ms = 2 ms # Duration of refractory period
E_L mV = -70 mV # Resting potential
V_reset mV = -70 mV - E_L # Reset potential of the membrane
V_th mV = -55 mV - E_L # Spike threshold
# constant external input current
I_e pA = 0 pA
end
internals:
RefractoryCounts integer = steps(t_ref) # refractory time in steps
end
input:
ex_spikes pA <- excitatory spike
in_spikes pA <- inhibitory spike
I_stim pA <- continuous
end
output: spike
update:
if r == 0: # neuron not refractory
integrate_odes()
else: # neuron is absolute refractory
r = r - 1
end
if V_abs >= V_th: # threshold crossing
# A supra-threshold membrane potential should never be observable.
# The reset at the time of threshold crossing enables accurate
# integration independent of the computation step size, see [2,3] for
# details.
r = RefractoryCounts
V_abs = V_reset
emit_spike()
end
end
end