我试图在 PsychToolbox 中呈现 4Hz 闪烁刺激 5 秒,然后是 500Hz 音调。有谁知道如何做到这一点?我一直在使用 vbl 或屏幕刷新率来计算闪烁频率,但我不确定我是否在正确的轨道上。我也不知道如何在 PTB 中呈现听觉刺激(我已经尝试过声音功能)。任何帮助是极大的赞赏!
问问题
1365 次
1 回答
1
我不确定 PTB 中的声音呈现(我从来没有做过),但你似乎在闪烁频率的正确轨道上。我这样做的方法是确定屏幕刷新率,除以你想要这个刷新率呈现的刺激的总时间长度(这会给你在这段时间内将要绘制的帧数),然后有一个每次翻转后增加 1 的帧计数器。然后,您可以使用此帧计数器来打开或关闭命令。
一个最小的例子(以 4Hz 随机改变背景颜色 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
计时精度将取决于您的特定刷新率。
希望这可以帮助!
于 2015-08-07T10:12:51.230 回答