Proceedings of the 29th Annual International Conference of the IEEE EMBS Cité Internationale, Lyon, France August 23-26, 2007.
ThP2A1.3
An algorithm for QRS onset and offset detection in single lead electrocardiogram records Alfredo Illanes Manriquez and Qinghua Zhang Abstract— In this paper a new algorithm is proposed for QRS onset and offset detection in single lead electrocardiogram (ECG) records. In each cardiac cycle, the R peak is first detected to serve as a reference to delimit the search windows for the QRS onset and offset. Then, an auxiliary signal is defined from the envelope of the ECG signal. Finally, a statistical hypothesis test is applied to the auxiliary signal in order to detect mean changes. The performances of the algorithm have been evaluated using the PhysioNet QT database. The mean and standard deviation of the differences between onsets or offsets manually marked by cardiologists and those detected by the proposed algorithm are computed. The standard deviations obtained in this work are around the tolerances accepted by expert physicians, and slightly outperform the results obtained by the other known algorithms evaluated with the same database.
I. INTRODUCTION The electrocardiogram (ECG) provides a convenient measurement of cardiac electrical activity. Each cardiac cycle in the ECG is characterized by successive waveforms, known as P wave, QRS complex and T wave. These waveforms represent the depolarization and repolarization activities in the cells of atrium and ventricle. Automatic detection of ECG waves provides important information for cardiac disease diagnosis. This vast field is still an active research topic, as demonstrated by recent publications [1], [2], [3], [4], [5], [6]. Because of the great morphological variation in ECG signals, it is difficult to design automatic and widely applicable algorithms. This difficulty partly explains the continuous effort made by researchers on ECG signal processing. ECG detection algorithms have the common goal of enhancing the classification accuracy and are becoming as reliable and successful as expert cardiologists. The QRS complex in an ECG represents the depolarization phenomenon of the ventricles preceding the mechanical contraction, and conveys useful information about the contraction. QRS onset and offset detection is difficult, not only because of the physiological variability of the QRS complex, but also because of the various types of noises that can be present in ECG signals. Noise sources include muscle noise, artifacts due to electrode motion, power line interference and baseline wander. A wide diversity of algorithms have been proposed in the literature for QRS onset and offset detection. Two of them, up to our knowledge, have been already validated with the PhysioNet QT database. The first algorithm, presented A. Illanes Manriquez and Q.Zhang Campus de Beaulieu, 35042 Rennes
are with IRISA-INRIA, Cedex, France. ail-
lanes,
[email protected]
1-4244-0788-5/07/$20.00 ©2007 IEEE
in [7] and validated in [8], is based on classical linear derivative filters to get an indicator of signal variation. After R peak detection and windowing to roughly delimit the QRS complex, the algorithm locates the QRS onset and offset by thresholding the derivative of the ECG signal. The second algorithm, described in [4], uses wavelets to estimate derivatives at different scales. These estimated derivatives are then used for the detection of QRS onset and offset in a way similar to the previous method. A new algorithm is proposed in this paper in order to further improve the QRS onset and offset detection. In a first step, the R peak is detected with an algorithm which takes into account the amplitude and the curvature of the ECG signal in order to distinguish the R waves from the other waves in the ECG signal. Then, using the detected R peak as reference, two search windows which contain the QRS onset and offset are defined. Inside these windows, the detection of QRS onset and offset is then achieved with the aid of a hypothesis test applied to an auxiliary signal computed from the derivative of the envelope of the ECG signal. The results of this new algorithm evaluated with the PhysioNet QT data base will be presented in this paper. The paper is organized as follows. The algorithm for the detection of R peak is briefly described in Section II. In Section III is presented the algorithm for QRS onset and offset detection. Section IV presents a brief description of the ECG signal database used and the algorithm performance. Finally, the conclusions of this work are drawn in Section V II. R PEAK DETECTION ALGORITHM The R peak is detected with an algorithm which takes into account the amplitude and the curvature of the ECG signal. Let k be the sample index of the ECG signal, recorded at discrete time instants. A 2nd degree polynomial is used to fit the ECG signal inside a sliding window of 40 (ms) around the sample k: ECG(l) ≈ −a(l − k)2 + b
(1)
The polynomial coefficients a and b are fitted, for each k, by minimizing the criterion k+!0.02·fs "
V (a, b) =
!
l=k−!0.02·fs "
" #2 wl ECG(l) − (−a(l − k)2 + b)
(2) where #x$ denotes the smallest integer greater than or equal to x, fs is the sampling frequency in Hz, and the wl ’s are weighting parameters of the least squares criterion. Notice
541
6.6 6.4 6.2 6.0 5.8 5.6 5.4 5.2 5.0 4.8 4.6 4.4 2200
500 400 300 200 100 0 −100 −200
2300
2400
2500
2600
2700
2800
−300 1600
2900
1620
1640
1660
1680
1700
1720
1740
1760
1780
1800
1620
1640
1660
1680
1700
1720
1740
1760
1780
1800
5
x 10 6
0.09 0.08
5
0.07
4
0.06 0.05
3
0.04 0.03
2
0.02
1
0.01 0.00 −0.01 2200
Fig. 1.
0 1600 2300
2400
2500
2600
2700
2800
2900
ECG signal and its indicator signal (bottom) for R peak detection
that #0.02 · fs $ corresponds to half of the 40(ms) sliding window in number of samples. At each k, a pair of (a(k), b(k)) is computed. Then, R peaks correspond to major maximums of the indicator ind(k) = a(k) · b(k)
(3)
corresponding to the curvature and the height of the signal at the sample k. Remark that this indicator is valid for both positive and negative R peaks (in the negative case both a(k) and b(k) are negative). This indicator is shown in the Figure 1 where the biggest peak of the indicator signal in each cardiac cycle corresponds to the R peak of the ECG signal shown in the same figure. A thresholding procedure is then applied to locate R peaks. III. QRS
ONSET AND OFFSET DETECTION
The procedures to detect both the QRS onset and the QRS offset are similar, only the parameters of the windowing change. It is mainly based on the detection of mean changes over an auxiliary signal computed from the envelope of the ECG signal. Upon general knowledge about ECG signal bandwidth, a bandpass filter with the passband between 0.5(Hz) and 40(Hz) is applied to the raw ECG signal. Then, the algorithm is composed of four main steps: • computation of the envelope of the ECG • computation of the auxiliary signal • windowing • hypothesis testing application A. Computation of the envelope of the ECG The first step of the proposed algorithm is to compute the envelope of the QRS complex in the ECG signal which is defined as the magnitude of the complex sequence including the ECG signal (the real part) and the Hilbert transform of the ECG signal (the imaginary part) [6], [9]. The Hilbert transform of a real signal x(t) is defined by: $ 1 ∞ x(τ ) xH (t) = dτ (4) π −∞ t − τ
Fig. 2. ECG signal (solid line) and its envelope (dashed line) on the top and the auxiliary signal computed from these signals on the bottom.
and may be computed in the frequency domain as: XH (jω) = X(jω) · [−j · sgn(ω)]
(5)
Using discrete-time notation, a complex sequence ECG(k) + jECGH (k) is formed from the real sequence ECG(k), where ECGH (k) is the Hilbert transform of the ECG signal. Then, the envelope of the QRS complex is defined as the magnitude of this complex sequence: % ECGe (k) = ECG2 (k) + ECG2H (k) (6)
In Figure 2, on top, are shown the ECG signal (solid line) and the envelope of the ECG signal (dashed line). We can see that the QRS complex corresponds to a hump of the envelope signal, though it is not yet obvious how to use this information for the detection of QRS complex onsets and offsets.
B. Computation of the auxiliary signal After the computation the envelope of the ECG signal, the auxiliary signal over which the hypothesis testing will be applied is computed with the following equation: !
AS = 2(ECGe (k))2 ,
(7)
where the derivative at sample time k of ECGe is estimated with the parabola which best fits the five points of the signal ECGe (k) around the time location k following the formulae [10]: " ! 1 (8) ECGe (k) ≈ 10 2(ECGe (k+2r)−ECGe (k−2r)) # +ECGe (k+r)−ECGe (k−r) ,
where r = #fs /250$, fs correspond to the sampling frequency, and #x$ means the smallest integer greater than or equal to x. Note that the auxiliary signal is used to detect the QRS onset and offset instead of directly using the ECG envelope, because the auxiliary signal increases the contrast between the QRS and the remaining part of the ECG signal. Figure 2 shows also the auxiliary signal shape. It can be observed that the onset and offset of the QRS complex correspond to steep edges of the auxiliary signal.
542
400
C. Windowing
300
In order to limit the search of the QRS onset and offset, two intervals of time (search windows) in each cardiac cycle, containing the QRS onset and the QRS offset respectively, are defined: [Rp −300(ms), Rp ] for QRS onset and [Rp , Rp + 150(ms)] for QRS offset, where Rp is the detected R peak at each cardiac cycle.
200 100 0 −100 −200 1860
1865
1870
1875
1880
1885
1890
1895
1900
1905
1910
1865
1870
1875
1880
1885
1890
1895
1900
1905
1910
5
x 10 6 5
D. Hypothesis testing
4 3
The same hypothesis testing method is applied to the detection of QRS onset and offset. Let us first describe the steps for onset detection. For the search window [Rp − 300(ms), Rp ] being processed, denote with n1 and n2 the samples indexes corresponding to the beginning and the end of this window. For k = n1 , n1 + 1, . . . , n2 , the auxiliary signal AS is assumed to follow the model: AS(k) = µ(k) + ε(k)
(9)
with µ(k) being the mean of AS at time k and ε(k) a zero mean noise. This auxiliary signal can be considered as a signal with changes in its mean, thus, a decision rule can be computed between the following two hypotheses at the current sample time k: H0 : µ(i)
= µ0 for i = n1 , . . . , k & µ0 for i = n1 , . . . , r − 1 H1 : µ(i) = µ1 for i = r, . . . , k
k ' p1 (AS(i))
i=r
p0 (AS(i))
(10)
where p0 and p1 denote respectively the probability density function of µ0 + ε(k) and µ1 + ε(k). If k < r, then the likelihood ratio R = 1. If we suppose further that ε(k) is a Gaussian noise with variance σ 2 , then the log-likelihood ratio is as follows: Λk (r) =
k ν ! ν (AS(i) − µ0 − ) 2 σ i=r 2
(11)
where ν = µ1 − µ0 is the jump magnitude. Replacing the unknown change time r by its maximum likelihood estimate, then the detector signal is: g(k) = max Λk (r) n1 ≤r≤k
1 0 1860
Fig. 3. An example of QRS complex taken from the QT database (on the top) and its auxiliary signal (on the bottom). The dashed lines are the detector signals g(n) for the QRS onset and offset.
and the decision at the sample time k follows the rule & ≤ λ accept H0 (13) if g(k) > λ accept H1
where λ is a chosen threshold value. This detector is called the Page-Hinkley test or the cumulative sum (CUSUM) test [11]. For computational efficiency, the detector signal g(k) defined in equation (12) can be rewritten in a recursive manner as: g(0)
where µ0 and µ1 are the mean values before and after the change of the auxiliary signal AS, and r < n2 is the supposed change time, corresponding to the QRS onset time. As long as the decision (in the way explained below) is taken in favor of H0 , the test continues. The test is stopped after the first sample of observations for which the decision is taken in favor of H1 . The acceptance of the hypothesis H1 means that a mean change (the QRS onset) is detected. Assume that the noise ε(k) is white, then the likelihood ratio between these two hypotheses is, (assuming k ≥ r), R=
2
(12)
g(k)
= 0 (
=
p1 (AS(k)) g(k − 1) + log p0 (AS(k))
)
(14) +
with [x]+ = x if x > 0 and [x]+ = 0 if x ≤ 0. When H1 is decided (g(k) > λ), the detected QRS onset time corresponds to the last time when the value of g(k) changes from zero to positive. The threshold λ is set equal to the maximum value of AS inside the search window [Rp − 300(ms), Rp − 250(ms)]. The mean values µ0 and µ1 are determined as follows: µ0 is calculated as the mean of AS in the time interval [Rp − 300(ms), Rp − 250(ms)], and µ1 as the mean of AS in the time interval [Rp − 300(ms), Rp ]. This completes the description of the algorithm for QRS onset detection. The QRS offset detection is made in a similar way, but the auxiliary signal AS is processed reversely from the end of the search window Rp + 150(ms) to its beginning Rp . Accordingly, µ0 is calculated as the mean of AS in the time interval [Rp + 100[ms], Rp + 150(ms)], and µ1 is calculated as the mean of AS in the time interval [Rp , Rp + 150(ms)]. Figure 3 shows the detector signals g(k) for QRS onset and offset detection (the dashed lines), the auxiliary signal AS, and the processed ECG signal. IV. R ESULTS In this section, the performances of the proposed algorithm are experimentally evaluated. The QT database presented in [12] available on the PhysioNet website has been used for validation purposes.
543
TABLE I E VALUATION OF THE ALGORITHMS ON THE QT
Method nb. of annot. This paper WT LPD Tolerances(STD)
QRSonset mean ± ST D 3963 0.58 ± 7.18 4.6 ± 7.7 −3.6 ± 8.6 6.5
In [13], tolerances for STD of the errors between detection algorithms and manual annotation for the onset and offset of QRS complexes are presented. These tolerances, shown also in Table I, are accepted by cardiologists. The results of Table I show that, in terms of STD, the proposed algorithm is around tolerances accepted by cardiologists and slightly outperforms the other compared algorithms, when evaluated on the QT database. In terms of mean, the proposed algorithm clearly outperforms the other algorithms for QRS onset.
DATABASE
QRSof f set mean ± ST D 3963 −0.95 ± 8.25 0.8 ± 8.7 −1.1 ± 8.3 11.6
V. C ONCLUSIONS
A. The PhysioNet QT database The QT database [12] has been built by researchers specifically for the evaluation of algorithms which detect waveform boundaries (onsets and offsets of the different ECG waves). The database consist of 105 fifteen minutes excerpts of two channels ECG Holter recordings sampled at 250 Hz. The recordings have been chosen to include a broad variety of ECG morphologies and have been extracted from other existing electrocardiographic signal database. For each record, between 30 and 100 representative beats were manually annotated by cardiologists. The markers include mainly P wave, QRS complex, and T wave peaks, onsets and offsets. Only the QRS onset and offset are used in this paper. B. Performance comparison with manually annotated instants In order to evaluate the accuracy of the proposed algorithm we compare the manually annotated instants available in the QT database against the instants detected by the algorithm. The mean and standard deviation (STD) of the differences between automatic detection and cardiologists annotations are computed in order to quantify the performance of the QRS detection algorithm (QRS onset and offset detection), in each ECG record. These values are computed according to the method adopted in [4]. First, the algorithm is applied to each of the two leads of an ECG record in the QT database. For each QRS onset (QRS offset) annotated by the cardiologist, the QRS onset (QRS offset) is detected twice by the algorithm, one per ECG lead. The a posteriori best result among the two computed positions is chosen for error evaluation. Second, for each record, a mean value and a STD of the QRS onset (QRS offset) detection errors are computed. Finally, the overall mean and STD are computed for all the 105 records of the QT database. These overall values are simply taken as the mean of the mean values and the mean of the STD values of each ECG record. The performances of our algorithm are compared with two QRS onset and offset detection algorithms which have been validated with the whole QT database: WT [4] and LPD [8]. Table I shows the results of these algorithms and those of the algorithm presented in this paper. The abbreviation of the names of the algorithms follows those of [4]. The time unit is millisecond. The numerical values for the WT and LPD algorithms come from the publication [4].
A new algorithm for QRS onset and offset detection has been presented. The algorithm is based on the computation of an auxiliary signal from the envelope of the ECG and a hypothesis test. This new algorithm has been evaluated with the PhysioNet QT database. In terms of STD value, it outperforms the other algorithms evaluated on the same database, according to recent publications. The detection errors in these results are also around the tolerances accepted by experts. R EFERENCES [1] A. Illanes Manriquez, Q. Zhang, C. M´edigue, Y. Papelier, and M. Sorine. Multi-lead T wave end detection based on statistical hypothesis testing. MCBMS’06, 6th IFAC Symposium on Modelling and Control in Biomedical Systems, pp. 93-98, Reims, France, September 2006. [2] Q. Zhang, A. Illanes Manriquez, C. M´edigue, Y. Papelier, and M. Sorine. An algorithm for robust and efficient location of T-wave ends in electrocardiograms. IEEE Trans. on Biomed. Eng., vol. 53, no. 12, pp. 2544-2552, 2006. [3] T. Last, C.D. Nugent, and F.J. Owens. Multi-components based cross correlation beat detection in electrocardiogram analysis. Biomedical Engineering OnLine, vol. 3, no. 26, 2004. [4] J.P. Martinez, R. Almeida, S. Olmos, A.P. Rocha, and P. Laguna. A Wavelet-Based ECG Delineator: Evaluation on Standard Database. IEEE Trans. on Biomed. Eng., vol. 51, no. 4, pp. 570-581, 2004. [5] I.I. Christov. Real time electrocardiogram QRS detection using combined adaptive threshold. Biomedical Engineering OnLine, vol. 3, no. 28, 2004. [6] B.U. Kohler, C. Hennig, and R. Orglmeister. The principles of software QRS detection. IEEE Eng. Med. Biol. Mag, vol. 21, no. 1, pp. 42-57, 2002. [7] P. Laguna, N.V. Thakor, P. Caminal, R. Jan´e, and Y. Hyung-Ro. New algorithm for QT interval analysis in 24 hour Holter ECG: Performance and applications. Medical and Biological Engineering and Computing, vol. 29, pp. 67-73, 1990. [8] R. Jan´e, A. Blasi, J. Garcia, and P. Laguna. Evaluation of an Automatic Threshold based Detector of Waveform Limits in Holter ECG with the QT Database. Computers in Cardiology, IEEE Computer Society, vol. 24, pp. 295-298, 1997. [9] M.E. Nygards and L. S¨ornmo. Delineation of the QRS complex using the envelope of the ECG. Medical and Biological Engineering and Computing, vol. 21, pp. 538-547, 1983. [10] P. Rubel and B. Ayad. The true boundary recognition power of multidimensional detection functions. An optimal comparison. Elsevier Sciences Publishers, pp. 97-103, 1986. [11] M. Basseville and A. Benveniste. Detection of Abrupt Changes in Signals and Dynamical Systems. Springer-Verlag, 1986. [12] P. Laguna, R.G. Mark, A. Goldberg, and G.B. Moody. A Database for Evaluation of Algorithms for Measurement of QT and other Waveforms Intervals in the ECG. Computers in Cardiology, IEEE Computer Society, vol. 24, pp. 673-676, 1997. [13] CSE Working Party. Recomendations for measurements standards in quantitative electrocardiography. Eur. Heart J., vol. 6, pp. 815-825, 1985.
544