P300 Speller - Spatial Filter Issue

Known Issues and Problems with BCI2000
Post Reply
Posts: 9
Joined: 13 Jan 2014, 07:13

P300 Speller - Spatial Filter Issue

Post by victor_uva » 21 Jun 2016, 04:56

Hello everyone,

I have developed several BCI applications based on the P3Speller oddball task in the past. This is the first time I am using the new BCI2000 3.6 version, and I noticed that you made several changes here. I think that one, in particular, is likely to be a bug.

The problem lies on the SpatialFilter parameter. Until now, I have always used the CAR spatial filter and so I specified in the P3Speller 'Filtering' parameter tag. However, when I change the default value (FullMatrix) to Common Average Reference (CAR) type, P3Speller always selects the same character, regardless of using SignalGenerator or gUSBamp amplifier... In adittion, changing SpatialType matrix does not affect this behavior. Is this an issue, or am I doing something wrong?

P.D: I also take this opportunity to ask about the SpatialFilter. If I am right, spatial filter is applied online in every moment, whether classifier matrix is set or not, right?

P.D2: Last question. Is there any chance to get BCI2000 revision 4126 source code through the online repository?


Edit: If I use FullMatrix spatial filter type, P300 classifier crashes before generating weights...

Posts: 344
Joined: 17 Sep 2010, 12:43

Re: P300 Speller - Spatial Filter Issue

Post by pbrunner » 02 Aug 2016, 16:22


there has been a change in how the CAR filter is calculated, which affects the numerical accuracy on signals that exhibit large offsets. For that reason I would recommend that you use the FullMatrix with the proper weights for a CAR filter if you have signals with large offsets.

The Spatial Filter is applied for every sample. On wether this is on every time sample or frequency sample depends on where in your filter pipeline you have positioned the spatial filter. This setting is controlled by the PipeDefinition.cpp of your Signal Processing Module.

As for your question, you can always revert to previous versions of the BCI2000 source code, by using the "Update to Revision" function in Tortoise SVN. It might be though that you will need an oder compiler and Qt binaries that we don't distribute anymore.

Regards, Peter

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest