Contents
rmeddis@15:
rmeddis@15:
-
rmeddis@15:
- testing convolution speculation rmeddis@15:
- convolution function rmeddis@15:
- normalise conv function rmeddis@15:
- adjust for spike current rmeddis@15:
- convolution rmeddis@15:
signalDuration=.1;
rmeddis@15: spikeTime= signalDuration/2;
rmeddis@15: for sampleRate=[1000 2000];
rmeddis@15:
disp(['sample rate= ' num2str(sampleRate)])
rmeddis@15:
sample rate= 1000 rmeddis@15:
sample rate= 2000 rmeddis@15:
testing convolution speculation
dt= 1/sampleRate;
rmeddis@15: signalLength=round(signalDuration/dt);
rmeddis@15: spikeArray=zeros(1,signalLength);
rmeddis@15: spikeLocation=round(spikeTime/dt);
rmeddis@15: spikeArray(spikeLocation)=1;
rmeddis@15: disp(['length of spike array= ' num2str(length(spikeArray))])
rmeddis@15: t=dt*(1:length(spikeArray));
rmeddis@15: plot(t, spikeArray)
rmeddis@15:
length of spike array= 100 rmeddis@15:

length of spike array= 200 rmeddis@15:

convolution function
CNspikeToCurrentTau=0.01;
rmeddis@15: t=dt:dt:3*CNspikeToCurrentTau;
rmeddis@15: CNalphaFunction=...
rmeddis@15: (1/CNspikeToCurrentTau)*t.*exp(-t/CNspikeToCurrentTau);
rmeddis@15:
rmeddis@15: plot(t, CNalphaFunction)
rmeddis@15:


normalise conv function
CNalphaFunction=CNalphaFunction/sum(CNalphaFunction);
rmeddis@15: plot(t, CNalphaFunction)
rmeddis@15: disp(['area under function= ' num2str(sum(CNalphaFunction))])
rmeddis@15:
area under function= 1 rmeddis@15:

area under function= 1 rmeddis@15:

adjust for spike current
CNcurrentPerSpike=2; rmeddis@15: CNalphaFunction=CNalphaFunction*CNcurrentPerSpike; rmeddis@15: plot(t, CNalphaFunction) rmeddis@15:


convolution
result=conv(spikeArray,CNalphaFunction);
rmeddis@15: t=dt*(1:length(result));
rmeddis@15: plot(t, result)
rmeddis@15: disp(['area under function= ' num2str(sum(result))])
rmeddis@15:
area under function= 2 rmeddis@15:

area under function= 2 rmeddis@15:

end
rmeddis@15:
rmeddis@15: