Skip to main content
Browse Subject Areas

Click through the PLOS taxonomy to find articles in your field.

For more information about PLOS Subject Areas, click here.

  • Loading metrics

Independent Component Analysis and Decision Trees for ECG Holter Recording De-Noising

  • Jakub Kuzilek ,

    Affiliation Department of Cybernetics, FEE, CTU in Prague, Prague, Czech Republic

  • Vaclav Kremen,

    Affiliations Department of Cybernetics, FEE, CTU in Prague, Prague, Czech Republic, Czech Institute of Informatics, Robotics, and Cybernetics, CTU in Prague, Prague, Czech Republic

  • Filip Soucek,

    Affiliation Department of Cardiovascular Diseases, ICRC, St. Anne's Hospital in Brno, Brno, Czech Republic

  • Lenka Lhotska

    Affiliation Department of Cybernetics, FEE, CTU in Prague, Prague, Czech Republic


We have developed a method focusing on ECG signal de-noising using Independent component analysis (ICA). This approach combines JADE source separation and binary decision tree for identification and subsequent ECG noise removal. In order to to test the efficiency of this method comparison to standard filtering a wavelet- based de-noising method was used. Freely data available at Physionet medical data storage were evaluated. Evaluation criteria was root mean square error (RMSE) between original ECG and filtered data contaminated with artificial noise. Proposed algorithm achieved comparable result in terms of standard noises (power line interference, base line wander, EMG), but noticeably significantly better results were achieved when uncommon noise (electrode cable movement artefact) were compared.


In 1998 Wisbec et al. published a manuscript describing deployment of ICA on ECG obtained from 8 precordial electrodes [1]. Researchers deployed Fast ICA algorithm on ECG measured on 8 electrodes placed on chest. The separation of breathing artefacts into several independent components containing artefacts and minor portion of ECG activity was reported. In the same year Barros et al. [2] presented their contribution on ECG source separation using ICA neural network implementation. Simulation experiments were focused on measuring quality of separation against number of iterations required for the de-mixing matrix estimation.

Following these two pilot works in discussed field other researchers provided their solutions [3][15]. From those dealing with physiological signals we are listing some that of interest:

  • He et al. [3] (2006) proposed an automatic method for EMG reduction based on JADE algorithm. The noise removal technique for selection of noisy components is based on thresholding of kurtosis and variance of components. Reported results showed that kurtosis of ECG activity is higher than kurtosis of EMG (in orders of magnitude) enabling EMG component identification and artefact reduction in resulting ECG.
  • Chawla et al. [4] (2008) deployed JADE algorithm on three channel ECG. No comparable results were reported and the method is vaguely described, so the reproducibility of research is limited. This work employed kurtosis and variance for detection of noisy component in the same way as He et al. [3].
  • Milanesi et al. [6] (2008) deployed FastICA and its modification for motion artefact removal from holter recordings. They studied ICA for convolutive mixtures and constrained ICA. The study proposes two measures of noise elimination – error estimate and correlation coefficients. It also employed statistical analysis of results obtained on data from 9 patients, which are over 5 minutes long.
  • Acharyya et al. [11] (2010) deployed FastICA algorithm on MIT-BIH 3 channel ECG database in order to remove artefacts from electrocardiogram. They developed an algorithm for detection of component containing ECG based on Pearson correlation coefficient. This approach does not deal with signal reconstruction and noise reduction. The ECG morphology changes were not discussed.

There exist several works from area of functional magnetic resonance imaging (fMRI) strongly related with our work. Thomas et. al [16] proposed a solution for noise reduction of noise within BOLD-based fMRI using Principal and Independent Component Analysis (PCA and ICA). Their approach identified noise components using Fourier decomposition and removed found components from the data. This increased BOLD contrast sensitivity, which reflects the ability to detect BOLD signal within noise. ICA has been reported as good method for isolation of structured and random noise [16], while PCA was superior in isolation of random noise. Another work within fMRI field of research was reported by Kiviniemi et. al. [17]. The researchers used ICA for separation of spontaneous physiological sources in 15 anaesthetized children. The ICA was able to separate several signal clusters in the primary sensory areas in all subjects corresponding to vasomotor waves in fMRI data. The main purpose of this study was to source localization within the fMRI of brain. Last study related to our work was reported by Liu et al. [18]the researchers used Canonical Correlation Analysis (CCA) with Singular Value Decomposition (SVD) to reduce noise contained in fMRI. The method selects structured and unstructured CCA noise components and removes them from the data during the reconstruction process. The SNR of data was significantly improved by applied method [18].

In this paper we are presenting general approach suggesting that BSS algorithm can be easily replaced by current one. In our case we are working with JADE algorithm, which uses kurtosis for estimation of independent sources. Our approach combines BSS algorithm with detection step, which is similar to case in [16], [18]. Instead of searching for two types of noise (structured and unstructured) our method searches for the ECG containing components, marks them and then removes all other components. We also present results of extensive testing of developed method against two other approaches using large database containing 382 different ECGs from various databases available at [19]. Our method was primary developed for dealing with the electrode cable movement artefact, however we proved that it can be used for different types of noises.

The work described here is available online at


For the evaluation experiments we used data freely available on MIT medical data storage Physionet [19]: Normal Sinus Rhythm database [19], European ST-T database [20], Long Term ST database [21], QT database [22], MIT Long Term database [19] and MIT-BIH ST Change database [23]. This gives us database containing 382 ECG recordings from different sources. All recordings were resampled to sampling frequency 500 Hz in order to make the evaluation easy to interpret.


Noise simulation

Various kinds of noise presented in ECG can be expected [24]. The most frequent noise types are as follows:

  • Power line interference – consists of 50 Hz (60 Hz in U.S.) pickup and its harmonics, typical amplitude is up to 50 percent of peak-to-peak ECG amplitude.
  • Muscle contraction – generates artefactual millivolt-level potentials, its standard deviation is around 10 percent of peak-to-peak ECG amplitude.
  • Baseline drift and ECG amplitude modulation with respiration – is represented as slow sinusoidal component at respiration frequency, its amplitude variation is 15 percent of peak-to-peak ECG amplitude and typical frequencies at 0.15 Hz to 3 Hz.

In addition to these three types of noise we observed noise typically generated by electrode cable movement during ECG holter recording of ECG. This noise has large amplitudes up to 200 percent of peak-to-peak ECG amplitudes and typical power spectra containing peaks at 1.5, 3.16, 6.3 and 8 Hz.

In order to test performance of the algorithm we artificially added noises to ECG recordings. The noises were generated as follows:

  • Electromyographic noise – is simulated as random Gaussian signal with deviation around 10 percent of peak-to-peak ECG amplitude.
  • Power line interference −50 Hz sinusoid with amplitude 0.333 mV.
  • Baseline wander – slow sinusoid (0.333 Hz) with the amplitude around 1 mV.
  • Electrode cable movement – generated as sum of sinusoids with different amplitudes and frequencies ranging from 0.1 to 1 mV and 1.5 to 8 Hz respectively.

Each type of simulated noise is added to ECG at four different levels: 25, 50, 75, 100 percent of the maximum noise amplitude. The noise is added to each lead of ECG with different amplitude estimated from ECG amplitude. The examples of generated noises are shown in Fig. 1.

Figure 1. Examples of artefacts artificially added to ECG signals.

From top to the bottom: 50 Hz power line interference, EMG, base line wander and electrode cable movement.

Blind source separation

For “detection” of independent sources in our case – ECG and noise presented in ECG recordings, we used Independent Component Analysis (ICA), which one solution of the Blind Source Separation problem (BSS), which is the extraction of a set of signals based merely on their mixtures [25]. In particular let us mention ECG, which is a mixture of signals from nodes presented in the heart, or EEG, which is a mixture of neurological activity of centres in brain. Basic ICA model assumes linear combination of source signals (called components):(1)where X is a mixture of source signals, A is the mixing matrix and S are the source signals. X and S get the size n x m, where n is number of sources and m is length of record in samples. Mixture matrix A is then of size n x n (in general A does not need to be square). Components can be obtained using the following expression:(2)where matrix W is inverse to matrix A. From Equation 2 it is obvious that estimation of a components is reduced to search of matrix W.

The BSS/ICA methods try to estimate components that would be as independent as possible and their linear combination is original data. Estimation of components is done by iterative algorithm, which maximizes function of independence, either by a non-iterative algorithm, which is based on joint diagonalization of correlation matrices.

In our method we used Joint Approximate Diagonalization of Eigen matrices algorithm (JADE) [25]. The algorithm is based on diagonalization of fourth-order cumulant tensor (for details see Appendix S1).

The problem, which emerges with holter ECG recordings, is low data dimensionality. Typically we are dealing with recordings with two or three leads. This may cause improper component estimation. In order to reduce the problem we applied technique described in [26], [27]. Briefly the main idea is to add time delayed data in to the dataset, forming new extended data set. To be more specific if the data contains less then 3 leads our method applies this approach for the data set extension.

Features for component selection

For each estimated component selected features are computed, for details see Table 1. Those, which are chosen during training process of decision tree, are marked bold (see following Section).

Table 1. Features used for training decision tree using CART algorithm.

Classification and regression tree

Classification And Regression Trees (CART) algorithm [28] is a classification algorithm for building a decision tree based on Gini's impurity index as splitting criterion (for details see Appendix S2).

CART tree needs to be trained before it can be used within our method. Tree training process automatically selects the most significant features and adjust the decision thresholds for them in order to increase the prediction accuracy (for details see Appendix S2).

To train the tree we used data obtained from MIT-BIH Arrhytmia database [29], which contains 48 half-hour two channel ambulatory ECG recordings. All recordings from database were re-sampled to 500 Hz and 100% noise of each type is mixed to them. Then the components from each recording were estimated and visually classified as noisy/noise-free. Using features computed on classified components the decision tree was trained and pruned. The whole process of decision tree generation is shown in Fig. 2. The parameters of tree in Fig. 2 were determined by the CART learning algorithm. They have been selected as result of training process and the decision tree needs to be trained in case of new type of noise.

Figure 2. Decision tree training and pruning.

First noise is added to the ECG data then components are estimated using JADE algorithm and components were manually labelled into noisy and noise-free groups. Features are computed and using them and annotations binary decision tree is trained using CART algorithm. Then the tree is passed to cross-validation and pruning and final pruned tree is created.

Proposed algorithm

Proposed algorithm combines JADE based source separation with CART decision tree in order to identify and remove noise from ECG. The algorithm work-flow is shown in Figure 3.

Figure 3. ICA based noise removal algorithm work-flow.

First data is preprocessed, then the components are estimated. After that components containing noise are identified and removed. Finally ECG is reconstructed and filtered using post-processing filter.

Firstly mean is subtracted from ECG recording. Then the independent components using JADE algorithm are estimated. For each component set of features were computed and features are passed to trained decision tree, which decides whether component is noise or ECG containing. Finally components marked as noise are removed, all signal are projected back to signal domain, filtered to remove high frequency noise (observed on 4 cases of training database) using low pass filter with first zero at 117 Hz, delay 5 samples and gain 0.93. Filter frequency response is shown in Fig. 4.

Figure 4. Frequency response of post-processing low pass FIR filter with first zero at 117 Hz, delay 5 samples and gain 0.93.

Other de-noising techniques

Here we describe methods, which we used in order to evaluate the developed algorithm. According to our best knowledge, we chose proved and widely used methods.

Standard filtering algorithm.

We merged basic noise removal techniques used in ECG signal processing in to one set. Each algorithm is applied on ECG signal in following order:

  1. 1. Adaptive noise canceller [30] for power line interference reduction.
  2. 2. Notch filter for EMG suppression [31].
  3. 3. Median filter for base line wander reduction [32].

Wavelet decomposition based algorithm.

Wavelet de-noising is based on method described in [33]. The algorithm contains three steps:

  1. • Wavelet decomposition using Daubechies wavelet DB6.
  2. • Threshold detail coefficients using hard thresholding method [34].
  3. • Wavelet reconstruction based on original approximation coefficients and modified detail coefficients [35].


For evaluation we used Root-Mean-Square Error (), which is good statistical index for case, when the original clear signal is known. is defined as:(3)where is the -th sample of original signal, is the -th sample of filtered signal and is the number of samples in both signals. equal to zero means that original and filtered signal are identical.

Evaluation process is depicted in Figure 5. First the data were mixed with the simulated noise in order to create noisy recordings with predefined level of noise. Then our method and other de-noising methods were applied on the data and the results were obtained. Finally resulting signals were compared to the original ECG data using measure and the result is stored for the evaluation.


We performed statistical testing of obtained as a result of comparison between original and filtered signals. The results are summarized using boxplot figures (Fig. 6, 7, 8, 9). Each figure contains 15 boxplots, which are linked to one type of noise. Boxplots are grouped according to the level of noise added to the original recording during the testing. Each boxplot has “notches”, which shows 95% confidence intervals for null hypothesis that differs from others. If the confidence intervals are overlapping then we reject the null hypothesis. In addition to this visual evaluation we performed multicomparison Kruskal-Wallis test with Bonferroni correction in order to say that the results are different in general on 5% confidence level. To prove that the results differ on each level and for each type of noise we again performed Kruskal-Wallis test for each group of three s, which corresponds to one noise and level. The obtained results are then evaluated using multicomparison technique using again Bonferoni correction. Null hypothesis was: Mean values differ on 95% confidence interval. Those results whose null hypothesis was rejected are marked with bold line around borders. That means if there is a group whose two boxplots are marked with bold borders they are not significantly different – the results of those algorithms are similar for selected noise type and level.

Figure 6. Results for the electrode cable movement artefact.

Horizontal axis shows level of added noise. Boxplots shows RMSE for used database of signals. Filtered methods that were used are differentiated by colors. We can observe that ICA based method outperforms both referential methods and its results are significantly better, as it can be seen in figure.

Figure 7. Results for EMG artefact.

Horizontal axis shows level of added noise. Boxplots shows RMSE for used database of signals. Filtered methods that were used are differentiated by colors. Those boxplots were notches are marked with bold border around borders means that they means are not significantly different.We can observe that our methods is slightly better or similar to wavelet filtering method. Normal filtering method is slightly worse because of spectral characteristics of the simulated noise, which covers large interval of frequencies.

Figure 8. Results for the base line wander artefact.

Horizontal axis shows level of added noise. Boxplots shows RMSE for used database of signals. Filtered methods that were used are differentiated by colors. We can observe that our algorithm achieves good results. The wavelet filtering algorithm has difficulties with this type of the artefact due to its simulation as slow sinus wave.

Figure 9. Results for the power line interference artefact.

Horizontal axis shows level of added noise. Boxplots shows RMSE for used database of signals. Filtered methods that were used are differentiated by colors. Those boxplots where notches are marked with bold line around borders means that they means are not significantly different. We can observe that our algorithm works similarly to wavelet based de-noising and significantly better than filtering algorithm.

Figure 6 shows the results comparison on ECG contaminated by electrode cable artefact. We primarily developed this algorithm for removal of this type of artefact and we can observe that our algorithm outperforms both wavelet filtering and standard filtering across all noise levels added to the ECG signals (Fig. 6).

Figure 7 shows the results for ECG mixed with EMG. Again we can see that for all noise levels our algorithm outperform standard filtering and it works better or similar as wavelet filtering. We can observe that only for 100% noise level our algorithm works similar to wavelet filtering. We can observe that interquartile range of wavelet filtering and our algorithm are similar.

Figure 8 shows the results of ECG modulated by base line wander. We can observe that our algorithm is comparable but slightly worse than standard filtering. Both algorithms outperforms wavelet filtering. Wavelet filtering is unable to reduce base line wander artefact.

Finally figure 9 shows the results on recordings contaminated by power line interference. We can observe that our algorithm provide similar results as the comparison methods. ICA based algorithm has slightly better results than standard filtering and similar or better results than wavelet filtering. We can see that all values are in 0.1 per sample, which is very good result anyway. Related to presented results we showed that our algorithm, which was originally designed to reduce electrode cable movement artefact, is capable to reduce power line interference comparably to standardized techniques.


Our data showed that suggested algorithm has significantly larger interquartile range than the other algorithms – this is because of two reasons. Firstly, suggested algorithm sometimes fails in identification of noise components and thus it does not reduce all noisy activity presented in ECG. This problem can be solved by extending the training set or changing the classification algorithm in order to enhance noise detection rate. Secondly and more significantly – the other methods do not reduce the noise at all, thus the is quite constant across all recordings.

Wavelet filtering method is less effective with baseline wander artefact than the classical filtering (Fig. 8). This can be explained by the fact that the artefact was modelled as slow sine wave and the wavelet transform uses different basis for estimation of details and approximations, thus it is unable to efficiently reduce the base line wander. Standard filtering performed as the most effective because the filters in the set matches the frequency, which is used for simulation of baseline wander.

Problems of standard filtering with EMG type of artefact (Fig. 7) is due to spread of EMG across wide frequency range, thus the filtering techniques covering only narrow frequency range cannot reduce it efficiently.Our algoritm is more stable on the lower noise levelshowever in high noise levels keeps similar range in comparision to wavelet filtering.

Interestingly, in terms of noise mimicking ECG activity the JADE was very effective, because energies (in power spectra) and correlations of noise and ECG is high, thus the kurtosis (which is fourth order moment used by JADE for estimation of independent sources) enable to correct source separation [3]. Our approach combines BSS algorithm with detection step, which is similar to case in [16], [18]. Instead of searching for two types of noise (structured and unstructured) our method searches for the ECG containing components then it marks them and removes all other components. This approach seems to be useful, because ECG is regular and has very stable structure in sense of statistical parameters.

Suggested algorithm is the best of all in terms of “doing nothing”. These are cases where there is no noise in ECG signal. Such property of the algorithm is very crucial especially in biomedical signal applications, where in clinical practice one needs minimally distorted ECG as possible.

It is important to note that the decision tree trained only on portion of data proved to be perform similar when the method is applied on different ECG signals. This implies that a reasonable large database is needed (in our case MIT/BIH Arrhythmia Database containing 48 half-hour ECG recordings) for the training and then the pruned decision tree can be applied without any further change to other non-training data. Generally, however, if new type of noise needs to be filtered, the process of tree training needs to be repeated.


We developed the noise reduction method based on Independent Component Analysis and decision tree, which first identifies noisy components and then it remove them from the signal. Suggested method is based on the method proposed in [3], which uses kurtosis of components to identify and remove noisy components from the signal containing EMG noise. The method introduces more sophisticated approach for identification of such noisy components and it generalizes the method so it is able to be be used to reduce various types of noises contaminating ECG signals. We also provided an extensive testing of designed method to prove its effectiveness. Suggested method has been proven on dataset containing 382 ECG recordings from various freely available databases. We also showed that the method, which was primarily designed to reduce electrode cable movement artefact, is capable to deal with different types of noises efficiently in comparison to regularly used ECG filtering approaches. The identification step of the algorithm gives the user the opportunity to adapt the method for his/her own purposes or to use different classifiers within it. Also the source separation algorithm can be changed in order to enhance abilities of the algorithm to deal with noise removal for different types of noise. This adaptability of the method will be part of next steps in our further research.

Author Contributions

Conceived and designed the experiments: JK VK LL. Performed the experiments: JK. Analyzed the data: JK VK FS. Contributed reagents/materials/analysis tools: JK. Wrote the paper: JK VK FS LL.


  1. 1. Wisbeck JO, Barros AK, Yy AKB, Ojeda RG (1998). Application of ica in the separation of breathing artifacts in ecg signals.
  2. 2. Barros AK, Mansour A, Ohnishi N (1998) Removing artifacts from electrocardiographic signals using independent components analysis. Neurocomputing 22: 173–186.
  3. 3. He T, Clifford G, Tarassenko L (2006) Application of independent component analysis in removing artefacts from the electrocardiogram. Neural Computing & Applications 15: 105–116.
  4. 4. Chawla MPS, Verma HK, Kumar V (2008) Artifacts and noise removal in electrocardiograms using independent component analysis. International journal of cardiology 129: 278–281.
  5. 5. Xing H, Hou J (2009) A noise elimination method for ecg signals. In: Bioinformatics and Biomedical Engineering, 2009. ICBBE 2009. 3rd International Conference on. p. 1–3.
  6. 6. Milanesi M, Martini N, Vanello N, Positano V, Santarelli MF, et al. (2008) Independent component analysis applied to the removal of motion artifacts from electrocardiographic signals. Medical & biological engineering & computing 46: 251–261.
  7. 7. Agrawal G, Singh M, Singh VR, Singh HR (2008) Reduction of artifacts in 12-channel ecg signals using fastica algorithm. JOURNAL OF SCIENTIFIC & INDUSTRIAL RESEARCH 67: 43–48.
  8. 8. Castells F, Cebrian A, Millet J (2007) The role of independent component analysis in the signal processing of ecg recordings. BIOMEDIZINISCHE TECHNIK 52: 18–24.
  9. 9. Chawla MPS (2011) Pca and ica processing methods for removal of artifacts and noise in electrocardiograms: A survey and comparison. APPLIED SOFT COMPUTING 11: 2216–2226.
  10. 10. Milanesi M, Martini N, Vanello N, Positano V, Santarelli MF, et al.. (2006) Multichannel techniques for motion artifacts removal from electrocardiographic signals. In: 2006 28th Annual International Conference of the IEEE Engineering in Medicine and Biology Society, Vols 1-15. 2684–2687. 28th Annual International Conference of the IEEE-Engineering-in-Medicine-and-Biology-Society, New York, NY, AUG 30-SEP 03, 2006.
  11. 11. Acharyya A, Maharatna K, Al-Hashimi BM, Mondal S (2010) Robust Channel Identification Scheme: Solving Permutation Indeterminacy of ICA for Artifacts Removal from ECG. In: 2010 ANNUAL INTERNATIONAL CONFERENCE OF THE IEEE ENGINEERING IN MEDICINE AND BIOLOGY SOCIETY (EMBC). IEEE Engn Med & Biol Soc (EMBS), IEEE Engineering in Medicine and Biology Society Conference Proceedings, 1142–1145. 32nd Annual International Conference of the IEEE Engineering-in-Medicine-and-Biology-Society (EMBC 10), Buenos Aires, ARGENTINA, AUG 30-SEP 04, 2010.
  12. 12. DiPietroPaolo D, Mueller HP, Nolte G, Erne SN (2006) Noise reduction in magnetocardiography by singular value decomposition and independent component analysis. MEDICAL & BIOLOGICAL ENGINEERING & COMPUTING 44: 489–499.
  13. 13. Tu Y, Fu X, Li D, Huang C, Tang Y, et al. (2012) A Novel Method for Automatic Identification of Motion Artifact Beats in ECG Recordings. ANNALS OF BIOMEDICAL ENGINEERING 40: 1917–1928.
  14. 14. Oster J, Pietquin O, Abaecherli R, Kraemer M, Felblinger J (2009) Independent component analysis-based artefact reduction: application to the electrocardiogram for improved magnetic resonance imaging triggering. PHYSIOLOGICAL MEASUREMENT 30: 1381–1397.
  15. 15. Romero I (2011) PCA and ICA applied to Noise Reduction in Multi-lead ECG. In: 2011 COMPUTING IN CARDIOLOGY. European Soc Cardiol; Zhejiang Univ; EMB; IEEE; Drager; Mortara; Philips; Univ Rochester, Telemetr & Holter ECG Warehouse; Physiol Measurement; Mindray; GE Healthcare; Zoll; Edan; GSMA, 613–616. Conference on Computing in Cardiology, Hangzhou, PEOPLES R CHINA, SEP 18–21, 2011.
  16. 16. Thomas CG, Harshman RA, Menon RS (2002) Noise reduction in bold-based fmri using component analysis. NeuroImage 17: 1521–1537.
  17. 17. Kiviniemi V, Kantola JH, Jauhiainen J, Hyvärinen A, Tervonen O (2003) Independent component analysis of nondeterministic fmri signal sources. Neuroimage 19: 253–260.
  18. 18. Liu Y, Hu D, Zhou Z, Shen H, Wang X (2008) fmri noise reduction based on canonical correlation analysis and surrogate test. Selected Topics in Signal Processing, IEEE Journal of 2: 870–878.
  19. 19. Goldberger AL, Amaral LAN, Glass L, Hausdorff JM, Ivanov PC, et al. (2000) PhysioBank, PhysioToolkit, and PhysioNet: Components of a New Research Resource for Complex Physiologic Signals. Circulation 101: e215–220.
  20. 20. Taddei A, Distante G, Emdin M, Pisani P, Moody GB, et al. (1992) The european st-t database: standard for evaluating systems for the analysis of st-t changes in ambulatory electrocardiography. European heart journal 13: 1164–1172.
  21. 21. Jager F, Taddei A, Moody GB, Emdin M, Antolič G, et al. (2003) Long-term st database: A reference for the development and evaluation of automated ischaemia detectors and for the study of the dynamics of myocardial ischaemia. Medical and Biological Engineering and Computing 41: 172–182.
  22. 22. Laguna P, Mark RG, Goldberg A, Moody GB (1997) Database for evaluation of algorithms for measurement of qt and other waveform intervals in the ecg. In: Computers in Cardiology. 673–676.
  23. 23. Albrecht P (1983) ST Segment Characterization for Long Term Automated ECG Analysis. Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science.
  24. 24. Friesen G, Jannett T, Jadallah M, Yates S, Quint S, et al. (1990) A comparison of the noise sensitivity of nine qrs detection algorithms. Biomedical Engineering, IEEE Transactions on 37: 85–98.
  25. 25. Hyvärinen A, Karhunen J, Oja E (2001) Independent Component Analysis. Wiley.
  26. 26. Jimenez-Gonzalez A, James C (2008) Source separation of foetal heart sounds and maternal activity from single-channel phonograms: A temporal independent component analysis approach. In: Computers in Cardiology 2008: 949–952.
  27. 27. Broomhead D, King GP (1986) Extracting qualitative dynamics from experimental data. Physica D: Nonlinear Phenomena 20: 217–236.
  28. 28. Breiman L (1984) Classification and regression trees. The Wadsworth and Brooks-Cole statistics-probability series. Chapman & Hall.
  29. 29. Moody G, Mark R (2001) The impact of the mit-bih arrhythmia database. Engineering in Medicine and Biology Magazine, IEEE 20: 45–50.
  30. 30. Widrow B, Glover Jr J, McCool J (1975) Adaptive noise cancelling: principles and applications. Proceedings of the IEEE 63: 1692–1716.
  31. 31. Hirano K, Nishimura S, Mitra SK (1974) Design of digital notch filters. IEEE Transactions on Communications COM-22: 964–970.
  32. 32. Kuzilek J (2013) Independent Component Analysis: Applications in ECG signal processing. Ph.D. thesis, Czech Technical University.
  33. 33. Patil P, Chavan M (March) A wavelet based method for denoising of biomedical signal. In: Pattern Recognition, Informatics and Medical Engineering (PRIME), 2012 International Conference on. p. 278–283.
  34. 34. Donoho DL (1995) De-noising by soft-thresholding. IEEE Transactions on Information Theory 41: 613–627.
  35. 35. Mallat S (1999) A Wavelt Tour of Signal Processing. Wavelet Analysis & Its Applications. Acad. Press.
  36. 36. Keralapura M, Pourfathi M, Sirkeci-Mergen B (2011) Impact of contrast functions in fast-ica on twin ecg separation. IAENG International Journal of Computer Science 38: 38–47.
  37. 37. Comon P, Jutten C (2010) Handbook of Blind Source Separation. Elsevier.
  38. 38. Pan J, Tompkins WJ (1985) A real-time qrs detection algorithm. Biomedical Engineering, IEEE Transactions on BME-32: 230–236.