Mercurial > hg > map
diff testPrograms/myConv.m @ 15:35af36fe0a35
dt error in MAP1_14 corrected
author | Ray Meddis <rmeddis@essex.ac.uk> |
---|---|
date | Mon, 06 Jun 2011 09:11:29 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/testPrograms/myConv.m Mon Jun 06 09:11:29 2011 +0100 @@ -0,0 +1,43 @@ +signalDuration=.1; +spikeTime= signalDuration/2; +for sampleRate=[1000 2000]; + disp(['sample rate= ' num2str(sampleRate)]) + +%% testing convolution speculation +dt= 1/sampleRate; +signalLength=round(signalDuration/dt); +spikeArray=zeros(1,signalLength); +spikeLocation=round(spikeTime/dt); +spikeArray(spikeLocation)=1; +disp(['length of spike array= ' num2str(length(spikeArray))]) +t=dt*(1:length(spikeArray)); +plot(t, spikeArray) + +%% convolution function +CNspikeToCurrentTau=0.01; +t=dt:dt:3*CNspikeToCurrentTau; +CNalphaFunction=... + (1/CNspikeToCurrentTau)*t.*exp(-t/CNspikeToCurrentTau); + +plot(t, CNalphaFunction) + +%% normalise conv function +CNalphaFunction=CNalphaFunction/sum(CNalphaFunction); +plot(t, CNalphaFunction) +disp(['area under function= ' num2str(sum(CNalphaFunction))]) + +%% adjust for spike current +CNcurrentPerSpike=2; +CNalphaFunction=CNalphaFunction*CNcurrentPerSpike; +plot(t, CNalphaFunction) + +%% convolution +result=conv(spikeArray,CNalphaFunction); +t=dt*(1:length(result)); +plot(t, result) +disp(['area under function= ' num2str(sum(result))]) + +end + + +