P300 Speller - Basic Questions...

Forum for discussion on different signal processing algorithms
Posts: 13
Joined: 20 Aug 2010, 05:32

P300 Speller - Basic Questions...

Post by tcetin » 06 Apr 2011, 05:23


I have some basic problems understanding the general functionality of the way the P300-Speller works in its signal processing...
We have established the p300-Speller-System here and it works very well using the p300-classifier classefier that comes with ist (even though the classifier-program itself works quit unstable for us, but that seenms a different story...).
I understand the classifier applies a SWLDA on all channels that are in the data file. It that gives us a matrix that (probably...) gives information on which channel and after which time the best P300 is found.
What does the signal processing module of BCI2000 that do with it? Is there also an SWLDA done during online analysis and why do we need do calibrate it than?
It is great how good BCI 2000 works, but I do not undertand why, somehow we seem to lack some basic information about what is in this "black box" of the signal processing module, what algorithms, what mathematical procedures...
I did a lot of reading and basically understand now the procedure behind the classifier and why a SWLDA is so good for it, but I still do not really understand what all the numbers in the classifiers matrix tell the signal processing module and what the signal processing module actually does with the raw EEG...

Many thanks,

Posts: 1113
Joined: 12 Feb 2003, 11:06

Re: P300 Speller - Basic Questions...

Post by mellinger » 06 Apr 2011, 09:48

Hi Timur,

the P3SignalProcessing does the following:
*it applies a spatial filter (http://www.bci2000.org/wiki/index.php/U ... tialFilter),
*averages over a number of stimulus responses (http://www.bci2000.org/wiki/index.php/U ... oralFilter),
*and applies a linear classifier to the averaged data, resulting in a single classification value for each row and column stimulus (http://www.bci2000.org/wiki/index.php/U ... Classifier).
Then, the P3Speller application compares classification values, and selects row and column with the greatest classification values.

In BCI2000, there is no classifier training done online, just a static linear classifier applied to the data. Stepwise Linear Discriminant Analysis (SWLDA) is just one method to train a linear classifier, i.e. to obtain a linear projection that optimally discriminates between data points from different conditions (classes). Other training methods are plain Linear Discriminant Analysis (LDA), Regularized LDA, and Linear Regression. They all result in a linear classifier that may then be applied online.

In BCI2000, the linear classifier is applied to data that is organized into channels and time offsets (samples). Also, multiple outputs are possible, so the linear classifier is a matrix rather than a vector. The matrix contains one value per combination of input channel and time offset, and output channel, and each row in the Classifier parameter defines such a matrix entry. The P3Speller only uses one output channel, so all matrix entries will have output channel = 1. In these entries, values will be large for channels and times with good discriminability, and small or missing for others. Roughly, the pattern over channels and time offsets will match a spatio-temporal ERP, but will differ for locations or time offsets where noise (unrelated brain activity) is present.
even though the classifier-program itself works quit unstable for us, but that seenms a different story...
You could greatly help us in making it more stable by posting one or more data files for which the P300Classifier program crashes. Please use the "Upload attachment" section of the phpbb "Post reply" page to do this. Or, if you want your data to remain private, send an email to juergen.mellinger@uni-tuebingen.de.

If there are further questions, please feel free to ask.

Posts: 615
Joined: 28 Jan 2003, 12:37

Re: P300 Speller - Basic Questions...

Post by gschalk » 06 Apr 2011, 12:16


The basic function of P300 processing is covered in detail in the BCI2000 book. Check it out on Amazon.


Posts: 17
Joined: 28 Nov 2010, 23:18

Re: P300 Speller - Basic Questions...

Post by faisal-awan » 08 Apr 2011, 06:05

@ mellinger

I want to apply SWLDA for offline analysis in Matlab.
I couldn't understand the following

Could you please tell me what does SWLDA if for ? as it is using step wise regression method . so

1) Is SWLDA just gives us discriminated output (2 class features ) for the classifier's input or it gives the output as classifier does i,e: binary notations representing which class .

2) Is SWLDA works for just feature extration or both (feature extration and classifier) ; if only feature extraction then why it is called SW[b]LDA[/b]......where LDA portion works .....and what about training and testing ??

please clear me ..i am really confuse in it .

Thanks in advance

Posts: 615
Joined: 28 Jan 2003, 12:37

Re: P300 Speller - Basic Questions...

Post by gschalk » 08 Apr 2011, 07:07


Please read one of the many papers on application of the SWLDA on the P300, e.g.:

Krusienski, D. J., Sellers, E. W., McFarland, D. J., Vaughan, T. M., & Wolpaw, J. R. (2008). Toward enhanced P300 speller performance. Journal of neuroscience methods, 167(1), 15-21. doi:10.1016/j.jneumeth.2007.07.017



Who is online

Users browsing this forum: No registered users and 1 guest