BCI2000 and Matlab

Forum for discussion on different signal processing algorithms
Locked
Strelz
Posts: 3
Joined: 28 Jan 2008, 16:41

BCI2000 and Matlab

Post by Strelz » 05 Feb 2008, 14:14

I am very new to BCI2000. I downloaded the code and set it up with Borland C++ in order to look at it.

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.

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

Post by mellinger » 06 Feb 2008, 12:10

BCI2000 online signal processing is fully independent of Matlab.
Still, BCI2000 allows you to use Matlab for online processing if that makes sense for you. See the MatlabFilter documentation page for more information:
http://www.bci2000.org/wiki/index.php/P ... tlabFilter

The standard BCI2000 OfflineAnalysis tool is written in Matlab, and thus requires Matlab or the Matlab Runtime to run.

For individual offline processing, BCI2000 comes with Matlab support for reading data files: http://www.bci2000.org/wiki/index.php/U ... _MEX_Files

HTH,
Juergen

Strelz
Posts: 3
Joined: 28 Jan 2008, 16:41

Thanks for prompt reply

Post by Strelz » 06 Feb 2008, 15:15

I see the MatlabFilter and I see how that works. I also see a set of base classes and I can see how to subclass them in order to insert my own filters. So I understand that these filters would be independent of Matlab.

But I was looking for a library of C++ functions for example FFT or a generic FIR, or maybe some kind of spectral estimator. This is what I can't find. And I don't see any indication of such modules in any of the documentation. Do you have such generic functions, and if so can you tell me where to look?

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

Filters

Post by gschalk » 06 Feb 2008, 20:32

Al,

There are a number of existing filters in BCI2000 (including AR-based and FFT-based spectral estimation). Please see http://www.bci2000.org/wiki/index.php/U ... ce:Filters for a detailed description.

These filters are appropriately combined in particular modules that come with BCI2000. For example, ARSignalProcessing uses the SpatialFilter, AR-based spectral estimation, a linear classifier, and an automatic gain controller at the output.

If you post your requirements (i.e., what you are trying to do), we can help you more specifically.

Gerv

Strelz
Posts: 3
Joined: 28 Jan 2008, 16:41

Filters

Post by Strelz » 07 Feb 2008, 10:34

Gerv,

Right now, I am just trying to understand how BCI2000 works. I uploaded the project and at first couldn't find the source of the filters. I saw the Matlab interface but couldn't find the filters you had written yourselves. Really just a newbie mistake about which I feel a bit embarrassed.

But with your explanation that they are there, I went back again and found them under signalprocessing (they were hiding right out in the open!)

Perhaps your documentation could include some pointers to where things are for someone like me who is trying to dig into the internals. But the mistake in not seeing them is entirely mine.

Thanks very much for your help and I'm sorry for the trouble.

Al

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

Intro to BCI2000

Post by gschalk » 08 Feb 2008, 10:03

Al,

The BCI2000 Tour and the tutorials on the documentation web site may be helpful as well. Let us know if they do not cover all information, and we will add it.

Gerv

Locked

Who is online

Users browsing this forum: No registered users and 5 guests