NetStim and rhythm generation

NMODL and the Channel Builder.
Post Reply
dperakis

NetStim and rhythm generation

Post by dperakis »

Together with user "Tsirogiannis" we have modified the NetStim code in order to use it as a cortex-rhythm generator.
When using the NetStim in order to produce a noisy input to a Network Model from several hundred neurons, there is no way to maintain a specific rhythm (i mean synchronization between all the input neurons around a specific frequency) because even a little noise will drive the input neurons in desynchronization over a very short period of time.
This problem is because of the additive character of the noise as presented in the NetStim .mod file.
We made the following changes:

Code: Select all

5c5 
<   ARTIFICIAL_CELL NetStim 
--- 
>   ARTIFICIAL_CELL Generator
7c7
<   RANGE noise
---
>   RANGE noise, t0, ispike, output
---
We added in the PARAMETER block:
>    t0 (ms)
>    output
---
We added in the INITIAL block:
>    output = 0
---
We added in the PROCEDURE init_sequence:
>    t0 = 0
---
Finally we changed the NETRECEIVE BLOCK with this one:

Code: Select all

NET_RECEIVE (w) {
	if (flag == 3) { : from INITIAL
		if (on == -1) { : but ignore if turned off by external event
			init_sequence(t)
			net_send(0, 1)
		}
	}
	if (flag ==2) {
		output = 0
	}
	if (flag == 1 && on == 1) {
		t0 = t - (ispike*interval+start)
		ispike = ispike + 1 
		output = 1
		net_send(dt,2)
		net_event(t)
		next_invl()
		if (on == 1) {
			if ((event-t0)>=0) {
				net_send(event-t0, 1)
			} else {
				net_send(event, 1)
			}
		}		
	}
}
I give two images.
The simulation is of 300 stimulator neurons for 1000 msec. The main frequency is 10 Hz and the noise is set to 0.1
The first is with the same paramaters but using the NetStim:
http://www.nikaia-church.gr/neolaia/Perakis/NetStim.JPG
The second is with Generator:
http://www.nikaia-church.gr/neolaia/Per ... erator.JPG
Wish it helps.
Dimitris
Post Reply