Possible timing problem


My lab has been using Superlab connected to a Biopac MP-150 data acquisition system to run an oddball ERP study where participants press a button in response to an auditory stimulus. The way our Superlab experiment is set up, for each trial, a digital pulse is generated and then the stimulus is supposed to be played 25 ms later. However, when we look at the digital pulses recorded by the MP-150, the time between each pulse varies from trial to trial. Our concern is that there may be some variation in the delay between the pulse and the stimulus presentation within trials that would make it impossible for us to know exactly when the stimuli were presented. Is there any way for us to find out whether the time between the digital pulse and the stimulus presentation is being delayed or varying from trial to trial? The experiment is attached.

I’ve been trying to find out why this delay is happening, and one thing I noticed is that, when I ran this experiment and checked the Task Manager, the CPU usage was up around 95-99%. The computer that is running Superlab is a Dell Inspiron laptop with an Intel Core 2 Duo 2 GHz processor and 2 GB of RAM. The computer has Windows Vista and our version of Superlab is 4.0.7b. I read in another post that audio files tend to take more processing power – is it possible that our computer just isn’t up to the hardware requirements of this kind of task?


3.oddball_new.sl4 (65.1 KB)

Your Inspiron is more than adequate for presenting sound.

You didn’t mention how the digital pulses are being sent, but I’m guessing that it’s probably using a Measurement Computing I/O device. Regardless, Windows (and Mac OS) requires that all I/O devices use a piece of software called device driver, and delays are usually due to that driver, especially if it is a USB-based device. Is your Measurement Computing I/O device USB-based?

I should also mention that these delays are one of the reasons why we developed StimTracker. It has the ability to monitor the onset of sound and send an event marker to Biopac automatically and instantly, without any delays due to computer software. See this page on how this would work.

Yes, we’re using a Measurement Computing USB-DIO24. I don’t know if this makes a difference, but the output device that’s selected in Superlab is Measurement Computing PCI-DIO24. I don’t see an option in Superlab for selecting the USB version of the device.

Do you know if there’s any way for us to know whether the delay between the digital pulse and the stimulus presentation is varying from trial to trial? The reason I ask is that we have already collected data for over 350 participants and if the delay between pulse and stimulus varies, then our ERP data is useless.

From my experience, all I/O device drivers introduce a delay. However, for PCI and PCMCIA cards, that delay tends to be fixed, whereas it varies for USB-based devices due to the need for buffering.

As a first step, I suggest that you try to run some tests to get an estimate of the range of delay so that you can see what can be done to salvage the data already collected.

Do you have some suggestions for what kind of tests we should run? I can’t really think of a way to approximate the delay within trials.

I can’t really think of a way other than using a light sensor on the screen and sending pulses out, then measuring the variance. To complicate matters, you’d really need to use a CRT monitor, not an LCD one.