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=RandomState(Array((), dtype=key<fry>) overlaying: [ 216744582 1008666480])), y_initializer=Uniform(min_val=0, max_val=0.05, rng=RandomState(Array((), dtype=key<fry>) overlaying: [ 216744582 1008666480])), 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 (
Union[float,TypeVar(ArrayType,Array,Variable,TrainVar,Array,ndarray),Initializer,Callable]) – The noise mean of the \(x\) variable, [mV/ms]y_ou_mean (
Union[float,TypeVar(ArrayType,Array,Variable,TrainVar,Array,ndarray),Initializer,Callable]) – The noise mean of the \(y\) variable, [mV/ms].x_ou_sigma (
Union[float,TypeVar(ArrayType,Array,Variable,TrainVar,Array,ndarray),Initializer,Callable]) – The noise intensity of the \(x\) variable, [mV/ms/sqrt(ms)].y_ou_sigma (
Union[float,TypeVar(ArrayType,Array,Variable,TrainVar,Array,ndarray),Initializer,Callable]) – The noise intensity of the \(y\) variable, [mV/ms/sqrt(ms)].x_ou_tau (
Union[float,TypeVar(ArrayType,Array,Variable,TrainVar,Array,ndarray),Initializer,Callable]) – The timescale of the Ornstein-Uhlenbeck noise process of \(x\) variable, [ms].y_ou_tau (
Union[float,TypeVar(ArrayType,Array,Variable,TrainVar,Array,ndarray),Initializer,Callable]) – The timescale of the Ornstein-Uhlenbeck noise process of \(y\) variable, [ms].
References