Patent ID: 9724005
Date: 2017-08-08
CPC Classifications: A61B,G06F,G06K

Claim:
1. A real-time multi-channel EEG signal processor based on an on-line recursive independent component analysis (ORICA), the real-time multi-channel EEG signal processor comprising: an inverse square root matrix calculation unit for providing a computation of eigen value, eigen vector and inverse square root matrix; a whitening unit coupled to the inverse square root matrix calculation unit for covariance computation of a sampling signal to generate a covariance matrix, wherein the covariance matrix generates a whitening matrix based on the computation of the inverse square root matrix calculation unit; an ORICA calculation unit coupled to the inverse square root matrix calculation unit and the whitening unit for computing the sampling signal and the whitening matrix to obtain a post-whitening sampling signal, wherein an independent component analysis computation of the post-whitening sampling signal and a predetermined unmixing matrix is performed to obtain independent component data; an ORICA training unit coupled to the inverse square root matrix calculation unit and the ORICA calculation unit for training the unmixing matrix according to the independent component data to obtain an inverse matrix of the unmixing matrix by the computation of the inverse square root matrix calculation unit, and computing the unmixing matrix and the inverse matrix of the unmixing matrix to generate a new unmixing matrix, wherein the new unmixing matrix is used for the ORICA calculation unit to perform a next independent component analysis computation of a next post-whitening sampling signal and the new unmixing matrix, so as to obtain next independent component data; and a memory unit coupled to the inverse square root matrix calculation unit, the whitening unit, the ORICA calculation unit and the ORICA training unit for storing the sampling signal, the whitening matrix and the unmixing matrix, the memory unit configured to temporarily store data generated by the inverse square root matrix calculation unit, the whitening unit, the ORICA calculation unit and the ORICA training unit so as to store the data in an ordered manner and enable memory sharing between the inverse square root matrix calculation unit, the whitening unit, the ORICA calculation unit and the ORICA training unit, wherein the ORICA training unit further comprises: a nonlinearity module for computing the independent component data to obtain a non-linear transfer function; a kurtosis estimation module for identifying the independent component data to be a super Gaussian signal or sub-Gaussian signal and generating a kurtosis value; a multiplexer coupled to the nonlinearity module and the kurtosis estimation module for obtaining a nonlinear transfer function of independent component distribution data in accordance with the Gaussian signal or the sub-Gaussian signal and the kurtosis value; a learning rate module for computing a learning rate determining convergence and steady state performance of the unmixing matrix during training; and a weight training module for implementing an iterative computation using the independent component data, the nonlinear transfer function of the independent component distribution data, the learning rate and the unmixing matrix, so as to generate the next unmixing matrix.