The present invention relates to a real-time signal processing system and method, and more particularly, to a real-time signal processing system and method based on multi-channel independent component analysis.
There are activities continuously going on in the nerve cells of the human brains, and these cell activities emit electromagnetic waves, which are known as the brainwaves.
Electroencephalogram (EEG) is a diagram that records changes in the potential difference between two points on the skull over time, usually measured in microvolts. The generation of the potential difference is related to the potential of the cell membrane. There is a potential difference between two sides of any cell membranes. This is because the attraction between excess intracellular negative ions and extracellular positive ions results in a potential between the outer and inner layers of the cell membrane. The potential difference recorded by EEG is a collective result of millions of nerve cells near the surface of the cerebral cortex, i.e., the sum of the potentials of multiple brain cells in a specific point in time rather than the potential change of a single brain cell.
An EEG scan can record the potential changes in the brain cells in order to determine whether the brain has discharge or potential abnormalities, and this can be used by physicians to diagnose epilepsy, central nervous system and dementia, for example. However, brainwaves are easily subjected to noise interference, such as those caused by eye rolling or moving, blinking, muscle vibration, noise from the power supply and so on. Such noise will affect the processing and computing of brain-wave related applications. Therefore, eliminating noise interference is crucial to the technology of brainwave measurement.
However, the hardware currently used for eliminating noise in brainwave measurement technology tends to be cumbersome and/or costly. If software is used for reducing the cost of hardware, noise may not be removed effectively.
Therefore, it is a challenge in the art to reduce the hardware cost of the EEG detection equipment while achieving real-time processing.
A real-time signal processing system based on multi-channel independent component analysis (ICA) includes a one-pass recursive ICA processor for performing multi-channel ICA on a set of first data to generate a plurality of second data and third data; a noise removing module coupled with the one-pass recursive ICA processor for receiving the plurality of second data, identifying noise in the plurality of second data and removing the identified noise to generate a plurality of fourth data; and a reconstruction module coupled with the noise removing module and the one-pass recursive ICA processor for receiving the plurality of fourth data and third data, and reconstructing the set of first data based on the plurality of fourth data and third data to generate a plurality of fifth data.
The set of first data are raw data, the second data are a result of the raw data after ICA with the noise, the third data are an unmixing weight matrix for separating the set of first data to generate the plurality of the second data, the fourth data are a result of the raw data after ICA and noise removal, and the fifth data are a result of the raw data after multi-channel ICA, noise removal and signal reconstruction.
In addition, the real-time signal processing system based on multi-channel ICA further includes a receiving circuit and an output circuit, wherein the receiving circuit is coupled to the one-pass recursive ICA processor to input an input signal to the one-pass recursive ICA processor and sample the input signal to obtain the set of first data, and the output circuit is coupled to the reconstruction module to receive the plurality of fifth data and output an output signal.
Moreover, the real-time signal processing system based on multi-channel ICA further includes a computation module coupled to the one-pass recursive ICA processor, the noise removing module, and the reconstruction module, wherein the one-pass recursive ICA processor uses the computation module to perform multi-channel recursive ICA in a single pass on the set of first data to generate the plurality of second data and third data, the noise removing module uses the computation module to perform noise identification on the plurality of second data and remove the identified noise to generate the plurality of fourth data, and the reconstruction module uses the computation module to perform reconstruction on the set of first data based on the plurality of fourth data and third data to generate the plurality of fifth data.
Furthermore, the receiving circuit, the one-pass recursive ICA processor, the noise removing module, the reconstruction module, the output circuit and the computation module in the real-time signal processing system based on multi-channel ICA are implemented on a single chip.
A real-time signal processing method based on multi-channel independent component analysis (ICA) includes the steps of: (1) performing multi-channel ICA on a set of first data to generate a plurality of second data and third data; (2) identifying noise in the plurality of second data and removing the identified noise to generate a plurality of fourth data; and (3) reconstructing the set of first data based on the plurality of fourth data and third data to generate a plurality of fifth data.
Before step (1) above, the method further includes receiving an input signal and sampling the input signal to obtain the set of first data, and performing the next sampling after step (1) is finished.
Compared to the prior art, the real-time signal processing system and method based on multi-channel one-pass recursive independent component analysis (ICA) can reduce hardware cost while processing the input signals effectively in real time to provide precise output signals.
The present invention can be more fully understood by reading the following detailed description of the preferred embodiments, with reference made to the accompanying drawings, wherein:
The present invention is described in the context of the following specific embodiments. Those with ordinary skills in the arts can readily understand other advantages and effects of the present invention upon reading the disclosure of this specification. The present invention can be implemented or applied in other different embodiments.
Referring to
The one-pass recursive ICA processor 12 performs multi-channel recursive independent component analysis (ICA) in a single pass on a set of first data to generate a plurality of second data and third data, wherein the set of first data are raw data, the second data are the result of raw data after ICA with noise, and the third data are an unmixing weight matrix for separating the set of first data to generate the plurality of the second data.
The noise removing module 13 is coupled to the one-pass recursive ICA processor 12 to receive the plurality of second data, identify the noise in the plurality of second data and remove the identified noise to generate a plurality of fourth data, wherein the fourth data are the result of raw data after ICA and noise removal.
The reconstruction module 14 is coupled to the noise removing module 13 and the one-pass recursive ICA processor 12 to receive the plurality of fourth data and the third data, and reconstruct the first data based on the plurality of fourth data and the third data to generate a plurality of fifth data, wherein the fifth data are the result of raw data after ICA, noise removal, and reconstruction.
In addition, as shown in
The receiving circuit 11 is coupled to the one-pass recursive ICA processor 12 to input an input signal to the one-pass recursive ICA processor 12 and sample the input signal to obtain the set of first data. Moreover, the receiving circuit 11 waits for the one-pass recursive ICA processor 12 to finish ICA and generate the second data or third data before performing the next sampling on the input signal. The noise removing module 13 immediately performs identification and noise removal upon receiving the second data and sends to the reconstruction nodule 14. The reconstruction module 14 performs reconstruction of the set of first data based on the fourth data and the third data in real time to generate the plurality of fifth data.
The output circuit 16 is coupled to the reconstruction module 14 to receive the plurality of fifth data and output an output signal for the subsequent use.
The computation module 15 is coupled to the one-pass recursive ICA processor 12, the noise removing module 13, and the reconstruction module 14, such that the one-pass recursive ICA processor 12 uses the computation module 15 to perform the recursive ICA in a single pass on the set of first data to generate the plurality of second data and third data; the noise removing module 13 uses the computation module 15 to perform noise identification on the plurality of second data and remove the identified noise to generate the plurality of fourth data; and the reconstruction module 14 uses the computation module 15 to reconstruct the set of first data based on the plurality of fourth data and third data to generate the plurality of fifth data. Therefore, the one-pass recursive ICA processor 12, the noise removing module 13, and the reconstruction module 14 share the same computation module 15.
In
Next,
As shown in
As shown in
The flow chart of the real-time signal processing method based on one-pass recursive ICA in accordance with the present invention is described below in conjunction with
It should be noted that the first data X are represented by a matrix, and Xi represents an element in the matrix, so X and Xi both indicate the first data. Data below are represented in the similar way.
The one-pass recursive ICA processor 22 includes a first-stage processing module 22a and a second-stage processing module 22b.
The first-stage processing module 22a performs whitening process on the first data Xi to generate a covariance matrix Cov(Xi) of the first data Xi. Then the decomposer 251 is used to perform processing on the covariance matrix Cov(Xi) to generate a whitening matrix P which is equal to the inverse-square-root covariance matrix Cov(Xi). Then the multiplier 252 is used to perform float-point operation on the whitening matrix Pi and the first data Xi to remove dependency between the data, thereby generating sixth data Z1. The processes performed by the first-stage processing module 22a are shown in equations (1) to (3) below.
Cov(X)=E└X,XT┘ (1)
P=Cov(X)−1/2 (2)
Z=P×X (3)
The second-stage processing module 22b performs the independent component analysis training on the sixth data Zi in order to generate the third data, i.e., an unmixing weight matrix Wi, and the multiplier 252 is used to carry out processing on the sixth data Zi and the third data Wi to generate the second data wherein the processing performed by the second-stage processing module 22b on the second data Yi, the third data Wi and the sixth data Zi is one-pass recursive ICA algorithm. The processes performed by the second-stage processing module 22b are shown in equations (4) to (11) below. The second data Y generated are the result of the raw data X after one-pass recursive ICA with noise.
, wherein λ(n) is the time-varying forgetting factor, kurt(y) is the kurtosis function of the second data, f(y) is the nonlinearity function, W is the one-pass recursive unmixing weight maxtix, and equation (7) is the normalization of W.
In other words, the first data X after going through the first-stage processing module 22a and the second-stage processing module 22b can be separated into data of independent multiple channels, and among these independent multiple channels, it is not yet known which contain the signal and which contain noise.
The noise removing module 23 can perform noise identification on the second data Y and remove the identified noise to generate the fourth data Yc, i.e., the result of the raw data after ICA and noise removal.
The reconstruction module 24 can use the multiplier 252 and the decomposer 251 to perform processing on the square-root matrix P and the third data W, and then use the multiplier 252 to perform processing on the fourth data Yc, the processed inverse-square-root of a corvance matrix W and the third data W to generate the fifth data Xc, i.e., the result of the raw data X after multi-channel ICA, noise removal, and signal reconstruction. The processes performed by the reconstruction module 24 are shown in equations (12) to (17) below.
It should be noted that the above equations (1) to (13) are exemplary means for implementing the first-stage processing module 22a, the second-stage processing module 22b and the reconstruction module 24 of the present invention, and the present invention is not limited as such.
The computation module 25 is now further described in more details. The one-pass recursive ICA processor 22, the noise removing module 23, and the reconstruction module 24 of the present invention all share the same computation module 25. In the computation module 25, the decomposer 251 performs singular value decomposition (SVD). The decomposer 251 is designed to he shared in order to reduce hardware cost. In addition, since the accuracy of the matrix multiplication used in the present invention has a great impact on the results of the subsequent system computations, so the IEEE 754 double-precision float-point arithmetic, for example, can be used to construct the multiplier 252 in the computation module 25. The multiplier 252 is constructed with only a set of float-point multiplier, so reduction of hardware cost can be achieved. Moreover, the memory 253 in the computation module 25 stores intermediate values of internal operations, that is, to store data after being processed by the second-stage processing module 22b for use by the subsequent noise removing module 23 and the reconstruction module 24, Furthermore, the computation module 25 provides function to one of the first-stage processing module 22a, the second-stage processing module 22b, the noise removing module 23, and the reconstruction module 24 at a time, that is, each of the modules has to wait for the previous module to finish before performing its operation. Such time division multiplexing ensures these modules will not contend resources.
The output circuit 26 can receive the first data X, the second data Y and the fifth data Xc to output a corresponding output signal. Thus, the output circuit 26 can output three types of signals, i.e., the unprocessed signal, the signal after ICA with noise, and the signal after ICA, noise removal, and signal reconstruction. In addition, the computation module 25 also outputs a control signal to the output circuit 26 to control one of said three types of signals outputted by the output circuit 26.
The transceiver 27 sends out the output signal via a network medium such as Bluetooth and the like.
Next, the flow of the real-time signal processing method based on multi-channel one-pass recursive independent component analysis (ICA) in accordance with the present invention is generally described in
In step S31, ICA is performed on a set of first data (i.e., raw data) Co generate a plurality of second data (i.e., the result of the raw data after ICA with noise) and third data (which are an unmixing weight matrix for separating the set of first data to generate the plurality of the second data). It should be noted that, before step S31, an input signal is first received and sampled to obtain the set of first data, and the next sampling is performed only after step S31 is completed. In addition, step S31 further includes that the set of first data are processed to generate a covariance matrix of the set of first data, the covariance matrix is processed to generate a whitening matrix P, which is equal to the inverse-square-root covariance matrix Cov(Xi), and then a float-point operation is performed on the whitening matrix P and the set of first data to generate sixth data; and the sixth data are processed to generate the third data, and the sixth data and the third data are processed to generate the second data. Furthermore, in step S31, a one-pass recursive ICA algorithm is performed on the second data, the third data and the sixth data.
In step S32, noise identification is performed on the plurality of second data to remove the identified noise so as to generate a plurality of fourth data (i.e., the result of the raw data after ICA and noise removal).
In step S33, reconstruction is performed on the set of first data based on the plurality of fourth data and third data to generate a plurality of fifth data (i.e., the result of the raw data after ICA, noise removal and signal reconstruction). Moreover, step S33 further includes that the reconstruction module uses the multiplier and the decomposer to process an inverse matrix of the third data, and uses the multiplier to process the processed inverse matrix of the third data and the fourth data to generate the plurality of fifth data.
Next, the present invention is described with reference to
In an embodiment, the real-time signal processing system based on multi-channel one-pass recursive independent component analysis (ICA) in accordance with the present invention is designed on a chip with an area of 1829×1821 um2 with an operating frequency of 50 MHz, for example. The power of the chip can be simulated with Nanosim, wherein the power is approximately 8.56 mW under 1.0 V and a working frequency of 50 MHz.
In summary, the real-time signal processing system based on multi-channel one-pass independent component analysis (ICA) in accordance with the present invention is designed on a single chip, wherein the one-pass recursive ICA processor, the modules and the circuits on the chip all share the same computation module, so that various operations can be carried out in a time division multiplexing manner. Moreover, the one-pass recursive ICA processor of the present invention performs one-pass recursive independent component analysis immediately upon receiving the first data sampled by the receiving circuit, and the receiving circuit also waits for the one-pass recursive ICA processor to finish performing the ICA on the first data and outputting the result to the noise removing module before carrying out the next data sampling. As a result, hardware resources on the chip can be efficiently used to reduce hardware cost and achieve real-time processing of signals.
The above embodiments are only used to illustrate the principles of the present invention, and should not be construed as to limit the present invention in any way. The above embodiments can be modified by those with ordinary skill in the art without departing from the scope of the present invention as defined in the following appended claims.
Number | Date | Country | Kind |
---|---|---|---|
102114145 | Apr 2013 | TW | national |