CARLsim  5.0.0
CARLsim: a GPU-accelerated SNN simulator
TimingBasedCurve Struct Reference

A struct to assign a timing-based E-STDP curve. More...

#include <carlsim_datastructures.h>

Public Member Functions

 TimingBasedCurve (float _alphaPlus, float _tauPlus, float _alphaMinus, float _tauMinus, float _gamma)
 

Public Attributes

float alphaMinus
 the amplitude of the exponential curve at post-pre side More...
 
float alphaPlus
 the amplitude of the exponential curve at pre-post side More...
 
float gamma
 the turn-over point More...
 
STDPCurve stdpCurve
 the type of STDP curve More...
 
float tauMinus
 the time constant of the exponential curve at post-pre side More...
 
float tauPlus
 the time constant of the exponential curve at pre-post side More...
 

Detailed Description

This E-STDP curve is sensitive to spike timing at the pre-post side. The parameters (_alphaPlus, _tauPlus, gamma) specifies the curve at the pre-post side. The curve is basically an exponential curve, which specified by (_alphaPlus, _tauPlus), transformed by gamma. The value of gamma is the turn-over point. The STDP function at the pre-post side is governed by the following equation:

\[ STDP(t) = \begin{cases} \alpha^+(1-(1-e^{-\frac{t}{\tau^+}})(\frac{1+e^{-\frac{\gamma}{\tau^+}}}{1-e^{-\frac{\gamma}{\tau^+}}})) & \text{if } t < \gamma \\ -\alpha^+ e^{-\frac{t}{\tau^+}} & \text{if } t \geq \gamma \end{cases} \]

Simply, if t is larger than gamma, the STDP function is the mirrored exponential curve along x-axis. If t is smaller than gamma, the STDP function is the exponential curve stretched to the turn-over point. The parameters (_alphaMinus, _tauMinus) specifies the exponential curve at the post-pre side. This curve requires _alphaMinus to be a negative value.

Note
This curve can be applied to E-STDP only.
Parameters
[in]_alphaPlusthe amplitude of the exponential curve at pre-post side
[in]_tauPlusthe decay constant of the exponential curve at pre-post side
[in]_alphaMinusthe amplitude of the exponential curve at post-pre side
[in]_tauMinusthe decay constant of the exponential curve at post-pre side
Since
v3.0

Definition at line 614 of file carlsim_datastructures.h.

Constructor & Destructor Documentation

◆ TimingBasedCurve()

TimingBasedCurve ( float  _alphaPlus,
float  _tauPlus,
float  _alphaMinus,
float  _tauMinus,
float  _gamma 
)
inline

Definition at line 615 of file carlsim_datastructures.h.

Member Data Documentation

◆ alphaMinus

float alphaMinus

Definition at line 629 of file carlsim_datastructures.h.

◆ alphaPlus

float alphaPlus

Definition at line 627 of file carlsim_datastructures.h.

◆ gamma

float gamma

Definition at line 631 of file carlsim_datastructures.h.

◆ stdpCurve

STDPCurve stdpCurve

Definition at line 626 of file carlsim_datastructures.h.

◆ tauMinus

float tauMinus

Definition at line 630 of file carlsim_datastructures.h.

◆ tauPlus

float tauPlus

Definition at line 628 of file carlsim_datastructures.h.


The documentation for this struct was generated from the following file: