2015-07-02 3 views
1

Я пытаюсь представить мерцающие стимулы 4 Гц в PsychToolbox в течение 5 секунд, затем тон в 500 Гц. Кто-нибудь имеет представление о том, как это сделать? Я использовал скорость обновления vbl или экрана, чтобы рассчитать частоту мерцания, но я не уверен, что я вообще на правильном пути. Я также не знаю, как представить слуховые стимулы в PTB (я уже пробовал звуковую функцию). Любая помощь очень ценится!Частоты мерцания в PTB

ответ

1

Я не уверен в звуковом представлении в PTB (я этого никогда не делал), но вы, кажется, на правильном пути для частоты мерцания. То, как я это делаю, это определить частоту обновления экрана, делить общую продолжительность времени, в течение которого вы хотите стимул, представленный этой частотой обновления (это даст вам количество кадров, которые будут нарисованы за это время), а затем счетчик кадров, который увеличивается на 1 после каждого переворота. Затем вы можете использовать этот счетчик кадров для включения или выключения команд.

минимальный пример (случайным образом изменяет цвет фона на 4 Гц в течение 5 секунд):

[w, wRect]=Screen('OpenWindow', 0); 
MaxTime = 5; %Set maximum time for all stimuli to be presented in seconds 
Hz = 4; %Set Hz for stimulus flicker 
Screen('Flip',w); 
Frametime=Screen('GetFlipInterval',w); %Find refresh rate in seconds 

FramesPerFull = round(5/Frametime); % Number of frames for all stimuli 
FramesPerStim = round((1/Hz)/Frametime); %Number of frames for each stimulus 

StartT = GetSecs; %Measure start time of session 
Framecounter = 0; %Frame counter begins at 0 
while 1 

    if Framecounter==FramesPerFull 
     break; %End session 
    end 

    if ~mod(Framecounter,FramesPerStim) 
     randomcolour = rand(1, 3)*255; %Change background stimulus colour 
    end 

    Screen('FillRect', w, randomcolour, wRect); 
    Screen('Flip',w); 

    Framecounter = Framecounter + 1; %Increase frame counter 
end 

EndT = GetSecs; %Measure end time of session 
Screen('CloseAll'); 

EndT - StartT %Shows full length of time all stimuli were presented 

точность синхронизации, будет зависеть от конкретной частоты обновления.

Надеюсь, это поможет!

Смежные вопросы