An approach to enhance the accuracy of diagnosis and improve signal performance in ECG system

DOI : 10.17577/IJERTV2IS100158

Download Full-Text PDF Cite this Publication

Text Only Version

An approach to enhance the accuracy of diagnosis and improve signal performance in ECG system

DUNG Cao Tuan, VIET Hoang Anh

School of Information and Communication Technology, Hanoi University of Science and Technology No1 Dai Co Viet Street, Hanoi city, Vietnam


Cardiovascular disease is the leading cause of death in the world. It is estimated there are about 17.3 million in 2008 due to the deaths related to cardiovascular disease and stroke, accounting for approximately 30% of all deaths globally and forecast to 2030 the number of deaths from heart disease will be approximately 23.3 % per year, 80% of all deaths are from less developed countries or developing1. In Vietnam, every year there are approximately 50,000 cases of heart disease by without timely detection2. For all these reasons, we wish to develop a complete system from the measured ECG (Electrocardio-gram – ECG Fig. 01) to make the diagnosis and warning based on the strength of information technology and telecommunications systems (Figure 02). Such a system requires strict precision, and real time processing of all. Here we introduce the method improves the accuracy of diagnosis, and improve signal performance. In our laboratory, the entire system was connected and obtained good results prove this is the right direction.

Keywords: ECG, QRS, LPF, HPF

  1. Introduction

    QRS (Fig.01) detection software is an integral component in the computer monitoring system based on ECG heart. Not only is the heart rate monitoring system we have built [1], but also can be used in other systems including ECG machines, stress test system based on the ECG. Although it has not a perfect QRS detection algorithm to be developed until now.

    1 WHO (

    2 WHO (

    Figure 1. An ECG signal with the QRS complex and the peak The architecture of most of the QRS detection is divided into two segments [3] (Figure 02). Preprocessing segment or segments extracted attributes perform linear filtering and nonlinear filtering ECG signals and generates a set of cyclic vectors (vectors periodic) performance events. Segment taken the decision to include peak detection and decision logic. Inputs for this segment is the information that is returned from the preprocessing step, classifying each event or a QRS is a signal or noise, and save the position of appearing different QRS. Normally a decision will be built by many rules.

    Figure 2. Structure of a QRS Detector

    The most important task of deciding the segmentation threshold for determining which view vector to identify events that represent a QRS or not. Some other ingredients commonly found in the decision is a clear part, have ignored the task vector event occurs immediately after the QRS complex recently discovered in a set period of time, looking backward components, be used to assess the events that were ignored before the public without a QRS complex is detected in a significant period of time.

    In experiments, we use the pre-treatment section has been developed and published in the previous paper [1]. Signals are taken from the machine into a real-time ECG, signal pre-processing step we will return to the event vector including the height of the peak and the peak time when it appeared. The vector is recorded along with a note to see if it can be performed for a QRS or just a noise. There are many laws are applied to decide the event returns to the quantitative evaluation of the effectiveness of the law of various components.

    Figure 3. Overall system architecture supporting the monitoring and diagnosis of cardiovascular disease based on ECG

    Finding accurate QRS in a real-time conditions have a decisive role in the quality of cardiac monitoring systems. Later in the article we are pleased to introduce methods to optimize the decision rule in the system (Figure 03). In addition to the data generated from the ECG machine, the data sources used were made available from the MIT/ BHI for arrhythmias.

    Low-pass filter (low-pass filter) and high pass filter (high-pass filter) is applied with the argument can be used for real-time processing. Following are the steps are differentiation, squaring, and averaging time.

    Low-pass filter (or LPF) allows frequency components lower than the cut off frequency pass through without any loss of amplitude, and frequency components higher cut off frequencies will be suppressed. It is often used to eliminate interference by jamming environment was measured during pulse AC, telecommunications waves, sound waves … LPF was introduced by Lynn [5], and is applied by a formula other

    High-pass filter (or HPF) have opposite functions LPF coal. It will remove the less volatile components of the ECG wave as the DC component and is used to stabilize the base line of the signal. The performance of HPL:


    After HPF, the received signal shows the peaks Q, R, S appeared relatively clear. But can highlight this point further with derivative is described by the formula


  2. Signal pre-processing

    As mentioned above, the phase signal preprocessing tasks linear filtering and non-linear filters. Figure 04 describes the steps of filtering the signal preprocessing. In the previous paper [4] we presented the details of this step.

    Figure 04. Filter stages of the QRS detector

    Received signal amplitude will be positive simultaneously amplifies the large amplitude, small amplitude points are suppressed by the square of the wave amplitude is.

    Figure 05 describes the transformation of the ECG waves through the steps of the pre-processing stage.

    Figure 05: The process of transformation of the ECG waves, a- wave input, b-after the LPF noise reduction, noise reduction with HPF c-, d-vertices Q, R, S have been made more prominent, e-amplification peaks Q, R, S and eliminate other points.

  3. Decision stage

    1. Identify the Peak

      Suppose V is vector valued event voltage maximum nearest. The peak signal is detected by comparing the voltage value with v. If it falls below the value v / 2, a peak is detected. Then the value of v is set equal to the height of the current peak. Rules of the peak detected as described in Figure 06.

      Figure 06. Rule of peak detection

      The setting of standards is greatest at the peak position of the signal is filtered in the period from 225ms to 125ms tian before an event detected peaks. Benchmarking and height of the peak is placed into a vector using the event to the decision stage.

    2. Make Decision

      In this step a vector event has been detected will be determined as a manifestation of the QRS complex or just a noise. To achieve this, an adaptive threshold is

      applied to the wave properties that were extracted from the filter step. Decision threshold can be calculated as the content of the article [4]

      If v[n] >= Threshold => QRS Complex (4) If v[n] < Threshold => Noise

      In that v[n] denotes a peak was detected and adaptive threshold is selected. Additionally, Threshold is constantly updated by


      In that PEAK is the maximum value and the newly discovered and is a limiting value for the number of positive elements with . Through the formula 5 can see each new value of the threshold is determined through the implementation of the evaluation of peak signal properties as well as the previous value and the current value of the threshold value. is a weight used to determine the influence of the peak value to change the threshold value (Threshold). According to experimental values in the range of 0.15 to 0.2. A QRS is said to have been detected if and only if the value exceeds the threshold. And this threshold is regularly updated each time a QRS complex is detected.

    3. Experimentation and Results

      In the study, the algorithm has been installed in the C # language on their performance x86 intel 1.8Ghz clock and obtained positive results.

      Figure 07 shows the level of spend time QRS detection algorithm. In which data were used to evaluate the structure created by the record at MIT / BHI from a meter is that we have designed. Use a measuring ECG 12-lead ECG in the body of the interval is 1s, 10s, 20s, 30s, …, 80s. This data is used as input for software QRS detection. Time calculations on data logging software showed complete algorithms can be put into implementation in real-time mode.

      We have also used the records available in the data bank MIT / BHI to check the accuracy of the algorithm. Looking at the Table 01 an be seen the algorithm accuracy achieved is high.

  4. Algorithms in real-time conditions

With high accuracy and short response time, QRS detection algorithm can fully put into the system settings in real time. In our study, a heart rate monitor program written in C# works on the PC, this program will receive the input signal samples are transferred from the device to the heart. The discrete signal is represented in the form of two-dimensional vector , within the sampling time, and the voltage values measured at that time. The samples loaded directly as a single signal input to the algorithm will not make sense, because the QRS must be performed by a sufficiently long period of data. During fieldwork we found with the equivalent input data sampling time is 3 seconds, you can ensure the detection of even the low heart rate 20 beats / min. The discrete signal is stored in a temporary array and perform batch processing later.

There are two methods to load data were used in the study:

  • The first one: Load the data in the window, not an array of fixed size buffers used for the input signal. The signal is loaded into the buffer and then will be put into the module detects QRS T cycles (about 100ms). When a QRS complex is detected, all the necessary information for it to be saved and zeroed buffer to load new data.

  • The second method: load data in static translation window. In this method, a fixed-size array is used to contain the sample signal, the signal is loaded into continuous and periodic inspection and T. Each time new data is loaded into a data equivalent in the beginning of the array will be removed.

Both methods are highly accurate results. In the first approach, the cost is the optimal time to figure out a complicated set. While the two methods for time cost is constant and stable operation.

In the boundary of the research project, the research team has not qualified to verify the accuracy of the solution for big data but only small-scale data for each small record is 6s standard MIT / BIH. Table 01 is described in the statistics of the rate of correct detection program for data that offered by the original paper [8].

Table 1: The accuracy of Algorithm



Total heart rate

The number detected


































































































Figure 07. Assessment of the time-consuming algorithms

4. Conclusions

With the test results on a small scale, we found that the application of the proposed system is subject perfectly reasonable and scalable when deployed on larger data sets.

In fact, the ability to extend applications with larger data sets and the 12-lead we measured the subjects had improved following the directions included in the model by the PCA and ICA algorithm to handle input signals in order to improve the effectiveness and efficiency of the system processor. The application and system testing in pratice will be deployed in the coming time with the involvement of the 108 hospital cardiology.


This research paper is made possible through the help and support from everyone, including: lectures and ECG- group students of HUST. The research is a part of project which has title: A general solution supporting real-time and remote electrocardiogram diagnostic based on embedded and mobile technology, project code: B2011- 01-09

Especially, with the involvement of the 108 Hospital, the system can be deployed and take the recommendation from doctors.


  1. Viet Hoang, Dung Cao and Thuan Pham -A general solution supporting real-time and remote electrocardiogram dianostic based on embedbbed and mobile technology, Proceeding of Symposium on Information and Communication Technology, SOICT 2012, ISBN 978-1-4503-1232-5, Ha Long, Viet Nam, August, 2012.

  2. H.C.Chen, S.W.Chen- A moving average-base filtering system with its application to realtime QRS detection , Computers in Cardiology 2003, IEEE, Computer Society Press, Los Alamitos, CA, 2003, pp 585-588

  3. Bert-Uwe Köhler, Carsten Hennig, Reinhold Orglmeister- The Principles of Software QRS Detection, IEEE ENGINEERING IN MEDICINE AND BIOLOGY January/February 2002

  4. Hamilton, P.S., and Tompkins, W.J. -Quantitative investigation of QRS Detection Rules using the MIT/BIH Arrhythmia Database, IEEE Trans. Biomed Eng., BME-33 (12), pp. 1157-65, 1986.

  5. P. A. Lynn- Online digital fiters for biological signals: Some fast designs for a small computer, Med. Biol. Egn. Comut., vol t5, pp.534-540, 1977.

  6. O. Pahlm and L. Sornmo- Software QRS detection in ambulatory monitoring- A review, Med. Biol. Eng.

    Cumpt., vol. 22, pp. 289-297, 1984

  7. G. Moody and R. Mark- How can we predict real-world erformance of an arrhythmia detector, Comput. Cardiol., pp. 71-76, 1983.

  8. Jiapu Pan and Willis J.Tompkins, A Real Time QRS Detection Algorithm, Biomedical Engineering, IEEET ransactions on Volume: BME-32, Issue: 3 On Page(s): 230

236, March 1985.

Leave a Reply