Page 1 of 1

P300 Signal Processing

Posted: 18 Sep 2007, 04:04
by nadoona
Hi,

I was trying to understand P300 signal processing. I noticed that we keep going through 5 filters all the time while signals are being recorded. And the Classifier filter keeps computing an output signal in its Process function. However, I cant find where is the final control signal sent to the P3Speller application (telling it which character was selected). Where is the averaging of all the 30 intensifications done?

Please advise.

Thanks.

P3Speller ...

Posted: 18 Sep 2007, 11:16
by gschalk
Nadoona,
I was trying to understand P300 signal processing. I noticed that we keep going through 5 filters all the time while signals are being recorded. And the Classifier filter keeps computing an output signal in its Process function. However, I cant find where is the final control signal sent to the P3Speller application (telling it which character was selected). Where is the averaging of all the 30 intensifications done?
The averaging is done in the P3TemporalFilter. Whenever it averages a signal, it sets StimulusCodeRes to the stimulus code of the averaged waveform. While the classifier classifies data on every call of Process(), the P3Speller application only evaluates the results when StimulusCodeRes is > 0.

Gerv

Re: P300 Signal Processing

Posted: 27 Nov 2014, 14:15
by boulay
coolgee6 wrote:I have a question about how BCI does signal processing. I have the impression that it hands off functions like FFT or FIR filtering to Matlab that must then be running in the background. Is this right? If I am wrong, then any explanation that will help me understand how I went wrong will be very helpful.
It is possible to use Matlab to do the signal processing. To do so you must use "MatlabSignalProcessing.exe" as your signal processing module. Alternatively, and perhaps more commonly, you can use one of the other signal processing modules that come with BCI2000. For P300 tasks, for example, most people use "P3SignalProcessing.exe".