Spiking neural networks are considered to be the third generation of artificial neural networks (ANN). While classic ANN operate with real or integer-valued inputs, SNN process data in form of series of spikes called spike trains, which, in terms of computation means that a single bit line toggling between logical levels ‘0’ and ‘1’ is required. SNN are able to process temporal patterns, not only spatial, and SNN are more computationally powerful than ANN [20]. Classic machine learning methods perform poorly for spike coded data, being unsuitable for SNN. As a consequence, different training and network topology optimization algorithms must be used [9,21].

The SNN model used in this work is the feed-forward network, each neuron is connected to all the neurons in the next layer by a weighted connection, which means that the output signal of a neuron has a different weighted potential contribution [22]. Input neurons require spike trains and input signals (stimuli) need to be encoded into spikes (typically, spike trains) to further feed the SNN.

An approximation to the functionality of a neuron is given by electrical models which reproduce the functionality of neuronal cells. One of the most common models is the spike response model (SRM) due to the close approximation to a real biological neuron [23,24]; the SRM is a generalization of the ‘integrate and fire’ model [9]. The main characteristic of a spiking neuron is the membrane potential, the transmission of a single spike from one neuron to another is mediated by synapses at the point where neurons interact. In neuroscience, a transmitting neuron is defined as a presynaptic neuron and a receiving neuron as a postsynaptic neuron. With no activity, neurons have a small negative electrical charge of −70 mV, which is called resting potential; when a single spike arrives into a postsynaptic neuron, it generates a post synaptic potential (PSP) which is excitatory when the membrane potential is increasing and inhibitory when decreasing. The membrane potential at an instant is calculated as the sum of all present PSP at the neuron inputs. When the membrane potential is above a critical threshold value, a postsynaptic spike is generated, entering the neuron into a refractory period when the membrane remains overpolarized, preventing neurons from generating new spikes temporarily. After a refractory period, the neuron potential returns to its resting value and is ready to fire a new spike if membrane potential is above the threshold.

The PSP function is given by Equation 1, where *τ*
_{
m
} and *τ*
_{
s
} are time constants to control the steepness of rise and decay, and *t* is the time after the presynaptic spike arrived.

$$ \text{PSP}(t)=e^{(\frac{-t}{\tau_{m}})}-e^{\left(\frac{-t}{\tau_{s}}\right)}, $$

((1))

Figure 1A shows different PSP as a function of time (ms) and weight value, being excitatory in case of red and blue lines, and inhibitory in case of a green line.

Let us consider the example shown in Figure 1B where spikes from two presynaptic neurons trigger an excitation PSP in a postsynaptic neuron. The spike train generated by the presynaptic neurons will change the membrane potential calculated as the sum of individual PSPs generated by incoming spikes. When membrane potential reaches the threshold, the neuron fires a spike at the instant *t*
_{
s
}. Graphically it is shown on Figure 1C. If we denote the threshold value as *υ*, the refractory period *η* is defined according to Equation 2 [24]. This equation describes a simple exponential decay of membrane charge, being *H*(*t*) the Heavyside step function, *H*(*t*)=0, for *t*<0 and *H*(*t*)=1 for *t*>0; *τ*
_{
r
} is a constant defining the steepness of the decay.

$$ \eta(t)=-\upsilon e^{\left(\frac{t}{\tau_{r}}\right)}H(t) $$

((2))

Being \(t_{i}^{(g)}\) the time when a spike is fired by a presynaptic neuron, this spike changes the potential of a postsynaptic neuron *j* at time *t* and the time difference between these two events is \(t-t_{i}^{(g)}\). The travelling time between two neurons for a spike is defined by Equation 3 where *d*
_{
ji
} is the delay of synapse value.

$$ \Delta t_{ji} = t - t_{i}^{(g)} - d_{ji} $$

((3))

When a sequence of spikes \(F_{i}=\left \{t_{i}^{(g)},\ldots, {t_{i}^{K}}\right \}\) arrives to a neuron *j*, the membrane potential changes according to the PSP function and refractory period, and thus, an output spike train is propagated by neuron *j* as \(F_{j}=\left \{t_{j}^{(f)},\ldots, {t_{j}^{N}}\right \}\). The equation for the *j*-th neuron potential *P*
_{
j
} is obtained according to Equation 4, where the refractory period is also considered.

$$ P_{j}(t) = {\sum\limits_{i}^{K}} \sum\limits_{t_{i}^{(g)}\in F_{i}} w_{ij}PSP(\Delta t_{ji}) + \sum\limits_{t_{j}^{(f)}\in F_{j}} \eta\left(t - t_{j}^{(f)}\right) $$

((4))

These equations define the SRM, which can be modeled by analog circuits since the PSP function can be seen as a charging and discharging RC circuit. However, this model is computationally complex when used in digital systems. We propose to use a simplified model with linear membrane potential degradation with similar performance and learning capabilities as the classic SRM.