Skip to main content

A wavelet-based ECG delineation algorithm for 32-bit integer online processing



Since the first well-known electrocardiogram (ECG) delineator based on Wavelet Transform (WT) presented by Li et al. in 1995, a significant research effort has been devoted to the exploitation of this promising method. Its ability to reliably delineate the major waveform components (mono- or bi-phasic P wave, QRS, and mono- or bi-phasic T wave) would make it a suitable candidate for efficient online processing of ambulatory ECG signals. Unfortunately, previous implementations of this method adopt non-linear operators such as root mean square (RMS) or floating point algebra, which are computationally demanding.


This paper presents a 32-bit integer, linear algebra advanced approach to online QRS detection and P-QRS-T waves delineation of a single lead ECG signal, based on WT.


The QRS detector performance was validated on the MIT-BIH Arrhythmia Database (sensitivity Se = 99.77%, positive predictive value P+ = 99.86%, on 109010 annotated beats) and on the European ST-T Database (Se = 99.81%, P+ = 99.56%, on 788050 annotated beats). The ECG delineator was validated on the QT Database, showing a mean error between manual and automatic annotation below 1.5 samples for all fiducial points: P-onset, P-peak, P-offset, QRS-onset, QRS-offset, T-peak, T-offset, and a mean standard deviation comparable to other established methods.


The proposed algorithm exhibits reliable QRS detection as well as accurate ECG delineation, in spite of a simple structure built on integer linear algebra.


The electrocardiogram (ECG) is the recording of the electrical activity of the heart by means of electrodes placed on the body surface. It is the most commonly used non-invasive test in primary care for heart rate and rhythm-related abnormalities detection [1, 2]. In recent years the interest for the ECG signal analysis has extended from clinical practice and research to disciplines such as cognitive psychophysiology [3, 4], physical training [5, 6] and rehabilitation [7].

Many non-diagnostic applications do not require the full 12-lead setup of clinical ECG, employing a limited number of electrodes. In some cases a single lead setup, requiring only three electrodes, is sufficient. Such applications focus on ambulatory ECG monitoring, namely in unconstrained conditions, in which subjects perform normal activities as in their daily life [4], [810].

Ambulatory ECG analysis requires processing of signals which are affected by considerable noise, mainly caused by electrode motion and muscular activity, more prominently than in resting ECG recordings, and by power-line coupling. Moreover, emerging wearable technologies for ambulatory ECG monitoring have limited processing resources and low power budget.

Clinical information on the cardiac beat is carried by the waveforms appearing on the electrocardiogram, namely: QRS-complex and P, T, U, waves. Their amplitudes and relative time intervals provide insight on heart rhythm abnormalities and heart disease such as ischemia and myocardial infarction. Electrocardiogram delineation is the automatic process of determining such amplitudes and time intervals.

Performing an accurate delineation is quite a challenging task, for many reasons. For example, the P wave is characterized by low amplitude and may be masked by electrode motion or by muscular noise. The P and T waves may be biphasic, which increases the difficulty to accurately determine their onset or offset. Moreover, some arrhythmic beats may not contain all the standard ECG waves, for example the P wave may be missing, while in accelerated heart rate patterns, it might be partially overlapped to the T wave of the previous beat.

The first stage of ECG delineation is devoted to detecting the QRS-complex, which in most cases is the most pronounced wave of the heart cycle. Subsequent processing locates P, QRS-complex and T waves fiducial points (onset, peak, offset).

The cyclic nature of the ECG signal and its spectral components, which mainly appear in well-known and distinguishable frequency bands, make ECG a suitable candidate for multi-resolution decomposition by means of wavelet transforms [11, 12]. Methods based on wavelet transforms have been proposed by numerous authors [1318], building on the first well-known ECG delineator proposed by Li et al. [19].

Unfortunately, most of these ECG delineation algorithms adopt non-linear operators such as root mean square (RMS) or floating point algebra, which are computationally demanding. The work by Sovilj et al. [17] presents a real-time implementation of QRS detection and P wave delineation, though no validation on standard databases is provided, nor is the P wave delineation criterion explained. In [20] a WT-based algorithm for real-time QRS detection and ECG delineation is presented, though no validation is reported on delineation, and the total number of annotated beats used in the validation of QRS detection does not match the record-by-record count, as noted in [13].

The work by Boichat et al. [16] presents a real-time implementation of the offline method proposed by Martinez et al. [13], though no validation on arrhythmia databases (such as the MIT-BIH Arrhythmia Database) is provided. The delineation of QRS onset and QRS offset in [16] is performed on WT detail coefficients at scale 24, namely on the output of a pass-band FIR filter with a 3dB band of 4.1-13.5 Hz. Moreover, the criterion adopted for the validation of the delineation algorithm is based on a 320 ms window, which exceeds the maximum tolerance (150 ms) for QRS detection accuracy allowed by the ANSI/AAMI-EC57:1998 standard.

This paper presents a wavelet-based algorithm for single lead QRS detection and ECG delineation of P wave, QRS-complex and T wave, under the algorithmic constraint of 32-bit integer linear algebra online processing and compliance with ANSI/AAMI-EC57:1998 requirements on QRS detection accuracy. The algorithm was validated on MIT-BIH Arrhythmia Database (MITDB), the European ST-T Database (EDB), and QT Database (QTDB), available from Physionet.


Wavelet Transform

The general theory on wavelet transforms for multi-resolution analysis is described in detail in [11, 12], [21] and its application to ECG signal delineation is presented in [13], [19], while a review is given in [14].

With reference to the family of spline functions of degree 2r + 2 proposed in [12] for the smoothing function θ(t), in this study the 8th degree (r = 3) was adopted. Its Fourier transform is expressed in (1.1) and the Fourier transform of the wavelet function is expressed in (1.2).


Unlike previous studies [13], [1620] where a cubic spline smoothing function θ(t) (r = 1) was used, in this study a higher value of r was adopted to reduce the width of the compact support and the pass-band of the equivalent filter for scales higher than 21, to improve frequency band separation across scales. However, the number of filter taps increases with r, therefore a tradeoff should be determined between computational effort and delineation performance.

Figure 1 shows the smoothing function θ(t) and wavelet function ψ(t) for r = 1 and r = 3. The compact support of the smoothing (scaling) function decreases in width as r increases.

Figure 1
figure 1

Smoothing function and wavelet function. Smoothing function θ(t) (left) and wavelet function ψ(t) (right), for r = 1 (dotted line) and r = 3 (solid line).

The low-pass filter H and high-pass filter G derived from (1.1) and (1.2) can be expressed as:


whose finite impulse response hn and gn are given by the coefficients reported in Table 1.

Table 1 Wavelet Filters Impulse Response

It shall be noted that hn is symmetrical and of even length, representing a linear phase low-pass FIR filter, while gn is anti-symmetrical of even length, representing a linear phase high-pass FIR filter.

The frequency response for the filter bank generalized for any given scale can be written as:


The filter bank structure is illustrated in Figure 2.

Figure 2
figure 2

DWT filter bank. Filter bank implementation of biorthogonal dyadic wavelet transform without decimation (algorithme à trous). dk n is the detail coefficient series for scale 2k. Inspired by [13].

The frequency response of the equivalent filters Qk in (3) is displayed in Figure 3 for the first four scales, for r = 1 (cubic spline smoothing function) and r = 3 (8th degree spline smoothing function). For any given scale 2k, Qk pass-band narrows with increasing r, improving frequency separation of the filter bank across scales.

Figure 3
figure 3

Equivalent filters magnitude response. Equivalent Filters Qk magnitude response, for different scales 2k, for r = 1 (dotted line) and r = 3 (solid line). Sample frequency F s = 250 samples/s.

The group delay of the equivalent filter Qk must be accounted for in multi-scale analysis of discrete wavelet transform (DWT) coefficients. To match zero-crossings (and their relative modulus-maxima) across different scales, DWT coefficients must be aligned temporally.

The group delay of Qk at scale 2k, k >1, is given by:




is the group delay of the low-pass filter at scale 2l, and


is the group delay of the high-pass filter at scale 2k.

According to [22, 23], the energy of the main waveforms composing the ECG, namely QRS-complex, P and T waves, lies within a limited frequency range. As a consequence, a limited number of scales is required for ECG delineation. Table 2 summarizes the cutoff frequencies of Qk filters for the scales of interest, for r = 1 and r = 3.

Table 2 Wavelet Filters Bandwidth

Description of the Algorithm

The raw ECG signal is assumed to be sampled at 250 samples/s.

The databases used for validation contain records of ECG data stored at 12-bit/sample. Therefore, to prevent overflow in a (signed) integer implementation of the low-pass filter adopted in the filter bank, 16-bit integer capacity is not sufficient. This constitutes the only reason for adopting a 32-bit instead of 16-bit implementation. However, a 32-bit implementation also complies with input signals (raw ECG data) with a sample resolution up to 24-bit/sample. Most, if not all, commercially available ECG front-end devices currently fall within this category. In order to comply with the largest set of such devices on the market, no assumptions are made on the amplitude resolution.

The DWT properties which the proposed method is based on are well described in [13], [19]. Based on the properties of the filter bank (2), the zero-crossings of the DWT coefficients dk n correspond to the local maxima or minima of the smoothed input signal at different scales, and the maximum absolute values of dk n are associated with maximum slopes in the filtered signal [13].

Figure 4 shows DWT detail coefficients computed by the present algorithm, for actual ECG signals (record 108 and 208, from MITDB).

Figure 4
figure 4

ECG signal and DWT decomposition. Examples of ECG signals from MITDB records (resampled at F s = 250 samples/s) MITDB:108 (left), MITDB:208 (right), and DWT detail coefficient dk n at scales 21 through 25.

At a sampling frequency of 250 samples/s, the spectral content of the ECG signal mainly falls within the first five scales of the filter bank (2). In particular, the QRS-complex is prominent at scales 22 and 23 while its energy decreases at increasing scales and becomes very low at scales higher than 24, while P shows high energy at scale 23 which decreases at higher ones. At scales 23 through 25 T wave has high energy, though at scale 25 the baseline drift, including respiration effects, becomes prominent. For this reason, scale 25 is not considered in this study. At scales 21 and 22 small peaks in Q and S waves may show zero-crossings though at such low scales, especially scale 21, muscular noise and power-line coupling may appear.

Using the information of local maxima, minima and zero-crossing at the scales of interest, the algorithm identifies for each beat the significant points of the ECG in the following steps: 1) detection of the QRS-complex; 2) QRS-complex delineation (onset, offset); 3) P wave delineation (onset, peak, offset); 4) T wave delineation (peak, offset) of the previous beat. Figure 5 displays the flow chart of the state machine for online parsing of detail coefficients d2 n , for QRS detection. Unlike previous works [13], [19], for QRS detection only two scales (22, 23) are processed.

Figure 5
figure 5

ECG delineation state machine. State Machine flow chart for online ECG delineation. The zero-corssing n Z with the largest modulus-maxima pair amplitude A MMp (n Z ) is detected within ΔWQRS (250 ms) at scale 22. Detail coefficients dk n at scales 22 and 23 are parsed for the verification of QRS candidates according to the QRS-detection decision rule. After QRS-complex detection, the delineation process delineates in the order: the QRS-complex, the P wave, and the T wave.

The algorithm proposed in this work is intended for online processing, therefore it is causal: at discrete time Ti, only ECG samples at TkTi are assumed to be available.

To comply with low power budget constraints, the algorithm does not perform back-search for missed beats. The drawback is a decrease in sensitivity; the advantage is a decrease in storage memory and processing time. A memory buffer of 1 s for WT coefficients is sufficient for QRS detection, whereas the required storage size increases (depending on the inter-beat interval duration, in general no more than 1.5 s) for computing delineation of the T wave of the previous beat.

QRS detection

For each beat, the QRS-complex is detected using wavelet detail coefficients dk n at scales 22 and 23. As shown in Figure 5, only scale 22 is parsed for zero-crossings. When a zero-crossing is detected, the adjacent modulus-maxima pair MMp(n Z ) is determined and the associated amplitude A MMp (n Z ), defined as the difference between the positive maximum and negative minimum detail coefficients, is computed. The zero-crossing is stored and an observation window ΔWQRS of 250 ms is initialized: if a new zero-crossing n Z *is detected within this window such that A MMp (n Z * ) > A MMp (n Z ), the window is reset and n Z *is stored, replacing n Z , as shown in Figure 5. The process is iterated until a full window elapses without new candidates. The zero-crossing n Z represents the QRS-candidate. The QRS-detection decision rule is defined as follows: a window of 200 ms centred around n Z is considered, and the maximum-minimum difference Δd2 n (n Z ) of detail coefficients within such window, at scale 22, is computed as follows:


where ΔW100 represents a time interval of 100 ms expressed in units of samples. The following condition is then tested:


where ε2 QRS is an empirically determined threshold computed as follows:


where the summation encompasses the N (= 4) most recent QRS-candidates that satisfied (5.2). Under the assumption that the time distance between two consecutive beats is generally not longer than 2 s (corresponding to a heart rate of 30 beats/min), it takes not more than 8 s to collect N (= 4) confirmed candidates. For this reason, a learning period of 8 s is allowed before the algorithm outputs any detected beats.

If (5.2) is met, the decision process proceeds to the next step considering scale 23:


where ε3 QRS is an empirically determined threshold computed as in (5.3), for scale 23. It shall be noted that, in (5.4), n spans the same window as in (5.1). Coefficients across different scales are time-aligned by accounting for the group delay computed in (4.1).

If (5.2) and (5.5) are met, the QRS-candidate is confirmed, and thresholds ε2 QRS and ε3 QRS are updated. Then, if the learning period is expired, the zero-crossing is marked as the local peak (fiducial point) of a QRS-complex, and the algorithm proceeds for the delineation of P, QRS, T waves. It shall be noted that thresholds ε2 QRS and ε3 QRS are initialized to zero and iteratively adapt to QRS candidates. At the early stages of this process, QRS misdetections (false positives) are likely to occur. To prevent this, the algorithm does not output any detected QRS complexes until the learning period has expired. A learning period of 8 s is generally sufficient, although there may be extreme conditions such as lead-fail, cardiac arrest, poor signal-to-noise ratio, in which a longer time is required.

QRS delineation

QRS delineation is performed at scale 22. After detecting the QRS-complex, the QRS onset fiducial point is determined starting from the position n pre of the modulus maximum preceding the zero-crossing n Z of the QRS-complex at scale 22.

The following thresholds are defined, based on local d2 n coefficient values:


where n post is the sample index of the modulus maximum following n Z . The delineation algorithm searches back from n pre for negative minima or positive maxima, and stores the first crossing of the threshold ε2 Qon, I to be assigned to QRS onset in case no modulus maxima are found within a fixed size window of 120 ms preceding n pre .

The algorithm stops when a modulus maximum is detected whose amplitude is lower than the threshold ε2 Qon,II , or the end of the search window has been reached. If at least one modulus maximum is found, a new threshold is defined:


where n left is the sample index at which d2 n has its left-most modulus maximum. The algorithm searches back from n left until the first crossing of the new threshold ε2 Qon,III or the end of the fixed-size window is reached. The value is assigned to QRS onset. The symmetrical criterion is adopted for the determination of QRS offset, starting from the position n post of the modulus maximum following the zero-crossing n Z . The threshold used for QRS offset delineation are:


where n right is the sample index of the right-most modulus maximum following n post whose amplitude exceeds threshold ε2 Qoff,II .

Figure 6 shows examples of different QRS morphologies from QTDB records, the related manual annotations and the automatic delineation markers.

Figure 6
figure 6

Delineation of QRS morphologies. Examples of various QRS morphologies from QTDB records, with manual annotations (top) and delineated characteristic points (bottom): QRS onset, dominant QRS peak, QRS offset.

P wave delineation

P wave delineation is performed at scale 23. Mono- and bi-phasic P waves are handled. After delineating the QRS-complex, the algorithm searches back from QRS onset on scale 23 for the P wave. A fixed-size window whose length is chosen to be the shortest between 300 ms and half the last inter-beat interval is used for the search. Within this window, all zero-crossings are stored. The zero-crossing search is limited to a sub-portion of the window excluding the first (left-most) 100 ms which are only used for determining P onset. The zero crossing n Z with maximizes A MMp (n Z ) is marked as P wave dominant peak. To determine the mono- bi-phasic morphology of the P wave, specific conditions are tested:


where |d3 n pre | is the modulus maximum preceding the zero-crossing n Z , at scale 23, and |d3 n post | is the modulus maximum following nZ. If (6.1) is verified, and a zero-crossing nL Z preceding n Z is available within a distance of 100 ms, (6.1) is tested also for nL Z . If such condition is verified, the following is also tested:


If (6.1) and (6.2.1) are verified for nL Z , the P wave is considered to be bi-phasic and n pre is defined as the sample corresponding to the left-most modulus maximum of MMp(nL Z ) otherwise n pre is defined as the sample corresponding to the left-most modulus maximum of MMp(n Z ).

The same procedure is adopted in the search of nR Z following n Z within a distance of 100 ms. If (6.1) is verified for nR Z , the following condition is tested:


If (6.1) and (6.2.2) are verified for nR Z , the P wave is considered to be bi-phasic and n post is defined as the sample corresponding to the right-most modulus maximum of MMp(nR Z ) otherwise n post is defined as the sample corresponding to the right-most modulus maximum of MMp(n Z ).

The sample n pre becomes the starting point for searching back the first crossing of a threshold:


If such crossing point is found within the search window, it is assigned to P onset.

The algorithm then searches for P offset, namely the estimated end of P, adopting the same procedure described for P onset. The threshold adopted is:


If P onset, peak and offset are found within the search window, P wave delineation result is positive, otherwise the algorithm declares that P wave could not be delineated for the given beat.

Figure 7 shows examples of P morphologies from QTDB records, the related manual annotations and the automatic delineation markers.

Figure 7
figure 7

Delineation of P wave. Examples of P waves from QTDB records, with manual annotations (top) and delineated characteristic points (bottom): P onset, dominant P peak, P offset. (a) absent P wave, (b) positive P wave, (c) bi-phasic P wave.

T wave delineation

T wave delineation is performed at scale 23. The following possible morphologies are handled: positive (+), negative (-), biphasic (+/- or -/+), upward and downward. At each identified QRS-complex, T wave is delineated for the previous beat. The search is done over a window defined as:


where n QRS off (i-1) denotes the sample of the QRS offset of the previous beat (assuming the ith beat is the latest detected), rr is the distance in units of samples between the ith and the (i-1)th QRS fiducial point, and ΔW80 represents an interval of 80 ms expressed in units of samples. The T wave dominant peak is searched within a sub-window of ΔWT:


Within ΔWT PK all zero-crossings are stored. A zero-crossing n Z is considered to have a positive (negative) slope if the first non-zero detail coefficient preceding n Z is negative (positive), and the first non-zero detail coefficient following n Z is positive (negative). For zero-crossings n Z with negative (positive) slopes, the maximum (minimum) value M n pre of positive (negative) d3 n coefficients preceding n Z is stored, together with the minimum (maximum) value M n post of negative (positive) d3 n coefficients following n Z . The absolute value of the difference Δ MM (n Z ) between M n pre and M n post is computed and the zero-crossing n Z with the highest value is considered. If an adjacent zero-crossing nL Z to the left of n Z exists and the following condition is met:


then the T wave is considered biphasic, nL Z is marked as T wave dominant peak T pk , n Z is marked as the end T off of the dominant wave (i.e. the wave whose peak is surrounded by the largest slopes), and the bi-phasic T wave end T end is searched to the right of n post following n Z . T end is then assigned to the first sample for which d3 n falls below a threshold ε3 Tend defined as:


If nL Z does not exist or (7.3) is not verified, n Z is marked as T pk , and the search proceeds to the right of n post following n Z . T off is assigned to the first sample for which d3 n falls below a threshold ε3 Toff , defined as;


where n post refers to n Z . If an adjacent zero-crossing nR Z exists to the right of n Z , such that:


the T wave is considered to be bi-phasic and T end is defined as the first sample for which d3 n falls below the threshold in (7.4) where n post now refers to nR Z .

Figure 8 shows examples of various T wave morphologies from QTDB records, the related manual annotations and the automatic delineation markers.

Figure 8
figure 8

Delineation of T wave. Examples of T waves from QTDB records, with manual annotations (top) and delineated characteristic points (bottom): dominant T peak, dominant T offset, T end. (a) positive T wave, (b) negative T wave, (c) upward T wave, (d) downward T wave, (e) and (f) bi-phasic T wave.


The QRS detection algorithm was validated on manually annotated ECG databases, namely the MIT-BIH Arrhythmia Database (MITDB) and the European ST-T Database (EDB), whereas the P-QRS-T delineation algorithm was validated on the QT Database (QTDB).

The MITDB database includes a selection of Holter recordings covering a broad spectrum of arrhythmias.

The EDB database contains annotated excerpts of ambulatory ECG recordings with a representative selection of ECG abnormalities including ST segment displacement and cardiac axis shifts.

The QTDB database contains records from MITDB and EDB, and from several other databases (Normal Sinus Rhythm, ST Change, Supraventricular Arrhythmia, Sudden Death, Long Term Recordings). This database was created for validation of waveform boundaries and contains annotations by cardiologists for at least 30 beats per record, including QRS-complex, P, T, U waves delineation.

For the QRS detector validation on MITDB and EDB, the first ECG channel was used and, for MITDB only, raw data were resampled at 250 samples/s before processing.

For the validation on QTDB, reference annotations of first cardiologist (q1c files from QTDB) were used in this work. Records from this database are sampled at 250 samples/s, therefore no resampling was required.

Table 3 summarizes the databases used for validation.

Table 3 Databases used for validation

To assess QRS detection performance, sensitivity (Se) and positive predictive value (P+) were calculated: Se = TP/(TP+FN) where TP is the total number of true positives identified in the given record, FN is the total number of false negatives; P+ = TP/(TP+FP) where FP is the total number of false positives.

A true positive is achieved when the time difference between the given annotated beat and the detected beat is not greater than 150 ms, in compliance with ANSI/AAMI-EC57:1998 standard.

For the validation of ECG delineation on QTDB, the metrics proposed in [13], [16] was adopted, where m is the mean value of the errors intended as the time difference between automatic and reference annotation, for all annotations, and s is the average standard deviation of the error, calculated by averaging the intra-recording standard deviations.

For each fiducial point delineation, the ECG channel with the least error was chosen, as in [13], [16]. Sensitivity was calculated for each characteristic point, for P wave, T wave and QRS-complex, separately. For T wave, manual annotations T-peak and T-offset, are matched to T pk an T off as defined in the delineation method, respectively.

A true positive is achieved when the wave is annotated and the delineation process detects the presence of such wave within a time distance not greater than 150 ms. (in [16] a window of 320 ms is used, in [13] the window size is not reported). A false positive occurs when the delineation process locates a characteristic point which was not annotated. A false negative is considered when the delineation process fails to locate the annotated fiducial point within the above mentioned tolerance of 150 ms. Positive predictive value could not be calculated, as noted in [13]: when there is no annotation it is not possible to determine whether the cardiologist considered that there was no waveform to annotate or was not confident in annotating it (perhaps because of the noise level). Nevertheless, for points other than the QRS delineation, P+ was calculated under the assumption that an absent mark in the annotated beat means that there is no waveform. As a result, the calculated P+ can be interpreted as a lower limit (P+ min) of the actual one.


QRS detection

Table 4 and Table 5 show the QRS detector performance on MITDB and EDB databases, respectively. Results are compared to previous studies. As in [13] segments with ventricular flutter in record 207 of MITDB (for an overall length of approximately 2 min 20 s) and those marked as unreadable (in the pertaining annotation file) in EDB, were excluded.

Table 4 Comparison of QRS Detection Performance with Published Methods (First ECG Channel of MITDB)
Table 5 Comparison of QRS Detection Performance on the European ST-T Database (EDB)

ECG delineation

ECG delineation results are shown in Table 6, where they are also compared to the ones obtained in previous studies. The results reported by Ghaffari et al. in [18] are not included in the table because the number of leads used for detection was not stated, nor was the number of annotated beats; it is also unclear the extent to which the authors used third party annotations for validation of their algorithm on the QT Database. The accepted two-standard-deviations 2σCSE tolerance, defined by the Common Standards for Electrocardiography (CSE) working party in [24] based on measurements made on different experts annotations, is also reported in the bottom row of the table. Table 7 shows inter-cardiologist annotations variability calculated on the QTDB records that were annotated by two different cardiologists. Unfortunately, only eleven records include double annotations, and only for QRS and T wave, not for P wave.

Table 6 Comparison of Delineation Performance with Published Methods (QT Database)
Table 7 Inter-Cardiologist Annotation Variability on QTDB (Annotation Files: q1c vs. q2c)


The proposed algorithm performs online QRS detection as well as P, QRS, T waves delineation. Unlike previous DWT based methods [13], [16], [19], the present only uses two scales (22, 23), for both QRS detection and ECG delineation. The QRS detection showed an excellent performance on the MIT-BIH Arrhythmia Database, achieving a sensitivity of 99.77% and a positive predictive value of 99.86% on 109010 annotated beats, and on the European ST-T Database, achieving a sensitivity of 99.81% and a positive predictive value of 99.56% on 788050 annotated beats. Sensitivity and positive predictive value reported for the ST-T database are the highest among previous works, as shown in Table 5.

The validation on the QT Database showed very good performance in P, QRS, T waves delineation. The mean error (m) and the average standard deviation (s) were comparable to the ones obtained by other WT-based delineators, as shown in Table 6. Mean error (m) was lower than 6 ms (1.5 samples, at Fs = 250 samples/s) for all characteristic points, whereas the average standard deviation (s) was around 8 ms (2 samples) for QRS delineation, and 12 ms (3 samples) for P wave and T peak delineation. Relatively high values of s in T wave delineation are present in all algorithms, and may be caused by the difficulty in determining the exact fiducial points as confirmed by the large inter-cardiologist annotation variability, especially for T offset as shown in Table 7.

Comparing the average standard deviation (s) with the CSE tolerances, the condition s < σ CSE (referred to in [13] as "strict criterion") is met for P peak, QRS offset, T offset, whereas the condition s < 2σ CSE (referred to in [13] as "loose criterion") is not met for any of the characteristic points. However, the "strict criterion" is not met by any methods, as shown in Table 6.

Sensitivity and positive predictive value of the ECG delineator for P, QRS, T waves were comparable to the values reported by others, as shown in Table 6. However, it shall be noted that the width of the search window adopted in the computation of true positives (TP) is not the same for all methods. In [13] the window width was not reported, in [16] it was set to 320 ms. In the present work, the window width was set to 150 ms. As a result, Se sand P+ min may not be comparable across different methods.

Previous DWT-based methods [13], [16], compute the adaptive thresholds in QRS detection εk QRS based on the root mean square (RMS) of dk n coefficients at the scales of interest. In [13] RMS is computed over N = 216 samples excerpts, for the first three scales (21, 22, 23). In [16] RMS is emulated over N = 29 samples excerpts for the first four scales. RMS is computationally demanding, as it requires squaring and summing N coefficients and calculating a square root. Although the square root was emulated in [16], a considerable amount of computations is required for squaring large data excerpts. In the present method, which uses only two scales, all thresholds are calculated from few (local) coefficients, which dramatically reduces the computational effort. In particular, the computation of ε2 QRS by (5.3) only requires N = 4 data-points, compared to N = 29 in [16] and N = 216 in [13], and this computation does not require squaring as in RMS. This observation also applies to ε3 QRS . Moreover, all thresholds are expressed in the linear form of (A·v)/2B, where v is an integer variable (or the sum of integer variables), A and B are positive constant integer values. Thus all thresholds can be computed by elementary shift and add operations.

The ECG data used in this work were either originally sampled at 250 samples/s or resampled accordingly. Although many ECG front-end devices currently on the market offer data streams at 250 samples/s or 256 samples/s, there may be devices that provide a fixed sample rate which is significantly different from 250 samples/s. In order to preserve an integer linear algebra implementation in these cases, depending on the sample rate different scales of the DWT filter bank (2) may be used, or the filter bank itself may need to be redesigned, either by using a different degree of the spline smoothing function θ(t), or different scaling and wavelet functions.


In this paper, a WT-based single-lead ECG delineation algorithm, designed for online 32-bit integer linear algebra processing, with shift/add operations replacing multiplications and divisions, was presented. The algorithm complies with a sample resolution up to 24-bit/sample without any assumptions on the amplitude resolution of the ECG signal.

The algorithm detects the QRS-complex, delineates the onset, dominant peak, and offset of the mono- or bi-phasic P wave, the onset and offset of the QRS-complex, the dominant peak and offset of the mono- or bi-phasic T wave.

The QRS detector achieved excellent performance on the MIT-BIH Arrhythmia database (Se = 99.77%, P+ = 99.86%, 109010 annotated beats) and on the European ST-T Database, (Se = 99.81%, P+ = 99.56%, 788050 annotated beats).

The proposed algorithm also exhibited very good accuracy in P, QRS, T delineator on QT Database, where the mean error between automatic and manual annotations was lower than 1.5 samples for all the characteristic points, and the associated average standard deviations were comparable to the ones reported from previous methods. However, the QTDB database contains a limited number of annotations, which makes the validation of an automatic ECG delineator not comprehensive.

Based on the results achieved on standard databases, the proposed algorithm exhibits reliable QRS detection as well as accurate ECG delineation. Reliability and accuracy are close to the highest among the ones obtained in other studies, in spite of a simplified structure built on integer linear algebra which makes the proposed algorithm a suitable candidate for online QRS detection and ECG delineation under strict power constraints and limited computational resources, such as in wearable devices for long-term non-diagnostic ambulatory monitoring.


  1. Hooper GS, Yellowlees P, Marwick TH, Currie PJ, Bidstrup BP: Telehealth and the diagnosis and management of cardiac disease. J Telemed Telecare 2001, 7: 249–56. 10.1258/1357633011936471

    Article  Google Scholar 

  2. Fairweather JAA, Johnston P, Luo S, Macfarlane PW: Computer analysis of implanted cardiac pacemaker rhythm. Comput Cardiol 2007, 34: 193–196.

    Google Scholar 

  3. Causse M, Sénard JM, Démonet JF, Pastor J: Monitoring cognitive and emotional processes through pupil and cardiac response during dynamic versus logical task. Appl Psychophysiol Biofeedback 2010, 35: 115–123. 10.1007/s10484-009-9115-0

    Article  Google Scholar 

  4. Healey JA, Picard RW: Detecting stress during real-world driving tasks using physiological sensors. IEEE Trans Intell Transp Syst 2005, 6: 156–166. 10.1109/TITS.2005.848368

    Article  Google Scholar 

  5. Higgins JP: Normal resting electrocardiographic variants in young athletes. Phys Sportsmed 2008, 36: 69–75. 10.3810/psm.2008.12.14

    Article  Google Scholar 

  6. Corrado D, et al.: Recommendations for interpretation of 12-lead electrocardiogram in the athlete. Eur Heart J 2010, 31: 243–259. 10.1093/eurheartj/ehp473

    Article  Google Scholar 

  7. Mutikainen S, Rantanen T, Alén M, Kauppinen M, Karjalainen J, Ortega-Alonso A, Kaprio J, Kujala UM: Electrocardiographic and other clinical correlates of walking ability in older women. Arch Gerontol Geriatr 2009, 51: 216–21. 10.1016/j.archger.2009.10.011

    Article  Google Scholar 

  8. Bowers EJ, Murray A, Langley P: Respiratory rate derived from principal component analysis of single lead electrocardiogram. Comput Cardiol 2008, 35: 437–440.

    Google Scholar 

  9. Porges SW, Byrne EA: Research methods for measurement of heart rate and respiration. Biol Psychol 1992, 34: 91–130. 10.1016/0301-0511(92)90012-J

    Article  Google Scholar 

  10. Figueiredo CP, Becher K, Hoffmann KP, Mendes PM: Low power wireless acquisition module for wearable health monitoring systems. Conf Proc IEEE Eng Med Biol Soc 2010, 1: 704–7.

    Google Scholar 

  11. Mallat SG: A theory for multiresolution signal decomposition: the wavelet representation. IEEE Trans Pattern Anal Machine Intell 1989, 11: 674–693. 10.1109/34.192463

    Article  MATH  Google Scholar 

  12. Mallat SG, Zhong S: Characterization of signals from multiscale edges. IEEE Trans Pattern Anal Machine Intell 1992, 14: 710–732. 10.1109/34.142909

    Article  Google Scholar 

  13. Martinez J, Almeida R, Olmos S, Rocha A, Laguna P: A wavelet-based ECG delineator: evaluation on standard databases. IEEE Trans Biomed Eng 2004, 51: 570–581. 10.1109/TBME.2003.821031

    Article  Google Scholar 

  14. Addison P: Wavelet transforms and the ECG: a review. Physiol Meas 2005, 26: 155–199. 10.1088/0967-3334/26/5/R01

    Article  Google Scholar 

  15. Sivannarayana N, Reddy DC: Biorthogonal wavelet transforms for ECG parameters estimation. Med Eng Phys 1999, 21: 167–174. 10.1016/S1350-4533(99)00040-5

    Article  Google Scholar 

  16. Boichat N, Khaled N, Rincon F, Atienza D: Wavelet-based ECG delineation on a wearable embedded sensor platform. Proc 6th IEEE Int Workshop on Body Sensor Networks 2009, 256–261.

    Google Scholar 

  17. Sovilj S, Jeras M, Magjarevic R: Real time P-wave detector based on wavelet analysis. Proc 12th IEEE Mediterranean Electrotechnical Conf 2004, 1: 403–406. full_text

    Article  Google Scholar 

  18. Ghaffari A, Homaeinezhad MR, Akraminia M, Atarod M, Daevaeiha M: A robust wavelet-based multi-lead Electrocardiogram delineation algorithm. Med Eng Phys 2009, 31: 1219–27. 10.1016/j.medengphy.2009.07.017

    Article  Google Scholar 

  19. Li C, Zheng C, Tai C: Detection of ECG characteristic points using wavelet transforms. IEEE Trans Biomed Eng 1995, 42: 21–28. 10.1109/10.362922

    Article  Google Scholar 

  20. Bahoura M, Hassani M, Hubin M: DSP implementation of wavelet transform for real time ECG wave forms detection and heart rate analysis. Comput Meth Programs Biomed 1997, 52: 35–44. 10.1016/S0169-2607(97)01780-X

    Article  Google Scholar 

  21. Mallat S: Zero-crossings of a wavelet transform. IEEE Trans Inform Theory 1991, 37: 1019–1033. 10.1109/18.86995

    Article  MathSciNet  Google Scholar 

  22. Clifford GD, Azuaje F, McSharry PE: Advanced methods and tools for ECG data analysis. 2006, 55–57. Ed. Artech House

    Google Scholar 

  23. Pan J, Tompkins WJ: A real-time QRS detection algorithm. IEEE Trans Biomed Eng 1985, 32: 230–236. 10.1109/TBME.1985.325532

    Article  Google Scholar 

  24. The CSE Working Party: Recomendations for measurement standards in quantitative electrocardiography. Eur Heart J 1985, 6: 815–825.

    Google Scholar 

  25. Moody GB, Mark RG: Development and evaluation of a 2-lead ECG analysis program. Comput Cardiol 1982, 4: 39–44.

    Google Scholar 

  26. Afonso VX, Tompkins WJ, Nguyen TQ, Luo S: ECG beat detection using filter banks. IEEE Trans Biomed Eng 1999, 46: 192–201. 10.1109/10.740882

    Article  Google Scholar 

  27. Lee J, Jeong K, Yoon J, Lee M: A simple real-time QRS detection algorithm. Proc 18th Ann Int Conf IEEE Engineering in Medicine and Biology Soc 1996, 1396–1398.

    Google Scholar 

  28. Hamilton PS, Tompkins W: Quantitative investigation of QRS detection rules using the MIT/BIH arrhythmia database. IEEE Trans Biomed Eng 1986, 33: 1157–1165. 10.1109/TBME.1986.325695

    Article  Google Scholar 

  29. Poli R, Cagnoni S, Valli G: Genetic design of optimum linear and nonlinear QRS detectors. IEEE Trans Biomed Eng 1995, 42: 1137–1141. 10.1109/10.469381

    Article  Google Scholar 

  30. Moraes J, Freitas M, Vilani F, Costa E: A QRS complex detection algorithm using electrocardiogram leads. Comput Cardiol 2002, 29: 205–208.

    Article  Google Scholar 

  31. Hamilton P: Open source ECG analysis. Comput Cardiol 2002, 29: 101–104.

    Article  Google Scholar 

  32. Laguna P, Jané R, Caminal P: Automatic detection of wave boundaries in multilead ECG signals: Validation with the CSE database. Comput Biomed Res 1994, 27: 45–60. 10.1006/cbmr.1994.1006

    Article  Google Scholar 

Download references


This work was supported by the EU-JTI grant No. 100008.

Author information

Authors and Affiliations


Corresponding author

Correspondence to Luigi Y Di Marco.

Additional information

Competing interests

The authors declare that they have no competing interests.

Authors' contributions

LYD designed and implemented the algorithm, carried out validation on the cited databases and participated in manuscript preparation and revisions. LC supervised manuscript preparation and revisions. All authors read and approved the final manuscript.

Authors’ original submitted files for images

Rights and permissions

This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Reprints and permissions

About this article

Cite this article

Di Marco, L.Y., Chiari, L. A wavelet-based ECG delineation algorithm for 32-bit integer online processing. BioMed Eng OnLine 10, 23 (2011).

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: