Independent Component Analysis

Independent Component Analysis (ICA) is very common signal processing method in many different areas. Our aim is to use ICA in processing of biomedical signals mainly on ECG and EEG. This section describes what ICA is and few examples of its use. Last part describes our research aims.

What is ICA?

It is a method, which searches source signals from knowledge of their mixture. For example: centers in brain, different speakers on recording, etc. ICA also represents one solution of Blind Source Separation (BSS) problem. This problem is mentioned above - we have only mixture of source signals and no other informations about sources or environment thru which signals goes and we want source signals.

There are several definitions of ICA, but all of them assume linear combination of source signals (sometimes called components):


where X is a matrix of mixture of source signals, A is mixing matrix, which characterizes enviroment through which source signals pass, and S is matrix of source signals. This equation is represented by Figure 0.

Representation of basic ICA equation

Figure 0: Representation of basic ICA equation


Example 1 - separation of voices

First example is separation of two voices from their mixture obtained by two microphones. Here are files containing records:

There are  two different voices in source1 and source2. Next there are their mixtures obtained by two microphones.

You can hear results of separation using two different methods - first is Principal Component Analysis (PCA), which is largely used in many aplications and it is first method, which almost anyone use for this problem. You can hear that separation is not done good. You still hear second voice in separated signals. Second method we used is ICA and the results are far more better than PCA.

Example 2 - mixture of ECG and noise

Second example is mixture of ECG signal and uniformly distributed random noise. You can se both signal and noise on figure 1. Both signals are 10 seconds long. Noise got larger amplitudes than ECG signal and have zero mean.

ECG signal and noise

Figure 1: ECG signal and noise

Figure 2 shows mixture of ECG signal and noise. You can see, that ECG signal is completely lost in noise.

Mixture of ECG and noise

Figure 2: Mixtures of ECG and noise

And last Figure 3 shows result of separation done by ICA. You can see, that ECG signal is separated from noise. You can also see two biggest disadvantages of ICA - scale of resulting signal is not same as original data and second problem you can see is, that signal is "inverted" by x axis. Both problems are caused because ICA cannot estimate energy of results. So u cannot say if signal is multiplied by -1. These problems are still small compared ICA usefullness.


Result of ICA

Figure 3: Separated signals



EEG artefact removal tool


This project has risen with cooperation with Psychiatric Center Prague in Bohnice. It aims on creation usefull tool for automatic detection and removal of artefacts emerging during acquisition of EEG record. These artefacts can be both biological and technical origin. Program is in present implemented in MATLAB. Our future concerns are:


  • Increase detection rate of artefacts
  • Implementation of program in C# language

ICA and myocardial infarction in Rest ECG

We plan to try detection of infarction pattern in rest ECG using ICA. This work will be done with cooperation with BTL company.

Previous page: Body Impedance
Next page: Ambient Assistive Living