DETECTING STIMULUS PULSES
20170224242 · 2017-08-10
Inventors
Cpc classification
G16H50/20
PHYSICS
A61B5/7264
HUMAN NECESSITIES
A61B5/318
HUMAN NECESSITIES
A61B5/7217
HUMAN NECESSITIES
A61B5/686
HUMAN NECESSITIES
A61B5/349
HUMAN NECESSITIES
International classification
Abstract
A method for detecting a stimulus pulse by using two or more electrical signals derived from a living body, the method comprising the following steps: (a) for each electrical signal, digitizing the signal with an analog-to-digital converter to produce a sampled signal S.sub.k; (b) for each signal S.sub.k at a sample time t.sub.i, computing a primary difference Δ.sub.kp(t.sub.i)=abs[S.sub.k(t.sub.i)−S.sub.k(t.sub.i−p)]; (c) determining the minimum value of all of the computed differences, such minimum being a detector output D(t.sub.i); (d) comparing the detector output D(t.sub.i) with a detection threshold; and (e) indicating that a stimulus pulse has been detected when the detector output D(t.sub.i) is above the detection threshold.
Claims
1. A method for detecting a stimulus pulse by using two or more electrical signals derived from a living body, the method comprising: for each electrical signal, digitizing the signal with an analog-to-digital converter to produce a sampled signal S.sub.k; for each signal S.sub.k at a sample time t.sub.i, computing a primary difference Δ.sub.kp(t.sub.i)=abs[S.sub.k(t.sub.i)−S.sub.k(t.sub.i−p)]; determining the minimum value of all of the computed differences, such minimum being a detector output D(t.sub.i); comparing the detector output D(t.sub.i) with a detection threshold; and indicating that a stimulus pulse has been detected when the detector output D(t.sub.i) is above the detection threshold.
2. The stimulus pulse detection method of claim 1 wherein p is equal to 1.
3. The stimulus pulse detection method of claim 1 wherein p is equal to −1.
4. The stimulus pulse detection method of claim 1 further including the step of determining the detection threshold based on the maximum value D.sub.max of detector output D(t.sub.i) over a time period t.sub.th1.
5. The stimulus pulse detection method of claim 4 wherein the detection threshold is a constant times D.sub.max.
6. The stimulus pulse detection method of claim 4 further including the steps of: determining the maximum value DNS.sub.max of non-stimulus-pulse local peaks of detector output D(t.sub.i) in a period of time t.sub.th2 before a detected stimulus pulse and a period of time t.sub.th3 after a detected stimulus pulse; determining hardware-only noise D.sub.inst in the detector output D(t.sub.i); and computing the detection threshold as a first constant times the sum of DNS.sub.max and D.sub.inst plus a second constant times D.sub.max.
7. The stimulus pulse detection method of claim 1 further including the steps of: determining the maximum value DNS.sub.max of non-stimulus-pulse local peaks of detector output D(t.sub.i) in a period of time t.sub.th3 after a detected stimulus pulse; and computing the detection threshold as a constant plus DNS.sub.max.
8. The stimulus pulse detection method of claim 1 further including the step of suppressing indication of additional stimulus pulse detections for a period of time t.sub.S after a stimulus pulse is detected.
9. The stimulus pulse detection method of claim 1 further including the step of removing a detected stimulus pulse from one of more of the signals.
10. The stimulus pulse detection method of claim 1 further including the step of automatically selecting the two or more electrical signals from a set of electrical signals derived from a living body.
11. The stimulus pulse detection method of claim 10 wherein automatically selecting the two or more electrical signals includes determining a figure-of-merit of combinations of electrical signals from the set of electrical signals.
12. The stimulus pulse detection method of claim 1 further including for each sampled signal S.sub.k at sample time t.sub.i, computing one or more other differences Δ.sub.kf(t.sub.i)=abs[S.sub.k(t.sub.i)−S.sub.k(t.sub.i−f)], each other difference using a unique value for f and such other differences being computed prior to determining the minimum value of all of the computed differences.
13. The stimulus pulse detection method of claim 12 wherein p is equal to 1 and all values of f are positive.
14. The stimulus pulse detection method of claim 13 wherein at least one of the values of f is a non-integer value and the values of S.sub.k(t.sub.i−f) are determined by interpolation using neighboring values of the corresponding sampled signal S.sub.k.
15. The stimulus pulse detection method of claim 13 wherein all values of f are positive integers.
16. The stimulus pulse detection method of claim 12 wherein p is equal to −1 and all values of f are negative.
17. The stimulus pulse detection method of claim 16 wherein at least one of the values of f is a non-integer value and the values of S.sub.k(t.sub.i−f) are determined by interpolation using neighboring values of the corresponding sampled signal S.sub.k.
18. The stimulus pulse detection method of claim 16 wherein all values of f are negative integers.
19. The stimulus pulse detection method of claim 12 further including the step of determining the detection threshold based on the maximum value D.sub.max of the detector output D(t.sub.i) over a time period t.sub.th1.
20. The stimulus pulse detection method of claim 19 wherein the detection threshold is a constant times D.sub.max.
21. The stimulus pulse detection method of claim 19 further including the steps of: determining the maximum value DNS.sub.max of non-stimulus-pulse local peaks of detector output D(t.sub.i) in a period of time t.sub.th2 before a detected stimulus pulse and a period of time t.sub.th3 after a detected stimulus pulse; determining hardware-only noise D.sub.inst in the detector output D(t.sub.i); and computing the detection threshold as a first constant times the sum of DNS.sub.max and D.sub.inst plus a second constant times D.sub.max.
22. The stimulus pulse detection method of claim 12 further including the steps of: determining the maximum value DNS.sub.max of non-stimulus-pulse local peaks of detector output D(t.sub.i) in a period of time t.sub.th2 before a detected stimulus pulse and a period of time t.sub.th3 after a detected stimulus pulse; determining hardware-only noise D.sub.inst in the detector output D(t.sub.i); and computing the detection threshold as a first constant times the sum of DNS.sub.max and D.sub.inst plus a second constant times D.sub.max.
23. The stimulus pulse detection method of claim 12 further including the steps of: determining the maximum value DNS.sub.max of non-stimulus-pulse local peaks of detector output D(t.sub.i) in a period of time t.sub.th3 after a detected stimulus pulse; and computing the detection threshold as a constant plus DNS.sub.max.
24. The stimulus pulse detection method of claim 12 wherein at least one f value is chosen to filter out noise at a frequency selected from the group consisting of 50 Hz, 60 Hz and 400 Hz.
25. The stimulus pulse detection method of claim 12 wherein the digitizing of the two or more electrical signals is done at a sampling rate which is evenly divisible by each of the one or more values of f.
26. The stimulus pulse detection method of claim 12 further including the step of suppressing indication of additional stimulus pulse detections for a period of time t.sub.S after a stimulus pulse is detected.
27. The stimulus pulse detection method of claim 12 further including the step of removing a detected stimulus pulse from one or more of the signals.
28. The stimulus pulse detection method of claim 12 further including the step of automatically selecting the two or more electrical signals from a set of electrical signals derived from a living body.
29. The stimulus pulse detection method of claim 28 wherein automatically selecting the two or more electrical signals includes determining a figure-of-merit of combinations of electrical signals from the set of electrical signals.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0046]
[0047]
[0048]
[0049]
[0050]
[0051]
[0052]
[0053]
[0054]
[0055]
[0056]
[0057]
[0058]
[0059]
[0060]
[0061]
[0062]
[0063]
[0064]
[0065]
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
[0066] Each of
[0067] Referring again to
[0068] Implicit in each figure illustrating the steps of the inventive method is the use of computer-based apparatus which enables the automated steps of the inventive method to be carried out much more rapidly than would be possible without such processing apparatus. Most of the method steps require action carried out at each sampling time t.sub.i in order to be effective as a stimulus pulse detector.
[0069] An example of such computation occurs in a process element 18 in which for each signal in digitized multi-channel electrical signals 14 which is being processed in method embodiment 10, a primary difference Δ.sub.kp is computed at each sample time t.sub.i. The notation Δ.sub.kp(t.sub.i) represents the k.sup.th primary difference computed as Δ.sub.kp(t.sub.i)=abs[S.sub.k(t.sub.i)−S.sub.k(t.sub.i−p)], where S.sub.k(t.sub.i) is the digital value of the k.sup.th electrical signal at sample time t.sub.i and p is the number of sample times away from time t.sub.i of the digital value of S.sub.kp(t.sub.i−p). For example, if p=1, then Δ.sub.kp(t.sub.i)=abs[S.sub.k(t.sub.i)−S.sub.k(t.sub.i−1)], i.e., the primary difference is the absolute value of the difference between the digital value S.sub.k and its immediately preceding sampled value. For a sampling rate of 1,000 sps, the values of S.sub.k are therefore 1 millisecond (msec) apart. If the number of electrical signals being used in the inventive method is two (n=2), then there are two primary differences Δ.sub.1p(t.sub.i) and Δ.sub.2p(t.sub.i) at each sample time. Also as an example, if p=−1, then Δ.sub.kp(t.sub.i)=abs[S.sub.k(t.sub.i)−S.sub.k(t.sub.i+1)], i.e., the primary difference is the absolute value of the difference between the digital value S.sub.k and its immediately following sampled value. Such analysis within the inventive method therefore encompasses backward time analysis to deal with signals over which the detector is detecting stimulus pulses in, for example, already recorded signals. The inventive method is equally valid for forward or backward time applications.
[0070] Method embodiment 10 employs a plurality of primary differences only. The next step (process step 20) in method embodiment 10 is to find, at each sample time t.sub.i, the minimum value of the differences Δ.sub.kp(t.sub.i) computed in method step 18, and such minimum-of-differences is the value of a detector output D(t.sub.i). In our n=2 example, at each sample time t.sub.i, the smaller of the two values Δ.sub.1p(t.sub.i) and Δ.sub.2p(t.sub.i) becomes D(t.sub.i).
[0071] In method step 22, detector output signal D(t.sub.i) is compared to a detection threshold T.sub.D, and if D(t.sub.i) is not greater than T.sub.D, then method embodiment 10 proceeds to the next sample time t.sub.i+1, and operation of stimulus pulse detection method 10 continues as explained above using the next sampled values of multi-channel signals 14. However, if D(t.sub.i) is greater than T.sub.D, then method embodiment 10 proceeds to method step 24 which represents the detection of a stimulus pulse at sample time t.sub.i. Method embodiment 10 then proceeds to method step 24i in which the detection of step 24 is indicated in some fashion within the system employing embodiment 10.
[0072] The embodiments illustrated in
[0073] Method step 28a may be realized by at least two approaches to such updating. For example, time period t.sub.th1 may be applied such that threshold T.sub.D is updated only after a completely new t.sub.th1-second period has been processed to find the maximum D.sub.max. Alternatively, time period t.sub.th1 may be applied as a moving window such that at every sample time t.sub.i, the maximum D.sub.max is determined using the immediately-past time period t.sub.th1. Thus, the value of detection threshold T.sub.D may be updated often under such an approach. Other variations to the way in which the maximum value D.sub.max is determined in method step 28a are envisioned within the scope of this invention; the two approaches described here are not intended to be limiting.
[0074]
[0075] In a fashion similar to
T.sub.D=(DNS.sub.max+D.sub.inst)+C.sub.4.Math.[D.sub.max−(DNS.sub.max+D.sub.inst)]
and can be algebraically reduced to:
T.sub.D=C.sub.3.Math.(DNS.sub.max+D.sub.inst)+C.sub.4.Math.D.sub.max
where the constant C.sub.3=1−C.sub.4. As above, constant C.sub.4 may have values of between 0.25 to 0.5, but such a range is not intended to be limiting.
[0076] The time periods t.sub.th2 and t.sub.th3 may each have the same or different values, and the detection threshold T.sub.D may be updated accordingly every time a detection occurs. The length of time periods t.sub.th2 and t.sub.th3 may be chosen to ensure that within such time periods no stimulus pulses occur and that the detector output signals D(t.sub.i) during such periods are representative of the high local non-stimulus-pulse maxima in D(t.sub.i). It is also anticipated that one of these time periods may also have a duration of zero. For example, t.sub.th2 may be zero, and the value of DNS.sub.max may be determined only from local peaks occurring for a time period t.sub.th3 after a stimulus pulse is detected.
[0077] Time periods t.sub.th2 and t.sub.th3 (also herein called inspection windows) provide control over maximizing the region of detector output signal D(t.sub.i) that is inspected for high levels of filter output which may be due to signal components other than the stimulus pulses. A good value detection threshold T.sub.D will be slightly higher than the highest level of D(t.sub.i) in which no stimulus pulses are present.
[0078] For example, in the field of cardiology, there are many scenarios in which the kind of stimulus pulses (“pacing pulses”) that may be present is either known or quickly evident after a cardiologist is able to observe some of the electrical cardiac signals (body surface and/or intracardiac signals) available from a patient. In the sections below, four scenarios are described to illustrate the utility of having signal inspection time windows before (t.sub.th2) and after (t.sub.th3) each detected stimulus pulse which are independent of each other.
Scenario 1: Single-Chamber Constant-Rate Pacing
[0079] In this scenario, the time intervals between stimulus pulses are constant and normally longer than in other scenarios since each individual pacing pulse will usually be causing a single heartbeat at a sustainable heart-rate interval for the patient's survival, e.g., 300 msec to 1,000 msec in humans. For example, a technician may set t.sub.th2=t.sub.th3=580 msec—for heart rates less than 100 beats per minute (bpm). The inspection windows t.sub.th2 and t.sub.th3 in this example are 20 msec less than the actual intervals (600 msec or more) to neighboring pacing pulses to allow for the non-zero width of each actual pacing pulse.
Scenario 2: Atrio-Ventricular (AV) Pacing
[0080] In this scenario, a stimulus pulse may be given to an atrium and a second pulse to a different site, usually a ventricle. This is normally done because of a defect in the normal conduction system of a heart which would otherwise automatically stimulate the ventricle from the activity in the atrium. In such a situation, the subject has one heartbeat for every two stimulus pulses, and these pulses occur in more closely coupled pairs. For example, the ventricular stimulus pulses may occur 140 msec after the atrial stimulus pulse. The next atrial stimulus pulse may occur 717 msec after the preceding ventricular stimulus. Such an AV pacing scheme allows the ventricle 140 milliseconds to fill with blood during atrial contraction and provides a heart rate of 70 bpm (total interval is 857 msec). If the stimulus detection logic keeps track of the pattern of already-detected stimulus pulses and has the foreknowledge of AV pacing, when a stimulus pulse is detected and believed to be an atrial stimulus, values for the inspection windows of t.sub.th2=697 msec and t.sub.th3=120 msec will survey all the neighboring signal where no additional stimulus pulse exist. (These values are each 20 msec smaller to compensate for the width of the stimulus pulses.) Alternately, the next detected stimulus pulse, if believed to be the ventricular stimulus, may swap the settings to t.sub.th2=120 msec and t.sub.th3=697 msec.
Scenario 3: Cardiac Resynchronization Therapy (Bi-Ventricular Pacing)
[0081] In this scenario, two stimulus pulses are given, one to each ventricle. These stimuli are physically distinct but are either generally close in time or simultaneous. The purpose of cardiac resynchronization therapy is to cause both ventricles to contract together in order, for example, to maximize cardiac output. The two chambers of the heart share a wall between them called the septum, and maximum efficiency occurs when both chambers contract at the same time that the septum contracts. If the two stimulus pulses are truly simultaneous, then for purposes of detection within the cardiac electrical signals, the two stimulus pulses may be treated as a single stimulus pulse, and the t.sub.th2 and t.sub.th3 inspection windows may both be set to slightly less than the expected heart-rate interval. However, if the interval between the two stimulus pulses is non-zero but short, one and then the other of t.sub.th2 and t.sub.th3 should be set to either zero or less than the delay, in an alternating fashion as in the AV pacing scenario.
Scenario 4: Induction Pacing or Overdrive Pacing (Pacing Trains)
[0082] These are pacing strategies which employ multiple pacing pulses, usually delivered to a single location in the heart but in a sequence of changing intervals. This is generally only done in an electrophysiology lab (EP lab) and usually requires a dedicated stimulus pulse generating instrument to provide the programmable stimulus pattern. A pacing train of stimulus pulses consists of a set of stimulus pulses which has a first stimulus-pulse interval followed by a second, usually shorter stimulus-pulse interval. Because the pattern of the stimulus pulse train is known to the EP doctor, the stimulus pulse detection method of this invention may also be informed of the pattern, and t.sub.th2 and t.sub.th3 inspection windows may be appropriately adapted as the method identifies each stimulus in the sequence.
[0083] To summarize, the values of t.sub.th2 and t.sub.th3 may be independently set within a wide range of values, say from 0 to 1,000 msec depending on the application of the stimulus pulse detector. The essential concept is that these values be determined such that during these inspection time windows, no stimulus pulses occur which cause detection threshold T.sub.D to be incorrect.
[0084]
[0085]
[0086]
[0087] The purpose of such suppression is to ignore subsidiary local peaks in detector filter output D(t.sub.i) which are close in time to a stimulus pulse since such subsidiary local peaks occurring within time period t.sub.S after an occurrence of a stimulus pulse may cause false positive detections of stimulus pulses. The value for suppression time period t.sub.S is chosen to encompass the electrical-signal aftereffects which are caused by a stimulus pulse itself and to be short of the expected time of the next stimulus pulse. In the field of cardiology, the electrical-signal aftereffects are often referred to as pace tails.
[0088]
[0089] In method step 54, when a stimulus pulse is detected (informed by the block diagram connection 54a), the signals from which the stimulus pulse is to be removed are processed to remove the presence of the stimulus pulse over a time period t.sub.R. The process is rapid and automatic, and thus time period t.sub.R may actually begin just prior to the detection time t.sub.sd and extend forward in time such that the aftereffects (pace tail) of the detected stimulus pulse will predominantly occur during time period t.sub.R. All of the logic to carry out such removal is embedded in method step 54 which then provides signal outputs 56 for use by other systems. Typical values for removal time period t.sub.R may be on the order of 10 to 40 msec, but these exemplary values are not intended to be limiting.
[0090] It is anticipated in this invention that removal of stimulus pulses from one or more signals may be realized by removal from signals which are outputs from A/D conversion step 16 as illustrated in
[0091]
[0092] It is desirable for a stimulus pulse to be strong in an electrical signal used for detection, and further it is desirable that there be little or no errors in the time of detection of stimulus pulses in the selected electrical signals. For example, using a system in which the interval between stimulus pulses (pulse-to-pulse interval) is a constant, and evaluating signals over a fixed time period (e.g., 6 seconds) in which Q stimulus pulses occur, one useful FOM may be determined by: (1) computing the detector output and therefore final threshold T.sub.DF for all possible combinations of n signals; (2) computing the pulse-to-pulse intervals of detected stimulus pulses for all possible combinations of n signals and using the pulse-to-pulse intervals to form an interval variation term I.sub.VARj for the j.sup.th combination; and (3) computing FOM as the difference between the value of T.sub.DF for a signal combination and the sum of the absolute value of the variation of pulse-to-pulse intervals of detected stimulus pulses for that combination. If there are G possible combinations of signals, then FOM.sub.j=T.sub.DFj−I.sub.VARj for j=1 to G where the interval variation for the j.sup.th signal combination is represented by V.sub.VARj=sum[abs(di.sub.jq−di.sub.jq-1)] where q=2 to Q and the value di.sub.jq is the q.sup.th pulse-to-pulse stimulus pulse detection time interval in the fixed time period of this determination. The value of FOM is higher for high values of T.sub.DF and low values of I.sub.VAR; thus the best combination is the combination, in this case, having the highest value of FOM. Note that if a stimulus pulse is missed (not detected) in a combination, then the value of I.sub.VAR for that combination is penalized. In the field of cardiology, the relative sizes of the two terms in this FOM are satisfactory if T.sub.DF is given in microvolts and I.sub.VAR is given in milliseconds when the fixed period of time for automatic channel selection is about 6 seconds. The fixed time period of 6 seconds is not intended to be limiting. It is also possible in another situation and application that a relative weighting factor between the two terms of this FOM will be useful to make the automatic selection process appropriately sensitive.
[0093] One very significant feature of the inventive stimulus pulse detection method is its immunity to noise in the electrical signals such as powerline noise in which the frequency of the noise source is very stable. Referring again to
[0094] For 60 Hz noise, the most effective value for f is 16.667. If an integer value for f of 17 is used, the amount of 60 Hz noise which is admitted into the detector output is quite small. However, by determining values of signals S.sub.kf (t−16.667), or if necessary S.sub.kf(t+16.667), by interpolation using neighboring values S.sub.kf(t−16) and S.sub.kf(t−17), or if necessary S.sub.kf(t+16) and S.sub.kf(t+17) of the corresponding sampled signal S.sub.k, the amount of noise admitted into the detector output is essentially insignificant, and the extra computational load is minimal. Since powerline noise is often one of the most significant sources of electrical signal noise in such signals, this feature of the inventive filter provides a significant improvement in stimulus pulse detection.
[0095] If the sampling rate employed is evenly divisible by both 50 and 60, such as 1,200 sps, then no interpolation is required for broadly effective powerline noise filtering. 400 Hz is also a standard frequency for some systems, and a sampling rate 1,200 sps also yields an integer value for f of 3.
[0096]
[0097] The multi-channel electrical signals 14 of this example are two intracardiac signals (n=2), designated Channel A as S.sub.1 and Channel B as S.sub.2, and these signals span an exemplary time period of 500 msec taken from within a much longer time period over which the inventive method was applied. The signals were sampled at 1,000 sps.
[0098] The time-plots of
[0099]
[0100]
[0101]
[0102]
[0103] During the 500 msec time span of the Channel A and Channel B signals shown in
[0104]
[0105] In the same computations with method embodiment 30 as were carried in for the example of
[0106] As with the example based on the digitized signals of
[0107] Even in situations in which there is little or no powerline noise, the inclusion of one or more other differences (in addition to the primary differences) as shown in the method embodiments 30, 30a, and 30b of
[0108] While the principles of this invention have been described in connection with specific embodiments, it should be understood clearly that these descriptions are made only by way of example and are not intended to limit the scope of the invention.