Heartbeat detection and categorization
First Claim
1. An automatic method for detecting heartbeats of a patient, the method comprising:
- sensing two or more selected ECG signals; and
automatically processing the ECG signals with a programmable processor configured to;
determine a velocity for each of the selected signals;
sum together absolute values of each of the velocities;
compare the sum with a threshold T having a value about one-half of an expected maximum value of the sum; and
detect a heartbeat at a time tD of the velocity determinations when the sum is greater than the threshold T and when elapsed time since an immediately-previous heartbeat detection is greater than a preset refractory period tR.
1 Assignment
0 Petitions
Accused Products
Abstract
An automatic method for detecting heartbeats of a patient from two or more selected ECG signals, the method comprising: (a) determining a velocity for each of the selected signals; (b) summing together absolute values of each of the velocities; (c) comparing the sum with a threshold T having a value about one-half of an expected maximum value of the sum; and (d) if the sum is greater than the threshold T and if elapsed time since an immediately-previous heartbeat detection is greater than a preset refractory period tR, a heartbeat has been detected at a time tD of the velocity determinations. The method also further includes steps by which the detected heartbeats are categorized based on the velocities at the time of detection.
55 Citations
45 Claims
-
1. An automatic method for detecting heartbeats of a patient, the method comprising:
-
sensing two or more selected ECG signals; and automatically processing the ECG signals with a programmable processor configured to; determine a velocity for each of the selected signals; sum together absolute values of each of the velocities; compare the sum with a threshold T having a value about one-half of an expected maximum value of the sum; and detect a heartbeat at a time tD of the velocity determinations when the sum is greater than the threshold T and when elapsed time since an immediately-previous heartbeat detection is greater than a preset refractory period tR.
-
-
2. The automatic heartbeat detection method of claim 1 further including, when a heartbeat has been detected, the steps of:
-
forming a vector F(tD) the components of which are the velocities of each of the selected signals at the time tD; determining the angle between the vector F(tD) and a previously-stored template vector; comparing the angle with a threshold angle; and when the angle is less than the threshold angle, categorizing the heartbeat as similar to a heartbeat which corresponds to the template vector.
-
-
3. The automatic heartbeat detection method of claim 2 wherein the angle determination and comparison include the steps of:
-
computing a squared vector magnitude SVMD as the dot product F(tD)·
F(tD);computing the dot product DPq of F(tD) with a template vector Fq; computing a squared vector magnitude SVMq as the dot product Fq·
Fq;computing a signed squared cosine difference angle SCDAq as
SCDAq=sgn(DPq)*DPq*DPq/(SVMD*SVMq); andcomparing SCDAq with a squared cosine threshold SCL.
-
-
4. The automatic heartbeat detection method of claim 3 further including comparing the vector F(tD) with each of a plurality of template vectors to determine if the vector F(tD) is within the threshold angle of any of the plurality of template vectors.
-
5. The automatic heartbeat detection method of claim 4 wherein when the angle between the vector F(tD) and more than one of the plurality of template vectors is less than the threshold angle, categorizing the heartbeat as similar to a heartbeat which corresponds to the template vector having the smallest angle between itself and the vector F(tD).
-
6. The automatic heartbeat detection method of claim 5 wherein when the angle between the vector F(tD) and each of the plurality of template vectors is greater than or equal to the threshold angle, adding a template vector equal to the vector F(tD) to the plurality of template vectors.
-
7. The automatic heartbeat detection method of claim 5 wherein the patient is in a non-sedated state and further including the step of providing interventional treatment to the patient in a sedated state based on heartbeats categorized while the patient was in the non-sedated state.
-
8. The automatic heartbeat detection method of claim 2 further including comparing the vector F(tD) with each of a plurality of template vectors to determine if the vector F(tD) is within the threshold angle of any of the plurality of template vectors.
-
9. The automatic heartbeat detection method of claim 8 wherein when the angle between the vector F(tD) and more than one of the plurality of template vectors is less than the threshold angle, categorizing the heartbeat as similar to a heartbeat which corresponds to the template vector having the smallest angle between itself and the vector F(tD).
-
10. The automatic heartbeat detection method of claim 8 wherein when the angle between the vector F(tD) and each of the plurality of template vectors is greater than or equal to the threshold angle, adding a template vector equal to the vector F(tD) to the plurality of template vectors.
-
11. The automatic heartbeat detection method of claim 8 wherein the patient is in a non-sedated state and further including the step of providing interventional treatment to the patient in a sedated state based on heartbeats categorized while the patient was in the non-sedated state.
-
12. The automatic heartbeat detection method of claim 8 wherein each of the template vectors has a threshold angle associated therewith, not all of which have the same angle value.
-
13. The automatic heartbeat detection method of claim 8 wherein at least a portion of the plurality of template vectors are preset template vectors.
-
14. The automatic heartbeat detection method of claim 13 wherein each of the plurality of template vectors is a preset template vector.
-
15. The automatic heartbeat detection method of claim 2 further including a slot-plurality of template vector slots, the slot-plurality being greater than or equal to the plurality of template vectors and each template vector is in a corresponding template vector slot, wherein when the vector F(tD) is not within the threshold angle of any of the plurality of template vectors and an empty template vector slot is available, adding a template vector equal to the vector F(tD) to the plurality of template vectors.
-
16. The automatic heartbeat detection method of claim 15 wherein when no empty template vector slot is available, replacing one of the template vectors with a new template vector equal to the vector F(tD).
-
17. The automatic heartbeat detection method of claim 2 further including storing the categorized heartbeat.
-
18. The automatic heartbeat detection method of claim 17 further including displaying information descriptive of one or more stored heartbeats.
-
19. The automatic heartbeat detection method of claim 1 wherein determining the velocity of each of the selected signals includes:
-
digitizing each of the selected signals; and filtering each of the digitized signals to generate the velocity for each selected signal.
-
-
20. The automatic heartbeat detection method of claim 19 wherein the filter is a first-difference filter.
-
21. The automatic heartbeat detection method of claim 20 wherein the first-difference filter is a boxcar filter.
-
22. The automatic heartbeat detection method of claim 1 further including adjusting the threshold T based on the maximum velocity sum during a preset time period tm.
-
23. The automatic heartbeat detection method of claim 22 wherein when the preset time period tm has elapsed and when a preset detection failure time limit tL has not elapsed since previous heartbeats were detected, determining the threshold T by computing T=Tp (Gmax/2−
- Tp)/4 where Gmax is the maximum velocity sum during the elapsed preset time period tm and Tp is the previous value of the threshold T.
-
24. The automatic heartbeat detection method of claim 23 wherein when preset time period tm has elapsed and when a preset detection failure time limit tL has elapsed since previous heartbeats were detected, setting the threshold T to Gmax/2.
-
25. The automatic heartbeat detection method of claim 24 wherein tR is about 120 milliseconds, tm is about 2 seconds, and tL is about 5 seconds.
-
26. The automatic heartbeat detection method of claim 1 wherein three ECG signals are selected, and the signals form a quasi-orthogonal set.
-
27. The automatic heartbeat detection method of claim 1 wherein the ECG signals further include one or more ECG signals in addition to the selected ECG signals, and the method includes storing one or more of the additional ECG signals.
-
28. The automatic heartbeat method of claim 27 further including displaying information descriptive of a detected heartbeat.
-
29. The automatic heartbeat detection method of claim 1 further including, when a heartbeat has been detected, the steps of:
-
forming a vector F(tD) the components of which are the velocities of each of the selected signals at the time tD and the velocities of each of the selected signals at time tD δ
;determining the angle between the vector F(tD) and a previously-stored template vector; comparing the angle with a threshold angle; and when the angle is less than the threshold angle, categorizing the heartbeat as similar to a heartbeat which corresponds to the template vector.
-
-
30. The automatic heartbeat detection method of claim 29 wherein the angle determination and comparison include the steps of:
-
computing a squared vector magnitude SVMD as the dot product F(tD)·
F(tD);computing the dot product DPq of F(tD) with a template vector Fq; computing a squared vector magnitude SVMq as the dot product Fq·
Fq;computing a signed squared cosine difference angle SCDAq as
SCDAq=sgn(DPq)*DPq*DPq/(SVMD*SVMq); andcomparing SCDAq with a squared cosine threshold SCL.
-
-
31. The automatic heartbeat detection method of claim 30 further including comparing the vector F(tD) with each of a plurality of template vectors to determine if the vector F(tD) is within the threshold angle of any of the plurality of template vectors.
-
32. The automatic heartbeat detection method of claim 31 wherein when the angle between the vector F(tD) and more than one of the plurality of template vectors is less than the threshold angle, categorizing the heartbeat as similar to a heartbeat which corresponds to the template vector having the smallest angle between itself and the vector F(tD).
-
33. The automatic heartbeat detection method of claim 32 wherein when the angle between the vector F(tD) and each of the plurality of template vectors is greater than or equal to the threshold angle, adding a template vector equal to the vector F(tD) to the plurality of template vectors.
-
34. The automatic heartbeat detection method of claim 32 wherein the patient is in a non-sedated state and further including the step of providing interventional treatment to the patient in a sedated state based on heartbeats categorized while the patient was in the non-sedated state.
-
35. The automatic heartbeat detection method of claim 29 further including comparing the vector F(tD) with each of a plurality of template vectors to determine if the vector F(tD) is within the threshold angle of any of the plurality of template vectors.
-
36. The automatic heartbeat detection method of claim 35 wherein when the angle between the vector F(tD) and more than one of the plurality of template vectors is less than the threshold angle, categorizing the heartbeat as similar to a heartbeat which corresponds to the template vector having the smallest angle between itself and the vector F(tD).
-
37. The automatic heartbeat detection method of claim 35 wherein when the angle between the vector F(tD) and each of the plurality of template vectors is greater than or equal to the threshold angle, adding a template vector equal to the vector F(tD) to the plurality of template vectors.
-
38. The automatic heartbeat detection method of claim 35 wherein the patient is in a non-sedated state and further including the step of providing interventional treatment to the patient in a sedated state based on heartbeats categorized while the patient was in the non-sedated state.
-
39. The automatic heartbeat detection method of claim 35 wherein each of the template vectors has a threshold angle associated therewith, not all of which have the same angle value.
-
40. The automatic heartbeat detection method of claim 35 wherein at least a portion of the plurality of template vectors are preset template vectors.
-
41. The automatic heartbeat detection method of claim 40 wherein each of the plurality of template vectors is a preset template vector.
-
42. The automatic heartbeat detection method of claim 29 further including a slot-plurality of template vector slots, the slot-plurality being greater than or equal to the plurality of template vectors and each template vector is in a corresponding template vector slot, wherein when the vector F(tD) is not within the threshold angle of any of the plurality of template vectors and an empty template vector slot is available, adding a template vector equal to the vector F(tD) to the plurality of template vectors.
-
43. The automatic heartbeat detection method of claim 42 wherein when no empty template vector slot is available, replacing one of the template vectors with a new template vector equal to the vector F(tD).
-
44. The automatic heartbeat detection method of claim 29 further including storing the categorized heartbeat.
-
45. The automatic heartbeat detection method of claim 44 further including displaying information descriptive of one or more stored heartbeats.
Specification