Re: Solutions for sending triggers in an AEP (EEG) experiment? (Andreas Widmann )

Subject: Re: Solutions for sending triggers in an AEP (EEG) experiment?
From:    Andreas Widmann  <widmann@xxxxxxxx>
Date:    Sat, 6 Sep 2008 19:01:51 +0200

Dear Daniel and list, > parallel port for this. But I'm afraid it is impossible to synchronize > the parallel port to audio under Windows XP... No, it's not impossible, we have a setup working reliably and fairly accurate: Triggering is done with this solution via parallel port: With a careful system setup (no network, no virus scanner, only absolutely required services etc.) we achieve sub-millisecond accuracy in the range of tens to low hundreds of microseconds (latency and jitter) with triggering. AFAIR Eric Flister has done a lot of testing reported back to the Psychtoolbox list. Sound is much more difficult with XP and MATLAB: The MATLAB builtin sound architecture is a nightmare with respect to timing. In our lab we use the DirectSound implementation provided by Cogent ( We have best experience with with some older onboard AC'97 codecs providing (for sure not the best dynamic range and SNR but) excellent timing, with sub-millisecond jitter and latency in very low millisecond range. I have very bad experience with any tested newer HD audio codec based on the Microsoft HDA sound architecture (usually latency > 30 ms and jitter > 5 ms) and some external USB and firewire sound cards (providing excellent SNR and good latencies and jitter but not working well under high CPU loads). ASIO sound cards driven by Psychtoolbox's Psychportaudio are supposed to work well, too. Altogether we get clearly sub-millisecond jitter with no observable major outliers and very low millisecond (1-2) latency between sound onset and trigger (as measured by our oscilloscope). This should be ok for EEG sampling rates up to 1 kHz. If you do not like this solution, you might want to consider the solution used in CBRU in former days: They fed the trigger from the soundcard (or parallel port) via some small circuitry in one of the EEG channels (and not the parallel port interface). This way the could encode and decode at least 255 different levels converted back to triggers with their respective onsets during the analysis. Good luck! Andreas Daniel Oberfeld schrieb: > Dear list, > > I would like to know whether anyone here knows a 'better' method for > synchronizing acoustic stimulation and EEG recordings, more > specifically, for sending triggers accurately time-locked to the audio > signal to a multi-channel EEG system. > > We use a NeuroScan SynAmps system (32 channels) for recording auditory > evoked potentials (AEPs). > > As we have a MATLAB-based stimulus generation system, we currently use a > very simple triggering scheme. On one channel of our soundcard we create > a short 10 kHz tone burst coinciding with the onset of the auditory > event, and use a small circuit to convert this tone burst to a TTL > pulse, which is then sent to one pin of the parallel-port-like trigger > input of our EEG system. > > This way we achieve submillisecond synchronicity between trigger and > sound, but we have only *one single* trigger code appearing in the EEG data. > > Thus, some rather complex post-processing is needed to tell the EEG > analysis software which trigger event corresponded to which experimental > condition... > > In principle, the NeuroScan system could receive an 8-bit trigger > allowing to code 256 different events. So it is tempting to use the > parallel port for this. But I'm afraid it is impossible to synchronize > the parallel port to audio under Windows XP... > > Thus, my question is whether someone knows (and/or uses) a solution to > this problem? > > One way to do this would be via a "latched" type of "trigger box": > 1) From Matlab, the parallel port is set to a specific code prior to > sound generation (i.e., before the trial starts) > 2) The trigger box sits between the parport and the EEG system > 3) The trigger code is routed to the EEG system only when an audio > trigger (like the one we use currently) is received by the "trigger box". > This would allow sending time-locked 8-bit trigger events. And it should > be possible to construct such a box using some standard components like > 74HC75. > > So did anyone ever come across such a device, either commercially > available or custom-made? > Or maybe there are also different solutions which I have not thought > about yet...? > > All the best, > > Daniel >

This message came from the mail archive
maintained by:
DAn Ellis <>
Electrical Engineering Dept., Columbia University