ECG Signal Analysis Based on Curvelet Transform and Wiener Filter

DOI : 10.17577/IJERTCONV4IS34049

Download Full-Text PDF Cite this Publication

Text Only Version

ECG Signal Analysis Based on Curvelet Transform and Wiener Filter

Subhani Shaik

Research Scholar

Dr. U. Ravibabu


Latha Avvaru

Professor & Dean

Shaik Subhani

Asst. Professor

Dept. of CSE

Dept. of CSE


Dept. of CSE


Andhra Pradesh


STMWEC, Guntur

Abstract —–Electrocardiogram (ECG or EKG) is an analytical tool used to assess the electrical activity of the heart over a period of time using electrodes placed on the skin. This paper deals with the analysis of ECG signals using a powerful technique called curvelet transform. The proposed work is carried in two steps, in the first phase, an attempt was made to generate ECG curved forms using MATLAB simulator and in the second phase, the ECG signal was de-noised by removing the corresponding curvelet coefficients at higher scales using curvelet transform. Wiener filter is used to detect the positions of the heart beats. The parameters like the mean difference of the heart beats and the heart rate are computed for ECG signal. Finally, the Statistical results show that our method could significantly improve accuracy, error reduction and has potential to become an effective method for ECG signal analysis.

Keywords: Curvelet Transform, Wiener Filter, Signal detection, Noise.


    Electrocardiogram (ECG) indicates electrical activity of human heart. ECG is composite from 5 waves – P, Q, R, S and T. This signal could be calculated by electrodes from human body in typical commitment. Signals from these electrodes are brought to plain electrical circuits with amplifiers and analogue digital converters. The electrocardiogram (ECG) provides data about the heart. ECG is a biological signal which usually changes its physiological and statistical property with respect to time, given to be a non-stationary signal. In studying such types of signals, Curvelet transforms is very useful. The most striking waveform when considering the ECG is QRS wave complex which gives the R wave peak which is time varying. We will explain the detection of QRS complex using Curvelet transform. This identifier is reliable to QRS complex morphology and properties which changes with time and with the noise in the signal.

    During a single cardiac cycle, there are dissimilar feature points known as wave points. Specifically, QRS wave is used to identify arrhythmias and identify problems in the regularity of the heart rate. It is difficult to detect the wave which is the maximum point of the QRS complex. This is because it is varying with time, degraded with noise, and is subject to baseline meandering due to difficult patient conditions. Sometimes, in the ECG signal, QRS complexes may not always be the famed waves because they change their construction with respect to time at dissimilar conditions. However, they may not always be the solid signal sections in the ECG signal. Also, the ECG signal can be affecting and degraded by other sources such as noise in a clinical setting like patient condition, baseline drifting due to respiration, patient movement, intervention of the input power supply, reduction and twitching of the muscles, and the feeble contact of the ECG electrodes.

    It is determinative for the QRS identifier to avoid the noise intervention and correctly notice QRS complexes even when the ECG signals different with respect to time. Also, the probability of receiving human error is high if the ECG is managed visually. It is a difficult task and it increases chances of losing important clinical interrelated information. Therefore, lot of efforts has been prepared to avoid this problem by developing different analog and digitized systems for ECG analysis. Digitized approach has proved to be more efficient as compare to analog systems.

    This makes it possible to retrieve information quickly for the storage of vital data and techniques to present that information, which is important for clinical usage. Many approaches used or planned in the past have been complex and have used a great deal of time. Real time procedures on the other hand, can be used to watch the wave complexes and in decisive the correct heart rate.


    C. Saritha, V. Sukanya, Y. Narasimha Murthy observe ECG signals using wavelet transform analysis is an effort was made to produce ECG waveforms by rising a suitable MATLAB simulator and using wavelet transform, the ECG signal was de-noised by removing the parallel wavelet coefficients at superior scales. Then QRS complexes were detected and each complex was used to discover the peaks of the individual waves like P and T, and also their deviations. Since the function of wavelet transformation in electro cardiology is comparatively new field of many methodological aspects of the wavelet methods will require further investigations in order to develop the clinical usefulness of this new signal processing method. Simultaneously investigative and predictive significance of wavelet methods in different areas of electro cardiology needs to be entrenched in huge clinical studies.

    Gordan Cornelia, Reiz Romulus implemented Biomedical signals similar to heart wave tend to be non-stationary to analyze this type of signals wavelet transforms are a potent tool and we make use of wavelets to filter and analyze noisy ECG signals. We use wavelets to detect the locations of the happening of the QRS complex throughout the period of analysis. The benefit of using wavelet transform connected with a noise thresholding strategy. Further, the possibility of detecting locations of QRS complexes in ECG signals is checked and a simple detection algorithm for wavelet thresholding every relevant noise are removed of the signal, allowing the consumption of simple finding logic for the QRS detection. The main benefit of this kind of finding is less time consuming analysis for long time ECG signal.

    Z. Piotrowskia and K. Rózanowski develop for Heart Rate detection based on Short-Term Autocorrelation Center Clipping method. This algorithm is devoted for biological signal detection, electrocardiogram, in noisy surroundings with lot of artifacts. This algorithm is Using for detect the R pointers in the PQRST complex of the ECG signal. The new implementation of the heart rate variability assessment is also presented. HRV module is based on parametric and

    Clipping algorithm is effective for relatively quick ECG beat detection as well as preprocessing phase for searching R pointers. Together with module mapa01, described HR detection algorithm is also robust against artifacts and non- stationary deprivation factors.


    Curvelets are flexible method for multi- scale object representation. Being an addition of the wavelet concept, they are becoming popular in related fields, namely in image processing and scientific computing. Wavelets generalize the Fourier transform by using a source that represents mutually location and spatial frequency. For 2D or 3D signals, directional wavelet transforms go further, by using source functions that are also localized in orientation. A curvelet transform differ from other co relational wavelet transforms in that the degree of localization in orientation different with scale. The fine-scale basis functions are long ridges; the shape of the basic functions at scale j is 2-j by 2-j/2. So the fine scales bases are angular ridges with a absolutely determined rientation.

    A representation of functions with respect to Curvelets is known as a curvelet transform. A continuous time signal is distributed into different scale components using a mathematical function called curvelet. Curvelet transforms represents functions with discontinuities, sharp peaks, and it exhibits accuracy in the reconstruction of signals which are non-stationary, non-periodic, and finite in nature. Thus, it is advantageous over Wavelet Transforms in such cases. The discrete curvelet transform represent a digital signal with respect to time using various filtering techniques. Various cutoff frequencies as multiple scales are used to analyze the signal. Filters perform the functions in processing the signal. Scaling the filters in iterations produces wavelets. Scales are determined using the up and down sample method. The use of filter provides the information in the signal. Therefore, this uses the low and high pass filters over a digitized input signal.

    The discrete curvelet transform useful to represent an with intensity values given by the function f (x1, x2), y1 = 0, 1,…, N1 – 1, y2 = 0, 1,…, N2 – 1, whose discrete Fourier transform (DFT) is

    x2=0 x1=0

    x2=0 x1=0

    f (n1, n2) = N21 N11 f( x1, x2) e2i(n1y1/ N1+n2x2

    / N2) (1)

    The discrete curvelet transform is now a disintegrate into the curvelet coefficients such that

    non-parametric methods of the power spectral density process. There are a lot of different algorithms based on ECG signal averaging used for High-Resolution ECG (HRECG). The QRS detection algorithm is proposed by

    f (n1,n2) =



    j 1

    Lj 1

    l 0

    Kjl ,11

    k 10

    Kjl ,21

    k 20

    cjlksjlk (x1,x2)

    Pan and Tompkins. This algorithm that estimates the noise variance from the different signal (difference between averaged beat from the individual beat). In comparison with these methods, SACC method is robust against additive noise. Short-Term Autocorrelation Center


    Where k = (k1, k2), s is the Curvelet on level j with orientation l and spatial shift k.


    |cjlk|2 = y1, y 2

    + |f(x1, x2)|2

    The Wiener filtering assassinates a finest trade-off between inverse filtering and noise smoothing. It abolishes the additive noise and inverts the blurring concurrently.


    The discrete curvelet transform provides a disintegration of the image f into J detail levels, with Lj orientation on each level, and Kjl,1 × K jl,2 spatial shifts for each Where k = (k1, k2) and s is the curvelet on level j with orientation l and spatial shift k. additionally, the curvelet transform preserves l2-norms, i.e.

    The Wiener filtering is finest in terms of the mean square error. In other words, it decreases the overall mean square error in the procedure of inverse filtering and noise smoothing. The Wiener filtering is a linear assessment of the original image. The procedure is based on a stochastic framework. The orthogonality principle implies that the Wiener filter in Fourier domain can be conveying as follows:

    V(f1, f2) = G* (f1, f2) Txx(f1, f2) / |G(f1, f2)|2 Txx (f1,


    |cjlk| 2 =

    y1, y 2

    + |f(x1, x2)| 2

    f2) + Tnn (f1, f2)

    …… (4)

    The discrete curvelet transform provides a disintegration of the image f into J detail levels, with Lj orientation on each level, and K jl,1× K jl,2 spatial shifts for each directions.

    The Curvelet s is defined through its discrete Fourier transform as

    sjok(m1,m2) = Uj(m1,m2) e2i(k1m1 / Kj0,1+ k2m2 / Kj0,2)andsjlk = ST 1 sjok ..(5)

    Here, S is called as shearing matrix, which shears the grid on which the curvelet is evaluated by an angle Øl. The slopes defined by the angles Øl are equi-spaced. vj is a frequency window function with compact support.


    The Wiener filter is usually utilized because of its cleanness and its rapidity. It is deemed easy because it uses a system of linear equations to compute a set of optimal filter weights that cut the noise level of a received signal. It estimates covariance and cross-correlation matrices of noisy signals to compute these weights and give an exact Estimate of the truthful deterministic signal under Gaussian noise. The noise statistics are estimated and then used to decide a set of best filter weights. By then computing a new input signal, containing related noise characteristics, with the best filter weights, the signal deterministic component is estimated. This technique is optimal when the noise sharing is Gaussian. Furthermore, its implementation only requires a few processing steps that are very fast to process.

    The inverse filtering is a re-establishment technique for de- convolution, i.e., when the image is unclear by a known low-pass filter, it is achievable to recover the image by inverse filtering or generalized inverse filtering. However, inverse filtering is extremely sensitive to additive noise. The approach of falling one degradation at a time allows us to extend a restoration algorithm for every type of degradation and simply combine them.

    Where Txx (f1,f2), Tnn (f1,f2) are respectively power spectra of the unique image and the additive noise, and H(f1,f2) is the blurring filter.

    In this paragraph, we will see the conclusion of Wiener filter in a real wave. ECG is a time-domain recording of a human heart beat (electrocardiogram). In the earlier problem, we only knew the correlation matrix of the signal. Here, we know the signal itself, and hence, we will execute a matched filter. Using this filter, we will detect the heart beats in the cardiogram and calculate the heart rate.

    Furthermore, we will guess that the noise and that each sample has noise with the same variance. Hence, the noise covariance matrix is diagonal with the similar entry for each diagonal element. Therefore, the matched filter is proportional to the signal itself. To identify the positions of the heart beats, we can use a matched filter that is simply given by a replica of the signal. Note that if the noise is high, and/or if various samples have different noise levels, the matched filter will not be reciprocal to a replica of the signal itself. Hence, it will depend on the noise covariance matrix.

    The wiener filtered output is shown in the Figure 1 and 2.Original signal from (i) with noise and from (ii) Remove the noise from original signal using wiener filter with curvelet transform.

    1. Original Signal

    2. De-noised Signal

      Figure1: Removing background noise from the ECG signal

    3. De-noised ECG Signal

    4. Extracted ECG Signal

      Figure 2: Extracted ECG signal Using Curvelet Transform

      From (iii) show the De-noised ECG signal using wiener filter and curvelet transform. The Wiener filter is a filter used to produce an estimate of a desired or target random process by linear time-invariant (LTI) filtering of an observed noisy process, assuming known stationary signal and noise spectra, and additive noise. The Wiener filter minimizes the mean square error between the estimated random process and the desired process.


    In this part there are described algorithms for heart rate detection which have been designed in Matlab. Algorithms can be divided to algorithms based on statistical and differential mathematical methods.The first algorithm is focused on statistical signal processing methods like

    autocorrelation. Autocorrelation method can be used because the ECG signal is quasi-periodical. Matlab provides very simple using of autocorrelation method in signal processing which is very useful for this purpose. The second and third algorithms are detecting heart rate as difference between waves in ECG. These waves are filtrated by band pass ilters firstly and then the signal energy is computed. The waves peaks are detected by peak detector or signal thresholding. These algorithms compute heart rate frequency from the signal power. The signal energy was pre-computed in preceding part. All three described algorithms were used on same signal. It means it is possible to compare the results and to choose the best one.

    The current version of the algorithm is presented below.

    Algorithm: Heart rate calculation algorithm

    Require: signal: time series of the average component values of captured by camera frames;

    Frame rate: frame rate of cached data;

    v: variance;

    m: max_num of the peaks in the chosen_set (default value equals 20%);

    max_diff: max. Deviation of distances between peaks from their avg_value.(default equals to 25%).

    Derive = derivative of the signal

    for value signal do

    if value == maximum values of 2-neighbourhood then peaks += value

    end if

    end for

    for i = 5 : m do

    distances = distances between adjacent peaks of i highest peaks from peaks

    v += variance of the distances

    end for

    if min.(v) == m then

    chosen_set = set of distances that variance(v) equals to first local minimum in variances (v)


    chosen_set = set of distances that variance equals to min. (v)

    end if

    remove all values that are lower than frame rate×10=33 from chosen_set


    S= values of chosen_set that differ from mean (chosen_set) for more than max_diff

    remove S from chosen_set

    until S

    heart_ rate = 60×frame rate=mean(chosen_set) Return heart_ rate.


It is well known that modern clinical systems require the storage, processing, and transmission of large quantities of ECG signals. ECG signals are collected both over long periods of time and at high resolution. This creates substantial volumes of data for storage and transmission. Data compression seeks to reduce the number of bits of information required to store or transmit digitized ECG signals without significant loss in signal quality. The curvelet decomposition splits the analyzing signal into average and detail coefficients using finite impulse response digital filters. In this paper, we implemented a Wiener filter to the ECG signal to detect the heart beats and determine the correct heart rate. As discussed in the introductory part of this study, it is a hard task which provides a cleaner image as the consequence of these transformations. Curvelet technique is the obvious choice for ECG signal compression because it is localized, and has a non-stationary property of the wavelets to see through signals at different resolutions.


Authors are thankful to Dr. U. Ravi Babu, Professor, Dept. of CSE and Dr. D. Naga Raju, Professor & Head, Dept. of IT, LRBREC, Mylavaram for giving continues support and confidence to carry out this work. Authors are also grateful to the reviewer for perilously going through the manuscript and giving valuable suggestions for the renovation of manuscript.


  1. Jalaleddine S. M. S., Hutchens C. G., Strattan R.D., Coberly W.A. (1990) ECG Data Compression Techniques: A Unified Approach, IEEE Trans Biomed.

  2. Addison P.S. (2005). Wavelet Transforms and the ECG. Institute of Physics Publishing Physiological Measurement.

  3. Rioul O., Vetterli M. (1991). Wavelets and Signal Processing, IEEE Signal Processing Mag.

  4. Senhadji L., Bellanger J., Carrault G., Coatrieux J. (1990). Wavelet Analysis of ECG Signals, IEEE EMBS.

  5. Miaou S.G., Lin C. L. (2002). A quality in Demand Algorithm for Wavelet Based Compression of Electrocardiogram Signals. IEEE Trans Biomed.

  6. Guatam R., Sharma A. K. (2010) Detection of QRS Complexes of ECG Recording Based on Wavelet Transform using MATLAB, IJETS.

  7. Brikena Xhaja, Dr.Eglantina Kalluci, Prof.Ligor Nikolla wavelet transform applied in ecg signal processing European Scientific Journal April 2015 edition vol.11, No.12 ISSN: 1857 7881 (Print) e – ISSN 1857- 7431.

  8. Anilet Bala , Chiranjeeb Hati and CH Punith Image Denoising Method Using curvelet Transform and Wiener Filter IJAREEIE; Vol. 3, Issue 1, January 2014;

  9. Nagendra H, S.Mukherjee and Vinod kumar Application of Wavelet Techniques in ECG Signal Processing: An Overview (IJEST) ISSN : 0975-5462 Vol. 3 No.10 October 2011.

  10. Subhani shaik, Uppu Ravibabu, Shaik Subhani Detection and Classification of Power Quality Disturbances using support vector machine IEEE Conference, Pages: 1 – 8, DOI: 10.1109/ICICES.2016.7518870.

  11. Subhani shaik, Uppu Ravibabu, Shaik Subhani Curvelet based signal detection for spectrum sensing using Principle Component Analysis IEEE Conference, Pages: 917 922, DOI: 10.1109/ ICETECH.2016.7569381.

  12. C. Saritha, V. Sukanya, Y. Narasimha Murthy ECG Signal Analysis Using Wavelet Transforms Bulg. J. Phys. 35 (2008) 68 77.

  13. Z. Piotrowski and K. Rózanowski Robust Algorithm for Heart Rate (HR) Detection and Heart Rate Variability (HRV) Estimation Vol. 118 (2010) ACTA PHYSICA POLONICA A No. 1.

Leave a Reply