Analisi dei tempi di calcolo dell’algoritmo FastICA per applicazioni di brain-computer interface in tempo reale

2009 
A Brain Computer Interface (BCI) is generally an interface system that provides for the acquisition of brain signals through a set of electrodes and an amplifier of electroencephalographic signals, a data-processing stage, the display of feedback on a monitor and the execution of an event you want. The Independent Component Analysis (ICA) allows to identify the original components of the brain signals starting precisely from the analysis of electroencephalographic signals collected on the surface of the scalp which are regarded as a linear combination of them, under the fundamental assumption that the wanted components are statistically independent. The output of the ICA algorithm provides the mixing matrix that transforms the vector of the recorded data in the vector of original sources. This work was intended to explore the possibility of applying the ICA algorithm in real time, estimating the computation time of the algorithm, and the ability to automatically eliminate the noise sources identified. The analysis of data in real time enables many applications for communication with the outside of all those people who are in a state of “disability”: medical applications for the total locked-in people, space applications for the astronauts that move with extreme difficulty in absence of gravity and finally there is a considerable commercial interest for the industrial production of BCI devices. In this work, in order to assess the possibility of a real-time analysis, software in C++ language has been created to analyze data using open-source libraries “IT++” for the FastICA algorithm. The software was used to assess the stability of the weights using as input the mixing matrix calculated for a previous interval and estimating the reduction in computation time. The data used for the simulation were recorded with a system of 59 electrodes placed directly on the scalp of the subject. It was verified the linearity of the algorithm for computation time in relation to the number of iterations performed. Assuming a processing time of 1 minute and using as initial matrix for the algorithm the mixing matrix calculated previously for a interval of data partially overlapped with the interval under consideration, with an offset of 70 samples, it was possible to estimate a reduction of computation time of about 60%. It was also possible to verify an effect of “dragging”, that is the stability in the order of estimated sources (the uncertainty of the order of sources represents the greatest limit of the ICA method), making possible automatic removal of the noise sources. Finally, analyzing 59 channels it was estimated that the processing power needed to implement FastICA algorithm in a hardware device is about 30 GFLOPS.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    0
    References
    0
    Citations
    NaN
    KQI
    []