Time steps of SNN and brian2 time emulation

Description of problem

Dear Brian community,
I am simulating an SNN with an input , single hidden and output layers. I’d like to ask if the time printed by the brian2 simulator (for example the x-axis of the raster plot that shows the spiking activity ) is related to the time step of the neural network or a time simulation for any neuromorphic based system/circuit / approach.
P.S: I defined each time step of the input array as 1ms using the TimedArray function.
Thank you.
Best regards,

So there are different time steps here. You have the simulation time step that you can set via defaultclock.dt and tells Brian2 what time resolution you want for your simulation. The objects in your simulation, including the monitors that record spiking activity, operate with the same time step by default, but you can set a different time step for them. For example, check Setting the simulation time step, where they set defaultclock.dt = 0.05*ms but define a monitor with coarser dt: s_mon = StateMonitor(group, 'v', record=True, dt=1*ms). This is very useful when you’re running a long simulation and don’t have a lot of RAM available because now your monitor only records at multiples of 1ms whereas the other objects do whatever they have to do every 0.05ms.

Now for TimedArrays, dt here indicates the time interval between the values of the array provided. So TimedArray([1, 2, 3, 4], dt=10*ms) will give you 10ms of 1, followed by 10ms of 2, and so on. I hope that makes sense.

2 Likes

Super!.
Thank you so much,