ECG Signal Denoising using Dual Tree Complex Wavelet Transform and Wiener Filtering

Download Full-Text PDF Cite this Publication

Text Only Version

ECG Signal Denoising using Dual Tree Complex Wavelet Transform and Wiener Filtering

Janza Rasheed A

    1. ech, Applied Electronics and Instrumentation Department of ECE

      Younus College of engineering and technology, Kollam Kerala,India

      Safuvan T Assistant Professor Department of ECE

      Younus College of engineering and technology, Kollam

      Kerala, India

      Abstract An electrocardiogram (ECG) signal is a recording of electrical interpretation of cardiac muscle activity. ECG is a non linear, non stationary signal. The electrocardiogram is used for the diagnosis of different heart abnormalities and is very easy to interfere with different noises like electromyogram signal (EMG) and baseline wanders while gathering and recording. So for the quality diagnosis, the ECG signal must be denoised. There are various noise removal techniques available and can be implemented in MATLAB software. This paper presents a method for the suppression of Electromyogram (EMG) artifacts from ECG signal using wavelet transform and wiener filtering to produce estimated noise free signal. Dual tree complex wavelet transform (DTCWT) and wiener filtering is used for getting noise free signal. ECG signal is taken from MIT/BIH arrhythmia database and is artificially noised by white Gaussian noise. Filtering performance is improved by the adaptive setting of the filtering parameters.

      Keywords-EMG noise, ECG signal, DTCWT, thresholding, MIT/BIH database, wiener filtering.


        The Electrocardiogram (ECG) is a graphical interpretation of electrical activity of the heart. The signal is generated due to the depolarization of cardiac muscle by the electrical impulses produced by pacemaker cells .The heart muscle contracts upon depolarization and pumps blood throughout the body. The ECG signal is taken by placing electrodes in arm, chest and leg of our body. ECG signal is used for the diagnosis of heart abnormalities like the myocardial infarction, conduction defect, and arrhythmia. The ECG signal is characterized by peaks and valleys like P,Q, R,S, T and U as shown in figure 1. Contaminations of noises change the signal amplitude and frequency which may create serious problem in detecting actual abnormalities.

        The ECG signal contains important information that can be exploited in different manners. The ECG signal that is recorded would be contaminated with noise and artifacts. One of the major concerns of biomedical signal processing is the extraction of pure cardiological indices from noisy measurements. A reliable signal processing technique is needed to preserve the diagnostic information of recorded ECG signal.

        Fig.1. ECG Signal

        ECG signal is considered to be non stationary signal. Wavelet transform is an efficient technique in case of non stationary signal processing. Electromyogram (EMG) noise contaminates the recorded ECG signal which is due to the increased muscle activity. The EMG noise can be effectively suppressed by using discrete time wavelet transform. While using wavelet transform the decomposed signal contains highest band with EMG noise and some additive components of QRS complexes and lower band contains more components of QRS complexes. Depending on the estimated level of interferences the signal can be filtered. There are different strategies for thresholding the wavelet transform coefficients. The optimal threshold parameter depends on the level of interference. While doing WT with downsampling, the result depends on choice of the beginning of filtering and need interpolation in reverse transform. So it is preferable to use Stationary Wavelet Transform (SWT) for filtering.

        The discrete wavelet transform has so many limitations like lack of shift variance property, poor performance of distinguishing operations, aliasing, oscillations, lack of directionalities etc. In order to overcome these problems and to provide an effective denoising tool for ECG signal we use dual tree complex wavelet transform technique. DTCWT has a good computational structure containing shift invariance property and antialiasing effect which is good for biomedical signals. By using wavelet wiener filtering each transform coefficient is adjusted separately which improves the result. In order to calculate the correction factor wiener filter requires the estimate of noise free signal. Artificial noise whose power spectrum is adapted to the spectrum of an EMG signal is used to test the filter.


        1. Noise simulation

          As the source of raw data the MIT BIH Arrhythmia database was used. The dataset has two channel recording of annotated ECG signal with sampling rate 360 Hz and 11 bit resolution over a 10 mV range. Here I took the record number 105 for the study. Random noise is generated and added to original signal to produce noisy signal. The power spectrum of random noise is adapted to the power spectrum of Electromyogram (EMG) noise

          y(n)= x(n)+ d(n). (1)

          x(n) – clean original MIT BIH ECG data signal with DC component rejected.

          d(n) – random noise generated.

          Fig.2. Clean ECG signal in the top, Random noise signal in the middle and noisy ECG signal in the bottom

        2. Dual Tree Complex Wavelet

          The main drawback of DWT for multiresolution signal is the shift variance problem. This can be overcome by dual tree complex wavelet transform. Shift variance problems means the small shift in input signal changes the wavelet coefficient singularities. The shift variance occurs mainly in lower sampling. This shift variance can be overcome by using undecimated dyadic filter tree but it produces computational complexity and high redundancy in output. So we can use a DTCWT with redundancy factor 2 to overcome shift variance. DTCWT contain two trees. One filter is for real part and other is for the complex part of the wavelet transform. A complex wavelet can be expressed as

          (t)= h(t)+ g(t)

          Where h(t) is real and even , g(t) is real and odd. g(t)

          is the Hilbert transform of h(t).

          Fig.3. Analysis filter bank.

          Fig.4. Synthesis filter bank.

          Complex arithmetic is not required since the coefficients of the filters are real. The inverse of the DTCWT is obtained by inverting separately both real and imaginary filters and averaging final reconstructed output. The analysis and synthesis bank to compute DTCWT is shown in figure 3 and 4.

        3. Wavelet thresholding

          Thresholding is very important for denoising. Here wavelet filtering is based on appropriate adjustment of wavelet coefficient in the wavelet domain. Interference and signal can be efficiently separated by using thresholding. Efficient thresholding requires right value of threshold and right method of thresholding.

          The corrupted signal y(n) is a combination of noise free signal x(n) and noise d(n), y(n)= x(n)+d(n). Transforming the noisy signal using DTCWT we get the wavelet coefficients ym(n) = um(n)+vm(n), where um(n) is the coefficient of noise free signal and vm(n) is the coefficient of the noise. Here m is the level of decomposition.

          Based on the noise level vm(n), for each decomposition level, the threshold level for the modification of wavelet coefficient has to be set separately. Many methods exist for estimating the optimum threshold including universal threshold, Steins unbiased risk estimate threshold (SURE) or minimax threshold. All these methods are based on product of standard deviation of the noise and derived constant value which is called threshold multiplier (TM). The threshold multiplier is described by the equation

          m=TM. vm (3)

          The rbust method to estimate the standard deviation of noise is by using median

          vm= (median (|ym|)/0.6745 (4)

          In this paper we tested hard and soft thresholding and negative garrote thresholding.

        4. Wavelet wiener filtering method (WWF)

          By using the WWF method we are able to estimate the noise free coefficient um(n) from the coefficient ym(n). This is explained in figure 5.

          Fig.5. Block diagram of wwf method

          The block can be divided in to two path, the upper path consists of four blocks: dual tree complex wavelet transform DTCWT1 , the modification of the coefficients in block H, inverse dual tree complex wavelet transform IDTCWT1 and DTCWT2. The lower path contains three blocks: wavelet transform DTCWT2, the wiener filter in wavelet domain and inverse wavelet transform IDTCWT2.

          The estimate of noise free signal S (n) is obtained by inverse transform IDTCWT1. Wiener filter (HW) is designed using this and this is applied to the original noisy signal x(n) in DTCWT2 domain via wiener correction factor

          TABLE I





























The ECG signal for testing is taken from MIT/BIH arrhythmia database. The signal with number 105 is taken. The signal value has 2rows (signal) and 3600 columns (samples/second). ECG signal has the duration of 10s and is sampled at a frequency of 360Hz.

In this study the simulation is done using MATLAB. The signal is first mixed with random noise to produce noisy signal and preprocessing is done. Dual tree complex wavelet transform is done on noisy signal with decomposition level 2 and 3 which is shown in figure 6. Then the compression or thresholding is done on level 3 decomposed wavelet coefficient and is shown in figure 7.

Wiener filtering result is shown in figure 8. Performance is measured by calculating signal to noise ratio





where Û 2(n) is the square of wavelet coefficient which is

obtained from the estimate S(n) and noise free signal vm(n).

2 is the variance of

The modified coefficient from HW block using wiener

correction factor is

ym(n) = ym(n).gm (n) (6)

The noise free output signal y(n) is obtained from inverse transform IDTCWT of the modified coefficient ym(n).

  1. Setting of parameters

We took parameters like decomposition level 2 to 6, the thresholding method Hard, Hyperbolic, negative garrote, semisoft and soft, the threshold multiplier value is taken from

1 to 20, and set of filter banks for wavelet transform DTCWT1 and DTCWT2.


Fig.6. level 2 and level 3 decomposition of the original signal using DTCWT

Fig.7. Thresholding of level 3 decomposed wavelet coefficient.

Fig.8. wiener filtered signal in time domain


This paper presents the ECG signal denoising technique using dual tree complex wavelet transform and wiener filtering. This proposed paper provides better result than simple wavelet wiener filtering using stationary wavelet transform. DTCWT could overcome the limitations of discrete wavelet transform. The SNR can be improved in any ECG signal corrupted by EMG noise.


  1. L. Smital Martin, Vtek, Jir Kozump and Ivo Provazn, Adaptive Wavelet Wiener Filtering of ECG Signals, IEEE transactions on biomedical engineering, vol. 60, no. 2, february 2013.

  2. N.Nikolaev, Z. Nikolov, A. Gotchev, and K. Egiazarian, Wavelet domain Wiener filtering for ECG denoising using improved signal estimate, in Proc. IEEE Int. Conf. Acoust. Speech Signal Process, Jun. 2000, vol. 6, pp. 35783581.

  3. L. Chmelka and J. Kozumplik, Wavelet-based Wiener filter for electrocardiogram signal denoising, Comput. Cardiol., vol. 32, pp. 771774,Sep. 2005I. S. Jacobs and C. P. Bean, Fine particles, thin films and exchange anisotropy, in Magnetism, vol. III, G. T. Rado and

    H. Suhl, Eds. New York: Academic, 1963, pp. 271350.

  4. L. Chmelka and J. Kozumplik, Adaptive wavelet Filtering methods for ECG denoising, in Proc. 3rd Eur. Med. Biol. Eng. Conf. Proc., Nov. 2005,pp. 14.

  5. I. W. Selesnick, R. G.Baraniuk, and N. G. Kingsbury, The dual-tree

    complex wavelet transform, IEEE Signal Processing Magazine, vol. 22,no. 6, pp.123-151, 2005.

  6. Available in:

  7. E.-S. A. El-Dahshan, Genetic algorithm and wavelet hybrid scheme for ECG signal denoising, Telecommun. Syst., vol. 46, no. 3, pp. 209 215, Mar. 2011.

  8. G. Garg, V. Singh, J. R. P. Gupta, and A. P. Mittal, Optimal algorithm for ECG denoising using discrete wavelet transforms, in Proc. IEEE Int.Conf. Comput. Intell. Comput. Res., Dec. 2010, pp. 577580.

Leave a Reply

Your email address will not be published. Required fields are marked *