Irregular block duration with actiChamp BrainVsion

This forum deals with BCI2000 configuration issues.
Locked
caranico
Posts: 7
Joined: 11 Oct 2011, 04:33

Irregular block duration with actiChamp BrainVsion

Post by caranico » 15 Oct 2012, 12:10

Hi everyone!
I've a problem with BCI2000 and actiChamp amplifier.
The problem is very similar to this one:http://www.bci2000.org/phpbb/viewtopic.php?f=5&t=1278
I use the RDAClient as Source module and StimulusPresentation as application module.
I make some records with windows 7 and analyzing offline the SourceTime state i notice irregular time block acquisition (also Timing window show the problem during the acquisition).
In this way i suppose that some sample are missed (for example when the interval between one acquisition block and the other appears to be 70ms ) and some sample are duplicated (for example when the interval between one acquisition block ant the other appears to be 8ms)
If i use windowsXP the acquisition stops (DataIOFilter::EvaluateTiming: Roundtrip time consistently exceeds block duration).
Has anyone of you the same problem? any ideas for solving the problem?

mellinger
Posts: 1341
Joined: 12 Feb 2003, 11:06

Re: Irregular block duration with actiChamp BrainVsion

Post by mellinger » 24 Oct 2012, 13:42

Hi,

BCI2000 will never duplicate samples. It may be that samples are lost in case of buffer overflow on the RDAServer side, however.

In your case, it appears that on Windows 7 the BrainVision Recorder releases its packets in irregular intervals. This way, a 70ms interval is made up for by the following 10ms interval. On average, packet duration is still 40ms, so no data is lost, and no data is duplicated.

Regarding your observations on Windows XP, it might be that the EvaluateTiming error is due to poor system performance, e.g. due inappropriate graphics drivers.

To further determine the cause of your problem, try running BCI2000 in the SignalGenerator configuration, but with identical parameters. If you still get irregular timing, then it is due to poor performance/high demand in your configuration.

If timing is regular in the SignalGenerator configuration, then the problem is due to bad timing behavior of the BrainVision Recorder, and you would need to contact BrainProducts support in order to get help to fix it.

Best regards,
Juergen

caranico
Posts: 7
Joined: 11 Oct 2011, 04:33

Re: Irregular block duration with actiChamp BrainVsion

Post by caranico » 05 Nov 2012, 06:01

Hi, you're rigth in fact we examined the problem in more detail verifying block durations using SourceTime in BCI2000 and found that the number of samples in each block is constant, in spite of the different duration of the block themselves. Thus, the resulting sampling time varies, and that is often a significant change. Since the data is available on the port at higher frequencies the analysis of the data stream does not reveal any problem yet the acquisition is simply unreliable, time is compressed and expanded.
i think that is a big problem and if i don't solve it any analysis are useless...is right?
Are you working on source code for reading directly by the amplifier BrainVision without RDAClient?

Thank you
Nicoletta Caramia

mellinger
Posts: 1341
Joined: 12 Feb 2003, 11:06

Re: Irregular block duration with actiChamp BrainVsion

Post by mellinger » 12 Nov 2012, 11:34

i think that is a big problem and if i don't solve it any analysis are useless...is right?
This depends very much on the type of your experiment, and on the type of classifier you are using.

For a mu rhythm/SMR type experiment, classification will not at all be affected by irregular timing on the order of +/-30ms, as modulation of a 10-30Hz carrier will take time on the order of a carrier period, or 100ms resp. 33ms, both to generate, and to detect.

An adverse effect might result from irregular cursor movement caused by irregular timing, in case this is destracting to the subject.

In case of a visual P300 experiment, irregular timing may decrease classification performance. This is due to two different effects:
1) Irregular stimulus offsets in classifier input. However, typical classifier training entails downsampling to 20Hz, such that a single sample as seen by the classifier has a width of 50ms, and thus consists of data from more than a single block. Also, a textbook-like P300 response itself has a peak width of about 200ms, and little energy in frequencies above 5Hz. Thus, I don't see much of a practical problem here unless you are experimenting with high-precision classifiers.
2) Irregular stimulus duration: This can be a problem especially when using electrodes over the visual cortex for classification, because the strength of a Visually Evoked Potential is related to stimulus duration. This effect may pose a practical limit for P300 speller performance in your case. The good news is that it is rather straightforward to modify the BCI2000 source code such that stimulus duration is independent of source timing. I'm planning to add this as a feature to BCI2000, expect it to be ready within a number of days.
Are you working on source code for reading directly by the amplifier BrainVision without RDAClient?
Actually, I have been provided with information that would allow me to write a source module that directly connects to the BrainAmp. However, I have no idea whether such a source module could connect to the actiChamp. Have you tried whether the vAmp source module is able to connect to your amplifier?

Best regards,
Juergen

Locked

Who is online

Users browsing this forum: No registered users and 0 guests