How do I sync my stimulus presentation software with my data acquisition software?
There are three areas of concern that must be considered in deciding the best way to synchronize stimulation/recording.
- Experimental need—the precision with which the timing of stimulus delivery events must be known with respect to the timing of recorded responses.
- Subject safety.
- Capabilities of the stimulus delivery system.
Precision: Some physiological variables change slowly, and it may be good enough to identify the time of stimulus presentation to within one second of the actual event. Other types of physiological response may be small, punctate, and may occur with little variation in latency. In such cases, not being able to determine stimulus delivery times to the nearest millisecond may result in unacceptable smearing of the measured response.
Safety: The recording of electrical signals from human subjects requires low impedance connections to the subject (the purpose of electrodes). It is imperative that the lead wires never be exposed to power line voltages as otherwise subjects could be severely injured. BIOPAC Systems’ electrophysiological recording equipment is designed to protect against such exposure even if equipment malfunctions. Electrically-powered equipment (e.g., computers used for stimulus generation) is not generally designed this way. Therefore any connections made to our system must be properly isolated from power lines.
Capabilities: Stimulus presentation in the 21st century is usually carried out via computers. The software used for stimulus generation will at least partially determine the means of synchronization. As distributors of E-Prime® and SuperLab, we have ready-made solutions for these two software packages.
For slowly varying signals, it may be sufficient to utilize timestamps generated by the stimulus presentation and data acquisition computers. When using AcqKnowledge, a timestamp can be added as the label of an event mark every time that the “Start” button is clicked. In version 3.9 and earlier, this timestamp was added automatically. In later versions a graph file can be configured to have each append mark include a time stamp. To do this, choose “MP150 > Set Up Segment Labels…”, or, in version 4.4, choose “MP150 > Set Up Data Acquisition…” and click “Segment Labels” in the pane on the left.
In AcqKnowledge 4.4.2 and later, the timestamp is included in the tooltip displayed by hovering the mouse over the first Append event mark. If the stimulus presentation software similarly has a mechanism for noting the time at which program execution (or events during run time) occur, then timestamps in the two programs may be compared during post data acquisition analysis.
Generally, however, it is better to have a record of stimulus delivery events incorporated into the data file. If tight precision is not required, then methods involving direct human intervention may be considered. AcqKnowledge has the capability of inserting event marks when a subject or experimenter presses a function key on the keyboard of the computer running AcqKnowledge. The experimenter may press a key each time an event of a particular type occurs. Similarly, it is possible to connect a hand or foot switch to the UIM100C. These switches may be connected to digital channels in the MP system such that the state of the switch (open or closed) is recorded during the entire experiment. The subject or experimenter could close the switch each time an event of a particular type occurs.
Most Windows versions of AcqKnowledge include a “Media” menu. Through this menu, experimenters may synchronize data acquisition to video capture on the computer running AcqKnowledge. With a camera recording the subject or something the subject is viewing, the resulting video file will be linked to the data such that scrolling through the video will move the cursor in the graph window, or moving the cursor in the graph window will cause the video to scroll. For accurate synchronization, there should be a common signal that can be used to adjust the relative timing of the two information streams. The OUT103 is recommended for this purpose as its illumination may be controlled and recorded by the MP Research System. The digital trace showing the control of the LED may be compared to the video record of the device’s on/off state.
The most precise form of synchronization is obtained via digital communication from the computer running the stimulus presentation software. These digital signals may be brought in directly through the UIM100C, but for safety reasons an STP100C is typically the preferred option. When stimulus presentation is performed with…
- E-Prime: the computer running E-Prime® should have a parallel port or parallel port adapter; recommendations for computers lacking a native parallel port may be found on PST’s web pages—please note, this is NOT a BIOPAC support issue.
- SuperLab: a DIO24 card or the StimTracker may be used.
- Other stimulus presentation software may have similar capabilities to that of SuperLab or E-Prime®.
- Options should be determined via consultation with the developers of the stimulus presentation software—please note, this is NOT a BIOPAC support issue.
- Some software – notably MATLAB – may be very flexible, but as such may not have any specific capability.
- Software and instructions for controlling a parallel port in MATLAB can be found here. Please note that this link is for 64-bit MATLAB running on a 64-bit version of Windows. If your operating system or MATLAB version are 32-bit, follow the relevant links at the top of that page.
- Methods for generating timing signals via the user-developed Psychophysics Toolbox for MATLAB is the subject of a FAQ on the PsychToolbox wiki page.
- Digital signal output is also a frequent topic on the Psychophysics Toolbox forum.
The eight bits sent as data from, for instance, a computer parallel port, correspond to the upper eight digital channels in AcqKnowledge. If all eight (i.e., digital channels 8-15) are recorded, then AcqKnowledge will register a change any time there is a change in the number sent through that parallel port. Since that number is eight bits, allowable values range from 0-255: send a 0 and all upper digital channels in AcqKnowledge should report zero; send 255 and all eight channels should report the high state (i.e., “5”).
See also: Interface with Visual Presentation Programs, related Knowledge Base article.