I’m studying Nengo simulator and I have some doubts about the input current J: in order to understand how it works, I have realized a very simple network with one RS Izhikevich neuron connected with a
import numpy as np from scipy import signal import os import nengo model = nengo.Network() with model: #### INPUT #Square wave at 10 Hz stim_pre = nengo.Node(lambda t: 4*(signal.square(2 * np.pi * 10 * t, duty=0.5)+ 1)) #stim_pre = nengo.Node([.5]) ens = nengo.Ensemble(n_neurons=1, dimensions=1, neuron_type = nengo.Izhikevich()) nengo.Connection(stim_pre, ens.neurons) ### Probe spike_pre = nengo.Probe(ens.neurons) #Voltage pre_voltage = nengo.Probe(ens.neurons, 'voltage') #Stimuli prestim=nengo.Probe(stim_pre) with nengo.Simulator(model, dt = 0.001) as sim: sim.run(1) time=sim.trange()
I have assigned to the
nengo.Node different values:
- Constant value J = 8;
- Constant value J = 0.5;
- Square wave with amplitude J = 8;
I get some results that I cannot understand, as the attached figure shows: to understand what is going on, I have looked at the implementation of the neurons, considering that the voltage of the neurons has [mV] as order of magnitude.
dV = (0.04 * voltage ** 2 + 5 * voltage + 140 - recovery + J) * 1000
So, also the current J has some order of magnitude or I have misunderstood how the
nengo.Node works and how it provides current to the neuron?
In general, if I had n neurons inside the ensemble and I created this connection
nengo.Connection(input_node,ensemble) , each of them would receive the same current I have declared?
Thank you in advance, I hope you can help me.