FeedbackFHN#

class brainpy.dyn.FeedbackFHN(size, keep_size=False, a=0.7, b=0.8, delay=10.0, tau=12.5, mu=1.6886, v0=-1, x_ou_mean=0.0, x_ou_sigma=0.0, x_ou_tau=5.0, y_ou_mean=0.0, y_ou_sigma=0.0, y_ou_tau=5.0, x_initializer=Uniform(min_val=0, max_val=0.05, rng=[ 479025946 4206239744]), y_initializer=Uniform(min_val=0, max_val=0.05, rng=[ 479025946 4206239744]), method='exp_auto', name=None, mode=None, input_var=True)[source]#

FitzHugh-Nagumo model with recurrent neural feedback.

The equation of the feedback FitzHugh-Nagumo model [4] is given by

\[\begin{split}\begin{aligned} \frac{dx}{dt} &= x(t) - \frac{x^3(t)}{3} - y(t) + \mu[x(t-\mathrm{delay}) - x_0] \\ \frac{dy}{dt} &= [x(t) + a - b y(t)] / \tau \end{aligned}\end{split}\]

Model Examples

>>> import brainpy as bp
>>> fhn = bp.rates.FeedbackFHN(1, delay=10.)
>>> runner = bp.DSRunner(fhn, inputs=('input', 1.), monitors=['x', 'y'])
>>> runner.run(100.)
>>> bp.visualize.line_plot(runner.mon.ts, runner.mon.y, legend='y')
>>> bp.visualize.line_plot(runner.mon.ts, runner.mon.x, legend='x', show=True)

Model Parameters

Parameter

Init Value

Unit

Explanation

a

1

Positive constant

b

1

Positive constant

tau

12.5

ms

Membrane time constant.

delay

10

ms

Synaptic delay time constant.

V_th

1.8

mV

Threshold potential of spike.

v0

-1

mV

Resting potential.

mu

1.8

The feedback strength. When positive, it is a excitatory feedback; when negative, it is a inhibitory feedback.

Parameters:
  • x_ou_mean (Parameter) – The noise mean of the \(x\) variable, [mV/ms]

  • y_ou_mean (Parameter) – The noise mean of the \(y\) variable, [mV/ms].

  • x_ou_sigma (Parameter) – The noise intensity of the \(x\) variable, [mV/ms/sqrt(ms)].

  • y_ou_sigma (Parameter) – The noise intensity of the \(y\) variable, [mV/ms/sqrt(ms)].

  • x_ou_tau (Parameter) – The timescale of the Ornstein-Uhlenbeck noise process of \(x\) variable, [ms].

  • y_ou_tau (Parameter) – The timescale of the Ornstein-Uhlenbeck noise process of \(y\) variable, [ms].

References

clear_input()[source]#

Empty function of clearing inputs.

reset_state(batch_or_mode=None, **kwargs)[source]#

Reset function which resets local states in this model.

Simply speaking, this function should implement the logic of resetting of local variables in this node.

See https://brainpy.readthedocs.io/en/latest/tutorial_toolbox/state_resetting.html for details.

update(inp_x=None, inp_y=None)[source]#

The function to specify the updating rule.