c o m p u t e r m e t h o d s a n d p r o g r a m s i n b i o m e d i c i n e 9 1 ( 2 0 0 8 ) 245–254
journal homepage: www.intl.elsevierhealth.com/journals/cmpb
QRS complexes detection for ECG signal: The Difference Operation Method夽 Yun-Chi Yeh a,c , Wen-June Wang a,b,∗ a b c
Department of Electrical Engineering, National Central University, Jhongli 320, Taiwan, ROC Department of Electrical Engineering, National Taipei University of Technology, 106 Taipei, Taiwan, ROC Department of Electronic Engineering, Ching Yun University, Jhongli 320, Taiwan, ROC
a r t i c l e
i n f o
a b s t r a c t
Article history:
This paper proposes a simple and reliable method termed the Difference Operation Method
Received 5 March 2007
(DOM) to detect the QRS complex of an electrocardiogram (ECG) signal. The proposed DOM
Received in revised form
includes two stages. The first stage is to find the point R by applying the difference equation
5 August 2007
operation to an ECG signal. The second stage looks for the points Q and S based on the point
Accepted 17 April 2008
R to find the QRS complex. From the QRS complex, the T wave and P wave can be obtained by the existing methods. Some records (QRS complex and T and P waves) of ECG signals in
Keywords:
MIT-BIH arrhythmia database is tested to show the DOM has a much more precise detection
ECG signal
rate and faster speed than other methods.
MIT-BIH arrhythmia database
© 2008 Elsevier Ireland Ltd. All rights reserved.
Difference Operation Method (DOM) QRS complex detection
1.
Introduction
An electrocardiogram (ECG) signal is the expression of the myocardium electrical activity on the body surface, which appears as a nearly periodic signal. It is well known ECG contains much information about heart disease. Traditionally, the ECG cycle is labeled using the letters P, Q, R, S, and T for the individual peaks of the whole cycle’s waveform. It is pointed out the R peak is always positive (see Fig. 1). The diagnosis is performed based on features extracted from the timing and morphology of these fiducial points. Therefore, the ECG detection is very important for the doctors to make a correct clinical diagnosis [1]. The QRS complex detection of ECG signal has been researched for the past three decades. According to the medical definition [2,3], the most important information about ECG
夽
signal is almost concentrated on the P wave, QRS complex and T wave. These data include the positions and/or magnitudes of PR interval, QRS interval, QT interval, ST interval, PR segment, and ST segment (see Fig. 1). In fact, QRS detection is very difficult because of some problems, such as a noisy ECG signal, power-line interference, and T wave amplitude similar to QRS complex. To get the correct information, the above problems must be overcome. There have been several investigations dealing with the QRS complex detection for ECG signals. For instance, Pan and Tompkins [4] proposed an algorithm (the so-called PT method) to recognize QRS complex in which they analyzed the positions and magnitudes of sharp waves and used a special digital band pass filter (BPF) to reduce the false detection of ECG signals. The paper [5] proposed the Wavelet Transforms (WT) method for detecting QRS complex. By the multiscale feature
The work was supported by the National Science Council of Taiwan under Grant NSC 95-2221-E-008-069. Corresponding author at: Department of Electrical Engineering, National Central University, Jhongli 320, Taiwan, ROC. Tel.: +886 3 4227151x34562; fax: +886 3 4255830. E-mail address:
[email protected] (W.-J. Wang). 0169-2607/$ – see front matter © 2008 Elsevier Ireland Ltd. All rights reserved. doi:10.1016/j.cmpb.2008.04.006 ∗
246
c o m p u t e r m e t h o d s a n d p r o g r a m s i n b i o m e d i c i n e 9 1 ( 2 0 0 8 ) 245–254
Fig. 1 – ECG waveform: (1) P wave; (2) QRS complex; (3) T wave; (4) PR interval; (5) QRS interval; (6) QT interval; (7) ST interval; (8) PR segment; (9) ST segment; (10) R–R interval (or beat); (11) cardiac cycle (including P wave, QRS complex, and T wave).
of WT, the QRS complex can be distinguished from high P or T waves, noise, and baseline drift. Moreover [6–11] used some special digital filters to detect and classify ECG signal in time or frequency domain, [12] proposed the “Geometrical Matching Approach” algorithm to find the ECG beat. Based on the estimation of the first-order derivative, [13] proposed the SVW algorithm to find the QRS points. As we know, to achieve their goals, all the above methods [3–13] require some complicated mathematical calculation. In this paper, a simple and fast algorithm, termed the “Difference Operation Method (DOM)” for detecting the QRS complex is proposed. The proposed DOM includes two stages. The first stage is to find the point R by applying the difference equation operation to the ECG signal. The second stage looks for the points Q and S according to the point R to find the QRS complex (see Fig. 1). Most P and T wave detection techniques require the QRS as the reference points [4,14–17]. The DOM method can detect the QRS complex easily without any complex mathematical calculation, such as cross-correlation, Fourier transformation, etc. The rest of the paper is organized as follows. Section 2 describes the procedure of the Difference Operation Method. The MIT-BIH arrhythmia database [18] is experimented to eval-
uate the effectiveness of the proposed DOM in Section 3, and the paper is concluded in Section 4.
2.
Difference Operation Method (DOM)
This section proposes a scheme called the “Difference Operation Method (DOM)” to detect the QRS complex. Once QRS complex is detected, the P and T waves can be detected by the existing papers [4,14–17]. The DOM includes two processes, one is the difference operation process (DOP) and the other is the waves’ detection process.
2.1.
Difference operation process
The difference operation process procedure is presented as follows: Step 1-1. Download the original ECG signal x. Remark 1-1. The ECG signal may originate from any source. Tape #103 in the MIT-BIH arrhythmia database is an example, as shown in Fig. 2a.
Fig. 2 – (a) x, the ECG signal in the database MIT-BIH Tape #103; (b) xd , the ECG signal after applying the difference operation; (c) xdf , the signal after applying a low-pass filter; (d) the setting of the threshold values; (e) xˆ df , the signal after going through thresholds.
c o m p u t e r m e t h o d s a n d p r o g r a m s i n b i o m e d i c i n e 9 1 ( 2 0 0 8 ) 245–254
247
Fig. 3 – Noise of ECG signal: (a) 60 Hz power-line interference; (b) baseline drift; (c) EMG; (d) motion artifacts.
Step 1-2. Use a digital filter to cut out noises from ECG signals. Remark 1-2. Noises may have many types for different cases as follows: (i) 60 Hz power-line interference. It comes from the power line of the ECG signal measurement systems despite proper grounding (see Fig. 3a). Its frequency content 60 Hz (fundamental) is with harmonics. The 60 Hz notch filter can be used for rejecting the power-line interference [19]. (ii) Baseline drift. It is mainly caused by patient breathing, bad electrodes, or improper electrode site, etc. (see Fig. 3b). Its frequency range is usually below 0.5 Hz. The high-pass filter with cut-off frequency 0.5 Hz can be used to remove the interference by baseline drift [19]. (iii) Electromyogram (EMG). It is produced by muscle electrical
activity. In the ECG signal, EMG interference appears as rapid fluctuations which vary faster than ECG waves (see Fig. 3c). Its frequency content ranges from dc to 10 kHz [20]. The morphological filter for a unit square-wave structuring (the best width is 0.07 s) can be used to remove the interference of EMG [21]. (vi) Motion artifacts. It results from motion of the electrode in relation to the patient’s skin. It can produce larger amplitude signals in the ECG (see Fig. 3d), and its duration time is about 100–500 ms [20]. The adaptive filter can be employed to remove the interference of motion artifacts [22]. Step 1-3. Obtain the difference signal xd by (1): xd (n) = x(n) − x(n − 1)
(1)
Fig. 4 – (a) x+ and x− are separated from the difference signal xˆ df ; (b) pick up the extreme value points (where “䊉” represent df df extreme value points); (c) the selected correct extreme value points; (d) the pair of positive and negative extreme value points in the original ECG signal; (e) the position of positive maximum value is the point R.
248
c o m p u t e r m e t h o d s a n d p r o g r a m s i n b i o m e d i c i n e 9 1 ( 2 0 0 8 ) 245–254
Fig. 5 – R–R interval with duration about 0.864 s (311 sampling points) in the MIT-BIH Tape #103, where duration time = (R2 − R1 ) × (1/sampling frequency) = (577 − 266) × (1/360 Hz).
where x(n) is the input signal at time n, and xd (n) is the difference output signal at time n [1,13]. Remark 1-3. The difference signal may contain the small amplitude but high frequency variation (see Fig. 2b). Step 1-4. Applying any low-pass filter with a cut-off frequency of about 100 Hz to xd to eliminate the small amplitude but high frequency variation waveform (see Fig. 2c). The filtered signal is denoted by xdf . Remark 1-4. It is known the typical frequency components of an ECG signal range are about 0.05–100 Hz [2]. Step 1-5. Let the filtered signal xdf from Steps 1–4 go through formula (2) with the thresholds T1 and T2 to get the final signal xˆ df (see Fig. 2e):
xˆ df =
0
if 0 < xdf < T1 , or T2 < xdf < 0
xdf
if xdf ≥ T1 , or xdf ≤ T2
(2)
where T1 = 2MVp and T2 = 2MVn (see Fig. 2d). MVp and MVn denote the mean values of all positive and negative waveform amplitudes in each MIT-BIH arrhythmia database record, respectively.
Remark 1-5. According to the medical definition [2], the duration of each R–R interval (that is, each beat) is about 0.4–1.2 s (144–432 sampling points at a sampling frequency of 360 Hz) (see Fig. 1). For example, the duration of each R–R interval of Tape #103 in the MIT-BIH arrhythmia database (see Fig. 5) is about 0.864 s (311 sampling points). Then, the total number of sampling points is 2084 × 311 for 30 min long record (about 2084 beats, see Table 3). In this case, the mean values MVp and MVn are about 0.48 and −0.47 mV, respectively. The determination of the threshold values T1 and T2 is based on many experiments. The objective of setting threshold values, T1 and T2 , is to find the correct positive and negative extreme value points. However, if these two values are set too small, it will have more nonzero points in the R–R interval in an ECG signal so the positive and negative extreme value points are not easily found. On the other hand, if these two values are set too large, it is possible to remove many R peak in an ECG signal, so the accurate positive and negative extreme value points cannot be found. Our proposed algorithm depends on ECG electrode position. For instance, it is assumed that the R peak is always positive, Q and S peaks are always negative (according to the medical definition [2], see Fig. 5). If electrode position is not same as that in Fig. 5, the way to solve is to replace T1 and T2 with new values (see Fig. 2d).
Fig. 6 – Select the correct extreme value points (where point A is extreme value in the interval i − 1, point B is extreme value in the interval i, and the distance from point B to point C is called R–R interval.).
c o m p u t e r m e t h o d s a n d p r o g r a m s i n b i o m e d i c i n e 9 1 ( 2 0 0 8 ) 245–254
249
Fig. 7 – Definition of the search interval-1 and search interval-2.
2.2.
Waves’ detection
After we obtain the signal xˆ df , the detection of QRS complex is the next task. For an original ECG signal x, if the points R, Q and S are found, respectively, QRS complex is obtained.
2.2.1.
The procedure to find the point R
Step 2-1. Let the difference signal xˆ df be separated into two kinds of signals x+ and x− , where x+ and x− are the df df df df
positive and the negative parts of xˆ df , respectively (see Fig. 4a). Step 2-2. Find the extreme value points for each interval. Scan x+ and x− from left to right interval by df df interval, where each interval contains 50 sampling points with sampling frequency 360 Hz. Therefore, the duration of each interval is about 0.14 s. If there is one nonzero extreme value (absolute value) in an interval of x+ and x− , pick up and record them, df df + (see Fig. 4b, two points respectively, in xdf and x− df
Fig. 8 – The example of finding the position of points Q and S. (a) MVqq (0.22 mV) > Vq1 (−0.1 mV) + Tv (0.18 mV). So, the position of Q2 is the position of Q. The positions of S1 and S2 are the same. So, their position is the position of point S. (b) MVqq (−0.18 mV) ≤ Vq1 (−0.24 mV) + Tv (0.18 mV) and Vq2 (−0.22 mV) > Vq1 (−0.225 mV). So, the position of Q1 is the position of Q. Vs2 (−0.7 mV) ≤ Vs1 (−0.58 mV). So, the position of point S locates on the position of point S2 . Note: (1) Vq1 ; (2) Vq1 + Tv ; (3) MVqq ; (4) Vq2 ; (5) Vs1 ; (6) Vs2 .
250
c o m p u t e r m e t h o d s a n d p r o g r a m s i n b i o m e d i c i n e 9 1 ( 2 0 0 8 ) 245–254
values of x+ (or x− ). There are two cases as foldf df lows. Case 1: The time difference is equal to or smaller than the duration of an interval (that is, 0.14 s or 50 sampling points), the larger positive extreme value is selected. For example, in Fig. 6, two points A and B are the largest positive extreme values in the intervals i − 1 and i, respectively, where point B is the larger positive extreme value. So, we select point B. Case 2: The time difference is larger than the duration of an interval. Both positive extreme values are selected. For example, in Fig. 6, two points B and C are the largest positive extreme values in the intervals i and j, respectively. Since the distance between points B and C is more than the duration of an interval (that is, 0.14 s), then, both positive extreme values (points B and C) are selected. The same method is applied to two adjacent nonzero negative extreme values of x− and the df most negative extreme value is selected too.
Fig. 9 – Finding the position of point Q.
A and B). Ignore the interval which has no nonzero extreme value. Remark 2-2. It is seen there are three to nine intervals in each R–R interval (based on the medical definition in [2]), and the interval from the point R to the next point R (R–R interval) has a duration of 0.4–1.2 s (see Figs. 4b and 5). Step 2-3. Selecting the correct extreme value points (see Fig. 4c). This step has two substeps as follows. (i) Measure the time difference between the positions of two adjacent nonzero positive extreme
Remark 2-3-(i). According to the medical definition [2], the duration from point R (for example,
Fig. 10 – For each pair of the figures, the original signal is shown in the upper figure and the detected QRS complexes are shown in the lower figure.
c o m p u t e r m e t h o d s a n d p r o g r a m s i n b i o m e d i c i n e 9 1 ( 2 0 0 8 ) 245–254
251
Fig. 11 – (a) The ECG signal in the MIT-BIH Tape #108. (b) The signal after difference operation. (c) The detected R waves.
point B in the interval i) to the next point R (for example, point C in the interval j) is about 0.4–1.2 s (three to nine intervals) (see Fig. 6). (ii) Then, measure the time difference between the positions of two adjacent selected extreme val ues of x+ (or x− ). There are two cases also. df df Case 1: The time difference is equal to or smaller than the duration of an interval (that is, 0.14 s), the two extreme values are a correct pair. For example, in interval i, two points B and D are the largest positive extreme value and the largest negative extreme value (absolute value), respectively (see Fig. 6). Since the time difference between the points B and D is equal to or smaller
than the duration of an interval (that is, 0.14 s), then both B and D are a correct pair. Case 2: The time difference is larger than the duration of an interval 0.14 s. They do not represent a correct pair and should be deleted. Step 2-4. Matching the positions of those extreme points to the original ECG signal, the position of maximum positive value is point R in the interval (see Fig. 4d and e).
2.2.2.
Finding the points Q and S
Step 3-1. Define the “search interval-1”. Based on the medical definition [2], “QRS interval” is the duration between the onset and the offset
Fig. 12 – (a) The ECG signal in the MIT-BIH Tape #203. (b) The signal after difference operation. (c) The detected R waves.
252
c o m p u t e r m e t h o d s a n d p r o g r a m s i n b i o m e d i c i n e 9 1 ( 2 0 0 8 ) 245–254
of the QRS complex (see Fig. 1). Its normal duration is 0.04–0.11 s (that is, 15–40 sampling points at a sampling frequency of 360 Hz). Tape #103 in the MITBIH arrhythmia database is an example, as shown in Fig. 7, the duration time is 20 sampling points, where the distance from point Q to point R is 11 (255–266) sampling points, and point R to point S is 9 (266–275) sampling points, respectively. Let us define the “search interval-1” as the interval which contains the point R and 20 sampling points before and 20 sampling points after the point R (see Fig. 7). In the search interval-1, the position of the minimum value in front of point R is marked as point Q1 and the position of minimum value in behind of point R is denoted as point S1 . Remark 3-1. Step 3-1 is for normal ECG signal. If the ECG signal is abnormal, Step 3-1 is not enough to find the exact points Q and S. Therefore Step 3-2 is needed. Step 3-2. Define the “search interval-2”. Expand 200% on left and right durations of the search interval-1 to get the so-called “search interval-2” with an interval of about 80 sampling points at a sampling frequency of 360 Hz (see Fig. 7). The minimum value position in front of point R is called point Q2 and the minimum value position behind point R is called point S2 . Step 3-3. Finding the position of point Q. If the positions of Q1 and Q2 are the same, their position is the position of the point Q. Otherwise, do the following work. If MVqq > Vq1 + Tv
(3)
the position of Q2 is the position of Q (shown in Fig. 8a), where MVqq is the maximum magnitude inside the interval [Q1 , Q2 ], Vq1 is the amplitude of point Q1 . Also Tv = 0.18 mV is a threshold value, which is selected based on a lot of experimental results for different ECG signals. Otherwise, if Vq2 > Vq1
(4)
the position of Q1 is the position of Q (shown in Fig. 8b); else, the position of Q2 is the position of Q, where Vq2 is the amplitude of the point Q2 . The flowchart to find the point Q is presented in Fig. 9. Step 3-4. Finding the position of point S. If the positions of S1 and S2 are the same, their position is the position of point S (shown in Fig. 8a). Otherwise, if Vs2 > Vs1
(5)
the position of point S locates on the position of point S1 ; else, the position of point S locates on the position of point S2 (shown in Fig. 8b), where Vsi is the amplitude of point Si , i = 1, 2.
Table 1 – The results of the DOM for the Tape #105, 108, and 203 in MIT-BIH database Tape # TP beats FP beats FN beats 105 108 203
2555 1757 2964
0 6 16
17 0 2
Se
P+
Fd (%)
99.34 100 100 99.66 99.93 99.46
0.66 0.34 0.60
Remark 3-4. The above two steps to find points Q and S needs to check the inequalities (3)–(5). Those inequalities are concluded from a lot of experimental results for different ECG signals.
3.
Experiments
In this section, the MIT-BIH arrhythmia database is used to evaluate the effectiveness of the proposed DOM. The database contains forty-eight 30 min long records of ECG signals with a sampling rate of 360 Hz and 11 bits resolution over a 10 mV range [18]. Totally, there are 116,137 beats in this database [1]. According to the medical definition [2], the duration of each beat is about 0.4–1.2 s (that is, about 144–432 sampling points at a sampling frequency of 360 Hz). Therefore, the maximum memory requirements are about 2.5 MB (3000 × 432 × 16 bits) for 30 min, recording (about 3000 beats, see Table 3) with 16 bits sampling points. In the first experiment, by using the proposed DOM, we have checked some ECG signals in MIT-BIH arrhythmia database (Tape #103, 123, 118, 111). The exact QRS complexes are almost found correctly (shown in Fig. 10). In the second experiment, three special ECG signals are used as an illustration. It is seen that Tape #108 (shown in Fig. 11a) has a detection failure rate of 0.34% (6 beats) by DOM because of the sharp P waves. Tape #203 (shown in Fig. 12a) has a great number of QRS complexes with multiform ventricular arrhythmia, so there are 18 beats detection failures (0.60%) by DOM. Tape #105 has a lot of noise so its detection failure rate by DOM increases to 0.66% (17 beats). Experimental results are shown in Table 1. In Table 1, Se denotes sensitivity defined in (6), P+ denotes positive predictivity defined in (7), and Fd denotes failed detection defined in (8), where TP, FP, and FN denote the numbers of true positive detections, false positives, and false negatives, respectively [1]: Se =
TP TP + FN
(6)
Table 2 – Failure rates comparison results among three methods for the Tape #105, 108, and 203 in MIT-BIH database Tape # 105 108 203 Average required time for processing 10 min ECG data
DOM 0.66% 0.34% 0.60% 30 s
PT 3.46% 12.54% 2.78% –
WT 1.08% 1.59% 0.87% 60 s
Table 3 – The results of the three methods for the signals in MIT-BIH database Tape #
Total beats
DOM method FP (beats)
Total
PT method
Failed detection (%)
FP (beats)
FN (beats)
WT method
Failed detection (%)
FP (beats)
FN (beats)
Failed detection (%)
2273 1865 2187 2084 2230 2572 2027 2137 1763 2532 2124 2539 1795 1879 1953 2412 1535 2275 1987 1863 2476 1518 1619 2601 1963 2136 2982 2656 1862 2956 3004 2647 2748 3251 2262 3363 2208 2154 2048 2427 2484 2605 2053 2256 1886 1780 3079 2753
0 0 0 0 2 0 0 0 6 0 0 1 9 0 0 0 2 10 0 0 0 0 1 5 0 1 16 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 2 0 0 0 0
1 1 1 0 0 17 6 3 0 3 1 0 0 1 0 17 0 0 0 2 0 0 0 0 20 0 2 16 1 14 0 14 0 3 4 4 2 0 0 1 5 0 2 0 15 0 9 1
0.04 0.05 0.05 0.00 0.09 0.66 0.30 0.14 0.34 0.12 0.05 0.04 0.50 0.05 0.00 0.70 0.13 0.44 0.00 0.11 0.00 0.00 0.06 0.19 1.02 0.05 0.60 0.60 0.05 0.47 0.03 0.53 0.04 0.09 0.18 0.12 0.09 0.00 0.00 0.04 0.20 0.04 0.10 0.09 0.80 0.00 0.29 0.04
0 5 0 0 1 67 5 0 199 0 1 0 0 3 0 3 1 1 1 4 1 0 0 6 0 0 53 0 4 4 3 2 0 1 2 0 4 0 0 2 101 1 25 1 0 6 0 0
0 3 0 0 0 22 2 2 22 1 0 1 0 17 0 22 1 0 0 7 1 0 0 3 10 4 30 2 4 14 0 8 0 2 4 1 6 0 0 0 81 0 5 0 0 1 1 0
0.00 0.43 0.00 0.00 0.04 3.46 0.35 0.09 12.54 0.04 0.05 0.04 0.00 1.06 0.00 1.04 0.13 0.04 0.05 0.59 0.08 0.00 0.00 0.35 0.51 0.19 2.78 0.08 0.43 0.60 0.10 0.38 0.00 0.09 0.26 0.03 0.45 0.00 0.00 0.08 7.33 0.04 1.46 0.04 0.00 0.39 0.03 0.00
0 1 0 0 8 15 2 0 13 0 1 2 2 3 0 0 1 1 1 2 0 0 0 0 1 0 2 0 2 0 0 3 0 0 – – 1 0 0 0 1 0 3 0 0 0 0 0
0 0 0 0 2 13 3 0 15 0 1 1 0 0 0 1 0 0 0 1 0 0 0 1 12 1 24 1 3 4 0 3 0 0 – – 1 0 0 7 9 2 7 0 0 0 0 0
0.00 0.00 0.11 0.00 0.45 1.09 0.25 0.00 1.59 0.00 0.09 0.12 0.11 0.16 0.00 0.04 0.07 0.04 0.05 0.16 0.00 0.00 0.00 0.04 0.66 0.05 0.87 0.04 0.27 0.14 0.00 0.23 0.00 0.00 – – 0.09 0.00 0.00 0.29 0.40 0.08 0.49 0.00 0.00 0.00 0.00 0.00
116,137
58
166
0.19
507
277
0.68
65
112
0.15
c o m p u t e r m e t h o d s a n d p r o g r a m s i n b i o m e d i c i n e 9 1 ( 2 0 0 8 ) 245–254
100 101 102 103 104 105 106 107 108 109 111 112 113 114 115 116 117 118 119 121 122 123 124 200 201 202 203 205 207 208 209 210 212 213 214 215 217 219 220 221 222 223 228 230 231 232 233 234
FN (beats)
253
254
c o m p u t e r m e t h o d s a n d p r o g r a m s i n b i o m e d i c i n e 9 1 ( 2 0 0 8 ) 245–254
Table 4 – The FP and FN beats comparison results among three methods Method
Total beats
FP beats
FN beats
116,137 116,137 116,137
58 (0.05%) 507 (0.43%) 65 (0.06%)
166 (0.14%) 277 (0.24%) 112 (0.10%)
DOM PT WT
Fd (%) 0.19 0.68 0.15
P+ =
TP TP + FP
(7)
Fd =
FP + FN total beats
(8)
It is also observed the three data records using the other two detection methods PT method [4] and WT method [5] have a much higher failure rate than those using DOM. The comparison is shown in Table 2. Table 3 shows the experimental result of QRS detection for those records in the MIT-BIH arrhythmia database with three different methods, DOM, PT method and WT method. Based on Table 3, we may obtain Table 4. Table 4 shows the FP and FN beats comparison results among three methods. Because only both PT and WT methods contain forty-eight 30 min long records of ECG signals in MIT-BIH arrhythmia database, thus the proposed method compares with such both methods in Tables 3 and 4. It is seen DOM has the best detection results among three methods. In those experiments, the DOM is implemented by MATLAB software in a personal computer with 1.6 GHz AMD CPU. The average operation time of DOM is about 22–30 s for handling 10 min long ECG records. Therefore, it is seen DOM has faster and better detection capability than the other two methods PT and WT.
4.
Conclusions
Most existing algorithms have shown QRS detection already achieves near 100% sensitivity and specificity. However, if ECG signal measurement systems are used in energy consumption areas, fast, reliable, and efficient algorithms in QRS detection are so important. So, in this paper, a simple, fast and reliable DOM for ECG detection is proposed. The method is easy to perform and does not need complex mathematical calculations (such as cross-correlation, Fourier transformation). Average required time for processing 10 min ECG data is only about 30 s, and the maximum memory requirements is only about 2.5 MB for 30 min long recording with 16 bits sampling points. The time complexity for DOM is O(n), where n is the number of sampling points (that is, more sampling points need more processing time). In evaluating detection methods for the MIT-BIH arrhythmia database, the proposed DOM has an only 0.19% failure rate which is much better than the other two popular methods. It can be concluded the DOM is a suitable and reliable detection method for on-line real-time detection QRS complexes of the ECG signal.
references
[1] B.U. Kohler, C. Henning, R. Orglmeister, The principles of software QRS detection, IEEE Eng. Med. Biol. 21 (1) (2002) 42–57.
[2] R.M. Rangayyan, Biomedical Signal Analysis: A Case-study Approach, Wiley–Interscience, New York, 2001, pp. 18–28. [3] R. Silipo, C. Marchesi, Artificial neural networks for automatic ECG analysis, IEEE Trans. Signal Process. 46 (5) (1998) 1417–1425. [4] J. Pan, W.J. Tompkins, A real-time QRS detection algorithm, IEEE Trans. Biomed. Eng. BME-32 (3) (1985) 230–236. [5] C.W. Li, C.X. Zheng, C.F. Tai, Detection of ECG characteristic points using wavelet transforms, IEEE Trans. Biomed. Eng. 42 (1) (1995) 21–28. [6] D. Benitez, P.A. Gaydecki, A. Zaidi, A.P. Fitzpatrick, The use of the Hilbert transform in ECG signal analysis, Comput. Biol. Med. 31 (2001) 399–406. [7] G. Vijaya, V. Kumar, H.K. Verma, ANN-based QRS-complex analysis of ECG, J. Med. Eng. Technol. 22 (4) (1998) 160–167. [8] L. Keselbrener, M. Keselbrener, S. Akselrod, Nonlinear high pass filter for R-wave detection in ECG signal, Med. Eng. Phys. 19 (5) (1997) 481–484. [9] Z. Dokur, T. Olmez, E. Yazgan, O.K. Ersoy, Detection of ECG waveforms by neural networks, Med. Eng. Phys. 19 (8) (1997) 738–741. [10] S. Kadambe, R. Murray, G.F. Boundreaux-Bartels, Wavelet transform-based QRS complex detector, IEEE Trans. Biomed. Eng. 46 (7) (1999) 838–848. [11] V.X. Afonso, W.J. Tomkins, T.Q. Nguyen, S. Luo, ECG beat detection using filter banks, IEEE Trans. Biomed. Eng. 46 (2) (1999) 192–202. [12] K.V. Suarez, J.C. Silva, Y. Berthoumieu, P. Gomis, M. Najim, ECG beat detection using a geometrical matching approach, IEEE Trans. Biomed. Eng. 54 (4) (2007) 641–650. [13] X. Xu, Y. Liu, ECG QRS complex detection using slope vector waveform (SVW) algorithm, in: Proceedings of the 26th International Conference of the IEEE EMBS, 2004, pp. 3597–3600. [14] F. Gritzali, G. Frangakis, G. Papakonstantinou, Detection of the P and T waves in an ECG, Comput. Biomed. Res. 22 (1989) 83–91. [15] S.J. Hengeveld, J.H. Van Bemmel, Computer detection of P waves, Comput. Biomed. Res. 9 (1976) 125–132. [16] R.A. Dufault, A.C. Wilcox, Dual channel P-wave detection in the surface ECG via the LMS algorithm, in: Proc. IEEE/8th Ann. Conf. Eng. Med. Biol. Soc., 1986, pp. 325–328. [17] Y. Zhu, N.V. Thakor, P-wave detection by adaptive cancellation of QRS-T complex, in: Proc. IEEE/8th Ann. Conf. Eng. Med. Biol. Soc., 1986, pp. 329–331. [18] MIT-BIH Database Distribution, Massachusetts Institute of Technology, Cambridge, MA, 1998. [19] Z.D. Zhao, Y.Q. Chen, A new method for removal of baseline wander and power line interference in ECG signals, in: Proceedings of the Fifth International Conference on Machine Learning and Cybernetics, Dalian, 13–16, 2006, pp. 4342–4347. [20] G.M. Friesen, T.C. Jannett, M.A. Jadallah, S.L. Yates, S.R. Quint, H.T. Nagle, A comparison of the noise sensitivity of nine QRS detection algorithm, IEEE Trans. Biomed. Eng. 37 (1) (1990) 85–98. [21] P. Raphisak, S.C. Schuckers, A.J. Curry, An algorithm for EMG noise detection in large ECG data, Comput. Cardiol. 31 (2004) 369–372. [22] P.S. Hamilton, M.G. Curley, Comparison of methods for adaptive removal of motion artifact, Comput. Cardiol. 27 (2000) 383–386.