WO1998009241A1 - Ecg p-qrs-t onset, offset and peak detection method and apparatus - Google Patents

Ecg p-qrs-t onset, offset and peak detection method and apparatus Download PDF

Info

Publication number
WO1998009241A1
WO1998009241A1 PCT/CA1997/000615 CA9700615W WO9809241A1 WO 1998009241 A1 WO1998009241 A1 WO 1998009241A1 CA 9700615 W CA9700615 W CA 9700615W WO 9809241 A1 WO9809241 A1 WO 9809241A1
Authority
WO
WIPO (PCT)
Prior art keywords
samples
qrs
peak
time interval
derivative
Prior art date
Application number
PCT/CA1997/000615
Other languages
French (fr)
Inventor
Noel Morgen Burton-Krahn
Reinhard Illner
Robert Clifford Bruce Steacy
Original Assignee
Harley Street Software Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Harley Street Software Ltd. filed Critical Harley Street Software Ltd.
Priority to AU41071/97A priority Critical patent/AU4107197A/en
Publication of WO1998009241A1 publication Critical patent/WO1998009241A1/en

Links

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/24Detecting, measuring or recording bioelectric or biomagnetic signals of the body or parts thereof
    • A61B5/316Modalities, i.e. specific diagnostic methods
    • A61B5/318Heart-related electrical modalities, e.g. electrocardiography [ECG]
    • A61B5/346Analysis of electrocardiograms
    • A61B5/349Detecting specific parameters of the electrocardiograph cycle
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/72Signal processing specially adapted for physiological signals or for diagnostic purposes
    • A61B5/7235Details of waveform analysis
    • A61B5/7239Details of waveform analysis using differentiation including higher order derivatives

Definitions

  • ECG signals are obtained by applying adhesive patch or metal plate electrodes to a patient's chest and connecting the electrodes to a cardiograph machine .
  • the cardiograph measures voltage differences between pairs of electrodes. The voltage difference between each pair of electrodes is a "lead”.
  • the cardiograph sequentially measures the leads at regular time intervals and stores the measurements . A sequence of such measurements is referred to as set of "ECG samples”.
  • the "sampling rate” is the frequency at which the measurements are made. Sampling rates of 125, 250, 500, or 1000 samples per second are typical. Typical ranges for the measurements are -5mV to +5mV, divided into 2 8 , 2 n , or 2 16 measurement intervals.
  • FIG 1 depicts a typical ECG signal consisting of several heart beat segments.
  • Each beat of a patient's heart produces a unique ECG signal segment, such as the single heart beat cycle ECG signal segment shown in Figure 2.
  • each heart beat cycle typically includes a "P" wave 10, a "QRS" wave 12 and a "T” wave 1 .
  • Each of these waves is representative of a particular characteristic of the patient's heart beat.
  • Each P, QRS, and T wave begins at a specific "onset” and ends at a specific “offset”. Each wave also has a "peak", which is the wave's maximum displacement relative to a predefined “baseline” .
  • electrodes placed in different locations on the same patient yield different ECG signals in response to the same heart beat. Accordingly, variations from lead to lead in the onset, offset, and peak values for each P, QRS, and T wave are common. For some leads in some ECG signals, a P, QRS or T wave may not be evident at all .
  • the aforementioned “baseline” is the electrical signal measured by the cardiograph in the absence of cardiac activity.
  • the baseline is not flat, but wanders up and down as the patient's body moves. Accordingly, P, QRS and T waves are not seen relative to a flat horizontal line, but relative to a wandering baseline, as shown in Figure 3.
  • Variations in ECG signal measurements can also result from noise introduced by movement of the patient's body, electromagnetic interference, etc. For example, patient muscle activity can introduce high frequency noise as shown in Figure 4. Such noise can be of the same amplitude as the P or T waves, and must be removed for accurate measurement of P or T waves .
  • Pan et al use a moving window integrator to detect QRS waves, but make no attempt to detect P or T waves (see Pan, J. and Thompkins, W. J . ; "A Real-Time QRS detection Algorithm", IEEE Transactions on Biomedical Engineering, vol. 32, pp. 230-236, 1985) .
  • Reddy, et al use a derivative and threshold technique to detect P waves (see Reddy, et . al ; "Detection of P Waves in Resting ECG: A Preliminary Study”; IEEE, 1992).
  • this technique is susceptible to error in the presence of either baseline wander or noise, both of which are common.
  • Green, et al use the signal slope to identify the QRS wave, use derivatives to find the peaks of the P and T waves, and use derivatives and thresholding to find the onsets and offsets of the P and T waves (see Website, et al .
  • Koski, et al use syntactic methods based on signal slope to identify P, QRS, and T waves (see Koski, et al; "Syntactic Recognition of ECG Signals by Attributed Finite
  • the invention provides a method and apparatus for detecting P or T waves in an electrocardiogram signal in intervals before and after each (previously) detected QRS wave.
  • a candidate pair of samples are selected. If the candidate pair are separated by a time duration which does not exceed a predefined time duration then that pair is rejected and the process repeats. Otherwise, the area "A" of a closed polygon bounded by all of the samples between and including the candidate pair is derived (the polygon's base line extends linearly a distance "d” between the candidate pair of samples) . The maximum vertical displacement "h" between the base line and any portion of the polygon above the base line is derived.
  • h does not exceed a predefined minimum vertical displacement
  • a value Gamma A*h/d is derived for the candidate pair. If Gamma does not exceed any value of Gamma derived previously in respect of any previously selected candidate pair, then the candidate pair is rejected and the process repeats. Otherwise, a value BestGamma is set equal to the candidate pair's value Gamma. Another candidate pair is then selected and the process repeats. The P or T wave is selected as that whose value Gamma equals the value BestGamma.
  • Figure 1 depicts a typical ECG signal consisting of several heart beat cycle segments .
  • Figure 2 depicts a single heart beat cycle segment of the Figure 1 ECG signal.
  • Figure 3 depicts a single heart beat cycle segment of the Figure 1 ECG signal in which the ECG baseline is wandering.
  • Figure 4 depicts a single heart beat cycle segment of the Figure 1 ECG signal in which the signal is contaminated by high frequency noise.
  • Figure 5 is a block diagram of a P, QRS, and T wave detector according to the invention.
  • FIGS 6A and 6B together comprise a flowchart which depicts the sequence of steps performed in detecting QRS waves in accordance with the invention.
  • Figure 7 is a flowchart which depicts the sequence of steps performed in detecting P or T waves in accordance with the invention.
  • FIG. 8 is a flowchart which depicts the sequence of wave detection sub-steps performed during either P or T wave detection in accordance with the invention.
  • Figures 9A through 9S are signal waveforms which respectively depict successive stages of the operation of the preferred embodiment of the invention.
  • FIG 5 is a block diagram representation of an apparatus for processing previously measured and stored ECG samples 20 in accordance with the invention.
  • Each ECG sample waveform is generally of the form shown in Figure 9A, which is identical to the previously discussed Figure 2 waveform.
  • Buffer 21 stores a selected group of ECG samples while approximations to the first and second derivatives of those samples are derived.
  • filter 23 receives the Figure 9A ECG sample waveform as input, and produces as output a signal representative of the first derivative ("Dl") thereof, as shown in Figure 9B.
  • Filter 26 also receives the Figure 9A ECG sample waveform as input, and produces as output a signal representative of the second derivative ("D2") thereof, as shown in Figure 9C.
  • Buffer 24 stores the first derivative representations output by filter 23, and buffer 27 stores the second derivative representations output by filter 26.
  • QRS detector 22 applies the algorithm depicted in Figures 6A and 6B to the ECG samples stored in buffer 21, to the first derivative representations stored in buffer 24 and to the second derivative representations stored in buffer 27 to detect the onsets, peaks, and offsets of QRS waves in each ECG sample waveform.
  • P and T wave detector 25 applies the algorithm depicted in Figure 7 to the output of QRS detector 22 and to the ECG samples stored in buffer 21 to detect the onsets, peaks, and offsets of the P and T waves in each ECG sample waveform.
  • the onsets, offsets, and peaks of the P, QRS, and T waves output by QRS detector 22 and by P and T detector 25 are stored as a sequential record 28, which can be on a computer disk, tape, memory, or communications channel .
  • QRS detector 22 will now be described with reference to Figures 6A and 6B. Such operation is conveniently characterized in terms of the following definitions :
  • MinSep minimum distance between QRS waves MinQRSWidth absolute minimum time between QRS wave onset and offset
  • An initialization step 40 is first performed to set the following initial values: MaxQRSSep 2 seconds
  • MinQRSWidth 25 milliseconds
  • Step 41 the next ECG sample is retrieved from buffer 21, and that sample (called "QRSPeak") is evaluated to determine whether a QRS wave can be detected therein.
  • Step 41 is the first step in a loop. QRSPeak is incremented by one with each repetition of step 41.
  • a test is performed to determine whether the distance 90 ( Figure 9D) between the peak of the current candidate QRS wave (i.e. QRSPeak) and the peak of the previously detected QRS wave (i.e. LastQRSPeak) is less than the maximum distance between QRS waves (i.e. MaxSep), or whether LastQRSPeak is nil (as it will be if the current candidate QRS wave is the first sample processed from buffer 21) .
  • a further test step 45 is performed to determine whether threshold values D2Thresh, MinD2Height, MinHeight and MinWidth are minimal . These threshold values are minimal if the following conditions are met:
  • step 43 is performed to relax those threshold values, as well as the threshold values MaxSep, MinSep, MaxWidth by resetting their respective values as follows:
  • MinSep Max MinQRSSep, MinSep/2)
  • MaxWidth MIN (MaxQRSWidth, MaxWidth*2)
  • MinWidth MA MinQRSWidth, MinWidth/2)
  • MinHeight MAX MinQRSHeight, MinHeight/2)
  • step 42 is performed to reset the previously detected QRS wave (i.e. LastQRSPeak) as the sample to be evaluated, commencing with step 41, to determine whether a QRS wave can be detected therein. Accordingly, the candidate QRS wave which was unsuccessfully processed during the previously described steps will again be processed, with different threshold values, to determine whether a QRS wave can be detected therein. If test step 45 determines that threshold values D2Thresh, MinD2Height, MinHeight and MinWidth are minimal, then step 46 is per- formed to output the last QRS and to set LastQRSPeak to nil.
  • threshold values D2Thresh, MinD2Height, MinHeight and MinWidth are minimal
  • QRS detector 22 has reached a stage at which the QRS wave following an earlier-detected QRS wave can not be detected.
  • a detected QRS wave is not immediate- ly output, because it may be invalidated by a subsequently detected QRS wave. If no following QRS wave is detected, then the last detected QRS wave is accepted as valid and its onset, offset and peak values are output. Once a QRS wave is output, it need not be retained in memory. Since no new QRS wave has been detected, LastQRSPeak is set to nil.
  • test step 47 determines whether the second derivative at QRSPeak is a local extrema. If the ECG sample currently being processed by QRS detector 22 is sample "i", then its second derivative is a local extrema if and only if D2[i-1] ⁇ D2[i] ⁇ D2[i+l]; or, D2 [i-1] ⁇ D2 [i] ⁇ D2 [i+1] .
  • test step 47 determines that the second derivative at QRSPeak is not a local extrema, then the loop is repeated commencing with step 41. Otherwise, if test step 47 determines that the second derivative at QRSPeak is a local extrema, then a further test step 48 is performed to determine whether the absolute value of the second deriva- tive at QRSPeak is less than D2Thresh, as shown in Figure 9F. If test step 48 determines that the absolute value of the second derivative at QRSPeak is less than D2Thresh, then the loop is repeated commencing with step 41.
  • step 49 is performed to set indices D20n, D20ff ( Figure 9F) equal to the indices of the local extrema adjacent QRSPeak in the second derivative of the ECG sample currently being processed by QRS detector 22.
  • indices D20n, D20ff Figure 9F
  • a further test step 50 is performed to determine whether the time "tl" ( Figure 9G) between D20ff and D20n is less than MaxWidth. If test step 50 determines that the time between D20ff and D20n is not less than MaxWidth, then the loop is repeated commencing with step 41.
  • test step 50 determines that the time between D20ff and D20n is less than MaxWidth, then a further test step 51 is performed to determine whether the minimum difference in the values "a", "b" ( Figure 9G) of the second derivative between D20n and D2Peak or between D20ff and D2Peak are less the MinD2Height.
  • test step 51 determines that the minimum difference in the values of the second derivative between D20n and D2Peak; or, between D20ff and D2Peak are not less the MinD2Height, then the loop is repeated commencing with step 41. Otherwise, if test step 51 determines that the minimum difference in the values of the second derivative between D20n and D2Peak; or, between D20ff and D2Peak are less the MinD2Height then step 52 is performed to set threshold values DILThresh, DIRTthresh for the first derivative, and to set threshold value D2LRThresh for the second derivative between D20n and D20ff, as shown in Figure 9H. More particularly, the threshold values are set as follows:
  • DILThresh the maximum value in the first derivative between D20n and QRSPeak
  • DIRThresh M the maximum value in the first derivative between QRSPeak and D20ff
  • D2LRThresh i the maximum value in the second derivative between D20n and D20ff
  • step 53 is performed, as depicted in Figure 91, to set QRSOn and QRSOff to the indices near QRSPeak where the values of the first and second derivatives are below DILthresh and D2LRThresh for QRSOn, and below DIRThresh and D2LRThresh for QRSOf .
  • test step 54 is performed to determine whether the time "t2" ( Figure 9J) between QRSOn and QRSOff is less than MaxWidth. If test step 54 determines that the time between QRSOn and QRSOff is not less than MaxWidth, then step 55 is performed to set
  • QRSOn and QRSOff equal to D20n and D20ff respectively
  • test step 54 determines that the time between QRSOn and QRSOff is less than MaxWidth; or, after performance of step 55 if needed, test step 56 is performed to determine whether the average height difference from QRSOn to QRSPeak (i.e. distance "a” in Figure 9L) ; and, from QRSOff to QRSPeak (i.e. distance "b” in Figure 9L) is less than MinHeight. If test step 56 determines that the average height difference aforesaid is not less than MinHeight, then the loop is repeated commencing with step 41.
  • test step 56 determines that the average height difference aforesaid is less than MinHeight then a test step 57 is performed to determine whether LastQRSPeak is nil (i.e. to determine whether LastQRSPeak has been accepted as a QRS wave) . If test step 57 determines that LastQRSPeak is not nil, then a further test step 58 is performed to determine whether the time "t3" ( Figure 9M) between LastQRSPeak and QRSPeak is greater than MinSep.
  • test step 58 determines that the time between LastQRSPeak and QRSPeak is greater than MinSep, then LastQRSPeak is accepted as a valid QRS wave and is as such at step 59. Otherwise, if test step 58 determines that the time between LastQRSPeak and QRSPeak is not greater than MinSep, then a further test step 60 is performed as depicted in Figure 9N to determine whether the absolute value "VI" of the second derivative at QRSPeak is greater than its absolute value "V2" at LastQRSPeak. If test step 60 determines that VI is not greater than V2 , then the loop is repeated commencing with step 41.
  • step 60 determines that VI is greater than V2 ; or, if test step 57 determines that LastQRSPeak is nil; or, after performance of step 59; step 61 is performed to derive a QRS model from the current QRS candidate as follows:
  • MaxSep : 2* (QRSPeak - LastQRSPeak), or
  • MinSep MaxQRSSep if LastQRSPeak is nil
  • MinSep M* (QRSPeak - LastQRSPeak), or MinQRSSep if LastQRSPeak is nil
  • MaxWidth Min(2* (QRSOff - QRSOn), QRSMax-
  • MinWidth Max ( ⁇ * (QRSOff - QRSOn), QRSMin-
  • MinHeight Max(%* (height of QRS), QRSMin-
  • step 62 is performed to set LastQRSPeak, LastQRSOn, and LastQRSOff equal to the values of QRSPeak, QRSOn, and QRSOff respectively.
  • step 62 the loop is repeated commencing with step 41.
  • P and T wave detector 25 applies the Figure 7 algorithm to the output of QRS detector 22 and to the ECG samples stored in buffer 21 to detect the onsets, peaks, and offsets of the P and T waves in each ECG sample waveform. It is however important to understand that usage of the previously described QRS detector 22 is not essential to the operation of P and T detector 25.
  • the prior art has evolved a variety of QRS detectors, many of which can detect onsets, peaks, and offsets of QRS waves in ECG sample waveforms. Any such QRS detector could readily be adapted and substituted for QRS detector 22 to serve as an input source of onsets, peaks, and offsets of QRS waves for P and T detector 25.
  • P and T detector 25 are conveniently characterized in terms of the following definitions:
  • step 70 defines a time interval "MaxPR" ( Figure 90) seconds prior to the onset of the selected input QRS wave; and, a time interval "MaxST” seconds after the offset of the selected input QRS wave.
  • Step 71 narrows the MaxPR interval, as shown in Figure 9P, so that it does not overlap any previously detected T or QRS wave, and narrows the MaxST interval so that it does not overlap the following QRS wave.
  • Step 72 filters the input ECG samples obtained from buffer 21 to remove noise.
  • step 73 detects, in the narrowed MaxPR interval, the best candidate P wave which satisfies the MinPWidth and MinPHeight thresholds; and, step 74 detects, in the narrowed MaxST interval, the best candidate T wave which satisfies the MinTWidth and MinTHeight thresholds.
  • Step 75 then outputs the P wave detected by step 73, if any; the T wave detected by step 74, if any; and the QRS wave previously detected by QRS detector 22.
  • Figure 8 provides greater detail of the operations performed during steps 73 and 74.
  • step 73 is performed with respect to the narrowed MaxPR interval to detect the best candidate P wave
  • step 74 is performed with respect to the narrowed MaxST interval to detect the best candidate T wave .
  • the "candidate wave” which those skilled in the art will understand to mean a candidate P wave if the Figure 8 operations are performed during step 73, and to mean a candidate T wave if the Figure 8 operations are performed during step 74.
  • MinWidth minimum time between onset and offset of candidate wave MinHeight minimum height from onset or offset to peak of candidate wave BestPeak location of best candidate wave's peak BestOn location of best candidate wave's onset BestOff location of best candidate wave's offset BestGamma measure of best candidate wave's validity
  • Initialization step 80 sets the values of BestOn, BestOff, BestPeak, and BestGamma to nil, and sets the values of
  • Step 81 initiates a loop which iteratively evaluates the "On” and “Off” values ( Figure 9Q) for every pair of sample points within the input interval of the candidate wave (i.e. the narrowed MaxPR interval in the case of step 73 , or the narrowed MaxST interval in the case of step 74) and selects the BestOn, BestOff, and
  • a candidate onset value "On”, and a candidate offset value "Off” are selected during step 81.
  • Test step 82 determines whether the time "T" ( Figure
  • test step 82 determines that T is not greater than
  • step 83 is performed to determine the area "A" ( Figure 9R) of the closed polygon bounded by all of the sample intervals between and including the On and Off values, the polygon having a base line "B" ( Figure 9R) extending linearly between the On and Off values.
  • Step 84 selects as the "Peak” sample ( Figure 9S) the ECG sample which has the maximum height "h" above base line B.
  • "height” refers to the distance in ECG samples from Peak to base line B.
  • Test step 88 is then performed to determine whether Gamma is greater than BestGamma. If test step 88 determines that Gamma is not greater than BestGamma then the loop is repeated commencing with step 81. Otherwise, if test step 88 determines that Gamma is greater than BestGamma, then the values of BestOn, BestOff, BestPeak, and BestGamma are replaced with the values of On, Off, Peak, and Gamma and the loop is then repeated commencing with step 81.
  • the apparatus depicted in Figure 5 receives input ECG samples, detects QRS waves in such samples, and then detects the P and T waves adjacent each QRS wave.
  • the ECG samples are read from a se- quential storage device and buffered in a computer memory. Approximations to the first and second derivatives of the ECG samples are also computed and buffered.
  • the ECG samples and the first and second derivative approximations are input to a QRS detector, which outputs the onsets, offsets and peaks of detected QRS waves.
  • the QRS detector maintains records of the last detected QRS (which is a provisional candidate for output as a valid QRS wave, until its final acceptance) , and a QRS model derived from the last detected QRS .
  • Final acceptance of the last QRS wave as a valid QRS wave depends upon the outcome of tests which involve the next candidate QRS wave.
  • the QRS detector iterates over every ECG sample in the candidate wave, comparing each sample to the QRS model to determine whether the selected sample is the peak of a QRS wave. If no QRS is detected after a maximum expected QRS interval, the model parameters are relaxed and the ECG samples subsequent to the last valid QRS are re-examined. If the model is already fully relaxed, no new QRS is detected and the last detected QRS is accepted as valid and output .
  • the candidate QRS wave's onset and offset are determined by setting thresholds and examining the first and second derivatives near the peak.
  • the candidate peak, onset, and offset must satisfy the QRS model thresholds. If the candidate satisfies the model and is sufficiently far from the previous QRS, the previous QRS is output as a detected QRS wave. If the candidate satisfies the model but is too close to the previous QRS, the QRS having the lesser second derivative value at its peak is rejected. If the current candidate passes all tests, the last QRS is accepted as valid and output, and the current QRS candidate is recorded as the last QRS .
  • a P and T wave detector looks for a P wave preceding the QRS wave and for a T wave following it. These waves are found by finding waves in the ECG samples which satisfy minimum height and width requirements and lie near the QRS. The ECG samples in these ranges are first filtered to remove noise. The onset and offset of the P and T waves are chosen according to their height relative to their onset and offset, the distance between their onset and offset, and the area of a closed polygon bounded by the ECG samples between their onset and offset . The P and T wave detector outputs include the onset, offset, and peaks of the P and T waves .

Abstract

A method and apparatus for detecting P or T waves in an electrocardiogram signal in intervals before and after each (previously) detected QRS wave. Within each interval, a candidate pair of samples are selected. If the candidate pair are separated by a time duration which does not exceed a predefined time duration then that pair is rejected and the process repeats. Otherwise, the area 'A' of a closed polygon bounded by all of the samples between and including the candidate pair is derived (the polygon's base line extends linearly a distance 'd' between the candidate pair of sample intervals). The maximum vertical displacement 'h' between the base line and any portion of the polygon above the base line is derived. If 'h' does not exceed a predefined minimum vertical displacement, then the candidate pair is rejected and the process repeats. Otherwise, a value Gamma = A*h/d is derived for the candidate pair. If Gamma does not exceed any value of Gamma derived previously in respect of any previously selected candidate pair, then the candidate pair is rejected and the process repeats. Otherwise, a value BestGamma is set equal to the candidate pair's value Gamma. Another candidate pair is then selected and the process repeats. The P or T wave is selected as that whose value Gamma equals the value BestGamma.

Description

ECG P-ORS-T ONSET, OFFSET AND PEAK DETECTION METHOD AND APPARATUS
Field of the Invention This application pertains to identification of P, T and QRS waves in electrocardiogram ("ECG") signals.
Background of the Invention
ECG signals are obtained by applying adhesive patch or metal plate electrodes to a patient's chest and connecting the electrodes to a cardiograph machine . The cardiograph measures voltage differences between pairs of electrodes. The voltage difference between each pair of electrodes is a "lead". The cardiograph sequentially measures the leads at regular time intervals and stores the measurements . A sequence of such measurements is referred to as set of "ECG samples". The "sampling rate" is the frequency at which the measurements are made. Sampling rates of 125, 250, 500, or 1000 samples per second are typical. Typical ranges for the measurements are -5mV to +5mV, divided into 28, 2n , or 216 measurement intervals.
Figure 1 depicts a typical ECG signal consisting of several heart beat segments. Each beat of a patient's heart produces a unique ECG signal segment, such as the single heart beat cycle ECG signal segment shown in Figure 2. According to well known principles of cardiology, each heart beat cycle typically includes a "P" wave 10, a "QRS" wave 12 and a "T" wave 1 . Each of these waves is representative of a particular characteristic of the patient's heart beat.
Each P, QRS, and T wave begins at a specific "onset" and ends at a specific "offset". Each wave also has a "peak", which is the wave's maximum displacement relative to a predefined "baseline" . However, electrodes placed in different locations on the same patient yield different ECG signals in response to the same heart beat. Accordingly, variations from lead to lead in the onset, offset, and peak values for each P, QRS, and T wave are common. For some leads in some ECG signals, a P, QRS or T wave may not be evident at all .
The aforementioned "baseline" is the electrical signal measured by the cardiograph in the absence of cardiac activity. The baseline is not flat, but wanders up and down as the patient's body moves. Accordingly, P, QRS and T waves are not seen relative to a flat horizontal line, but relative to a wandering baseline, as shown in Figure 3. Variations in ECG signal measurements can also result from noise introduced by movement of the patient's body, electromagnetic interference, etc. For example, patient muscle activity can introduce high frequency noise as shown in Figure 4. Such noise can be of the same amplitude as the P or T waves, and must be removed for accurate measurement of P or T waves .
Various prior art techniques have been devised to detect P, QRS, or T waves in ECG signals. For example, Pan et al use a moving window integrator to detect QRS waves, but make no attempt to detect P or T waves (see Pan, J. and Thompkins, W. J . ; "A Real-Time QRS detection Algorithm", IEEE Transactions on Biomedical Engineering, vol. 32, pp. 230-236, 1985) .
Reddy, et al use a derivative and threshold technique to detect P waves (see Reddy, et . al ; "Detection of P Waves in Resting ECG: A Preliminary Study"; IEEE, 1992). However, because derivatives are affected both by baseline wander and by noise, this technique is susceptible to error in the presence of either baseline wander or noise, both of which are common. Laguna, et al use the signal slope to identify the QRS wave, use derivatives to find the peaks of the P and T waves, and use derivatives and thresholding to find the onsets and offsets of the P and T waves (see Laguna, et al . ,- "Automatic Detection of Wave Boundaries on Multilead ECG Signals: Validation with the CSE Database"; Computers and Biomedical Research, vol. 27, pp. 45-60, 1994). This method is also error-prone in the presence of baseline wander or noise.
Koski, et al use syntactic methods based on signal slope to identify P, QRS, and T waves (see Koski, et al; "Syntactic Recognition of ECG Signals by Attributed Finite
Automata"; 1995). This method is also believed to be error-prone in the presence of baseline wander or noise.
United States Patent No. 4,945,917 Akselrod, et al discloses a technique for detecting fetal QRS waves in which maternal QRS waves are first detected in an operator- assisted "learning" phase by deriving first and second derivatives of a portion of the maternal ECG signal. A "template" representative of the maternal QRS wave is then constructed and subtracted from a composite maternal-fetal ECG signal to derive the fetal QRS wave. This technique is subject to a number of disadvantages, including the need for operator intervention, and reliance upon a fixed template which may be a poor representation of the continuously variable QRS wave as the patient's heart beat condi- tions vary.
United States Patent No. 4,704,681 Shimuzu, et al discloses an apparatus for detecting certain "delta waves" within previously detected QRS waves. No provision is made for detecting P or T waves. The present invention provides a method and apparatus for reliably, automatically detecting P, QRS and T waves in high speed processing of large volumes of ECG signal data representative of multiple leads and many heart beat cycles .
Summary of the Invention
The invention provides a method and apparatus for detecting P or T waves in an electrocardiogram signal in intervals before and after each (previously) detected QRS wave. Within each interval, a candidate pair of samples are selected. If the candidate pair are separated by a time duration which does not exceed a predefined time duration then that pair is rejected and the process repeats. Otherwise, the area "A" of a closed polygon bounded by all of the samples between and including the candidate pair is derived (the polygon's base line extends linearly a distance "d" between the candidate pair of samples) . The maximum vertical displacement "h" between the base line and any portion of the polygon above the base line is derived. If "h" does not exceed a predefined minimum vertical displacement, then the candidate pair is rejected and the process repeats. Otherwise, a value Gamma = A*h/d is derived for the candidate pair. If Gamma does not exceed any value of Gamma derived previously in respect of any previously selected candidate pair, then the candidate pair is rejected and the process repeats. Otherwise, a value BestGamma is set equal to the candidate pair's value Gamma. Another candidate pair is then selected and the process repeats. The P or T wave is selected as that whose value Gamma equals the value BestGamma.
Brief Description of the Drawings
Figure 1 depicts a typical ECG signal consisting of several heart beat cycle segments .
Figure 2 depicts a single heart beat cycle segment of the Figure 1 ECG signal. Figure 3 depicts a single heart beat cycle segment of the Figure 1 ECG signal in which the ECG baseline is wandering.
Figure 4 depicts a single heart beat cycle segment of the Figure 1 ECG signal in which the signal is contaminated by high frequency noise.
Figure 5 is a block diagram of a P, QRS, and T wave detector according to the invention.
Figures 6A and 6B together comprise a flowchart which depicts the sequence of steps performed in detecting QRS waves in accordance with the invention. Figure 7 is a flowchart which depicts the sequence of steps performed in detecting P or T waves in accordance with the invention.
Figure 8 is a flowchart which depicts the sequence of wave detection sub-steps performed during either P or T wave detection in accordance with the invention.
Figures 9A through 9S are signal waveforms which respectively depict successive stages of the operation of the preferred embodiment of the invention.
Detailed Description of the Preferred Embodiment
Introduction
Figure 5 is a block diagram representation of an apparatus for processing previously measured and stored ECG samples 20 in accordance with the invention. Each ECG sample waveform is generally of the form shown in Figure 9A, which is identical to the previously discussed Figure 2 waveform. Buffer 21 stores a selected group of ECG samples while approximations to the first and second derivatives of those samples are derived.
Specifically, filter 23 receives the Figure 9A ECG sample waveform as input, and produces as output a signal representative of the first derivative ("Dl") thereof, as shown in Figure 9B. Filter 26 also receives the Figure 9A ECG sample waveform as input, and produces as output a signal representative of the second derivative ("D2") thereof, as shown in Figure 9C. Buffer 24 stores the first derivative representations output by filter 23, and buffer 27 stores the second derivative representations output by filter 26.
As hereinafter described in greater detail, QRS detector 22 applies the algorithm depicted in Figures 6A and 6B to the ECG samples stored in buffer 21, to the first derivative representations stored in buffer 24 and to the second derivative representations stored in buffer 27 to detect the onsets, peaks, and offsets of QRS waves in each ECG sample waveform. P and T wave detector 25 applies the algorithm depicted in Figure 7 to the output of QRS detector 22 and to the ECG samples stored in buffer 21 to detect the onsets, peaks, and offsets of the P and T waves in each ECG sample waveform. The onsets, offsets, and peaks of the P, QRS, and T waves output by QRS detector 22 and by P and T detector 25 are stored as a sequential record 28, which can be on a computer disk, tape, memory, or communications channel .
QRS Wave Detection
The operation of QRS detector 22 will now be described with reference to Figures 6A and 6B. Such operation is conveniently characterized in terms of the following definitions :
MaxQRSSep absolute maximum distance between QRS waves
MaxSep maximum distance between QRS waves MinQRSSep absolute minimum distance between QRS waves
MinSep minimum distance between QRS waves MinQRSWidth absolute minimum time between QRS wave onset and offset
MaxQRSWidth absolute maximum time between QRS wave onset and offset
MinQRSHeight absolute minimum height from onset or offset to peak
MaxWidth maximum time between QRS wave onset and offset inWidth minimum time between QRS wave onset and offset
MinHeight minimum height from onset or offset to peak
D2Thresh minimum value of second derivative at
QRS peak inD2Height minimum height from onset or offset to peak in second derivative
QRSPeak peak of current candidate QRS wave
QRSOn onset of current candidate QRS wave
QRSOff offset of current candidate QRS wave
LastQRSPeak peak of previously detected QRS wave
LastQRSOn onset of previously detected QRS wave
LastQRSOff offset of previously detected QRS wave
An initialization step 40 is first performed to set the following initial values: MaxQRSSep 2 seconds
MaxSep MaxQRSSep
MinQRSSep 0.2 seconds
MinSep MinQRSSep
MinQRSWidth 25 milliseconds
MaxQRSWidth 240 milliseconds
MinQRSHeight 0.25mV
MaxWidth MaxQRSWidth
MinWidth MinQRSWidth
MinHeight MinQRSHeight
D2Thresh 0
MinD2Height 0
DILthresh 0
DIRthresh 0
D2LRThresh 0
LastQRSPeak nil
LastQRSOn nil
LastQRSOff nil
At step 41, the next ECG sample is retrieved from buffer 21, and that sample (called "QRSPeak") is evaluated to determine whether a QRS wave can be detected therein. Step 41 is the first step in a loop. QRSPeak is incremented by one with each repetition of step 41. At step 44, a test is performed to determine whether the distance 90 (Figure 9D) between the peak of the current candidate QRS wave (i.e. QRSPeak) and the peak of the previously detected QRS wave (i.e. LastQRSPeak) is less than the maximum distance between QRS waves (i.e. MaxSep), or whether LastQRSPeak is nil (as it will be if the current candidate QRS wave is the first sample processed from buffer 21) .
If distance 90 is not less than MaxSep, or if LastQRSPeak is nil, then a further test step 45 is performed to determine whether threshold values D2Thresh, MinD2Height, MinHeight and MinWidth are minimal . These threshold values are minimal if the following conditions are met:
D2Thresh 0
MinD2Height 0
MinHeight MinQRSHeight
MinWidth MinQRSWidth
If the threshold values D2Thresh, MinD2Height, MinHeight and MinWidth are not minimal, then step 43 is performed to relax those threshold values, as well as the threshold values MaxSep, MinSep, MaxWidth by resetting their respective values as follows:
MaxSep Min (MaxQRSSep, MaxSep*2)
MinSep Max (MinQRSSep, MinSep/2)
MaxWidth MIN (MaxQRSWidth, MaxWidth*2)
MinWidth MA (MinQRSWidth, MinWidth/2)
MinHeight MAX (MinQRSHeight, MinHeight/2)
D2Thresh 2
MinD2Height 2 After relaxation step 43, step 42 is performed to reset the previously detected QRS wave (i.e. LastQRSPeak) as the sample to be evaluated, commencing with step 41, to determine whether a QRS wave can be detected therein. Accordingly, the candidate QRS wave which was unsuccessfully processed during the previously described steps will again be processed, with different threshold values, to determine whether a QRS wave can be detected therein. If test step 45 determines that threshold values D2Thresh, MinD2Height, MinHeight and MinWidth are minimal, then step 46 is per- formed to output the last QRS and to set LastQRSPeak to nil.
At this point, QRS detector 22 has reached a stage at which the QRS wave following an earlier-detected QRS wave can not be detected. A detected QRS wave is not immediate- ly output, because it may be invalidated by a subsequently detected QRS wave. If no following QRS wave is detected, then the last detected QRS wave is accepted as valid and its onset, offset and peak values are output. Once a QRS wave is output, it need not be retained in memory. Since no new QRS wave has been detected, LastQRSPeak is set to nil.
After performance of step 46; or, if test step 44 determines that distance 90 is less than MaxSep, and that LastQRSPeak is not nil, then a further test step 47 is performed on the second derivative representation (input to QRS detector 22 from buffer 27) of the ECG sample currently being processed by QRS detector 22. As depicted in Figure 9E, test step 47 determines whether the second derivative at QRSPeak is a local extrema. If the ECG sample currently being processed by QRS detector 22 is sample "i", then its second derivative is a local extrema if and only if D2[i-1] ≤ D2[i] ≥ D2[i+l]; or, D2 [i-1] ≥ D2 [i] ≤ D2 [i+1] .
If test step 47 determines that the second derivative at QRSPeak is not a local extrema, then the loop is repeated commencing with step 41. Otherwise, if test step 47 determines that the second derivative at QRSPeak is a local extrema, then a further test step 48 is performed to determine whether the absolute value of the second deriva- tive at QRSPeak is less than D2Thresh, as shown in Figure 9F. If test step 48 determines that the absolute value of the second derivative at QRSPeak is less than D2Thresh, then the loop is repeated commencing with step 41. Otherwise, if test step 48 determines that the absolute value of the second derivative at QRSPeak is less than D2Thresh, step 49 is performed to set indices D20n, D20ff (Figure 9F) equal to the indices of the local extrema adjacent QRSPeak in the second derivative of the ECG sample currently being processed by QRS detector 22. After performance of step 49, a further test step 50 is performed to determine whether the time "tl" (Figure 9G) between D20ff and D20n is less than MaxWidth. If test step 50 determines that the time between D20ff and D20n is not less than MaxWidth, then the loop is repeated commencing with step 41. Otherwise, if test step 50 determines that the time between D20ff and D20n is less than MaxWidth, then a further test step 51 is performed to determine whether the minimum difference in the values "a", "b" (Figure 9G) of the second derivative between D20n and D2Peak or between D20ff and D2Peak are less the MinD2Height.
If test step 51 determines that the minimum difference in the values of the second derivative between D20n and D2Peak; or, between D20ff and D2Peak are not less the MinD2Height, then the loop is repeated commencing with step 41. Otherwise, if test step 51 determines that the minimum difference in the values of the second derivative between D20n and D2Peak; or, between D20ff and D2Peak are less the MinD2Height then step 52 is performed to set threshold values DILThresh, DIRTthresh for the first derivative, and to set threshold value D2LRThresh for the second derivative between D20n and D20ff, as shown in Figure 9H. More particularly, the threshold values are set as follows:
DILThresh := the maximum value in the first derivative between D20n and QRSPeak DIRThresh := M the maximum value in the first derivative between QRSPeak and D20ff D2LRThresh := i the maximum value in the second derivative between D20n and D20ff
After performance of step 52, step 53 is performed, as depicted in Figure 91, to set QRSOn and QRSOff to the indices near QRSPeak where the values of the first and second derivatives are below DILthresh and D2LRThresh for QRSOn, and below DIRThresh and D2LRThresh for QRSOf .
After performance of step 53, test step 54 is performed to determine whether the time "t2" (Figure 9J) between QRSOn and QRSOff is less than MaxWidth. If test step 54 determines that the time between QRSOn and QRSOff is not less than MaxWidth, then step 55 is performed to set
QRSOn and QRSOff equal to D20n and D20ff respectively
(Figure 9K) . If test step 54 determines that the time between QRSOn and QRSOff is less than MaxWidth; or, after performance of step 55 if needed, test step 56 is performed to determine whether the average height difference from QRSOn to QRSPeak (i.e. distance "a" in Figure 9L) ; and, from QRSOff to QRSPeak (i.e. distance "b" in Figure 9L) is less than MinHeight. If test step 56 determines that the average height difference aforesaid is not less than MinHeight, then the loop is repeated commencing with step 41. Otherwise, if test step 56 determines that the average height difference aforesaid is less than MinHeight then a test step 57 is performed to determine whether LastQRSPeak is nil (i.e. to determine whether LastQRSPeak has been accepted as a QRS wave) . If test step 57 determines that LastQRSPeak is not nil, then a further test step 58 is performed to determine whether the time "t3" (Figure 9M) between LastQRSPeak and QRSPeak is greater than MinSep. If test step 58 determines that the time between LastQRSPeak and QRSPeak is greater than MinSep, then LastQRSPeak is accepted as a valid QRS wave and is as such at step 59. Otherwise, if test step 58 determines that the time between LastQRSPeak and QRSPeak is not greater than MinSep, then a further test step 60 is performed as depicted in Figure 9N to determine whether the absolute value "VI" of the second derivative at QRSPeak is greater than its absolute value "V2" at LastQRSPeak. If test step 60 determines that VI is not greater than V2 , then the loop is repeated commencing with step 41. Otherwise, if test step 60 determines that VI is greater than V2 ; or, if test step 57 determines that LastQRSPeak is nil; or, after performance of step 59; step 61 is performed to derive a QRS model from the current QRS candidate as follows:
MaxSep := 2* (QRSPeak - LastQRSPeak), or
MaxQRSSep if LastQRSPeak is nil MinSep := M* (QRSPeak - LastQRSPeak), or MinQRSSep if LastQRSPeak is nil
MaxWidth := Min(2* (QRSOff - QRSOn), QRSMax-
Width) MinWidth : = Max (^* (QRSOff - QRSOn), QRSMin-
Width) MinHeight := Max(%* (height of QRS), QRSMin-
Height) D2Thresh := ^*(Abs(D2) at QRSPeak) MinD2Height := * (height of QRS in D2)
After performance of QRS model derivation step 61, step 62 is performed to set LastQRSPeak, LastQRSOn, and LastQRSOff equal to the values of QRSPeak, QRSOn, and QRSOff respectively. After performance of step 62, the loop is repeated commencing with step 41.
P and T Wave Detection
The operation of P and T detector 25 will now be described with reference to Figure 7. As previously mentioned, P and T wave detector 25 applies the Figure 7 algorithm to the output of QRS detector 22 and to the ECG samples stored in buffer 21 to detect the onsets, peaks, and offsets of the P and T waves in each ECG sample waveform. It is however important to understand that usage of the previously described QRS detector 22 is not essential to the operation of P and T detector 25. The prior art has evolved a variety of QRS detectors, many of which can detect onsets, peaks, and offsets of QRS waves in ECG sample waveforms. Any such QRS detector could readily be adapted and substituted for QRS detector 22 to serve as an input source of onsets, peaks, and offsets of QRS waves for P and T detector 25.
The operation of P and T detector 25 is conveniently characterized in terms of the following definitions:
MinPWidth absolute minimum time between P wave onset and offset MinPHeight absolute minimum height from onset or offset to peak of P wave MinTWidth absolute minimum time between T wave onset and offset MinTHeight absolute minimum height from onset or offset to peak of T wave ith reference to Figure 7, step 70 defines a time interval "MaxPR" (Figure 90) seconds prior to the onset of the selected input QRS wave; and, a time interval "MaxST" seconds after the offset of the selected input QRS wave. Step 71 narrows the MaxPR interval, as shown in Figure 9P, so that it does not overlap any previously detected T or QRS wave, and narrows the MaxST interval so that it does not overlap the following QRS wave. Step 72 filters the input ECG samples obtained from buffer 21 to remove noise. As hereinafter described with reference to Figure 8, step 73 detects, in the narrowed MaxPR interval, the best candidate P wave which satisfies the MinPWidth and MinPHeight thresholds; and, step 74 detects, in the narrowed MaxST interval, the best candidate T wave which satisfies the MinTWidth and MinTHeight thresholds. Step 75 then outputs the P wave detected by step 73, if any; the T wave detected by step 74, if any; and the QRS wave previously detected by QRS detector 22. Figure 8 provides greater detail of the operations performed during steps 73 and 74. The same operations are performed during each of steps 73 and 74, the only difference being that step 73 is performed with respect to the narrowed MaxPR interval to detect the best candidate P wave, and step 74 is performed with respect to the narrowed MaxST interval to detect the best candidate T wave . Accordingly, in the following description, reference is made to the "candidate wave", which those skilled in the art will understand to mean a candidate P wave if the Figure 8 operations are performed during step 73, and to mean a candidate T wave if the Figure 8 operations are performed during step 74.
The Figure 8 operations are conveniently characterized in terms of the following definitions:
MinWidth minimum time between onset and offset of candidate wave MinHeight minimum height from onset or offset to peak of candidate wave BestPeak location of best candidate wave's peak BestOn location of best candidate wave's onset BestOff location of best candidate wave's offset BestGamma measure of best candidate wave's validity
Initialization step 80 sets the values of BestOn, BestOff, BestPeak, and BestGamma to nil, and sets the values of
MinWidth and MinHeight to equal parameters passed into P and T detector 25. Step 81 initiates a loop which iteratively evaluates the "On" and "Off" values (Figure 9Q) for every pair of sample points within the input interval of the candidate wave (i.e. the narrowed MaxPR interval in the case of step 73 , or the narrowed MaxST interval in the case of step 74) and selects the BestOn, BestOff, and
BestPeak values for the candidate wave.
More particularly, a candidate onset value "On", and a candidate offset value "Off" are selected during step 81.
Test step 82 then determines whether the time "T" (Figure
9Q) between the On and Off values is greater than MinWidth.
If test step 82 determines that T is not greater than
MinWidth then the loop is repeated commencing with step 81. Otherwise, if test step 82 determines that T is greater than MinWidth, then step 83 is performed to determine the area "A" (Figure 9R) of the closed polygon bounded by all of the sample intervals between and including the On and Off values, the polygon having a base line "B" (Figure 9R) extending linearly between the On and Off values.
Step 84 then selects as the "Peak" sample (Figure 9S) the ECG sample which has the maximum height "h" above base line B. In this context, "height" refers to the distance in ECG samples from Peak to base line B. A test step 85 is then performed to determine whether h is greater than MinHeight. If test step 85 determines that h is not greater than MinHeight then the loop is repeated commencing with step 81. Otherwise, if test step 85 determines that h is greater than MinHeight, step 86 is performed to determine the Euclidean distance "d" (Figure 9S) between the candidate On and Off values in terms of both ECG samples and time. Step 87 is then performed to determine a candidate value "Gamma" = A*h/d. Test step 88 is then performed to determine whether Gamma is greater than BestGamma. If test step 88 determines that Gamma is not greater than BestGamma then the loop is repeated commencing with step 81. Otherwise, if test step 88 determines that Gamma is greater than BestGamma, then the values of BestOn, BestOff, BestPeak, and BestGamma are replaced with the values of On, Off, Peak, and Gamma and the loop is then repeated commencing with step 81.
Summary
It will thus be understood that the apparatus depicted in Figure 5 receives input ECG samples, detects QRS waves in such samples, and then detects the P and T waves adjacent each QRS wave. The ECG samples are read from a se- quential storage device and buffered in a computer memory. Approximations to the first and second derivatives of the ECG samples are also computed and buffered. The ECG samples and the first and second derivative approximations are input to a QRS detector, which outputs the onsets, offsets and peaks of detected QRS waves.
The QRS detector maintains records of the last detected QRS (which is a provisional candidate for output as a valid QRS wave, until its final acceptance) , and a QRS model derived from the last detected QRS . Final acceptance of the last QRS wave as a valid QRS wave depends upon the outcome of tests which involve the next candidate QRS wave. The QRS detector iterates over every ECG sample in the candidate wave, comparing each sample to the QRS model to determine whether the selected sample is the peak of a QRS wave. If no QRS is detected after a maximum expected QRS interval, the model parameters are relaxed and the ECG samples subsequent to the last valid QRS are re-examined. If the model is already fully relaxed, no new QRS is detected and the last detected QRS is accepted as valid and output .
Once an ECG sample is determined to be a candidate QRS peak, the candidate QRS wave's onset and offset are determined by setting thresholds and examining the first and second derivatives near the peak. The candidate peak, onset, and offset must satisfy the QRS model thresholds. If the candidate satisfies the model and is sufficiently far from the previous QRS, the previous QRS is output as a detected QRS wave. If the candidate satisfies the model but is too close to the previous QRS, the QRS having the lesser second derivative value at its peak is rejected. If the current candidate passes all tests, the last QRS is accepted as valid and output, and the current QRS candidate is recorded as the last QRS .
Once a QRS has been detected (either by QRS detector 25 or by a suitable substitute QRS detector) , a P and T wave detector looks for a P wave preceding the QRS wave and for a T wave following it. These waves are found by finding waves in the ECG samples which satisfy minimum height and width requirements and lie near the QRS. The ECG samples in these ranges are first filtered to remove noise. The onset and offset of the P and T waves are chosen according to their height relative to their onset and offset, the distance between their onset and offset, and the area of a closed polygon bounded by the ECG samples between their onset and offset . The P and T wave detector outputs include the onset, offset, and peaks of the P and T waves .
As will be apparent to those skilled in the art in the light of the foregoing disclosure, many alterations and modifications are possible in the practice of this invention without departing from the spirit or scope thereof. Accordingly, the scope of the invention is to be construed in accordance with the substance defined by the following claims.

Claims

WHAT IS CLAIMED IS:
1. A method of detecting P and T waves in an electrocardiogram signal containing said P and T waves and containing previously detected QRS waves, said method characterized by the steps of: a. selecting (41) a next one (QRSPeak) of said previously detected QRS waves; b. defining (70) a first time interval (MaxPR) within said electrocardiogram signal, said first time interval preceding said selected QRS wave and containing a plurality of samples of said electrocardiogram signal; c. defining (70) a second time interval (MaxST) within said electrocardiogram signal, said second time interval following said selected QRS wave and containing a plurality of samples of said electrocardiogram signal; d. narrowing (71) said first time interval to exclude QRS and previously detected T waves preceding said selected QRS wave; e. narrowing (71) said second time interval to exclude QRS waves following said selected QRS wave ; f . for each pair of said samples in said first time interval: i. proceeding (82) to step 1(f) (iv) if said pair of samples are separated by a time duration which does not exceed a predefined time duration (MinPWidth) ; ii. deriving (83) the area, width, and height of a closed polygon having vertices defined by all samples within said first time interval between and including said pair of samples ; iii. deriving (86, 87) a rating for said polygon as a function of said area, width and height ; iv. selecting (81) another pair of said samples and proceeding to step 1(f) (i) ; g. selecting (73) as said P wave that one of said step 1(f) (iii) polygons for which said rating is maximal ; h. for each pair of said samples in said second time interval : i. proceeding (82) to step 1(h) (iv) if said pair of samples are separated by a time duration which does not exceed a predefined time duration (MinTWidth) ,- ii. deriving (83) the area, width, and height of a closed polygon having vertices defined by all samples within said second time interval between and including said pair of samples,- iii. deriving (86, 87) a rating for said polygon as a function of said area, width and height ; iv. selecting (81) another pair of said samples and proceeding to step 1(h) (i) , and, i. selecting (74) as said T wave that one of said step 1(h) (iii) polygons for which said rating is maximal .
2. A method as defined in claim 1, further comprising, before said step 1(f), the further step of filtering
(72) those portions of said electrocardiogram signal containing said first and second time intervals to remove noise.
3. A method as defined in claim 1, wherein said previous - ly detected QRS waves are respectively characterized by onset (QRSOn) , offset (QRSOff) and peak (QRSPeak) values, said method further comprising detecting said onset, offset and peak values by: a. deriving first and second derivative approxima- tions (Dl, D2) of said electrocardiogram signal; b. deriving from said previously detected QRS waves a plurality of threshold values (D2Thresh, MinD2- Height, MinHeight, MinWidth) which collectively characterize acceptable bounds for said onset, offset and peak values; c. for each of said previously detected QRS waves, selecting candidate values for said onset, offset and peak values; d. comparing said candidate values to said threshold values to derive a measure of difference therebetween; e. accepting said candidate values as said onset, offset and peak values respectively if said difference does not exceed a predefined minimum; and, f . if said difference exceeds said predefined mini- mum, increasing said respective threshold values and proceeding to said step 3(c) .
4. A method as defined in claim 1, wherein said steps 1(f) (ii) and 1(h) (ii) each further comprise: a. deriving said closed polygon area as that area bounded by all of said samples between and including said pair of samples, said polygon having a base line extending linearly a distance "d" between said pair of samples; b. deriving a maximum vertical displacement "h" between said base line and any portion of said polygon above said base line; and, c. comparing said maximum vertical displacement to a predefined minimum vertical displacement; and, d. if said maximum vertical displacement exceeds said predefined minimum vertical displacement then defining said rating = A*h/d for said pair of samples .
5. A method as defined in claim 1, wherein: a. said narrowing step 1(d) further comprises: i. if said first time interval overlaps a time interval occupied by a previously detected T wave portion of said electrocardiogram signal preceding said first time interval, reducing (71) said first time interval to exclude said previously detected T wave portion; ii. if said first time interval overlaps a time interval occupied by a previously detected QRS wave portion of said electrocardiogram signal preceding said first time interval, reducing (71) said first time interval to exclude said previously detected QRS wave portion; and, b. said narrowing step 1(e) further comprises: i. if said second time interval overlaps a time interval occupied by a previously detected QRS wave portion of said electrocardiogram signal following said second time interval, reducing (71) said second time interval to exclude said previously detected QRS wave portion. A method as defined in claim 1, wherein said previously detected QRS waves are detected by, for each pair of samples within said respective first and second time intervals: a. deriving first and second derivative approxima- tions (Dl, D2) of said electrocardiogram signal; b. comparing (47, 48) said second derivative approximations and selecting as a first peak that one of said samples for which said second derivative approximation is greatest; c. proceeding to step 6 (q) if said first peak second derivative approximation does not exceed a predefined minimum second derivative approximation value ; d. comparing (47, 48) said second derivative approx- imations for said samples immediately preceding said first peak and selecting as a second peak that one of said preceding samples for which said second derivative approximation is greatest; e. comparing (47, 48) said second derivative approximations for said samples immediately following said first peak and selecting as a third peak that one of said following samples for which said second derivative approximation is greatest; f. proceeding (50) to step 6 (q) if said second and third peaks are separated by a time duration which exceeds a predefined maximum onset -offset time duration; g. proceeding (51) to step 6 (q) if the difference between said first and second peak second derivative approximations does not exceed a predefined minimum peak separation value or if the difference between said first and third peak second derivative approximations does not exceed said predefined minimum peak separation value,- h. defining (52) a first threshold D1L as a function of said first derivative approximations for said samples between said first and second peaks,- i. defining (52) a second threshold D1R as a function of said first derivative approximations for said samples between said first and third peaks,- j . defining (52) a third threshold D2LR as a function of said second derivative approximations for said samples between said first and third peaks,- k. selecting (53) as a QRSOn value that one of said samples for which said first and second deriva- tive approximations respectively do not exceed said D1L and D2LR thresholds,- 1. selecting (53) as a QRSOff value that one of said samples for which said first and second derivative approximations respectively do not exceed said D1R and D2LR thresholds; m. proceeding (54) to step 6 (q) if said selected QRSOn and QRSOff values are separated by a time duration which does not exceed a predefined QRS time duration; n. if said selected QRSOn and QRSOff values are separated by a time duration which exceeds said predefined QRS time duration then selecting (55) said second peak as said QRSOn value and selecting said third peak as said QRSOff value,- o. proceeding (56) to step 6 (q) if the average values of -. i. said samples between said first peak and said QRSOn value; ii. said samples between said first peak and said QRSOff value; do not exceed a predefined average value; p. if said first peak is not separated from said first peak of an immediately preceding, previously detected QRS wave then rejecting (59) that one of said samples for which said second derivative approximation is lowest; and, q. selecting (41) a next pair of said samples and repeating steps 6(a) through 6 (p) until none of said samples remain.
PCT/CA1997/000615 1996-08-29 1997-08-27 Ecg p-qrs-t onset, offset and peak detection method and apparatus WO1998009241A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU41071/97A AU4107197A (en) 1996-08-29 1997-08-27 Ecg p-qrs-t onset, offset and peak detection method and apparatus

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US70562196A 1996-08-29 1996-08-29
US08/705,621 1996-08-29
US08/846,348 US5758654A (en) 1996-08-29 1997-04-30 ECG P QRS T onset and peak detection method
US08/846,348 1997-04-30

Publications (1)

Publication Number Publication Date
WO1998009241A1 true WO1998009241A1 (en) 1998-03-05

Family

ID=27107543

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CA1997/000615 WO1998009241A1 (en) 1996-08-29 1997-08-27 Ecg p-qrs-t onset, offset and peak detection method and apparatus

Country Status (3)

Country Link
US (1) US5758654A (en)
AU (1) AU4107197A (en)
WO (1) WO1998009241A1 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1288979A2 (en) * 1999-05-21 2003-03-05 Albert Ackermann GmbH & Co. KG Manual control device for use in the health care sector
US6944495B2 (en) 2000-11-10 2005-09-13 C.R. Bard, Inc. Methods for processing electrocardiac signals having superimposed complexes
WO2016134099A1 (en) * 2015-02-18 2016-08-25 Medtronic, Inc. Apparatus for atrial arrhythmia episode detection
US9675261B2 (en) 2015-01-23 2017-06-13 Medtronic, Inc. Atrial arrhythmia episode detection in a cardiac medical device
US9901276B2 (en) 2015-02-18 2018-02-27 Medtronic, Inc. Method and apparatus for identifying sick sinus syndrome in an implantable cardiac monitoring device
US10004418B2 (en) 2015-01-23 2018-06-26 Medtronic, Inc. Atrial arrhythmia episode detection in a cardiac medical device
US10039469B2 (en) 2016-03-30 2018-08-07 Medtronic, Inc. Atrial arrhythmia episode detection in a cardiac medical device
US10045710B2 (en) 2016-03-30 2018-08-14 Medtronic, Inc. Atrial arrhythmia episode detection in a cardiac medical device
US10213125B2 (en) 2015-01-23 2019-02-26 Medtronic, Inc. Atrial arrhythmia episode detection in a cardiac medical device
EP1794694B1 (en) * 2004-09-24 2020-11-11 Philips Intellectual Property & Standards GmbH Method of medical monitoring
CN116570295A (en) * 2023-07-14 2023-08-11 浙江好络维医疗技术有限公司 Electrocardiogram low-voltage T-wave end point positioning method

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6684100B1 (en) * 2000-10-31 2004-01-27 Cardiac Pacemakers, Inc. Curvature based method for selecting features from an electrophysiologic signals for purpose of complex identification and classification
US7031764B2 (en) * 2002-11-08 2006-04-18 Cardiac Pacemakers, Inc. Cardiac rhythm management systems and methods using multiple morphology templates for discriminating between rhythms
US7792571B2 (en) * 2003-06-27 2010-09-07 Cardiac Pacemakers, Inc. Tachyarrhythmia detection and discrimination based on curvature parameters
US8103065B2 (en) * 2006-01-05 2012-01-24 Lifescience Solutions Llc Assessment of medical conditions
US9986926B2 (en) * 2007-10-26 2018-06-05 Inovise Medical, Inc. Q-onset ventricular depolarization detection in the presence of a pacemaker
US20090192561A1 (en) * 2008-01-29 2009-07-30 Inovise Medical, Inc. On-again, off-again physiologic-demand heart pacing
US20090216144A1 (en) * 2008-02-25 2009-08-27 Bruce Hopenfeld Hopping methods for the detection of QRS onset and offset
US8348852B2 (en) * 2008-03-06 2013-01-08 Inovise Medical, Inc. Heart-activity sound monitoring
TW201023828A (en) * 2008-12-26 2010-07-01 Ind Tech Res Inst Detecting heartbeat method
WO2011057116A1 (en) * 2009-11-05 2011-05-12 Inovise Medical, Inc. Detection and differentiation of sleep disordered breathing
US8548588B1 (en) 2012-09-21 2013-10-01 Inovise Medical, Inc. CRM-device ventricular-pacing blanking control
WO2014074913A1 (en) * 2012-11-08 2014-05-15 Alivecor, Inc. Electrocardiogram signal detection
JP6285956B2 (en) 2012-12-19 2018-02-28 ヴィスカルディア インコーポレイテッド Improved hemodynamic performance through asymptomatic diaphragm stimulation
US10335592B2 (en) 2012-12-19 2019-07-02 Viscardia, Inc. Systems, devices, and methods for improving hemodynamic performance through asymptomatic diaphragm stimulation
US9445746B1 (en) * 2013-03-14 2016-09-20 Angio Dynamics, Inc. Systems and methods for catheter tip placement using ECG
US9833632B2 (en) 2013-06-11 2017-12-05 Koninklijke Philips N.V. Synchronized cardioversion mixed mode operation and timing verification
US9717438B2 (en) * 2014-10-29 2017-08-01 Khalifa University of Science and Technology Medical device for detecting a ventricular arrhythmia event
CN104323771B (en) * 2014-11-11 2016-06-01 北京海思敏医疗技术有限公司 Detect method and the device of P ripple, T ripple in ECG signal
US9392952B1 (en) * 2015-03-10 2016-07-19 Nuvo Group Ltd. Systems, apparatus and methods for sensing fetal activity
WO2016168979A1 (en) * 2015-04-20 2016-10-27 深圳市长桑技术有限公司 Vital sign analysis method and system
US10537735B2 (en) 2016-04-29 2020-01-21 Viscardia, Inc. Implantable medical devices and methods for real-time or near real-time adjustment of diaphragmatic stimulation parameters to affect pressures within the intrathoracic cavity
WO2018082190A1 (en) * 2016-11-03 2018-05-11 华为技术有限公司 Ecg signal processing method and apparatus
US11051747B2 (en) 2017-09-27 2021-07-06 Khalifa University of Science and Technology Electrocardiagram (ECG) processor
CN110693483A (en) * 2019-09-02 2020-01-17 乐普智芯(天津)医疗器械有限公司 Method for automatically analyzing dynamic electrocardiogram
JP2023500778A (en) 2019-09-26 2023-01-11 ヴィスカルディア インコーポレイテッド Implantable medical systems, devices, and methods for influencing cardiac function through diaphragmatic stimulation and for monitoring diaphragmatic health
CN111134659B (en) * 2020-01-17 2022-04-26 上海乐普云智科技股份有限公司 Method and device for detecting P wave and T wave in electrocardiosignal

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3832994A (en) * 1972-04-21 1974-09-03 Mediscience Corp Cardiac monitor

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4240442A (en) * 1979-01-05 1980-12-23 American Optical Corporation Variable threshold R-wave detector
JPS60222032A (en) * 1984-04-19 1985-11-06 日本電気株式会社 Electrocardiograph signal processor
US4793361A (en) * 1987-03-13 1988-12-27 Cardiac Pacemakers, Inc. Dual channel P-wave detection in surface electrocardiographs
IL82698A0 (en) * 1987-05-29 1987-11-30 Univ Ramot Method and apparatus for indicating repetition intervals of a specified component of a composite electrical signal,particularly useful for displaying fetal r-waves
US5092341A (en) * 1990-06-18 1992-03-03 Del Mar Avionics Surface ecg frequency analysis system and method based upon spectral turbulence estimation
US5148812A (en) * 1991-02-20 1992-09-22 Georgetown University Non-invasive dynamic tracking of cardiac vulnerability by analysis of t-wave alternans
US5224486A (en) * 1992-02-28 1993-07-06 Hewlett-Packard Company Method and apparatus for classifying heartbeat waveforms
US5469858A (en) * 1994-03-15 1995-11-28 Hewlett-Packard Corporation ECG P-QRS-T onset/offset annotation method and apparatus

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3832994A (en) * 1972-04-21 1974-09-03 Mediscience Corp Cardiac monitor

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
ANONYMOUS: "Selective Filter for Electrocardiograph", IBM TECHNICAL DISCLOSURE BULLETIN, vol. 29, no. 4, September 1986 (1986-09-01), NEW YORK, US, pages 1797 - 1798, XP002046705 *
FOKAPU O ET AL: "A NEW APPROACH FOR P WAVE DETECTION USING ANALYTIC SIGNAL", VISUALIZATION, IMAGING, SIGNAL PROCESSING, MODELING, NEURAL NETWORK, SAN DIEGO, OCT. 28 - 31, 1993, vol. 15 PART 1, 28 October 1993 (1993-10-28), SZETO A;RANGARAJ M RANGAYYAN, pages 400/401, XP000436800 *
FREEMAN K ET AL: "P WAVE DETECTION OF AMBULATORY ECG", PROCEEDINGS OF THE ANNUAL INTERNATIONAL CONFERENCE OF THE ENGINEERI IN MEDICINE AND BIOLOGY SOCIETY, ORLANDO, OCT. 31 - NOV. 3, 1991, vol. 13, 31 October 1991 (1991-10-31), NAGEL J;SMITH W M, pages 647 - 648, XP000348272 *
HEE-KYO JOENG ET AL: "A NEW ALGORITHM FOR P-WAVE DETECTION IN THE ECG SIGNAL", IMAGES OF THE TWENTY FIRST CENTURY, SEATTLE, NOV. 9 - 12, 1989, vol. 11 PART 1/06, 9 November 1989 (1989-11-09), YONGMIN KIM;SPELMAN F A, pages 42/43, XP000129189 *
LAGUNA P. ET AL.: "Automatic Detection of Wave Boundaries in Multilead ECG Signals: Validation with the CSE Database", COMPUTERS AND BIOMEDICAL RESEARCH, vol. 27, 1994, pages 45 - 30, XP002046491 *

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1288979A3 (en) * 1999-05-21 2003-03-26 Albert Ackermann GmbH & Co. KG Manual control device for use in the health care sector
EP1288979A2 (en) * 1999-05-21 2003-03-05 Albert Ackermann GmbH & Co. KG Manual control device for use in the health care sector
US6944495B2 (en) 2000-11-10 2005-09-13 C.R. Bard, Inc. Methods for processing electrocardiac signals having superimposed complexes
EP3821807A1 (en) * 2004-09-24 2021-05-19 Koninklijke Philips N.V. Method of medical monitoring
EP1794694B1 (en) * 2004-09-24 2020-11-11 Philips Intellectual Property & Standards GmbH Method of medical monitoring
US10004418B2 (en) 2015-01-23 2018-06-26 Medtronic, Inc. Atrial arrhythmia episode detection in a cardiac medical device
US9675261B2 (en) 2015-01-23 2017-06-13 Medtronic, Inc. Atrial arrhythmia episode detection in a cardiac medical device
US10213125B2 (en) 2015-01-23 2019-02-26 Medtronic, Inc. Atrial arrhythmia episode detection in a cardiac medical device
US9603543B2 (en) 2015-02-18 2017-03-28 Medtronic, Inc. Method and apparatus for atrial arrhythmia episode detection
US9486155B2 (en) 2015-02-18 2016-11-08 Medtronic, Inc. Method and apparatus for atrial arrhythmia episode detection
US9901276B2 (en) 2015-02-18 2018-02-27 Medtronic, Inc. Method and apparatus for identifying sick sinus syndrome in an implantable cardiac monitoring device
US11517242B2 (en) 2015-02-18 2022-12-06 Medtronic, Inc. Method and apparatus for atrial arrhythmia episode detection
US9962102B2 (en) 2015-02-18 2018-05-08 Medtronic, Inc. Method and apparatus for atrial arrhythmia episode detection
US9675269B2 (en) 2015-02-18 2017-06-13 Medtronic, Inc. Method and apparatus for atrial arrhythmia episode detection
US10492706B2 (en) 2015-02-18 2019-12-03 Medtronic, Inc. Method and apparatus for atrial arrhythmia episode detection
WO2016134099A1 (en) * 2015-02-18 2016-08-25 Medtronic, Inc. Apparatus for atrial arrhythmia episode detection
US10045710B2 (en) 2016-03-30 2018-08-14 Medtronic, Inc. Atrial arrhythmia episode detection in a cardiac medical device
US10575748B2 (en) 2016-03-30 2020-03-03 Medtronic, Inc. Atrial arrhythmia episode detection in a cardiac medical device
US10039469B2 (en) 2016-03-30 2018-08-07 Medtronic, Inc. Atrial arrhythmia episode detection in a cardiac medical device
US11576607B2 (en) 2016-03-30 2023-02-14 Medtronic, Inc. Atrial arrhythmia episode detection in a cardiac medical device
US11826153B2 (en) 2016-03-30 2023-11-28 Medtronic, Inc. Atrial arrhythmia episode detection in a cardiac medical device
CN116570295A (en) * 2023-07-14 2023-08-11 浙江好络维医疗技术有限公司 Electrocardiogram low-voltage T-wave end point positioning method

Also Published As

Publication number Publication date
US5758654A (en) 1998-06-02
AU4107197A (en) 1998-03-19

Similar Documents

Publication Publication Date Title
US5758654A (en) ECG P QRS T onset and peak detection method
Martínez et al. A wavelet-based ECG delineator: evaluation on standard databases
CA2979135C (en) Systems, apparatus and methods for sensing fetal activity
US5000189A (en) Method and system for monitoring electrocardiographic signals and detecting a pathological cardiac arrhythmia such as ventricular tachycardia
US5215098A (en) Data compression of cardiac electrical signals using scanning correlation and temporal data compression
Kohler et al. The principles of software QRS detection
Sadhukhan et al. R-peak detection algorithm for ECG using double difference and RR interval processing
US5542430A (en) Apparatus and method for discriminating between cardiac rhythms on the basis of their morphology using a neural network
Chen et al. Ventricular fibrillation detection by a regression test on the autocorrelation function
US6684100B1 (en) Curvature based method for selecting features from an electrophysiologic signals for purpose of complex identification and classification
EP1808125A1 (en) Electrophysiological system for analysing an intracardiac electrocardiogram
KR101524226B1 (en) Method of classifing heart condition using neural network, and apparatus thereof
JPH0211120A (en) Method and apparatus for comparing waveform part of time change signal
WO2006081340A2 (en) Algorithms for detecting cardiac arrhythmia and methods and apparatuses utilizing the algorithms
EP1178855A1 (en) Monitoring apparatus using wavelet transforms for the analysis of heart rhythms
Vijaya et al. Arrhythmia detection through ECG feature extraction using wavelet analysis
WO1988004911A1 (en) Electrocardiogram enhancement system
EP1300110A2 (en) Method of and apparatus for deriving indices characterising atrial arrhythmias
Arafat et al. Automatic detection of ECG wave boundaries using empirical mode decomposition
Silipo et al. Continuous monitoring and detection of ST-T changes in ischemic patients
Halder et al. Detection and identification of ECG waves by histogram approach
CN1393204A (en) Cardioelectric spectrometer
Tun et al. Analysis of computer aided identification system for ECG characteristic points
MZ et al. Shannon energy application for detection of ECG R-peak using bandpass filter and stockwell transform methods
Caroubalos et al. Method for an automatic analysis of the ECG

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GE HU IL IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK TJ TM TR TT UA UG UZ VN AM AZ BY KG KZ MD RU TJ TM

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH KE LS MW SD SZ UG ZW AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: JP

Ref document number: 1998511055

Format of ref document f/p: F

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

NENP Non-entry into the national phase

Ref country code: CA

122 Ep: pct application non-entry in european phase