Revision 31:c54a34161e4a multithreshold 1.46/paradigms/reserve team
| multithreshold 1.46/paradigms/reserve team/OHIOthresholds.m | ||
|---|---|---|
| 1 |
function experiment=OHIOthresholds(experiment) |
|
| 2 |
|
|
| 3 |
experiment.OHIOfrequencies=[494, 663, 870, 1125, 1442, 1838, 2338, 2957, 3725, 4680, 5866, 7334]; %Hz. |
|
| 4 |
% User must specify abs thresholds (dB SPL) of each tone frequency |
|
| 5 |
experiment.OHIOthresholds= [ |
|
| 6 |
9.1 8.6 8.1 7.9 9.8 10.5 13.5 15.0 17.4 19.4 22.6 25.2 |
|
| 7 |
]; |
|
| multithreshold 1.46/paradigms/reserve team/paradigm_OHIOabs.m | ||
|---|---|---|
| 1 |
function paradigm_OHIOabs(handles) |
|
| 2 |
global stimulusParameters experiment betweenRuns |
|
| 3 |
|
|
| 4 |
paradigm_training(handles) % default |
|
| 5 |
|
|
| 6 |
% find the threshold for a tonecomplex consisting of a sequence of 10-ms tones |
|
| 7 |
% whose frequencies are chosen at random from a list (OHIOfrequencies) |
|
| 8 |
% All tones are presented at the same level (SL) computed using absolute |
|
| 9 |
% threshols specified in OHIOthresholds; |
|
| 10 |
% The duration of the complex is increased across runs and the number of tones is |
|
| 11 |
% controlled by OHIOdurations, (for each 20 ms a further tone is added. |
|
| 12 |
% The frequency of the tones is changed on each trial |
|
| 13 |
|
|
| 14 |
experiment.OHIOfrequencies=[494, 663, 870, 1125, 1442, 1838, 2338, 2957, 3725, 4680, 5866, 7334]; %Hz. |
|
| 15 |
% User must specify abs thresholds (dB SPL) of each tone frequency |
|
| 16 |
% experiment.OHIOthresholds= [18 16 16 19 20 22 24 26 27 30 32 35]; |
|
| 17 |
|
|
| 18 |
% assessment method |
|
| 19 |
% {'oneIntervalUpDown', 'MaxLikelihood', '2I2AFC++', '2I2AFC+++'}
|
|
| 20 |
experiment.threshEstMethod='oneIntervalUpDown'; |
|
| 21 |
% {'cued', 'noCue'};
|
|
| 22 |
|
|
| 23 |
stimulusParameters.WRVname='targetLevel'; |
|
| 24 |
stimulusParameters.WRVstartValues=20 ; |
|
| 25 |
stimulusParameters.WRVsteps=[10 2]; |
|
| 26 |
stimulusParameters.WRVlimits=[-30 110]; |
|
| 27 |
|
|
| 28 |
betweenRuns.variableName1='numOHIOtones'; |
|
| 29 |
betweenRuns.variableList1= 1:12; % i.e. the frequency to be used |
|
| 30 |
betweenRuns.variableName2='stimulusDelay'; |
|
| 31 |
betweenRuns.variableList2=0.05; |
|
| 32 |
betweenRuns.randomizeSequence=2; % not random sequence |
|
| 33 |
|
|
| 34 |
stimulusParameters.targetType='OHIO'; |
|
| 35 |
stimulusParameters.targetPhase='sin'; |
|
| 36 |
stimulusParameters.targetFrequency=experiment.OHIOfrequencies; |
|
| 37 |
stimulusParameters.targetDuration=0.01; % overruled by OHIO program |
|
| 38 |
stimulusParameters.targetLevel=stimulusParameters.WRVstartValues(1); |
|
| 39 |
|
|
| 40 |
stimulusParameters.rampDuration=0.005; |
|
| 41 |
|
|
| 42 |
% instructions to user |
|
| 43 |
% single interval up/down no cue |
|
| 44 |
stimulusParameters.instructions{1}= [{'YES if you hear the tone clearly'}, { }, { 'NO if not (or you are uncertain'}];
|
|
| 45 |
% single interval up/down with cue |
|
| 46 |
stimulusParameters.instructions{2}= [{'count the tones you hear clearly'}, { }, { 'ignore indistinct tones'}];
|
|
| 47 |
|
|
| multithreshold 1.46/paradigms/reserve team/paradigm_OHIOrand.m | ||
|---|---|---|
| 1 |
function paradigm_OHIOrand(handles) |
|
| 2 |
global stimulusParameters experiment betweenRuns |
|
| 3 |
|
|
| 4 |
paradigm_training(handles) % default |
|
| 5 |
|
|
| 6 |
% find the threshold for a tonecomplex consisting of a sequence of 10-ms tones |
|
| 7 |
% whose frequencies are chosen at random from a list (OHIOfrequencies) |
|
| 8 |
% All tones are presented at the same level (SL) computed using absolute |
|
| 9 |
% threshols specified in OHIOthresholds; |
|
| 10 |
% The duration of the complex is increased across runs and the number of tones is |
|
| 11 |
% controlled by OHIOdurations, (for each 20 ms a further tone is added. |
|
| 12 |
% The frequency of the tones is changed on each trial |
|
| 13 |
|
|
| 14 |
% fetch thresholds and frequencies |
|
| 15 |
experiment=OHIOthresholds(experiment); |
|
| 16 |
|
|
| 17 |
stimulusParameters.WRVname='targetLevel'; |
|
| 18 |
stimulusParameters.WRVstartValues=0 ; |
|
| 19 |
stimulusParameters.WRVsteps=[10 2]; |
|
| 20 |
stimulusParameters.WRVlimits=[-30 110]; |
|
| 21 |
|
|
| 22 |
betweenRuns.variableName1='numOHIOtones'; |
|
| 23 |
betweenRuns.variableList1= [1 2 4 8 12]; |
|
| 24 |
betweenRuns.variableName2='stimulusDelay'; |
|
| 25 |
betweenRuns.variableList2=0.1; |
|
| 26 |
betweenRuns.randomizeSequence=2; % not random sequence |
|
| 27 |
|
|
| 28 |
stimulusParameters.targetType='OHIO'; |
|
| 29 |
stimulusParameters.targetPhase='sin'; |
|
| 30 |
stimulusParameters.targetFrequency=experiment.OHIOfrequencies; |
|
| 31 |
stimulusParameters.targetDuration=betweenRuns.variableList2; |
|
| 32 |
stimulusParameters.targetLevel=stimulusParameters.WRVstartValues(1); |
|
| 33 |
|
|
| 34 |
stimulusParameters.rampDuration=0.005; |
|
| 35 |
|
|
| 36 |
% instructions to user |
|
| 37 |
% single interval up/down no cue |
|
| 38 |
stimulusParameters.instructions{1}= [{'YES if you hear the tone clearly'}, { }, { 'NO if not (or you are uncertain'}];
|
|
| 39 |
% single interval up/down with cue |
|
| 40 |
stimulusParameters.instructions{2}= [{'count the tones you hear clearly'}, { }, { 'ignore indistinct tones'}];
|
|
| 41 |
|
|
| multithreshold 1.46/paradigms/reserve team/paradigm_OHIOspect.m | ||
|---|---|---|
| 1 |
function paradigm_OHIOspect(handles) |
|
| 2 |
global stimulusParameters experiment betweenRuns |
|
| 3 |
|
|
| 4 |
paradigm_training(handles) % default |
|
| 5 |
|
|
| 6 |
% find the threshold for a tonecomplex consisting of a sequence of 10-ms tones |
|
| 7 |
% whose frequencies are chosen at random from a list (OHIOfrequencies) |
|
| 8 |
% All tones are presented at the same level (SL) computed using absolute |
|
| 9 |
% threshols specified in OHIOthresholds; |
|
| 10 |
% The duration of the complex is increased across runs and the number of tones is |
|
| 11 |
% controlled by OHIOdurations, (for each 20 ms a further tone is added. |
|
| 12 |
% The frequency of the tones is changed on each trial |
|
| 13 |
|
|
| 14 |
% fetch thresholds and frequencies |
|
| 15 |
experiment=OHIOthresholds(experiment); |
|
| 16 |
|
|
| 17 |
stimulusParameters.WRVname='targetLevel'; |
|
| 18 |
stimulusParameters.WRVstartValues=0 ; |
|
| 19 |
stimulusParameters.WRVsteps=[10 2]; |
|
| 20 |
stimulusParameters.WRVlimits=[-30 110]; |
|
| 21 |
|
|
| 22 |
betweenRuns.variableName1='numOHIOtones'; |
|
| 23 |
betweenRuns.variableList1= [1 2 4 8 12]; |
|
| 24 |
betweenRuns.variableName2='stimulusDelay'; |
|
| 25 |
betweenRuns.variableList2=0.1; |
|
| 26 |
betweenRuns.randomizeSequence=2; % not random sequence |
|
| 27 |
|
|
| 28 |
stimulusParameters.targetType='OHIO'; |
|
| 29 |
stimulusParameters.targetPhase='sin'; |
|
| 30 |
stimulusParameters.targetFrequency=experiment.OHIOfrequencies; |
|
| 31 |
stimulusParameters.targetDuration=betweenRuns.variableList2; |
|
| 32 |
stimulusParameters.targetLevel=stimulusParameters.WRVstartValues(1); |
|
| 33 |
|
|
| 34 |
stimulusParameters.rampDuration=0.005; |
|
| 35 |
|
|
| 36 |
% instructions to user |
|
| 37 |
% single interval up/down no cue |
|
| 38 |
stimulusParameters.instructions{1}= [{'YES if you hear the tone clearly'}, { }, { 'NO if not (or you are uncertain'}];
|
|
| 39 |
% single interval up/down with cue |
|
| 40 |
stimulusParameters.instructions{2}= [{'count the tones you hear clearly'}, { }, { 'ignore indistinct tones'}];
|
|
| 41 |
|
|
| multithreshold 1.46/paradigms/reserve team/paradigm_OHIOspectemp.m | ||
|---|---|---|
| 1 |
function paradigm_OHIOspectemp(handles) |
|
| 2 |
global stimulusParameters experiment betweenRuns |
|
| 3 |
|
|
| 4 |
paradigm_training(handles) % default |
|
| 5 |
|
|
| 6 |
% find the threshold for a tonecomplex consisting of a sequence of 10-ms tones |
|
| 7 |
% whose frequencies are chosen at random from a list (OHIOfrequencies) |
|
| 8 |
% All tones are presented at the same level (SL) computed using absolute |
|
| 9 |
% threshols specified in OHIOthresholds; |
|
| 10 |
% The duration of the complex is increased across runs and the number of tones is |
|
| 11 |
% controlled by OHIOdurations, (for each 20 ms a further tone is added. |
|
| 12 |
% The frequency of the tones is changed on each trial |
|
| 13 |
|
|
| 14 |
% fetch thresholds and frequencies |
|
| 15 |
experiment=OHIOthresholds(experiment); |
|
| 16 |
|
|
| 17 |
stimulusParameters.WRVname='targetLevel'; |
|
| 18 |
stimulusParameters.WRVstartValues=0 ; |
|
| 19 |
stimulusParameters.WRVsteps=[10 2]; |
|
| 20 |
stimulusParameters.WRVlimits=[-30 110]; |
|
| 21 |
|
|
| 22 |
betweenRuns.variableName1='numOHIOtones'; |
|
| 23 |
betweenRuns.variableList1= [1 2 4 8 12]; |
|
| 24 |
betweenRuns.variableName2='stimulusDelay'; |
|
| 25 |
betweenRuns.variableList2=0.1; |
|
| 26 |
betweenRuns.randomizeSequence=2; % not random sequence |
|
| 27 |
|
|
| 28 |
stimulusParameters.targetType='OHIO'; |
|
| 29 |
stimulusParameters.targetPhase='sin'; |
|
| 30 |
stimulusParameters.targetFrequency=experiment.OHIOfrequencies; |
|
| 31 |
stimulusParameters.targetDuration=betweenRuns.variableList2; |
|
| 32 |
stimulusParameters.targetLevel=stimulusParameters.WRVstartValues(1); |
|
| 33 |
|
|
| 34 |
stimulusParameters.rampDuration=0.005; |
|
| 35 |
|
|
| 36 |
% instructions to user |
|
| 37 |
% single interval up/down no cue |
|
| 38 |
stimulusParameters.instructions{1}= [{'YES if you hear the tone clearly'}, { }, { 'NO if not (or you are uncertain'}];
|
|
| 39 |
% single interval up/down with cue |
|
| 40 |
stimulusParameters.instructions{2}= [{'count the tones you hear clearly'}, { }, { 'ignore indistinct tones'}];
|
|
| multithreshold 1.46/paradigms/reserve team/paradigm_OHIOtemp.m | ||
|---|---|---|
| 1 |
function paradigm_OHIOtemp(handles) |
|
| 2 |
global stimulusParameters experiment betweenRuns |
|
| 3 |
|
|
| 4 |
paradigm_training(handles) % default |
|
| 5 |
|
|
| 6 |
% find the threshold for a tonecomplex consisting of a sequence of 10-ms tones |
|
| 7 |
% whose frequencies are chosen at random from a list (OHIOfrequencies) |
|
| 8 |
% All tones are presented at the same level (SL) computed using absolute |
|
| 9 |
% threshols specified in OHIOthresholds; |
|
| 10 |
% The duration of the complex is increased across runs and the number of tones is |
|
| 11 |
% controlled by OHIOdurations, (for each 20 ms a further tone is added. |
|
| 12 |
% The frequency of the tones is changed on each trial |
|
| 13 |
|
|
| 14 |
% fetch thresholds and frequencies |
|
| 15 |
experiment=OHIOthresholds(experiment); |
|
| 16 |
|
|
| 17 |
stimulusParameters.WRVname='targetLevel'; |
|
| 18 |
stimulusParameters.WRVstartValues=0 ; |
|
| 19 |
stimulusParameters.WRVsteps=[10 2]; |
|
| 20 |
stimulusParameters.WRVlimits=[-30 110]; |
|
| 21 |
% target variable: slope=1, start going down. |
|
| 22 |
stimulusParameters.cueTestDifference=10; |
|
| 23 |
experiment.psyFunSlope= 1; |
|
| 24 |
withinRuns.direction='down'; |
|
| 25 |
|
|
| 26 |
betweenRuns.variableName1='numOHIOtones'; |
|
| 27 |
betweenRuns.variableList1= [1 2 4 8 12]; |
|
| 28 |
betweenRuns.variableName2='stimulusDelay'; |
|
| 29 |
betweenRuns.variableList2=0.1; |
|
| 30 |
betweenRuns.randomizeSequence=2; % not random sequence |
|
| 31 |
|
|
| 32 |
stimulusParameters.targetType='OHIO'; |
|
| 33 |
stimulusParameters.targetPhase='sin'; |
|
| 34 |
stimulusParameters.targetFrequency=experiment.OHIOfrequencies; |
|
| 35 |
stimulusParameters.targetDuration=betweenRuns.variableList2; |
|
| 36 |
stimulusParameters.targetLevel=stimulusParameters.WRVstartValues(1); |
|
| 37 |
|
|
| 38 |
stimulusParameters.rampDuration=0.005; |
|
| 39 |
|
|
| 40 |
% instructions to user |
|
| 41 |
% single interval up/down no cue |
|
| 42 |
stimulusParameters.instructions{1}= [{'YES if you hear the tone clearly'}, { }, { 'NO if not (or you are uncertain'}];
|
|
| 43 |
% single interval up/down with cue |
|
| 44 |
stimulusParameters.instructions{2}= [{'count the tones you hear clearly'}, { }, { 'ignore indistinct tones'}];
|
|
Also available in: Unified diff