the principles of software qrs detection · the principles of software qrs detection reviewing and...

16
The Principles of Software QRS Detection Reviewing and Comparing Algorithms for Detecting this Important ECG Waveform T he QRS complex is the most striking waveform within the electrocardio- gram (ECG). Since it reflects the electri- cal activity within the heart during the ventricular contraction, the time of its occurrence as well as its shape provide much information about the current state of the heart. Due to its characteristic shape (see Fig. 1) it serves as the basis for the automated determination of the heart rate, as an entry point for classification schemes of the cardiac cycle, and often it is also used in ECG data compression al- gorithms. In that sense, QRS detection provides the fundamentals for almost all automated ECG analysis algorithms. Software QRS detection has been a re- search topic for more than 30 years. The evolution of these algorithms clearly re- flects the great advances in computer technology. Whereas in the early years the computational load determined the complexity and therefore the perfor- mance of the algorithms, nowadays the detection performance is the major devel- opment objective. The computational load becomes less and less important. The only exception from this trend is probably the development of QRS detec- tion algorithms for battery-driven de- vices. Within the last decade many new ap- proaches to QRS detection have been proposed; for example, algorithms from the field of artificial neural networks [47, 105, 119, 122], genetic algorithms [91], wavelet transforms, filter banks [2, 54, 66] as well as heuristic methods mostly based on nonlinear transforms [59, 107, 114]. It is the intention of the authors to provide an overview of these recent de- velopments as well as of formerly pro- posed algorithms that were already reviewed in [34, 51, 84]. The overview is focused on the description of the princi- ples. Algorithmic details can be found in the original papers that are referenced at the end of this article. Beyond QRS detection, many papers have been published in related fields; e.g., ECG signal enhancement [15, 17, 23, 28, 90, 99] or pattern classification [8, 26, 31, 40, 62, 63, 70, 71, 72, 108, 113, 119]. The algorithms described in these papers are not the topic of this article. However, al- though not directly applied to QRS detec- tion, many of these algorithms may be useful in processing stages prior to QRS detection. Overview The rapid development of powerful microcomputers promoted the wide- spread application of software QRS de- tection algorithms in cardiological devices. Beginning about 30 years ago, software QRS detection has replaced more and more hardware QRS detectors. Already in the early years of auto- mated QRS detection, an algorithmic structure was developed that is now shared by many algorithms. As shown in Fig. 2 it is divided into a preprocessing or feature extraction stage including linear and nonlinear filtering and a decision stage including peak detection and deci- sion logic. Often an extra processing block is used for the exact determination of the temporal location of the assumed QRS candidate. In this article the different algorithms are discriminated with respect to their preprocessing stages, because most of the decision stages are rather heu- ristic and dependent on the preprocessing results. Approaches Based on Signal Derivatives and Digital Filters Typical frequency components of a QRS complex range from about 10 Hz to about 25 Hz. Therefore, almost all QRS de- tection algorithms use a filter stage prior to 42 IEEE ENGINEERING IN MEDICINE AND BIOLOGY January/February 2002 0739-5175/02/$17.00©2002IEEE Bert-Uwe Köhler, Carsten Hennig, Reinhold Orglmeister Department of Electrical Engineering, Biomedical Electronics Group, Berlin University of Technology © 1989-99 TECH POOL STUDIOS, INC.

Upload: others

Post on 14-Mar-2020

10 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: The Principles of Software QRS Detection · The Principles of Software QRS Detection Reviewing and Comparing Algorithms for Detecting this Important ECG Waveform The QRS complex is

The Principles ofSoftware QRS DetectionReviewing and Comparing Algorithms forDetecting this Important ECG Waveform

The QRS complex is the most strikingwaveform within the electrocardio-

gram (ECG). Since it reflects the electri-cal activity within the heart during theventricular contraction, the time of itsoccurrence as well as its shape providemuch information about the current stateof the heart. Due to its characteristicshape (see Fig. 1) it serves as the basis forthe automated determination of the heartrate, as an entry point for classificationschemes of the cardiac cycle, and often itis also used in ECG data compression al-gorithms. In that sense, QRS detectionprovides the fundamentals for almost allautomated ECG analysis algorithms.

Software QRS detection has been a re-search topic for more than 30 years. Theevolution of these algorithms clearly re-flects the great advances in computertechnology. Whereas in the early yearsthe computational load determined thecomplexity and therefore the perfor-mance of the algorithms, nowadays thedetection performance is the major devel-opment objective. The computationalload becomes less and less important.The only exception from this trend isprobably the development of QRS detec-tion algorithms for battery-driven de-vices.

Within the last decade many new ap-proaches to QRS detection have beenproposed; for example, algorithms fromthe field of artificial neural networks [47,105, 119, 122], genetic algorithms [91],wavelet transforms, filter banks [2, 54,66] as well as heuristic methods mostlybased on nonlinear transforms [59, 107,114]. It is the intention of the authors toprovide an overview of these recent de-velopments as well as of formerly pro-posed algorithms that were alreadyreviewed in [34, 51, 84]. The overview isfocused on the description of the princi-ples. Algorithmic details can be found in

the original papers that are referenced atthe end of this article.

Beyond QRS detection, many papershave been published in related fields; e.g.,ECG signal enhancement [15, 17, 23, 28,90, 99] or pattern classification [8, 26, 31,40, 62, 63, 70, 71, 72, 108, 113, 119]. Thealgorithms described in these papers arenot the topic of this article. However, al-though not directly applied to QRS detec-tion, many of these algorithms may beuseful in processing stages prior to QRSdetection.

OverviewThe rapid development of powerful

microcomputers promoted the wide-spread application of software QRS de-tection algorithms in cardiologicaldevices. Beginning about 30 years ago,software QRS detection has replacedmore and more hardware QRS detectors.

Already in the early years of auto-mated QRS detection, an algorithmicstructure was developed that is nowshared by many algorithms. As shown inFig. 2 it is divided into a preprocessing orfeature extraction stage including linearand nonlinear filtering and a decisionstage including peak detection and deci-sion logic. Often an extra processingblock is used for the exact determinationof the temporal location of the assumedQRS candidate. In this article the differentalgorithms are discriminated with respectto their preprocessing stages, becausemost of the decision stages are rather heu-ristic and dependent on the preprocessingresults.

Approaches Based on SignalDerivatives and Digital FiltersTypical frequency components of a

QRS complex range from about 10 Hz toabout 25 Hz. Therefore, almost all QRS de-tection algorithms use a filter stage prior to

42 IEEE ENGINEERING IN MEDICINE AND BIOLOGY January/February 20020739-5175/02/$17.00©2002IEEE

Bert-Uwe Köhler, Carsten Hennig,Reinhold Orglmeister

Department of Electrical Engineering,Biomedical Electronics Group,

Berlin University of Technology

©19

89-9

9T

EC

HP

OO

LS

TU

DIO

S,I

NC

.

Page 2: The Principles of Software QRS Detection · The Principles of Software QRS Detection Reviewing and Comparing Algorithms for Detecting this Important ECG Waveform The QRS complex is

the actual detection in order to attenuateother signal components and artifacts, suchas P-wave, T-wave, baseline drift, andincoupling noise. Whereas the attenuationof the P- and T-wave as well as baselinedrift requires high-pass filtering, the sup-pression of incoupling noise is usually ac-complished by a low-pass filter. Thecombination of low and high pass meanseffectively the application of a bandpassfilter, in this case with cut-off frequenciesat about 10 Hz and 25 Hz.

In many algorithms, high- and low-passfiltering are carried out separately. Somealgorithms, such as [3, 7, 33, 38, 45, 78,83], use only the high-pass filter part. Thefiltered signals are then used for the gener-ation of a feature signal in which the occur-rence of a QRS complex is detected bycomparing the feature against fixed oradaptive thresholds. Almost all algorithmsuse additional decision rules for the reduc-tion of false-positive detections.

Derivative-Based AlgorithmsThe high-pass filter is often, in particu-

lar in the older algorithms, realized as adifferentiator. This points out the usage ofthe characteristic steep slope of the QRScomplex for its detection. Differenceequations of possible differentiator filtersare [3, 7, 33, 38, 45, 78, 83]

y n x n x n1 1 1( ) ( ) ( )= + − − (1)

y n x n x n

x n x n1 2 2 1

1 2 2

( ) ( ) ( )

( ) ( )

= + + +− − − − (2)

y n x n x n1 1( ) ( ) ( )= − − (3)

y n x n x n1 1( ) ~( ) ~( )= − − (4)

where

~( )| ( )| | ( )|

| ( )| .x n

x n x n

x n=

≥<

ΘΘ Θ (5)

and Θ is an amplitude threshold deter-mined from the measured ECG signalx n( ). In most cases, the differentiator fromEq. (1) is used. Some algorithms alsocompute the second derivative. It can beestimated by [3, 7]

y n x n x n x n2 2 2 2( ) ( ) ( ) ( )= + − + − . (6)

Typical features z n( ) of such algo-rithms are the differentiated signal itself[33, 38, 78]

z n y n( ) ( )= 1 , (7)

a linear combination of the magnitudes ofthe first and the second derivative [7]

z n y n y n( ) . | ( )| . | ( )|= +13 111 2 , (8)

or a linear combination of the smoothedfirst derivative magnitude and the magni-tude of the second derivative [3]

z n y n y n( ) ~ ( ) | ( )|= +1 2 (9)

where ~ ( ) { . , . , . }*| ( )|y n y n1 10 25 0 5 0 25= and*denotes the linear convolution operator.

The detection of a QRS complex is ac-complished by comparing the featureagainst a threshold. Usually the thresholdlevels are computed signal dependentsuch that an adaption to changing signalcharacteristics is possible. For the featurein Eq. (7), the threshold [33, 38, 78]

Θx x= ⋅0 3 0 4. . max[ ]K (10)

is proposed, where the maximum is deter-mined online or from the current signalsegment. Most QRS detectors use this or asimilar method to determine the threshold.

The peak detection logic is frequentlycompleted by further decision rules thatare applied in order to reduce the numberof false-positive detections. Such rulesusually put heuristically found constraintson the timing and the sign of the featuresor introduce secondary thresholds to ex-clude non-QRS segments of the ECG with

QRS-like feature values [3, 7, 33, 38, 45,78, 81, 103].

Algorithms Based on Digital FiltersAlgorithms based on more sophisti-

cated digital filters were published in [12,26, 29, 30, 41, 55, 65, 67, 81, 83, 85, 101,106, 107, 123].

In [83] an algorithm is proposed wherethe ECG is filtered in parallel by two dif-ferent low-pass filters with differentcut-off frequencies. The difference be-tween the filter outputs is effectively thebandpass filtered ECG y n1( ), which is af-terwards further processed by

y n y n y n kk m

m

2 1 12

2

( ) ( ) ( )= +

= −

∑ .(11)

This nonlinear operation leads to a rel-ative suppression of small values and aslight smoothing of the peaks. The featuresignal z n( ) is formed out of y n2( ) by putt-ing additional sign constraints on the out-put signal of the low pass with the highercut-off frequency. The threshold is com-puted adaptively by Θ = max[ ( )] /z n 8.

In [106] and [107] the MOBD (multi-plication of backward difference) algo-rithm is proposed. It is essentially an

January/February 2002 IEEE ENGINEERING IN MEDICINE AND BIOLOGY 43

P-Wave

Q-WaveS-Wave

T-Wave

R-Wave

QRS Complex

1. The QRS complex within the ECG signal.

LinearFiltering

NonlinearFiltering

ECG

x(n)

Preprocessing Stage

PeakDetection

LogicDecision

Decision Stage

2. Common structure of the QRS detectors.

Page 3: The Principles of Software QRS Detection · The Principles of Software QRS Detection Reviewing and Comparing Algorithms for Detecting this Important ECG Waveform The QRS complex is

AND-combination of adjacent magnitudevalues of the derivative. The MOBD ofthe order N is then defined by

z n x n k x n kk

N

( ) | ( ) ( )|= − − − −=

∏0

1

1 .(12)

In order to avoid a high feature signalduring noisy segments, an additional signconsistency constraint is imposed; i.e.,

z n

x n k x n k

( )

[ ( )] [ ( )],

=− ≠ − −

0

1if sign sign(13)

where k N= −0 1 2, , ,K . A proposed valuefor the order of MOBD is N = 4 [107].The threshold Θ is set to the feature maxi-mum zmax after the refractory period andthen halved whenever a fixed time periodis elapsed. The threshold is bounded by alower limit that is also adaptive.

The algorithms described in [41] and[85] use basically the same preprocessor.The ECG is bandpass filtered and after-

wards differentiated. The feature signal z n( )is computed by squaring and averaging theoutput of the differentiator. The bandpassand differentiator use filter coefficients thatare particularly suited for an implementa-tion on fixed-point processors with a shortword length. For the peak detection, a vari-able v is introduced that contains the valueof the most recent feature maximum. Peaksin the feature signal are detected by compar-ing the feature againstv. If the feature dropsbelow v 2 a peak is detected. Then the cur-rent value of v is taken as the peak heightandv is reset to the current value of the fea-ture signal; i.e., v z n= ( ). The principle ofthe peak detection is shown in Fig. 3. Thefiducial mark is set to the location of thelargest peak in the bandpass-filtered signalin an interval from 225 ms to 125 ms pre-ceding a peak detection. The fiducial markand the height of the peak are put into anevent vector that is further processed by thedecision stage. In the decision stage, a QRSpeak level LP and a noise level LN are esti-mated recursively by

L n L n AP P P P P( ) ( ) ( )= ⋅ − + − ⋅λ λ1 1

(14)

L n L n AN N N N P( ) ( ) ( )= ⋅ − + − ⋅λ λ1 1 ,

(15)

where λN and λP are forgetting factors(e.g., λ ≈ 0 98. ) and AP is the peak ampli-tude. Depending on whether a peak isclassified as QRS complex or as a noisepeak, either the QRS peak level LP or thenoise level LN is updated using Eq. (14) orEq. (15), respectively. Eventually, the de-tection threshold is determined from

Θ = + ⋅ −L L LN P Nτ ( ), (16)

where the positive threshold coefficientτ <1 is a design parameter.

In [67] the feature signal z n( ) is com-puted in a way similar to [41] and [85] butusing different filters. In contrast to [41]and [85], the feature signal is divided intosegments of 15 points. The maximum ofeach segment is compared to an adaptivenoise level and an adaptive peak level esti-mate and classified depending on the dis-tance to each of the estimates. The fiducialpoint of the QRS complex is set to the loca-tion within the QRS segment where themaximum of the ECG and a zero crossingin its first derivative occur at the same time.

Although [26] describes an ECGwaveform detection by neural networks,the QRS detection is accomplished usinga feature extractor based on digital filter-ing. The feature signal z n( ) is generated byfiltering the ECG with two differentbandpass filters and afterwards multiply-ing the filter outputs w n( ) and f n( ); i.e.,

z n w n f n( ) ( ) ( )= ⋅ . (17)

This procedure is based on the assump-tion that a QRS complex is characterizedby simultaneously occurring frequencycomponents within the passbands of thetwo bandpass filters. The multiplicationoperation performs the AND-combina-tion. That is, only if both filter outputs arehigh then the feature is high and indicatesa QRS complex. The location of the maxi-mum amplitude in the feature is taken asthe location of the R-wave.

The use of recursive and nonrecursivemedian filters, i.e.

y n y n m y n

x n x n x n m

( ) [ ( ), , ( ),

( ), ( ), , ( )]

= − −+ +

median

a

K

K

1

1 nd (18)

y n x n m x n

x n x n x n m

( ) [ ( ), , ( ),

( ), ( ), , ( )],

= − −+ +

median K

K

1

1 (19)

is proposed, for example, in [123]. Themedian operator applied to a vectorx = [ , , ]x xN1 K means sorting the ele-ments of the vector according to their val-ues and then taking the midpointy N= xsorted ( / )2 as the filter output. In[123] a combination of two median filtersand one smoothing filter is used to form abandpass filter. The additional signal pro-cessing steps are similar to [41, 85].

Generalized digital filters for ECGprocessing with the transfer function

H z z z K LK L( ) ( )( ) ,= − + >− −1 1 01

(20)

44 IEEE ENGINEERING IN MEDICINE AND BIOLOGY January/February 2002

max2

Feature Signal

Time Points Where a Peak Is Detected

Running Signal Maximum V

Time

3. Peak detector proposed in [41].

The detection of a

QRS complex is

accomplished by

comparing the feature

against a threshold.

Page 4: The Principles of Software QRS Detection · The Principles of Software QRS Detection Reviewing and Comparing Algorithms for Detecting this Important ECG Waveform The QRS complex is

are proposed in [12, 100]. Such filtershave a linear phase response and arecomputationally highly efficient. Theywere applied, for example, in [101] where( , ) ( , )K L = 1 2 at a sampling rate fT =100Hz and in [29] where ( , ) ( , )K L = 5 4 at asampling frequency fT = 250 Hz. Otherreported applications of these filters canbe found in [30, 81].

Digital filters have been widely ap-plied to QRS detection. However, havingdescribed the major principles, we con-clude this section here. Further articles onfilter-based QRS detection methods in-clude [5, 32, 48, 55, 58, 65, 79, 110, 111,112, 102, 121].

Wavelet-Based QRS DetectionWavelet Transform and

Singularity DetectionThe wavelet transform (WT) of a func-

tion f t( ) is an integral transform definedby

Wf a b f t t dta b( , ) ( ) ( ),*=

−∞

∫ ψ .(21)

where ψ*( )t denotes the complex conju-gate of the wavelet function ψ( )t . Thetransform yields a time-scale representa-tion similar to the time-frequency repre-sentation of the short-time Fouriertransform (STFT). In contrast to theSTFT, the WT uses a set of analyzingfunctions that allows a variable time andfrequency resolution for different fre-quency bands. The set of analyzing func-tions, the wavelet family ψa b, , is deducedfrom a mother wavelet ψ( )t by

ψ ψa b tt b

a, ( ) = ⋅−

1

2 (22)

where a and b are the dilation (scale) andtranslation parameter, respectively. Thescale parameter a of the WT is compara-ble to the frequency parameter of theSTFT. The mother wavelet is a short os-cillation with zero mean. An example isdepicted in Fig. 4.

The discrete wavelet transform(DWT) results from discretized scale andtranslation parameters; e.g., a j= 2 andb n j= ⋅ 2 where j and n are integer num-bers. This choice of a and b leads to thedyadic DWT (DyWT)

Wf b f t t dtjj b

( , ) ( ) ( ),

*22

= ⋅−∞

∫ ψ(23)

with

ψ ψ

ψ

2 2

2

1

2 2

1

2 2

j b j j

j j

tt b

tn

j

, /

/

( ) = ⋅−

= ⋅ −

and

,n ∈ Z.

.

(24)

Although defined as an integral trans-form, the DyWT is usually implementedusing a dyadic filter bank where the filtercoefficients are directly derived from thewavelet function used in the analysis[14,104]. The input signal to the filterbank is the sampled ECG signal.

Except for [2] and [39] all wave-let-based peak detection methods men-tioned in this review [6, 24, 54, 66, 93] arebased on Mallat’s and Hwang’s approachfor singularity detection and classificationusing local maxima of the wavelet coeffi-cient signals [74]. Therein the correspon-dence between singularities of a functionf t( ) and local maxima in its wavelettransform Wf a t( , ) is investigated. It isshown that singularities correspond topairs of modulus maxima across severalscales (see Fig. 12). Figure 5 clarifies thecorrespondence between a signal withsingularities and its wavelet coefficients.Peak classification is accomplished by thecomputation of the singularity degree(peakiness); i.e., the local Lipschitz regu-larity α , which is estimated from the de-cay of the wavelet coefficients by [74]

α jj j

j j

Wf n

Wf n

=

+ +log ( , )

log ( , )

21 1

2

2

2 (25)

and

αα α

=+1 2

2.

(26)

SingularityDetection-Based Approaches

The algorithm proposed by Mallat andHwang [74] was first applied to QRS de-tection in [66]. R-peaks are found by scan-ning for simultaneous modulus maxima inthe relevant scales of the WT. For a validR-peak the estimated Lipschitz regularitymust be greater than zero; i.e., α > 0 [66].Besides the condition on the Lipschitzregularity, the algorithm in [66] appliesfurther heuristic decision rules such asconditions on the sign and the timing ofthe peak occurrence within the differentscales.

The methods in [6] and [50] are di-rectly derived from [66]. Although bothdetection methods are extensively simpli-fied compared to the original algorithm,the reported results are still very good.Descriptions of two implementations ofthe algorithm from [66] on digital signalprocessors can be found in [57] and [95].

Further QRS detection algorithmsbased on local maxima are presented in[24], [93], and [54]. In [24], characteris-tic points are detected by comparing thecoefficients of the discrete WT on se-lected scales against fixed thresholds.The algorithm described in [93] dividesthe ECG into segments of a fixed length.R-peaks are detected when the locationsof modulus maxima of adjacent scales

January/February 2002 IEEE ENGINEERING IN MEDICINE AND BIOLOGY 45

1.0

0

–1.0

1 2 3 4 5 6 7

4. Example of a wavelet function (Daubechies-4 wavelet).

Page 5: The Principles of Software QRS Detection · The Principles of Software QRS Detection Reviewing and Comparing Algorithms for Detecting this Important ECG Waveform The QRS complex is

exceed a threshold that is calculated forevery segment.

In [39], the wavelet-based zero cross-ing representation from [73] is used forpattern recognition. This pattern recogni-tion method consists of a learning and arecognition phase. In the learning phase, aset of generalized feature vectors is gener-ated from a set of example patterns, usingthe zero crossing representation of the ex-ample. In the recognition phase, the fea-ture vectors are computed for fixed-lengthsegments of the ECG and comparedagainst the generalized feature vectors. Ifa percentage match criterion exceeds thethreshold, an R-peak is detected.

Filter-Bank MethodsFilter banks are closely related to

wavelets. Their application to QRS detec-tion is reported in [2]. Therein a 32-bandfi l ter bank is used to generatedownsampled subband signals. Similar to[26], it is assumed that the QRS complexis characterized by a simultaneousoccurrence of ECG frequency compo-nents in the subbands wl, l =1 4, ,K . Fromthese subbands three features, p p1 2, , andp3, are derived; i.e.,

p n w nl

l11

3

( ) ( )==∑

(27)

p n w nl

l21

4

( ) ( )==∑

(28)

p n w nl

l32

4

( ) ( )==∑ .

(29)

Finally, the actual QRS detection is ac-complished by a sophisticated combina-tion of the features in the followingfive-stage detection logic.

Related MethodsThe wavelet transform has also been

used for classification; e.g., in [16, 21, 56,96]. In [116] the WT was applied to thedetection of ventricular late potentials(VLPs) in manually segmented ECG sig-nals. The authors of [21] give a brief sur-vey of the continuous WT (CWT) of ECGand heart rate variability (HRV) signalsand demonstrate the possibility of datacompression by thresholding of waveletcoefficients. In [16] the application of theCWT to ECG signals of healthy subjectsand patients with cardiac diseases is re-ported and compared to the short-timeFourier transform. In [56] energy parame-ters are derived from the CWT to discrim-inate between normal sine rhythm andcardiac arrythmias like ventricular fibril-lation, ventricular tachycardia, and atrialfibrillation.

Wavelet-based filtering and noise re-duction methods with applications toECG signal processing are published in[49, 60] and [77].

Neural Network ApproachesNeural Networks

Artificial neural networks have beenwidely applied in nonlinear signal pro-cessing, classification, and optimization.In many applications their performancewas shown to be superior to classical lin-ear approaches.

In ECG signal processing, mostly themultilayer perceptron (MLP), radial basisfunction (RBF) networks, and learningvector quantization (LVQ) networks areused. As depicted in Fig. 6, the MLP net-work consists of several layers of inter-connected neurons where each neuronrepresents a processing function

y f w wii

N

i= +

=∑0

1x

(30)

with wi as the weight assigned to input xiand f ( )⋅ as a linear or nonlinear function.In the nonlinear case, f ( )⋅ is frequently de-f ined as the logis t ic funct ionf u e u( ) / ( )= + −1 1 or f u u( ) ( )= tanh . RBFnetworks are an implementation of thefunctional

y n wn

i

N

ii

i( ) exp

( )= −

=∑

1

x cσ

(31)

where x( )n denotes some input data vec-tor. The number N of neurons, the coeffi-cients wi, the center vectors c i, and thestandard deviations σi are the parametersof the network. The exponentials may alsobe replaced by other functions; e.g., wave-lets. RBF networks are closely related tofuzzy logic methods [13]. The advantageof RBF networks over MLP networks is,similar to fuzzy-logic methods, the possi-bility to interpret the parameters. Thismakes the results more predictable andhence reliable.

The LVQ network consists of an inputlayer, a competitive layer, and a linearlayer. The competitive layer automati-cally learns to classify input vectors intosubclasses, where the maximum numberof subclasses N equals the number ofcompetitive neurons. In this layer, a clas-sification is accomplished on the basis ofthe Euclidian distance between the inputvector and the weight vector of each of thecompetitive neurons. Finally, the linearlayer combines the subclasses of the firstlayer to the user-defined target classes.The structure of the LVQ network isshown in Fig. 7.

In order to accomplish the applica-tion-dependent task (e.g. approximationor classification), the parameters of thenetwork need to be trained. Whereas theMLP and RBF networks are trained by su-pervised learning algorithms, the LVQnetwork is adjusted in an unsupervisedmanner. Appropriate training algorithmsare described in the literature; for exam-ple, in [11, 44].

46 IEEE ENGINEERING IN MEDICINE AND BIOLOGY January/February 2002

τd τd τd

Wf(a ,t)j

f(t) (t)∗ θ

f(t)

5. Example of the correspondence between singularities of a function f t( ) and localmaxima in its wavelet transform Wf a t( , ). The mother wavelet is the derivative of asmoothing function θ( )t .

Page 6: The Principles of Software QRS Detection · The Principles of Software QRS Detection Reviewing and Comparing Algorithms for Detecting this Important ECG Waveform The QRS complex is

January/February 2002 IEEE ENGINEERING IN MEDICINE AND BIOLOGY 47

The application of neural networks inthe field of ECG waveform classificationis reported in [8, 26, 31, 40, 47, 62, 63, 70,71, 72, 105, 108, 113, 119, 122]. Some ofthese algorithms [47, 105, 119, 122], arealso concerned with the QRS detectionproblem.

Neural Networks as AdaptiveNonlinear Predictors

In the context of QRS detection, neuralnetworks have been used as adaptivenonlinear predictors [47, 119, 122]. Theobjective is to predict the current signalvalue x n( ) from its past values x n i( )− ,i > 0.

Because the ECG consists almostsolely of non-QRS segments, the neuralnetwork converges to a point where sam-ples from non-QRS segments are wellpredicted. Segments with sudden changes(i.e., QRS segments) follow a differentstatistics and lead to a sudden increase inthe prediction error. It follows that theprediction error e n( ) can be used as a fea-ture signal for QRS detection.

Due to the nonlinear behavior of thebackground noise as described in [122], anonlinear prediction filter may showbetter performance than its linear counter-part. In [122, 47, 119] the neural networkis an MLP network with a three-layerstructure. The input layer consists of eightto ten linear neurons with the time-de-layed signal samples as inputs; the hiddenlayer has three to five nonlinear (logisticnonlinearity) neurons and the output layercontains one, again a linear neuron. In[119] the network is trained prior to thedetection on carefully selected samples.In contrast to prior learning in [122] thenetwork is trained online and hence ableto adopt to changing signal statistics. In[122] the output of the nonlinear predic-tion filter is further processed by amatched filter, providing a better attenua-tion of the residual noise.

Learning Vector Quantization forQRS Detection

In [105] the authors propose the appli-cation of a two-layer LVQ network forQRS detection and the discrimination ofpremature ventricular contractions(PVC). The input and the competitivelayer consist of 20-40 neurons, whereasin the linear layer there are two neuronscorresponding to the number of outputclasses. The input are adjacent samplesof the ECG. Training data were takenfrom several records of the MIT/BIH da-

tabase. The classification is carried outwith an overlap of 10-30 samples. As re-ported in [105], the results do not reachthe results of classical approaches, suchas [85]. However, once trained the LVQnetwork offers fast computations andfurthermore a discrimination betweenQRS and PVC contractions.

Additional ApproachesAdaptive Filters

The application of adaptive predictionfilters to QRS detection has been investi-gated (e.g., in [61,42]). Figure 8 shows thestructure of an FIR prediction filter. Simi-lar to the nonlinear case (see the previoussection) the objective of the filter is to gainan estimate $( )x n for the current signalsample x n( ) from the past signal values bymeans of a weighted superposition; thatis,

$( ) ( ) ( )x n a n x n ii

P

i= −=∑

1 (32)

with the time-variant coefficients a ni( ),i P=1K . They are adaptively adjusted ac-cording to the changing signal statistics.From the literature several adaption rulesfor the coefficients are known; e.g., theleast mean square (LMS) algorithm

a a x( ) ( ) ( ) ( )n n e n n+ = +1 λ (33)

where a( ) [ ( ), ( ), , ( )]n a n a n a nPT= 1 2 K

denotes the coefficient vector at time n, λis the step size parameter ,e n x n x n( ) ( ) $( )= − denotes the predictionerror , and x( ) [ ( ), ( ),n x n x n= − −1 2x n x n P T( ), , ( )]− −2 K is the vector of thetime-delayed ECG signal samples. For adetailed description of the adaptive filter-ing methods, see [43].

The authors of [61] propose featureson the basis of adaptive filtering. Theysuggest to use the differences between thecoefficient vectors a at time n and timen −1; i.e,

D n a n a ni

P

i i( ) | ( ) ( )|= − −=∑

1

21 ,(34)

InputLayer

Hidden Layer

Output Layer

x(n–1) x(n–2) x(n–3)x(n–4)x(n–5)x(n–6)x(n–7) x(n–8)x(n–9)x(n–10)ECG x(n)

y(n)

6. Multilayer perceptron.

y1(n) y2(n)

InputLayer

CompetitiveLayer

Linear Layer

ECG x(n)x(n–2)x(n–3) x(n–4) x(n–5) x(n–P)x(n–1) ...

7. LVQ network.

Page 7: The Principles of Software QRS Detection · The Principles of Software QRS Detection Reviewing and Comparing Algorithms for Detecting this Important ECG Waveform The QRS complex is

and a combination of the difference be-tween the short time energies of the resid-ual error of two consecutive segments

D n e i e iei n

n m

i n m

n

( ) ( ) ( )= −=

+

= −∑ ∑2 2 .

(35)

Further applications of adaptive filtersto QRS detection are reported in [68] and[22]. In [68] it was shown that at a sam-pling frequency of fT = 500 Hz two tapfilters are sufficient for a good predictionperformance. In [22] the application of amidprediction filter

$( ) ( )x n a x n ik P

P

i= −= −∑

(36)

is proposed.

Hidden Markov ModelsIn [20] the application of hidden

Markov models (HMM) to QRS and ECGwaveform detection is investigated.HMMs model the observed data sequenceby a probability function that varies ac-cording to the state of an underlying (hid-den) Markov chain. By means of theMarkov chain the global structural char-acteristics of the process are preservedwhile the parameters of the probabilitydensity function account for the varyingstatistical properties of the observed data.The objective of the algorithm is to inferthe underlying state sequence from theobserved signal. In the case of ECG sig-nals, possible states are P-wave, QRS, andT-wave. The advantage of this detectionmethod is that not only the QRS complexis determined but also P- and T-waves.Problems of the method include a neces-

sary manual segmentation for trainingprior to the analysis of a record, its patientdependence, and the considerable compu-tational complexity even when thecomputationally efficient Viterby algo-rithm [20] is applied. For further detailsabout HMMs, see e.g. [92,118].

Mathematical MorphologyThe use of mathematical morphology

operators for QRS detection was de-scribed in [114]. Mathematical morphol-ogy originates from image processing andwas proposed for ECG signal enhance-ment in [18]. Therein the successful re-moval of impulsive noise from the ECG isreported.

Mathematical morphology is based onthe terms erosion and dilation. Letf F I: → and k K I: → denote discretefunctions, where the sets F and K aregiven by F N= −{ , , , }0 1 1K andK M= −{ , , , }0 1 1K . I is the set of integernumbers. The erosion of the function f bythe function k is defined as [18]

( )( ) min ( ) ( )

,...,

, ,f k m f m n k n

N M m N

n M� = + −

> == −0 1

0

K

for and − M (37)

k is also referred to as the structuring ele-ment. The values of ( )f k� are alwaysless than those of f .

The dilation of the function f by thefunction k is defined as [18]

( )( ) max ( ) ( )

, ,, ,

f k m f n k m n

N M m M Nn M

⊕ = + −

> = −= −0 1

1K

Kfor and −1.

(38)The values of f k⊕ are always greater

than those of f .Erosion and dilation are combined for

additional operations. Opening, denotedby °, is defined as erosion followed by adilation. Closing, denoted by •, is definedas dilation followed by an erosion. Bothoperators manipulate signals in a compa-rable way. That is, to open a sequence fwith a flat structuring element k will re-move all peaks. To close the sequence

with the same structuring element will re-move all pits (negative peaks).

In [114], opening and closing opera-tions are used for noise suppression asproposed in [18]; i.e.,

~ [( ) ] [( ) ]x

x k k x k k=

• + •o o

2 (39)

where k is a flat structuring element (zeroline). The generation of a feature signalfor the QRS complexes is accomplishedby the operation

z x x B B= − •~ [(~ ) ]o (40)

where B is now a peaky structuring ele-ment as shown in Fig. 9. In [114] B has alength of 13 samples. A QRS complex iseventually found by comparing the fea-ture signal against an adaptive threshold.

Matched FiltersBesides the neural-network-based

matched filtering approach in [122], thereare linear matched filtering approaches as,for example, reported in [94, 27, 69, 25].In [94], after some analog preprocessingsteps such as an automatic gain control,the ECG signal is digitized and furtherprocessed by a comb filter (low pass) witha notch at 50 Hz and a bandpass filter withcut-off frequencies at 15 Hz and 40 Hz.This digital filter stage is followed by amatched filter for further improvement ofthe signal-to-noise ratio (SNR). Thematched filtering is accomplished by

y n h i x n ii

N

( ) ( ) ( )= −=

∑0

1

(41)

where the impulse response h n( ) is thetime-reversed template of the waveformto be detected. The impulse response ofthe matched filter h n( ) is manually takenfrom the first cardiac cycles of the currentmeasurements; i.e., it needs to be deter-mined interactively. For further enhance-ment of the timing accuracy, the output ofthe matched filter is interpolated up tofour times the original sampling fre-quency. The final decision about a QRScomplex is taken by comparing the fil-tered signal against a fixed threshold. It isreported in [94] that the matched filteralso improves the timing accuracy of thedetected R-wave.

A similar approach is proposed in [69].Instead of computing the cross correlationbetween the template and the signal as inEq. (41), the algorithm searches for theminimum of the average magnitude crossdifference (AMCD)

48 IEEE ENGINEERING IN MEDICINE AND BIOLOGY January/February 2002

T T T TECG x(n)

a (n)1 a (n)2 a (n)3 a (n)P

–x(n)e(n)

8. Prediction filter.

9. Peaky structuring element for QRSdetection.

Page 8: The Principles of Software QRS Detection · The Principles of Software QRS Detection Reviewing and Comparing Algorithms for Detecting this Important ECG Waveform The QRS complex is

AMCD = − −=∑i

N

x n i h i1

| ( ) ( )|(42)

where x n( ) is the ECG signal and h i( ) isthe time-reversed template. This algo-rithm does not need multiplications and istherefore computationally inexpensive. In[69], templates of length N =10 andN = 20 at a sampling frequency of 500 Hzare used. The ECG signal as well as thetemplate need to be detrended before thecalculation of the AMCD.

Further applications of matched filtersare reported in [25] and [27], where inte-grated circuits are used for the real-timecomputation of the correlation coefficientand a wave digital filter realization isshown, respectively.

Genetic AlgorithmsIn [91], genetic algorithms have been

applied to a combined design of optimalpolynomial filters for the preprocessing ofthe ECG and the parameters of a decisionstage.

Polynomial filters are defined by [91]

y

a x

nk

M

k

M

k

M

k M

k k k n d

N

j

N

= ⋅⋅⋅

∑= = =

⋅⋅⋅ −

∑ ∑ ∑1 2

1 2

0 0 01 244 344

1

1

2

2kn dk

n dk

x xN

N− −⋅⋅⋅

(43)

where the d j are delays with respect to thetime n. Three different special cases of apolynomial filter are investigated:quasi-linear filters with consecutive sam-ples (M =1 and N =10), quasi-linear fil-ters with selected samples (M =1 and

N = 5), and quadratic filters with selectedsamples (M = 2 and N = 3).

The decision stage consists mainly ofan adaptive threshold that is comparedagainst the filtered ECG signal. Thethreshold adaption parameters are opti-mized in conjunction with the polynomialfilter via a genetic optimization algorithm.

Hilbert Transform-BasedQRS Detection

In [124, 82] the use of the Hilbert trans-form for QRS detection is proposed. TheHilbert transform of a real signal x is de-fined by

x t xx

td

x t x tt

H

H

( ) { }( )

( ) ( ) *

= = −

= =

−∞

∫�1

1

πττ τ

π (44)

and may be computed in the frequency do-main as

X j X j j

X j H jH ( ) ( ) [ ( )]

( ) ( )

ω ω ωω ω

= ⋅ − ⋅= ⋅

sgn

(45)

where the transfer function of the Hilberttransform H j( )ω is given by

H jj

j( )

ω ππ ω=

− ≤ <− ≤ <

0

0 (46)

Using the fast Fourier transform(FFT), the Hilbert transform can easily becomputed. In [82] the ideal Hilberttransformator is approximated by abandlimited ( )2 1N + -tap FIR filter withthe impulse response h n( ). For example,the impulse response for the filter of theorder N =11 is given by [82]

h n( ) { . , , . , , . , ,

. , , . , ,

= − − −0 038 0 0143 0 0 610 0

0 610 0 0143 0 0. }.038 (47)

Impulse responses for other filter ordersare listed in [82].

The Hilbert transform x nH ( ) of theECG signal x n( ) is used for the computa-tion of the signal envelope [82], which isgiven for bandlimited signals by

x n x n x ne H( ) ( ) ( )= +2 2 . (48)

A computationally less expensive ap-proximation to the envelope can be madeby [82]

x n x n x ne H( ) | ( )| | ( )|≈ + . (49)

In order to remove ripples from the en-velope and to avoid ambiguities in thepeak level detection, in [82] the envelopeis low-pass filtered. Additionally, in [82]a waveform adaptive scheme for the re-moval of low frequency ECG componentsis proposed.

The method published in [124] is re-lated to the algorithms based on theHilbert transform. In [124] the envelopeof the signal is approximated by

x n x n x ne( ) | ( )| | ( )|≈ +1 2 (50)

where x n1( ) and x n2( ) are the outputs oftwo orthogonal digital filters; i.e.,

x n x n x n1 6( ) ( ) ( )= − − and (51)

x n x n x n

x n x n2 2

6 8

( ) ( ) ( )

( ) ( ).

= − −− − − − (52)

In order to remove noise, the envelopesignal x ne( ) is smoothed by a four-tapmoving average filter.

January/February 2002 IEEE ENGINEERING IN MEDICINE AND BIOLOGY 49

Table 1. Sets Used in Syntactic Approaches for ECG Event Detection.

Set (alphabet) Primitives Symbols Reference

(1) Σ = { , , }a b c square of the firstderivative y1

2a b c, , depend on amplitude and duration ofpeaks of y1

2[9]

(2) Σ = ∈ ∈ + −{( , )| {/,\, }, { , ,*}}a b a b0 line segments a: slope of the line segment, i.e. positive slope(/), negative slope (\) or zero slope (0). b: startpoint of the line segment, i.e. above (+), below(–) or on the baseline (*)

[46]

(3) Σ = { , , , , , , }h s s i i l ln n n line segments horizontal (h), small (s), negative small (sn ), in-termediate (i), negative intermediate (i n ), large (l)and negative large (l n ) slope

[117]

(4) Σ = {( , , ),( , , ),( , , ),( , , )}l i n s i n s i n l i nP P N N line segments { , , , }l s s lP P N N : slope of line segment; i n, : timecoordinate and duration of line segment(attribute values)

[87]

(5) Σ Π= + −{ , , , }K K E peak, line andparabolic segment

K + (positive peak), K − (negative peak), E (linesegment), Π (parabolic segment), and additionalattribute values describing the primitives.

[113]

Page 9: The Principles of Software QRS Detection · The Principles of Software QRS Detection Reviewing and Comparing Algorithms for Detecting this Important ECG Waveform The QRS complex is

Length and Energy TransformsIn [36, 37] the application of length

and energy transforms to QRS detectionis investigated. The transforms are de-fined for multichannel ECG signals butmay also be used for single-channel ECGanalysis. They are given by

L n q i xk i

i q

j

n

j k( , , ) ( ),==

+ −

=∑ ∑

1

1

2∆

length transform (53)

E n q i xk i

i q

j

n

j k( , , ) ( ),==

+ −

=∑ ∑

1

1

2∆

energy transform (54)

where n is the number of ECG channels, iis the time index, q denotes the windowlength, and ∆x x xj k j k j k, , ,= − −1. Theseformulas are based on the assumption thatthe derivatives of the ECG channels canbe considered as the elements of a vector.The length of the vector is determined

from the square root of the second sum inEq. (53). The length transform representsa temporarily smoothed time course of thevector length. A similar assumption leadsto the energy transform, which can be in-terpreted as the short-term energy estima-tion of the vector. The authors of [36, 37]state that both transforms are superior toconventional transforms for feature ex-traction, whereas the length transformworks particularly good in cases of smallQRS complexes.

Syntactic MethodsSyntactic algorithms for ECG process-

ing have been proposed in [9, 19, 86, 97,113]. A review of several algorithms isgiven in [98]. The signal to be analyzed bya syntactic method is assumed to be a con-catenation of linguistically representedprimitive patterns; i.e., strings. Using agrammar, this string representation isparsed for strings coding a search pattern.Therefore, a syntatic algorithm for patternrecognition essentially requires the defi-nition of primitive patterns, a suitable lin-guistic representation (alphabet) of theprimitive patterns, and the formulation ofa pattern grammar.

In ECG processing the signal is splitinto short segments of a variable or a fixedlength. Each segment is then representedby a primitive and coded using thepredefined alphabet. Due to their compu-tational efficiency, most algorithms useline segments as primitives for the signalrepresentation [9, 46, 87, 117]. In [113]the set of line primitives is extended bypeaks, parabolic curves, and additional at-tributes. An overview of several primitivepatterns, alphabets, and attributes is givenin Table 1.

Various grammars for these alphabets(i.e., rules describing the set of search pat-terns) are proposed in [35, 46, 88, 87, 113,115, 117].

QRS Detection Basedon MAP Estimation

Maximum a posteriori (MAP) estima-tion can be considered as a special casewithin the Bayesian framework, whichprovides a very general basis for parame-ter estimation including the incorporationof prior knowledge. The MAP estimate$θMAP of a parameter θ given the observa-tion x is defined by

$ ( | )θ θθ

θMAP argmax= f x(55)

where

50 IEEE ENGINEERING IN MEDICINE AND BIOLOGY January/February 2002

a)

b)

c)

d)

e)

f)

g)

Time

a)

b)

c)

d)

e)

f)

g)

Time

10. (a) ECG signal (top: from record 100; bottom: from record 108), (b) first deriva-tive from Eq. (1), (c) first derivative from Eq. (4), (d) feature from Eq. (8), (e) fea-ture from Eq. (9), (f) feature from [83], (g) MOBD feature signal.

Page 10: The Principles of Software QRS Detection · The Principles of Software QRS Detection Reviewing and Comparing Algorithms for Detecting this Important ECG Waveform The QRS complex is

ff f

fx

θθθ θ

( | )( | ) ( )

( )x

xx

=(56)

is the a posteriori probability densityfunction (pdf) of θ given x. The a prioripdf fθ θ( ) of the parameter θ represents theavailable prior knowledge.

In [12] a QRS detection method basedon MAP estimation is presented. The pro-posed model for the N -dimensional vec-tor x of ECG samples is given by

x n

B s n T w n q k

w n qi

q

i i i

( )

( , ) ( ) :

( ) : .

=

− + ≤ ≤

=

=∑

11

0

θ

(57)where q is the number of pulse-shapedpeaks s n T( , ) in the ECG segment and x andk denote the number of all peaks in the samesegment. Bi, Ti, andθi,i k=1K give the am-plitude, duration, and arrival time for thei-thpeak, respectively. w n( ) is additive whiteGaussian noise. For a given joint a priori pdff qq B T, , , ( , , , )θ θB T , the MAP estimate ofthe model parameters is given by

( $, $ , $, $) ( , , , , ), , ,

q V qq

B T x B TB T

θ θθ

= argmax(58)

with V q( , , , , )x B T θ being the log-likeli-hood funct ion with respect tof qq B T, , , ( , , , )θ θB T . Detailed consider-ations of the prior knowledge leading to ajoint a priori pdf f qq B T, , , ( , , , )θ θB T aredescribed in [12].

Since the maximization process iscomputationally expensive, the authorsalso present modifications for an approxi-mate MAP estimation. Further simplifica-tions are presented in [100].

Zero-Crossing-BasedQRS Detection

QRS detection based on zero crossingcounts is proposed in [59]. After bandpassfiltering, a high-frequency sequenceb n k n n( ) ( ) ( )= ⋅ −1 is added to the filteredsignal y n1( ); i.e.,

y n y n b n2 1( ) ( ) ( )= + . (59)

The amplitude of the high-frequencysequence k n( ) is determined from a run-ning average of the modulus of thebandpass-filtered ECG | ( )|y n1 . Since theamplitude of k n( ) is lower than the ampli-tude of the QRS complex, the number ofzero crossings is large during non-QRSsegments and low during the QRS com-plex. Computing a running average of thenumber of zero crossings results in a ro-bust feature z n( ) for the QRS complexes.

The feature signal z n( ) is comparedagainst an adaptive threshold for the de-tection of QRS complexes. The temporallocation of the R-wave is found by a maxi-mum search in the bandpass-filtered sig-nal around a detected QRS candidate.

Benchmark DatabasesSeveral standard ECG databases are

available for the evaluation of softwareQRS detection algorithms. Tests on these

well-annotated and validated databasesprovide reproducible and comparable re-sults. Furthermore, these databases con-tain a large number of selected signalsrepresentative for the large variety ofECGs as well as signals that are rarely ob-served but clinically important.

Available standard databases include:1) MIT-BIH DatabaseThe MIT-BIH database [76] provided

by MIT and Boston’s Beth Israel Hospital

January/February 2002 IEEE ENGINEERING IN MEDICINE AND BIOLOGY 51

a)

b)

c)

d)

e)

f)

g)

a)

b)

c)

d)

e)

f)

g)

Time

Time

11. (a) ECG signal (top: from record 100; bottom: from record 108), (b) Feature by[41], (c) feature by [26], (d) LMS prediction error e n( ) (filter order 2, step sizeλ = 0 03. ), (e) LMS feature from Eq. (34) (filter order 2, step size λ = 0 03. ), (f) LMSfeature from Eq. (35) (filter order 2, step size λ = 0 03. ), (g) matched filter feature.

Page 11: The Principles of Software QRS Detection · The Principles of Software QRS Detection Reviewing and Comparing Algorithms for Detecting this Important ECG Waveform The QRS complex is

consists of ten databases for various testpurposes; i.e., the Arrhythmia Database,the Noise Stress Test Database, the Ven-tricular Tachyarrhythmia Database fromCreighton University Cardiac Center, theST Change Database, the Malignant Ven-tricular Arrhythmia Database, the AtrialFibrillation/Flutter Database, the ECGCompression Test Database, theSupraventricular Arrhythmia Database,the Long-Term Database, and the Normal

Sinus Rhythm Database. In addition to theAHA (see below) database and the Euro-pean ST-T Database (see below), the firstthree MIT-BIH databases are required bythe ANSI for testing ambulatory ECG de-vices.

Most frequently the MIT-BIH Ar-rhythmia Database is used. It contains 48half-hour recordings of annotated ECGwith a sampling rate of 360 Hz and 11-bitresolut ion over a 10-mV range.

Twenty-five recordings (records number200 and above) with less commonarrhythmias were selected from over 400024-hour ambulatory ECG recordings, andthe rest was chosen randomly. Altogetherthere are 116137 QRS complexes in thisdatabase. While some records containclear R-peaks and few artifacts (e.g., re-cords 100-107), for some records the de-tection of QRS complexes is very difficultdue to abnormal shapes, noise, and arti-facts (e.g., records 108 and 207).

2) AHA DatabaseThe AHA Database for Evaluation of

Ventricular Arrhythmia Detectors [4] ofthe American Heart Association contains155 recordings of ambulatory ECG. Thesignals have been digitized with a sam-pling rate of 250 Hz and a resolution of 12bits over 20 mV. Each record consists of2.5 hours of unannotated signal followedby 30 minutes of annotated ECG. The re-cords are arranged into eight groups rep-resenting different levels of ectopicexcitation. Records 1001 to 1020 of thefirst group show no extra systoles,whereas records 8001 to 8010 containingECGs with ventricular fibrillation showthe highest level of ventricular ectopy.

3) Ann Arbor Electrogram LibrariesThe Ann Arbor Electrogram Libraries

[52] are a collection of more than 800intracardiac electrograms and surfaceECGs. Each recording consists ofintracardiac unipolar and bipolarelectrocardiograms and a surface ECG.This database is especially valuable forthe evaluat ion of algori thms forimplantable cardiac devices.

4) CSE DatabaseThe Common Standards for Electro-

cardiography (CSE) Database [10] is fre-quently used for the evaluation ofdiagnostic ECG analyzers. The CSE Da-tabase consists of about 1000 multileadrecordings (12 or 15 leads).

5) Other Standard DatabasesMore libraries available for evaluation

of detection and classification algorithmsare the European ST-T Database [80], theQT Database [64], the MGH Database[75], the IMPROVE Data Library [120],and the ECG Reference Data Set [89] ofthe Physikalisch-Technische Bunde-sanstalt (PTB). The ST-T Database con-tains 90 recordings of two hours of ECGeach, selected for the evaluation of ECGdevices that analyze ST levels andT-waves. The QT Database was designedfor evaluation of algorithms that detectwaveform boundaries in the ECG. For this

52 IEEE ENGINEERING IN MEDICINE AND BIOLOGY January/February 2002

a)

b)

c)

d)

e)

f)

a)

b)

c)

d)

e)

f)

Time

Time

12. (a) ECG signal (top: from record 100; bottom: from record 108); waveletsubband signals for the scales j = 1 (b) to j = 5 (f). For the wavelet transform thespline wavelet proposed in [74] was used.

Page 12: The Principles of Software QRS Detection · The Principles of Software QRS Detection Reviewing and Comparing Algorithms for Detecting this Important ECG Waveform The QRS complex is

database, 105 records with a broad varietyof QRS and ST-T morphologies were se-lected from other databases; e.g., theMIT-BIH Arrhythmia Database and theEuropean ST-T Database. Each recordhas a length of 15 minutes. The databasesof the Massachusetts General Hospitaland the IMPROVE database are multi-channel recordings containing athree-lead ECG and additional signalssuch as systemic and pulmonary aterialpressure (SAP, PAP), central venouspressure (CVP),CO2,O2, and respiration.The ECG Reference Data Set of the PTBis not finished yet. Currently, this data-base contains more than 500 records withdurations from 38 s to 120 s. The classifi-cation follows the classification schemeof the AHA.

Evaluation and ComparisonThe usage of software QRS detection

algorithms in medical devices requires theevaluation of the detection performance.According to [1], essentially two parame-ters should be used to evaluate the algo-rithms; that is,

SeTP

TP FN= + sensitivity

(60)

+ = +PTP

TP FPpositive predictivity

(61)

where TP denotes the number of true posi-tive detections, FN the number of falsenegatives, and FP the number of falsepositives. Furthermore, to achieve com-parable and reproducible results, the eval-uation needs to be carried out on standarddatabases.

Contrary to the requirements of com-parability and reproducibility, in practicethere are many publications where noevaluation is reported at all, the evaluationhas not been done using standard data-bases, or the performance indices are notcompatible to the sensitivity and positivepredictivity parameters. This effectivelyleads to incomparable results.

In order to make a comparison possi-ble, we rank the reported results with re-spect to how they were obtained; i.e.,

� reliable results: the algorithm istested against a standard database,

� less reliable results; the algorithm istested against parts of a standarddatabase, and

� unreliable results: the algorithm istested against a nonstandarddatabase.

Publications without reported or withincompatible results are not comparableand are not considered further. Resultsfrom the same reliability level are re-garded as comparable. Within each reli-ability level the algorithms are groupedaccording to the reported performance.

The results of this comparison areshown in Table 1. It provides a quickoverview of the achieved detection resultsand gives a good impression on what algo-rithms are potentially useful for an inte-gration in larger ECG analysis systems.However, it should be clear that somesimplifications have been made that needto be discussed. First of all, although someresults are classified as less reliable or un-reliable, nothing is said about the perfor-mance of the algorithm. Despite thisreliability level, the actual algorithm mayperform very well. In particular, in thecase where only parts of a standard data-base have been used, the intention of theoriginal authors frequently was to showthe performance of the algorithm on par-ticularly difficult records, such as recordswith pathological or very noisy signals.However, from an objective point ofview, the reported results are not truly re-liable, because the algorithm may havebeen tuned to perform perfectly on such

pathological signals but not on the normalECG. A further simplification is made bystating only the overall performance. Thatis, no statement is given on the worst caseperformance, which is also important. Athird simplification is the disregard of thefact that the results may have beenachieved by an extreme fine tuning of theparameters. In such cases the good re-ported results might be difficult to repro-duce. Final ly , this comparisondiscriminates against older algorithms,because in the early years of softwareQRS detection there were no standarddatabases available.

The algorithmic comparison with re-spect to the computational load can be car-ried out by grouping the algorithms intothe categories low, medium, and highcomputational complexity. The compari-son is shown in Table 2. Only the algo-rithms from Table 1 are considered. Againthe grouping of the algorithms into thesesimple categories provides a quick over-view, which is gained at the expense oflost information. In particular, for thecomparison only the generation of the fea-ture signals is considered. However, thislimitation is reasonable since the featuregeneration is carried out for each sampleof the ECG whereas the decision stage is

January/February 2002 IEEE ENGINEERING IN MEDICINE AND BIOLOGY 53

a)

b)

c)

d)

a)

b)

c)

d)

Time

Time

13. Features of the filterbank approach [2], M = 32; (a) ECG signal (top: from re-cord 100; bottom: from record 108), (b) feature signal p1 , (c) feature signal p2, (d)feature signal p3 .

Page 13: The Principles of Software QRS Detection · The Principles of Software QRS Detection Reviewing and Comparing Algorithms for Detecting this Important ECG Waveform The QRS complex is

usually activated only a few times duringa cardiac cycle. Furthermore, since the ex-act computational needs of these algo-rithms are not available, the algorithmsare classified according to our experience.This simplification is of course subjectiveand not generally valid. However, in par-ticular for researchers who are not famil-iar with QRS detection, this classificationmay give a general idea about the neces-sary processing power.

In order to give an impression aboutthe difficulties in ECG analysis and QRSdetection, some features of the presentedalgorithms are computed for two very dif-ferent ECG segments. They are shown inFig. 10 to Fig. 13. The signals are takenfrom records 100 and 108 of the MIT/BIHarrhythmia database. Whereas R-peaks inrecord 100 are very clear and easy to de-termine, the detection of QRS complexesis very difficult in record 108. Generally,detection problems may occur in case of

� noisy signals, electrode artifacts,baseline drift, power line interfer-ence;

� pathological signals;� small QRS complexes; and� sudden level changes of the QRS

complex.

As can be seen from the figures, moresophisticated algorithms tend to copebetter with these problems. Shortcomingsof these features may be partly compen-sated for by suitable decision rules.

ConclusionsThe great variety of QRS detection al-

gorithms presented in this review reflectsthe need for a reliable QRS detection incardiac signal processing. Sensitivitiesand specificities of about 99.5% are possi-ble for online QRS detectors today with-out much computational effort. Thesedetection rates may be sufficient for clini-cal applications, whereas a higher perfor-mance may be necessary for researchpurposes. In that case, offline ECG analy-sis, where, for example, backsearch meth-ods can be applied, may provide higherperformance.

The currently achievable detectionrates reflect only the overall performanceof the detectors. These numbers hide theproblems that are still present in case ofnoisy or pathological signals. A satisfyingsolution to these problems is still notfound. However, recent advances in clas-sification techniques such as novelsoftcomputing techniques have not been

extensively transferred to the problem ofQRS detection so that there are still manytools left for further improvements.

Many of the presented algorithmswere not tested against a standard data-base or any database at all. This makes theresults difficult to compare and to evalu-ate. With respect to the problems left inQRS detection, in particular the algorith-mic behavior in case of noisy and patho-logical signals, only a comparable andreproducible evaluation on a standarddatabase may show the progress achievedby a novel method.

Bert-Uwe Köhler re-ceived the Dipl.-Ing.degree and the Dr.-Ing.(Ph.D.) degree in elec-trical engineering fromthe Berlin University ofTechnology in 1995 and1999, respect ively.From 1995 until 2001

he worked as a researcher at the Depart-ment of Electrical Engineering of theBerlin University of Technology and gavecourses in signal processing and medicalelectronics. In 2001, he joined the re-search and development department of

54 IEEE ENGINEERING IN MEDICINE AND BIOLOGY January/February 2002

Table 2. Comparison of the Results of Different Algorithms.

min[ , ]S P+ Standard Data Base Parts of Standard Data Base Nonstandard Data Base

> 99% Afonso et al. [2],Bahoura et al. [6],Hamilton & Tompkins [41],Inoue & Miyazaki [50],Kohler et al. [59],Li et al. [66],Poli et al. [91]

Gritzali [36],Hu et al. [47],Kohama et al. [58],Ruha et al. [94],Sahambi et al. [95],Vijaya et al. [119],Xue et al. [122]

Belforte et al. [9],Dobbs et al. [25],Fischer et al. [32],Thakor & Webster [109],Yu et al. [123]

95% - 99% Suppappola & Sun [106][107] Coast et al. [20],Kadambe et al. [53][54]

Sörnmo et al. [100],Udupa & Murthy [117]

90% - 95% Papakonstantinou et al. [87],Trahanias [114]

< 90% Ligtenberg & Kunt [67]

Table 3. Subjective Comparison with Respect to the Computational Load.

Low Medium High

Afonso et al. [2],Fischer et al. [32],Köhler et al. [59],Kohama et al. [58],Suppappola & Sun [106][107],Trahanias [114],Yu et al. [123]

Bahoura et al. [6],Dobbs et al. [25],Gritzali [36],Hamilton & Tompkins [41],Kadambe et al. [53][54],Ligtenberg & Kunt [67],Poli et al. [91],Ruha et al. [94],Vijaya et al. [119]

Belforte et al. [9],Coast et al. [20],Hu et al. [47],Inoue & Miyazaki [50],Li et al. [66],Papakonstantinou et al. [87],Sahambi et al. [95],Sörnmo et al. [100],Udupa & Murthy [117],Xue et al. [122]

Page 14: The Principles of Software QRS Detection · The Principles of Software QRS Detection Reviewing and Comparing Algorithms for Detecting this Important ECG Waveform The QRS complex is

Siemens Berlin. His research interests fo-cus on statistical biomedical signal pro-cessing, in particular blind sourceseparation and independent componentanalysis.

Carsten Hennig re-ceived the Dipl.-Ing.degree in electrical en-gineer ing from theBerlin University ofTechnology in 1999.From 1999 to 2001 hewas working as a re-search assistant at the

Berlin University of Technology. His re-search focuses on wavelet transformmethods in digital signal processing andbiomedical signal processing.

Reinhold Orglmeisterreceived the Dipl.-Ing.degree and the Dr.-Ing.(Ph.D.) degree in elec-trical engineering fromthe Berlin University ofTechnology in 1980 and1985, respect ively.From 1980 to 1985 he

worked on field theory at the Institute ofTheoretical Electrical Engineering of theBerlin University of Technology. He wasemployed from 1985 until 1990 at theBerlin Research Institute of Robert BoschGmbH, where he was responsible for digi-tal signal processing. Since 1991 he hasbeen a professor at the Department ofElectrical Engineering at the Berlin Uni-versity of Technology and since 2001head of the Institute of Power Engi-neering and Automation. He teachescourses in signal processing, electronics,and medical electronics. His research in-terests include medical signal processingand microprocessor and DSP-based medi-cal instrumentation.

Address for Correspondence: ReinholdOrglmeister, Berlin University of Tech-nology, Department of Electrical Engi-neering, Biomedical Electronics Group,Einsteinufer 17/EN3, D-10587 Berlin,Germany. E-mail: [email protected].

References

[1] ANSI/AAMI EC57: Testing and reporting per-formance results of cardiac rhythm and ST seg-ment measurement algori thms (AAMIRecommended Practice/American National Stan-dard), 1998. Available: http://www.aami.org; Or-der Code: EC57-293.

[2] V.X. Afonso, W.J. Tompkins, T.Q. Nguyen,and S. Luo, “ECG beat detection using filterbanks,” IEEE Trans. Biomed. Eng., vol. 46, pp.192-202, 1999.

[3] M.L. Ahlstrom and W.J. Tompkins, “Auto-mated high-speed analysis of holter tapes with mi-crocomputers,” IEEE Trans. Biomed. Eng., vol.30, pp. 651-657, Oct. 1983.

[4] American Heart Association, AHA Database,ECRI, 5200 Butler Pike, Plymouth Meeting, PA19462 USA.

[5] H. Baharestani, W.J. Tompkins, J.G. Webster,and R.B. Mazess, “Heart rate recorder,” Med.Biol. Eng. Comput., vol. 17, no. 6, pp. 719-723,Nov. 1979.

[6] M. Bahoura, M. Hassani, and M. Hubin, “DSPimplementation of wavelet transform for real timeECG wave forms detection and heart rate analy-sis,” Comput. Methods Programs Biomed., vol.52, no. 1, pp. 35-44, 1997.

[7] R.A. Balda, Trends in Computer-ProcessedElectrocardiograms. Amsterdam: North Hol-land, 1977, pp. 197-205.

[8] S. Barro, M. Fernandez-Delgado, J.A.Vila-Sobrino, C.V. Regueiro, and E. Sanchez,“Classifiying multichannel ECG patterns with anadaptive neural network,” IEEE Eng. Med. Biol.Mag., vol. 17, pp. 45-55, Jan./Feb. 1998.

[9] G. Belforte, R. De Mori, and F. Ferraris, “Acontribution to the automatic processing of elec-trocardiograms using syntactic methods,” IEEETrans. Biomed. Eng., vol. 26, pp. 125-136, Mar.1979.

[10] J.H. van Bemmel and J.L. Williams, “Stand-ardisation and validation of medical decision sup-port systems: The CSE project,” Methods Inform.Med., vol. 29, pp. 261-262, 1990.

[11] C.M. Bishop and G. Hinton, Neural Net-works for Pattern Recognition. New York: Clar-endon Press, 1995.

[12] P.O. Börjesson, O. Pahlm, L. Sörnmo, andM.-E. Nygards, “Adaptive QRS detection basedon maximum a posteriori estimation,” IEEETrans. Biomed. Eng., vol. 29, pp. 341-351, May1982.

[13] H.-H. Bothe, Neuro-Fuzzy-Methoden.Berlin, Germany: Springer-Verlag, 1997.

[14] C.S. Burrus, R.A. Gopinath, and H. Guo, In-troduction to Wavelets and Wavelet Transforms.Upper Saddle River, NJ: Prentice Hall, 1998.

[15] G.G. Cano, S.A. Briller, and D.A. Coast,“Enhancement of low-level ECG components innoise with time-sequenced adaptive filtering,” J.Electrocardiology, vol. 23 (Suppl.), pp. 176-183,1990.

[16] B. Cellar, Y.C.C. Grace, and C. Phillips,“ECG analysis and processing using wavelets andother methods,” Biomed. Eng. Appl. BasisCommun., vol. 9, no. 2, pp. 81-90, 1997.

[17] I.I. Christov, I.A. Dotsinski, and I.K.Dasalkov, “High-pass filtering of ECG signals us-ing QRS elemination,” Med. Biol. Eng. Comput.,vol. 30, pp. 253-256, 1992.

[18] C.-H.H. Chu and E.J. Delp, “Impulsive noisesuppression and background normalization ofelectrocardiogram signals using morphologicaloperators,” IEEE Trans. Biomed. Eng., vol. 36,pp. 262-273, 1989.

[19] E.J. Ciaccio, S.M. Dunn, and M. Akay,“Biosignal pattern recognition and interpretationsystems,” IEEE Eng. Med. Biol. Mag., pp.269-273, 1994.

[20] D.A. Coast, R.M. Stern, G.G. Cano, and S.A.Briller, “An approach to cardiac arrhythmia anal-ysis using hidden Markov models,” IEEE Trans.Biomed. Eng., vol. 37, pp. 826-836, 1990.

[21] J.A. Crowe, N.M. Gibson, M.S. Woolfson,and M.G. Somekh, “Wavelet transform as a po-tential tool for ECG analysis and compression,” J.Biomed. Eng., vol. 14, no. 3, pp. 268-272, 1992.

[22] S. Dandapat and G.C. Ray, “Spike detectionin biomedical signals using midprediction filter,”Med. Biol. Eng. Comput., vol. 35, no. 4, pp.354-360, 1997.

[23] I.K. Daskalov and I.I. Christov, “Electrocar-diogram signal preprocessing for automatic de-tection of QRS boundaries,” Med. Eng. Phys., vol.21, no. 1, pp. 37-44, 1999.

[24] V. Di-Virgilio, C. Francaiancia, S. Lino, andS. Cerutti, “ECG fiducial points detection throughwavelet transform,” in 1995 IEEE Eng. Med. Biol.17th Ann. Conf. 21st Canadian Med. Biol. Eng.Conf., Montreal, Quebec, Canada, 1997, pp.1051-1052.

[25] S. Dobbs, N. Schmitt, and H. Ozemek, “QRSdetection by template matching using real-timecorrelation on a microcomputer,” J. Clin. Eng.,vol. 9, no. 3, pp. 197-212, Sept. 1984.

[26] Z. Dokur, T. Olmez, E. Yazgan, and O.K.Ersoy, “Detection of ECG waveforms by neuralnetworks,” Med. Eng. Phys., vol. 19, no. 8, pp.738-741, 1997.

[27] D. Ebenezer and V. Krishnamurthy, “Wavedigital matched filter for electrocardiogram pre-processing,” J. Biomed. Eng., vol. 15, no. 2, pp.132-134, 1993.

[28] D. Ebenezer and F.F. Papa, “A recursive digi-tal differentiator for ECG preprocessing,” Med.Eng. Phys., vol. 16, no. 4, pp. 273-277, 1994.

[29] W.A.H. Engelse and C. Zeelenberg, “A sin-gle scan algorithm for qrs-detection and featureextraction,” in IEEE Computers in Cardiology.Long Beach, CA: IEEE Computer Society, 1979,pp. 37-42.

[30] T. Fancott and D.H. Wong, “A minicomputersystem for direct high-speed analysis of cardiacarrhythmia in 24 h ambulatory ECG tape record-ings,” IEEE Trans. Biomed. Eng., vol. 27, pp.685-693, Dec. 1980.

[31] M. Fernandez-Delgado and S.B. Ameneiro,“MART: A multichannel ART-based neural net-work,” IEEE Trans. Neural Networks, vol. 9, pp.139-150, 1998.

[32] S.E. Fischer, S.A. Wickline, and C.H.Lorenz, “Novel real-time R-wave detection algo-rithm based on the vectorcardiogram for accurategated magnetic resonance acquisitions,” Magn.Reson. Med., vol. 42, no. 2, pp. 361-70, 1999.

January/February 2002 IEEE ENGINEERING IN MEDICINE AND BIOLOGY 55

Page 15: The Principles of Software QRS Detection · The Principles of Software QRS Detection Reviewing and Comparing Algorithms for Detecting this Important ECG Waveform The QRS complex is

[33] J. Fraden and M.R. Neumann, “QRS wavedetection,” Med. Biol. Eng. Comput., vol. 18, pp.125-132, 1980.

[34] G.M. Friesen, T.C. Jannett, M.A. Jadallah,S.L. Yates, S.R. Quint, and H.T. Nagle, “A com-parison of the noise sensitivity of nine QRS detec-tion algorithms,” IEEE Trans. Biomed. Eng., vol.37, pp. 85-98, 1990.

[35] K.S. Fu, “A step towards unification of syn-tactic and statistical pattern recognition,” IEEETrans. Pattern Anal. Machine Intell., PAMI-5,pp. 200-205, Mar. 1983.

[36] F. Gritzali, “Towards a generalized schemefor QRS detection in ECG waveforms,” SignalProcessing, vol. 15, pp. 183-192, 1988.

[37] F. Gri tzal i , G. Frangakis , and G.Papakonstantinou, “A comparison of the lengthand energy transformations for the QRS detec-tion,” in Proc. 9th Annu. Conf. IEEE Engineeringin Medicine and Biology Society, Boston, MA,1987, pp. 549-550.

[38] D. Gustafson, “Automated VCG interpreta-tion studies using signal analysis techniques,”R-1044 Charles Stark Draper Lab., Cambridge,MA, 1977.

[39] T.A. Gyaw and S.R. Ray, “The wavelet trans-form as a tool for recognition of biosignals,”Biomed. Sci. Instrum., vol. 30, pp. 63-68, 1994.

[40] F.M. Ham and S. Han, “Classification of car-diac arrhythmias using fuzzy ARTMAP,” IEEETrans. Biomed. Eng., vol. 43, pp. 425-430, Apr.1996.

[41] P.S. Hamilton and W.J. Tompkins, “Quanti-tative investigation of QRS detection rules usingthe MIT/BIH arrhythmiac database,” IEEE Trans.Biomed. Eng., vol. 33, pp. 1157-1165, 1986.

[42] P.S. Hamilton and W.J. Tompkins, “Adap-tive matched filtering for QRS detection,” inProc. Annu. Int. Conf. IEEE Engineering in Medi-cine and Biology Society, New Orleans, LA,1988, pp. 147-148.

[43] S. Haykin, Adaptive Filter Theory, 3rd ed.(Information and System Sciences Series).Englewood Cliffs, NJ: Prentice-Hall, 1996.

[44] S. Haykin, Neural Networks, ComprehensiveFoundation, 2nd ed. Piscataway, NJ: IEEE Press,1999.

[45] W.P. Holsinger, K.M. Kempner, and M.H.Miller, “A QRS preprocessor based on digital dif-ferentiation,” IEEE Trans. Biomed. Eng., vol. 18,pp. 121-217, May 1971.

[46] S.L. Horowitz, “A syntactic algorithm forpeak detection in waveforms with appoications tocardiography,” Commun. ACM, vol. 18, pp.281-285, 1975.

[47] Y.H. Hu, W.J. Tompkins, J.L. Urrusti, andV.X. Afonso, “Applications of artificial neuralnetworks for ECG signal detection and classifica-tion,” J. Electrocardiology, vol. 26 (Suppl.), pp.66-73, 1993.

[48] M. Hubelbank and C.L. Feldman, “A 60xcomputer-based Holter tape processing system,”Med. Instrum., vol. 12, no. 6, pp. 324-326, 1978.

[49] H. Inoue and A. Miyazaki, “A noise reduc-tion method for ECG signals using the dyadicwavelet transform,” in 1997 Int. Tech. Conf. Cir-cuits/Systems, Computers and Communications(ITC-CSCC’97), Okinawa, Japan, 14-16 July1997, IEICE Trans. Fundamentals of Electron.,Commun. Comput. Sci., E81-A, no. 6, pp.1001-1007, 1998.

[50] H. Inoue, S. Iwasaki, M. Shimazu, and T.Katsura, “Detection of QRS complex in ECG us-ing wavelet transform” (in Japanese), IEICE Gen.Conf., vol. 67, no. A-4, p. 198, Mar. 1997.

[51] S. Jalaleddine and C. Hutchens, “Ambula-tory ECG wave detection for automated analysis:A review,” ISA Trans., vol. 26, no. 4, pp. 33-43,1987.

[52] J. Jenkins, Ann Arbor Electrogram Libraries,Available: http://electrogram.com/.

[53] S. Kadambe, R. Murray, and G.F.Boudreaux-Bartels, “The dyadic wavelet trans-form based QRS detector,” in 1992 Conf. Rec.26th Asilomar Conf. Signals, Systems and Com-puters, vol. 1, pp. 130 -134.

[54] S. Kadambe, R. Murray, and G.F.Boudreaux-Bartels, “Wavelet transform-basedQRS complex detector,” IEEE Trans. Biomed.Eng., vol. 46, pp. 838-848, 1999.

[55] L. Keselbrener, M. Keselbrener, and S.Akselrod, “Nonlinear high pass filter for R-wavedetection in ECG signal,” Med. Eng. Phys., vol.19, no. 5, pp. 481-484, 1997.

[56] L. Khadra, A.S. Al-Fahoum, and H.Al-Nashash, “Detection of life-threatening car-diac arrhythmias using the wavelet transforma-tion,” Med. Biol. Eng. Comput., vol. 35, no. 6, pp.626-632, 1997.

[57] K.S. Khobragade and R.B. Deshmukh,“ECG analysis using wavelet transforms,” IETEJ. Res., vol. 43, no. 6, pp. 423-432, 1997.

[58] T. Kohama, S. Nakamura, and H. Hoshino,“An efficient R-R interval detection for ECGmonitoring system,” IEICE Trans. Inf. Syst.,E82-D, no. 10, pp. 1425-1432, Oct. 1999.

[59] B.-U. Köhler, C. Hennig, and R. Orglmeister,“QRS detection using zero crossing counts,” sub-mitted for publication, 2001.

[60] G. Kokturk, “A real-time simulated QRS de-tection system constructed using wavelet filteringtechnique,” in Proc. IEEE-SP Int. Symp.Time-Frequency and Time-Scale Analysis, Pitts-burgh, PA, 1998, pp. 281-284.

[61] A. Kyrkos, E. Giakoumakis, and G.Carayannis, “Time recursive prediction tech-niques on QRS detection problem,” in Proc. 9thAnnu. Conf. IEEE Engineering in Medicine andBiology Society, 13-16 Nov. 1987, Boston, MA,pp. 1885-1886.

[62] M. Lagerholm, C. Peterson, G. Braccini, L.Edenbrandt, and L. Soernmo, “Clustering ECGcomplexes using Hermite functions and self-orga-nizing maps,” IEEE Trans. Biomed. Eng., vol. 47,pp. 838-848, 2000.

[63] P. Laguna, R. Jane, S. Olmos, N.V. Thakor,H. Rix, and P. Caminal, “Adaptive estimation ofQRS complex wave features of ECG signal by the

Hermite model,” Med. Biol. Eng. Comput., vol.34, no. 1, pp. 58-68, 1996.

[64] P. Laguna, R.G. Mark, A. Goldberger, andG.B. Moody, “A database for evaluation of algo-rithms for measurement of QT and other wave-form intervals in the ECG,” Comput. Cardiology,vol. 24, pp. 673-676, 1997.

[65] J. Leski and E. Tkacz, “A new parallel con-cept for QRS complex detector,” in Proc. 14thAnnu. Int. Conf. IEEE Engineering in Medicineand Biology Society, Part 2, Paris, France, 1992,pp. 555-556.

[66] C. Li, C. Zheng, and C. Tai, “Detection ofECG characteristic points using wavelet trans-forms,” IEEE Trans. Biomed. Eng., vol. 42, pp.21-28, 1995.

[67] A. Ligtenberg and M. Kunt, “A robust-digitalQRS-detection algorithm for arrhythmia monitor-ing,” Comput. Biomed. Res., vol. 16, pp. 273-286,1983.

[68] K.P. Lin and W.H. Chang, “QRS feature ex-traction using linear prediction,” IEEE Trans.Biomed. Eng., vol. 36, pp. 1050-1055, 1989.

[69] K.G. Lindecrantz and H. Lilja, “New soft-ware QRS detector algorithm suitable for realtime application with low signal-to-noise ratios,”J. Biomed. Eng., vol. 10, no. 3, pp. 280-284, 1988.

[70] N. Maglaveras, T. Stamkopoulos, K.Diamantaras, C. Pappas, and M. Strintzis, “ECGpattern recognition and classification usingnon-linear transformations and neural networks:A review,” Int. J. Med. Informatics, vol. 52, nos.1-3, pp. 191-208, 1998.

[71] N. Maglaveras, T. Stamkopoulos, C. Pappas,and M. Strintzis, “ECG processing techniquesbased on neural networks and bidirectional asso-ciative memories,” J. Med. Eng. Technol., vol. 22,no. 3, pp. 106-111, 1998.

[72] N. Mahalingam and D. Kumar, “Neural net-works for signal processing applications: ECGclassification,” Australas. Phys. Eng. Sci. Med.,vol. 20, no. 3, pp. 147-151, 1997.

[73] S. Mallat, “Zero-crossings of a wave-let-transform,” IEEE Trans. Inform. Theory, vol.37, pp. 1019-1033, 1991.

[74] S. Mallat and W.L. Hwang, “Singularity de-tection and processing with wavelets,” IEEETrans. Inform. Theory, vol. 38, pp. 617-643,1992.

[75] Massachusetts General Hospital, Massachu-setts General Hospital/Marquette FoundationWaveform Database, Dr. J. Cooper, MGH, Anes-thesia Bioengineering Unit, Fruit Street, Boston,MA.

[76] Massachusetts Institute of Technology.MIT-BIH ECG database. Avai lable:http://ecg.mit.edu/.

[77] C. May, N. Hubing, and A.W. Hahn, “Wave-let transforms for electrocardiogram processing,”Biomed. Sci. Instrum., vol. 33, pp. 1-6, 1997.

[78] P. Morizet-Mahoudeaux, C. Moreau, D.Moreau, and J.J. Quarante, “Simple microproces-sor-based system for on-line ECG arrhythmia

56 IEEE ENGINEERING IN MEDICINE AND BIOLOGY January/February 2002

Page 16: The Principles of Software QRS Detection · The Principles of Software QRS Detection Reviewing and Comparing Algorithms for Detecting this Important ECG Waveform The QRS complex is

analysis,” Med. Biol. Eng. Comput., vol. 19, no. 4,pp. 497-501, July 1981.

[79] W.C. Mueller, “Arrhythmia detection pro-gram for an ambulatory ECG monitor,” Biomed.Sci. Instrum., vol. 14, pp. 81-85, 1978.

[80] National Research Council (CNR). EuropeanST-T Database. Institute of Clinical Physiology,Dept. of Bioengieering and Medical Informatics,Pisa, Italy. Available: http://www.ifc.pi.cnr.it/

[81] M.-E. Nygards and J. Hulting, “Anautomated system for ECG monitoring,” Comput.Biomed. Res., vol. 12, pp. 181-202, 1979.

[82] M.-E. Nygards and L. Sörnmo, “Delineationof the QRS complex using the envelope of theECG,” Med. Biol. Eng. Comput., vol. 21, 1983.

[83] M. Okada, “A digital filter for the QRS com-plex detection,” IEEE Trans. Biomed. Eng., vol.26, pp. 700-703, Dec. 1979.

[84] O. Pahlm and L. Sörnmo, “Software QRS de-tection in ambulatory monitoring—A review,”Med. Biol. Eng. Comput., vol. 22, pp. 289-297,1984.

[85] J. Pan and W.J. Tompkins, “A real-time QRSdetection algorithm,” IEEE Trans. Biomed. Eng.,vol. 32, pp. 230-236, 1985.

[86] G. Papakonstantinou and F. Gritzali, “Syn-tactic filtering of ECG waveforms,” Comput.Biomed. Res., vol. 14, pp. 158-167, 1981.

[87] G. Papakonstantinou, E. Skordalakis, and F.Gritzali, “An attribute grammar for QRS detec-tion,” Pattern Recognit., vol. 19, no. 4, pp.297-303, 1986.

[88] G.K. Papakonstantinou, “An interpreter ofattribute grammar and its application to waveformanalysis,” IEEE Trans. Software Eng., SE-7, pp.297-283, May 1981.

[89] Physikalisch-Technische Bundesanstalt.ECG Reference Data Set . Avai lable:h t t p : / / w w w . b e r l i n . p t b . d e / 8 / 8 3 / 8 3 1 /dbaccess/ecgrefdataset.html

[90] V. de Pinto, “Filters for the reduction of base-line wander and muscle artifact in the ECG,” J.Electrocardiology, vol. 25 (Suppl.), pp. 40-48,1992.

[91] R. Poli, S. Cagnoni, and G. Valli, “Geneticdesign of optimum linear and nonlinear QRS de-tectors,” IEEE Trans. Biomed. Eng., vol. 42, pp.1137-1141, 1995.

[92] L.R. Rabiner, “A tutorial on hidden Markovmodels and selected applications in speech recog-nition,” Proc. IEEE, vol. 77, pp. 257-286, Feb.1989.

[93] K.D. Rao, “Dwt based detection of R-peaksand data compression of ECG signals,” IETE J.Res., vol. 43, no. 5, pp. 345-349, 1997.

[94] A. Ruha, S. Sallinen, and S. Nissila, “Areal-time microprocessor QRS detector systemwith a 1-ms timing accuracy for the measurement

of ambulatory HRV,” IEEE Trans. Biomed. Eng.,vol. 44, pp. 159-167, 1997.

[95] J.S. Sahambi, S.N. Tandon, and R.K.P.Bhatt, “Using wavelet transforms for ECG char-acterization. An on-line digital signal processingsystem,” IEEE Eng. Med. Biol. Mag., vol. 16, pp.77-83, 1997.

[96] L. Senhadji, J.J. Bellanger, G. Carrault, andJ.L. Goatrieux, “Wavelet analysis of ECG sig-nals,” Annu. Conf. IEEE Engineering in Medicineand Biology Society, vol. 12, pp. 811-812, 1990.

[97] E. Skordalakis, “Recognition of noisy peaksin ECG waveforms,” Comput. Biomed. Res., vol.17, pp. 208-221, 1984.

[98] E. Skordalakis, “Syntactic ECG processing:A review,” Pattern Recognit., vol. 19, no. 4, pp.305-313, 1986.

[99] L. Sörnmo, “Time-varying digital filtering ofECG baseline wander,” Med. Biol. Eng. Comput.,vol. 31, no. 5, pp. 503-508, 1993.

[100] L. Sörnmo, O. Pahlm, and M.-E. Nygards,“Adaptive QRS detection: A study of perfor-mance,” IEEE Trans. Biomed. Eng., BME-32, pp.392-401, June 1985.

[101] L. Sörnmo, O. Pahlm, and M.E. Nygards,“Adaptive QRS detection in ambulatory ECGmonitoring: A study of performance,” in Com-puters in Cardiology. Long Beach, CA: IEEEComputer Society, 1982, pp. 201-204.

[102] A.L. Spitz and D.C. Harrison, “Automatedfamily classification in ambulatory arrhythmiamonitoring,” Med. Instrum., vol. 12, no. 6, pp.322-323, 1978.

[103] C.A. Steinberg, S. Abraham, and C.A.Caceres, “Pattern recognition in the clinical elec-trocardiogram,” ISA Trans. Biomed. Electron.,pp. 23-30, 1962.

[104] G. Strang and T. Nguyen, Wavelets and Fil-ter Banks. Cambridge, MA: Wellesley-Cam-bridge Press, 1996.

[105] M.G. Strintzis, G. Stalidis, X. Magnisalis,and N. Maglaveras, “Use of neural networks forelectrocardiogram (ECG) feature extraction, rec-ognition and classification,” Neural Netw. World,vol. 3, no. 4, pp. 313-327, 1992.

[106] Y. Sun, S. Suppappola, and T.A.Wrublewski, “Microcontroller-based real-timeQRS detection,” Biomed. Instrum. Technol., vol.26, no. 6, pp. 477-484, 1992.

[107] S. Suppappola and Y. Sun, “Nonlineartransforms of ECG signals for digital QRS detec-tion: A quantitative analysis,” IEEE Trans.Biomed. Eng., vol. 41, pp. 397-400, 1994.

[108] Y. Suzuki, “Self-organizing QRS-wave rec-ognition in ECG using neural networks,” IEEETrans. Neural Networks, vol. 6, pp. 1469-1477,1995.

[109] N.V. Thakor and J.G. Webster, “Design andevaluation of QRS and noise detectors for ambu-

latory e.c.g. monitors,” Med. Biol. Eng. Comput.,vol. 20, no. 6, pp. 709-714, 1982.

[110] N.V. Thakor, “Reliable R-wave detectionfrom ambulatory subjects,” Biomed. Sci.Instrum., vol. 14, pp. 67-72, 1978.

[111] W.J. Tompkins, “An approach for physio-logical signal processing by laboratory minicom-puter,” Comput. Programs Biomed., vol. 8, no. 1,pp. 16-28, 1978.

[112] W.J. Tompkins, “A portable microcom-puter-based system for biomedical applications,”Biomed. Sci. Instrum., vol. 14, pp. 61-66, 1978.

[113] P. Trahanias and E. Skordalakis, “Syntacticpattern recognition of the ECG,” IEEE Trans.Pattern Anal. Machine Intell., vol. 12, pp.648-657, 1990.

[114] P.E. Trahanias, “An approach to QRS com-plex detection using mathematical morphology,”IEEE Trans. Biomed. Eng., vol. 40, no. 2, pp.201-205, 1993.

[115] W.-H. Tsai and K.-S. Fu, “Attributed gram-mar—A tool for combining syntactic and statisti-cal approaches to pattern recognition,” IEEETrans. Syst., Man, and Cybern., SMC-10, pp.873-885, 1980.

[116] F.B. Tuteur, “Wavelet transformations insignal detection,” in Proc. ICASSP 88: 1988 Int.Conf. Acoustics, Speech, and Signal Processing,New York, NY, 1988, pp. 1435-1438.

[117] J.K. Udupa and I. Murthy, “Syntactin ap-proach to ECG rhythm analysis,” IEEE Trans.Biomed. Eng., BME-27, pp. 370-375, July 1980.

[118] S.V. Vaseghi, Advanced Signal Processingand Digital Noise Reduction. Wiley-Teubner,1996.

[119] G. Vijaya, V. Kumar, and H.K. Verma,“ANN-based QRS-complex analysis of ECG,” J.Med. Eng. Technol., vol. 22, no. 4, pp. 160-167,1998.

[120] VTT Technical Research Center of Finland.IMPROVE Data Library. Avai lable:http://www.vtt.fi/tte/samba/projects/improve/

[121] J.G. Webster, “An intelligent monitor forambulatory ECGs,” Biomed. Sci. Instrum., vol.14, pp. 55-60, 1978.

[122] Q. Xue, Y. H. Hu, and W. J. Tompkins,“Neural-network-based adaptive matchedfiltering for QRS detection,” IEEE Trans.Biomed. Eng., vol. 39, pp. 317-329, 1992.

[123] B.C. Yu, S. Liu, M. Lee, C.Y. Chen, andB.N. Chiang, “A nonlinear digital filter for car-diac QRS complex detection,” J. Clin. Eng., vol.10, pp. 193-201, 1985.

[124] S.-K. Zhou, J.-T. Wang, and J.-R. Xu, “Thereal-time detection of QRS-complex using the en-velop of ECG,” in Proc. 10th Annu. Int. Conf.,IEEE Engineering in Medicine and Biology Soci-ety, New Orleans, LA, 1988, p. 38.

January/February 2002 IEEE ENGINEERING IN MEDICINE AND BIOLOGY 57