16.11.2012 Views

Brain–Computer Interfaces - Index of

Brain–Computer Interfaces - Index of

Brain–Computer Interfaces - Index of

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

290 C. Guger and G. Edlinger<br />

Table 2 Features <strong>of</strong> programming environments<br />

Flexibility Development speed Required SW<br />

C API +++ + none<br />

MATLAB API ++ ++ Matlab<br />

LabVIEW High-Speed + ++ LabVIEW<br />

Simulink High-speed + +++ Matlab/Simulink<br />

to eliminate some <strong>of</strong> the overhead costs <strong>of</strong> BCI system development (see [14] and<br />

Chapter “Using BCI2000 in BCI Research”).<br />

Under the MATLAB environment, several specialized toolboxes such as signal<br />

processing, statistics, wavelets, and neural networks are available, which are highly<br />

useful components for a BCI system. Signal processing algorithms are needed<br />

for feature extraction, classification methods are needed to separate EEG patterns<br />

into distinct classes, and statistical functions are needed e.g. for performing group<br />

studies. Therefore, a MATLAB API was also developed, which is seamlessly integrated<br />

into the Data Acquisition Toolbox (for the different concepts see Fig. 8).<br />

This allows direct control <strong>of</strong> the amplification unit from the MATLAB command<br />

window to capture the biosignal data in real-time and to write user specific mfiles<br />

for the data processing. Furthermore, standard MATLAB toolboxes can be<br />

used for processing, as well as self-written programs. The MATLAB processing<br />

engine is based upon highly optimized matrix operations, allowing very high processing<br />

speed. Such a processing speed is very difficult to realize with self-written<br />

C code.<br />

The signal flow oriented Simulink which runs under MATLAB allows people<br />

to create block diagrams for signal processing. Therefore, a hardware-interrupt<br />

driven device driver was implemented which sends the data in real-time to the<br />

Simulink model (High-speed On-line Processing for Simulink toolbox). Therefore,<br />

A B C<br />

Fig. 7 (a): Electrode positioning according to the 10/20 electrode system. (b): Electrode cap with<br />

screwable single passive or active electrodes. (c): Electrode cap with build-in electrodes with a<br />

specific montage

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!