class brainpy.dyn.STP(size, keep_size=False, sharding=None, method='exp_auto', name=None, mode=None, U=0.15, tau_f=1500.0, tau_d=200.0)[source]#

Synaptic output with short-term plasticity.

This model filters the synaptic currents according to two variables: \(u\) and \(x\).

\[I_{syn}^+(t) = I_{syn}^-(t) * x * u\]

where \(I_{syn}^-(t)\) and \(I_{syn}^+(t)\) are the synaptic currents before and after STP filtering, \(x\) denotes the fraction of resources that remain available after neurotransmitter depletion, and \(u\) represents the fraction of available resources ready for use (release probability).

The dynamics of \(u\) and \(x\) are governed by

\[\begin{split}\begin{aligned} \frac{du}{dt} & = & -\frac{u}{\tau_f}+U(1-u^-)\delta(t-t_{sp}), \\ \frac{dx}{dt} & = & \frac{1-x}{\tau_d}-u^+x^-\delta(t-t_{sp}), \\ \end{aligned}\end{split}\]

where \(t_{sp}\) denotes the spike time and \(U\) is the increment of \(u\) produced by a spike. \(u^-, x^-\) are the corresponding variables just before the arrival of the spike, and \(u^+\) refers to the moment just after the spike.


The function to specify the updating rule.