To check out this repository please hg clone the following URL, or open the URL using EasyMercurial or your preferred Mercurial client.

The primary repository for this project is hosted at git://github.com/rmeddis/MAP.git .
This repository is a read-only copy which is updated automatically every hour.

Statistics Download as Zip
| Branch: | Revision:

root / Copy_of_multithreshold 1.46 / testSynapse.m @ 28:02aa9826efe0

History | View | Annotate | Download (2.42 KB)

1
function testSynapse
2
% testSynapse tracks the quantity of available transmitter vesicles
3
%  the computations are single channel using the first frequency
4
%  in the targetFrequency box of the expGUI.
5
% For, speed this function uses only probability and HSR fibers.
6
% This cannot be changed because of the way AN_IHCsynapse is coded.This).
7

    
8
global experiment  method IHCpreSynapseParams
9
global  AN_IHCsynapseParams  stimulusParameters
10
savePath=path;
11
addpath (['..' filesep 'utilities'],['..' filesep 'MAP'])
12

    
13
figure(6),clf
14
plotColors='rbgkrbgkrbgkrbgkrbgkrbgk';
15
set(gcf,'position',[5    32   264   243])
16

    
17
sampleRate=5e4; dt=1/sampleRate;
18

    
19
maskerLevels=-0:10:100;
20

    
21
BFlist=stimulusParameters.targetFrequency(1);
22
targetFrequency=stimulusParameters.targetFrequency;
23
targetFrequency=targetFrequency(1); % only one frequency used
24

    
25
showParams=0;
26
useEfferent=0;  % no efferent
27

    
28
silenceDuration=0.005;
29
silenceDuration=0.015;
30
maskerDuration=0.1;
31
recoveryDuration=0.15;
32
rampDuration=0.004;
33

    
34
maskerTime=dt:dt:maskerDuration;
35

    
36
rampTime=dt:dt:rampDuration;
37
ramp=[0.5*(1+cos(2*pi*rampTime/(2*rampDuration)+pi)) ...
38
    ones(1,length(maskerTime)-length(rampTime))];
39
ramp=ramp.*fliplr(ramp);
40

    
41
initialSilence=zeros(1,round(silenceDuration/dt));
42
recoverySilence=zeros(1,round(recoveryDuration/dt));
43

    
44
signal=sin(2*pi*targetFrequency'*maskerTime);
45
signal= ramp.*signal;
46
signal=[initialSilence signal  recoverySilence];
47

    
48
levelCount=0;
49
qtMatrix=[];
50
for leveldB=maskerLevels
51
    levelCount=levelCount+1;
52

    
53
    amp=28e-6*10^(leveldB/20);
54
    inputSignal=amp*signal;
55

    
56
    AN_spikesOrProbability='probability';
57
    MAPparamsName=experiment.name;
58
    showPlotsAndDetails=0;
59

    
60
    global savePavailable
61
   
62
        MAP1_14(inputSignal, 1/dt, targetFrequency, ...
63
            MAPparamsName, AN_spikesOrProbability);
64

    
65
    % ignore LSR channels (if any) at the top of the matrix
66
    qt=savePavailable(end, :);
67

    
68
    synapsedt=dt;
69
    time=synapsedt:synapsedt:synapsedt*length(qt);
70

    
71
    figure(6)
72
    qtMatrix=[qtMatrix; qt];
73
    plot(time,qt,  plotColors(levelCount))
74
    hold on
75
    xlim([0 max(time)])
76
    ylim([0 AN_IHCsynapseParams.M])
77
end
78

    
79
set(gcf,'name','pre-synaptic available transmitter')
80
title(['q - available vesicles:' num2str(BFlist) ' Hz'])
81
legend(strvcat(num2str(maskerLevels')),'location','southeast')
82
legend boxoff
83
grid on
84

    
85
figure(88), [c,H]=contour(time, maskerLevels,qtMatrix); clabel(c, H);
86
set(gcf,'position',[ 276    31   328   246])
87
xlabel('time'), ylabel('maskerLevels')
88

    
89
path(savePath);