Low-latency multi-threaded processing of neuronal signals for brain-computer interfaces.
Brain-computer interfaces (BCIs) require demanding numerical computations to transfer brain signals into control signals driving an external actuator. Increasing the computational performance of the BCI algorithms carrying out these calculations enables faster reaction to user inputs and allows using more demanding decoding algorithms. Here we introduce a modular and extensible software architecture with a multi-threaded signal processing pipeline suitable for BCI applications. The computational load and latency (the time that the system needs to react to user input) are measured for different pipeline implementations in typical BCI applications with realistic parameter settings. We show that BCIs can benefit substantially from the proposed parallelization: firstly, by reducing the latency and secondly, by increasing the amount of recording channels and signal features that can be used for decoding beyond the amount which can be handled by a single thread. The proposed software architecture provides a simple, yet flexible solution for BCI applications.
Institute for Biology I, University of Freiburg Freiburg, Germany ; CorTec GmbH Freiburg, Germany.
Jörg
J
Fischer
Institute for Biology I, University of Freiburg Freiburg, Germany ; Bernstein Center Freiburg, University of Freiburg Freiburg, Germany ; Department of Bioengineering and Department of Electrical and Electronic Engineering, Imperial College London London, UK.
Tomislav
T
Milekovic
Faculty for Applied Sciences, University of Freiburg Freiburg, Germany.
Gerhard
G
Schneider
Institute for Biology I, University of Freiburg Freiburg, Germany ; Bernstein Center Freiburg, University of Freiburg Freiburg, Germany ; Department of Bioengineering and Department of Electrical and Electronic Engineering, Imperial College London London, UK.
Carsten
C
Mehring
brain-computer interface (BCI); latency; multi-threading; parallelization; software architecture