Matlab communication for online experiments

Forum for discussion on different signal processing algorithms
Locked
aloplop
Posts: 41
Joined: 03 Sep 2008, 07:20

Matlab communication for online experiments

Post by aloplop » 30 Sep 2008, 12:01

Hello,

after developing an application which uses the position of the cursor in the x dimension using the Cursor Feedback Task Filter, I am going to try some methods for feature extraction.

In our laboratory, using the data set III from the BCI Competition 2003, we have programmed some methods for feature extraction and classification in Matlab.

For feature extraction we have used:

1) Spectral features using FFT
2) Continuous Wavelet Transform
3) Discrete Wavelet transform
4) AR models
5) Adaptative filter (described in: D. J. Krusienski, G. Schalk, D. J. McFarland, y J. R. Wolpaw, “A μ-Rhythm Matched Filter for Continuous Control of a Brain-Computer Interface,”IEEE Trans. on Biomed. Eng., vol. 54, no. 2, pp. 273–280, Febrero 2007.)

6) The winner method in the competition: Complex Morelet Wavelets

My questions are:

- Would be useful to use the matlab filter for online experiments with the Cursor Feedback Task and my application or would be better to programme the methods in C++ (and create a new Signal processing Filter) ???

- Does a mathematical library exist?? I mean, can I use a C++ library for calculate Fourier transforms or similar operations (Wavelets,...) ??

- Would be better using the AR filter or the FFT filter instead of using the Matlab programmes developed previously, what do you think??

Thanks.

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

Post by mellinger » 02 Oct 2008, 13:08

Hi,

there is no comprehensive mathematical library available for use in BCI2000.
Unless you have tight timing constraints, using Matlab for signal processing might be a good idea. However, you will need to modify your offline algorithms such that they work in an on-line setting -- for a detailed discussion, please see the tutorial at http://www.bci2000.org/wiki/index.php/P ... sed_Filter.

Quite recently, it has become possible to use the Python scripting language in conjunction with BCI2000. This will allow you to use the SciPy and NumPy Python packages in your signal processing module. For details about how to use Python, please see http://www.bci2000.org/downloads/BCPy2000/About.html.
- Would be better using the AR filter or the FFT filter instead of using the Matlab programmes developed previously, what do you think??
This depends on how much effort would be required to adapt the existing Matlab code to online processing, and it depends on your timing requirements.

Not knowing about these details, it is difficult for me to give advice. However, I suggest that you start with the simplest of your Matlab algorithms, and adapt it for use with BCI2000 first. This will give you some background knowledge and intuition that will help you decide how to proceed further.

Best,
Juergen

aloplop
Posts: 41
Joined: 03 Sep 2008, 07:20

Matlab and BCI200

Post by aloplop » 02 Oct 2008, 13:20

Thanks,

at the moment I have tried a calculation of Power Spectral Stimation in mu and beta bands using the "pwelch" function in Matlab and it works ok.

I´ll try to post something about the new methods I´m going to try.

Regards,

Álvaro.

Locked

Who is online

Users browsing this forum: No registered users and 4 guests