CSIM: LifNeuron Class Reference

LifNeuron Class Reference

#include <lifneuron.h>

Inheritance diagram for LifNeuron:

SpikingNeuron InternalVoltageNeuron Neuron Forceable SynapseTarget Advancable csimClass ExtOutLifNeuron LifNeuronSynchan List of all members.

Detailed Description

A leaky-integrate-and-fire (I&F) neuron.

Model

A standard leaky-integrate-and-fire neuron model is implemented where the membrane potential $V_m$ of a neuron is given by

\[ \tau_m \frac{d V_m}{dt} = -(V_m-V_{resting}) + R_m \cdot (I_{syn}(t)+I_{inject}+I_{noise}) \]

where $\tau_m=C_m\cdot R_m$ is the membrane time constant, $R_m$ is the membrane resistance, $I_{syn}(t)$ is the current supplied by the synapses, $I_{inject}$ is a non-specific background current and $I_{noise}$ is a Gaussion random variable with zero mean and a given variance noise.

At time $t=0$ $V_m$ ist set to $V_{init}$ . If $V_m$ exceeds the threshold voltage $V_{thresh}$ it is reset to $V_{reset}$ and hold there for the length $T_{refract}$ of the absolute refractory period.

Implementation

The exponential Euler method is used for numerical integration.

Public Member Functions

  • virtual int updateInternal (void)
    Recalculate exp. Euler constants.
  • virtual void reset (void)
    Reset the leaky I&F neuron.
  • virtual double nextstate (void)
    Calculate the new membrane voltage and check wheter Vm exceeds the threshold V_thresh.
  • virtual int isRefractory (void)
    Returns 1 (0) if the neuron is (not) in its absolute refractory period.
  • virtual float getVm (void)
    Returns the actual membrane voltage.

Public Attributes

  • float Cm
    The membrane capacity $C_m$ [range=(0,1); units=F;].
  • float Rm
    The membrane resistance $R_m$ [units=Ohm; range=(0,1e30)].
  • float Vthresh
    If $V_m$ exceeds $V_{thresh}$ a spike is emmited. [units=V; range=(-10,100);].
  • float Vresting
    The resting membrane voltage. [units=V; range=(-1,1);].
  • float Vreset
    The voltage to reset $V_m$ to after a spike. [units=V; range=(-1,1);].
  • float Vinit
    The initial condition for $V_m$ at time $t=0$ . [units=V; range=(-1,1);].
  • float Trefract
    The length of the absolute refractory period. [units=sec; range=(0,1);].
  • float Inoise
    The standard deviation of the noise to be added each integration time constant. [range=(0,1); units=A;].
  • float Iinject
    A constant current to be injected into the LIF neuron. [units=A; range=(-1,1);].

Protected Attributes

  • float Isyn
    synaptic input current

Private Attributes

  • int nStepsInRefr
    If positive then this counter tells us how many time steps we are still in the absolute refractory period.
  • double C1
    Internal constants for the exponential Euler integration of Vm.

Friends


 
(C) 2003, Thomas Natschläger last modified 07/10/2006