Wireless heart rate monitors are commonly used during exercise, athletic competitions, medical tests and other activities. For example, a non-invasive heart rate monitor can be worn by a user, contacting the user at a suitable location such as the wrist. Invasive heart rate monitors, which are implanted in the body, can also be used. One example of a wrist-worn heart rate monitor transmits an ultrasonic signal toward the wrist and detects reflections of the signal from a blood vessel within the wrist. Based on the Doppler principle, a motion of blood in the vessel and/or the vessel itself can be detected and used to determine a heart rate of the subject. However, accuracy of the heart rate measurement can be impaired due to factors such as noise, muscle movement and low signal-to-noise ratio.
In one embodiment, at least one tangible processor-readable storage device having computer readable software embodied thereon is provided for programming at least one processor to perform a method for monitoring a heartbeat period of a subject. The method includes obtaining velocity samples from a signal reflected from a subject, and determining features of the velocity samples. The method further includes, for each candidate current heartbeat period of different candidate current heartbeat periods, determining a first set of probabilities β by determining probabilities of different current heartbeat periods, based on the features. The method further includes determining a second set of probabilities α by determining probabilities of the different current heartbeat periods, based on an integer number Nphb>0 of different previous heartbeat periods. The method further includes determining which of the candidate current heartbeat periods is most probable, based on the first and second sets of probabilities.
In another embodiment, a heartbeat period monitoring device is provided for monitoring a heartbeat period of a subject. The heartbeat period monitoring device includes at least one micro-controller, at least one transmitter which transmits a signal toward a subject, responsive to the micro-controller, at least one receiver which receives a reflection of the signal from the subject, and circuitry for down modulating the reflection of the signal to provide a signal in an audio band, responsive to the micro-controller. The at least one micro-controller: (a) obtains velocity samples from the signal in the audio band, (b) determines features of the velocity samples, (c) for each candidate current heartbeat period of different candidate current heartbeat periods, to determine a first set of probabilities β, determines probabilities of different current heartbeat periods, based on the features, (c) to determine a second set of probabilities a, determines probabilities of the different current heartbeat periods, based on an integer number Nphb>0 of different previous heartbeat periods, and (d) determines which of the candidate current heartbeat periods is most probable, based on the first and second sets of probabilities.
In another embodiment, a heartbeat period monitoring device is provided for monitoring a heartbeat period of a subject. The heartbeat period monitoring device includes at least one micro-controller, and at least one laser emitter diode package responsive to the at least one micro-controller. The at least one laser emitter diode package comprises a laser emitter diode and a monitor photodiode in a cavity, the laser emitter diode transmits a laser beam toward a subject, the laser beam is reflected by the subject, at least in part, back into the cavity as a reflected optical signal, the reflected optical signal mixes in the cavity to provide a mixed optical signal, the monitor photodiode converts the mixed optical signal to an electrical signal, and the electrical signal is in an audio band and has amplitude fluctuations with a frequency equal to a Doppler shift of the reflected optical signal. The at least one micro-controller: (a) obtains velocity samples from the electrical signal, (b) determines features of the velocity samples, (c) for each candidate current heartbeat period of different candidate current heartbeat periods, to determine a first set of probabilities β, determines probabilities of different current heartbeat periods, based on the features, (c) to determine a second set of probabilities α, determines probabilities of the different current heartbeat periods, based on an integer number Nphb>0 of different previous heartbeat periods, and (d) determines which of the candidate current heartbeat periods is most probable, based on the first and second sets of probabilities.
Corresponding methods may also be provided, along with a tangible processor-readable medium which stores code which is executable by a microprocessor/microcontroller to perform the methods described herein.
Alternatively or additionally, the heart rate monitoring device 104 transmits the heart rate via a wireless signal 110 to a remote console 120 such as a console which is mounted to a bicycle, treadmill, stair climber machine or other exercise equipment. The console can be mounted or handheld, for use by another person such as an athletic trainer or medical personnel. In this example, the console has a display with a region 122 which provides a current heart rate, e.g., 120 beats per second (bps), a region 124 which indicates a elapsed exercise time, a region 126 which indicates a number of calories burned in the exercise session, and a region 128 which is a bar chart showing a history of the heart rate, e.g., over the past few minutes, relative to a target heart rate range which is between maximum (max) and minimum (min) levels. The console can also provide an audible output such as an alarm when the heart rate moves outside the target heart rate range, to signal to the user to move faster or slower. The remote console could also be a portable device such as a cell phone, media player, personal digital assistant (PDA) or similar device. Such a device can be held in the user's hand or attached to the user's body, e.g., using a strap, or placed in a pocket of clothing worn by the user.
In addition to real-time processing and updating of a heart rate or other parameter, the heart rate monitoring device 104 can record data in a non-volatile memory such as a computer hard drive or flash memory for subsequent analysis.
The transducers can be piezoelectronic transducers, in one approach. The length of each transducer can be about one centimeter long. The transducer length is also generally equal or greater than five times its width. The frequency at which a transducer operates at is generally related to the thickness of the transducer. On example transducer is a lead zirconate-titanate transducer.
Based on an oscillator 205 whose carrier signal is passed from a microcontroller 200, the transmitter operates at a carrier frequency fc such as in an ultrasonic region of the frequency spectrum, e.g., between about 30 KHz and about 30 MHz. In one possible approach, fc is selected from a range of 1 MHz to 10 MHz. In another possible approach, fc is selected from a range of 5 MHz to 20 MHz. The carrier signal can be a sine or square wave at fc, for instance. The microcontroller 200 can be implemented as one or more of several common microcontroller integrated circuits and can include, e.g., at least one processor 201 and at least one memory 203. The at least one memory can be at least one tangible processor-readable storage device having computer readable software or code embodied thereon for programming at least one processor to perform a method for monitoring a heart rate of a subject.
The reflected ultrasonic signal is provided from the receiver 202 to an RF amplifier 206, where it is amplified, and then to a mixer 208, which demodulates the amplified signal and generates a signal with an audio range frequency, e.g., 20 Hz to 20 KHz, using the carrier signal at fc. In an example implementation, the audio range frequency is in a 4 KHz bandwidth of 20 Hz to 4 kHz. The mixer 208 can be implemented as one or more of several common mixer ICs or frequency modulation ICs, and demodulates out the carrier signal fc. The audio range signal output from the mixer at the baseband received Doppler shifted frequency fd is amplified at an audio frequency amplifier 210, then filtered at a band pass filter 212, comprising a high filter and a low pass filter. The Doppler frequency shift is due to movement of the vessel 232 and/or blood flow in the vessel. The signal output from the band pass filter 212 is provided to the microcontroller 200 for processing to determine the heart rate. In one approach, the microcontroller 200 obtains velocity samples from the signal. The velocity samples are processed to provide a signal which represents the heart rate to a wireless transmitter to a remote display 216 and/or to the local display 106.
Here, a heart rate monitoring device 250 includes a laser emitter diode package 260 which, in turn, includes a laser emitter diode 262 and a monitor photodiode 264 within a laser cavity 266 having a gain medium. The laser emitter diode package may be powered by a current source 255 such as a laser pump that is modulated by the micro-controller 200, e.g., to provide current as a triangle wave. In response to the current, a standing wave is created in the cavity to cause the laser emitter diode to emit a laser beam 268 toward the subject's wrist 230, for instance. The emitted light may be, e.g., infrared light in a range of 0.74 um-300 um or light in a range of 600-950 nm. A portion of the laser beam is reflected as reflected light 270 and returns to the laser cavity, where it self-mixes with the original laser signal that is also within the cavity. The monitor photodiode senses the mixed laser signal 272, converting light amplitude into an output electric signal. As the reflected light enters the cavity, the power output of the emitted beam 268 fluctuates because of the self-mixing effect and generates a beat signal. The beat signal frequency is used to determine the velocity of the blood flow and/or the blood vessel. That is, the laser signal in the cavity will have amplitude fluctuations with a frequency equal to the Doppler shift of the laser reflections. Similarly, the electrical signal which is output from the monitor photodiode can be in an audio band, and can have the amplitude fluctuations with the frequency equal to the Doppler shift of the laser reflections. The electrical signal which is output from the monitor photodiode can be processed as discussed previously, e.g., by the audio frequency amplifier 210, band pass filter 212 and micro-controller 200. Similarly, the processing which is discussed below in connection with an ultrasound signal can be applied to a laser embodiment.
As an alternative to the use of the monitor photodiode, the velocity could be determined by monitoring a resistor of the laser pump.
In another approach, multiple lasers are used, such as a first laser which couples more strongly to the blood flow to detect the velocity of the blood flow, and a second laser which couples more strongly to the wall of the blood vessel to detect the velocity of the blood vessel wall. For example, the first laser can provide a signal in the range from 750 nm to 950 nm, and the second laser can provide a signal in the range from 600 nm to 850 nm. For further details of a laser implementation, see, e.g., US2010/0081940, titled “Laser Self-Mixing Sensors for Biological Sensing,” incorporated herein by reference.
The following terms can be defined. A heartbeat instant can be the instant at which a blood rush event, audible in the Doppler ultrasound signal, first begins in the veins being monitored by the heart rate monitoring device. The blood rush event can be an increase in the blood velocity due to a heart contraction, for instance. For example, if we think of an ECG signal, a blood rush event can correspond to the QRS complex. For one complete heartbeat in an ECG signal, the P-wave describes the atrial contraction, the QRS complex describes the ventricular contraction and the T-wave describes the ventricular decontraction. A Q wave is any downward deflection after the P wave. An R wave follows as an upward deflection, and the S wave is any downward deflection after the R wave. Alternatively, a heartbeat instant can be any specified portion of a heartbeat period, including the start, middle or end of a heartbeat period.
A heartbeat period is the period of time that elapses between successive heartbeat instants. The heartbeat period can be the inverse of the heart rate. A cepstrum can be any acoustic feature vector, x(t), that is computed, e.g., as the discrete cosine transform (DCT) of the log spectrum of the received audio band demodulated signal at time t. In one approach, the word “cepstrum” here is intended to refer to frequency vectors computed based on Fourier spectra, frequency-warped Fourier spectra, autoregressive spectra, and/or frequency-warped autoregressive spectra.
In one approach to determining heart rate, a probabilistic segmentation model is used. Such a model analyzes segments of v(t) using probabilistic techniques to determine that one or more heartbeat instants are present in the segment. The timing of the heartbeat instants is then converted to a heartbeat rate. For example, an instantaneous heart rate can be determined for each signal analysis window of successive overlapping signal analysis windows.
The techniques provided herein can improve the accuracy of a probabilistic segmentation model by nonlinearly transforming an extended feature vector, as follows. A cepstrum vector x(t) is computed from v(t) at time t, where t is measured, e.g., in centiseconds. For example,
The cepstrum x(t) can be obtained from the current signal analysis window 400, such as by multiplying the corresponding values/samples of v(t) by a Hamming window, determining the Fourier transform (such as the Fast Fourier Transform or FFT) of that windowed signal, taking the log magnitude of the result, and taking the discrete cosine transform (DCT) of the result. In one implementation, the log magnitude Fourier transform is compressed from 512 numbers to 32 numbers in order to represent only the spectral features audible to a human listener; this is done by adding together some of the log magnitude Fourier transforms within bands which represent the critical bands in the ear to create a lower dimensional spectrum, such as a 32-dimension spectrum which is reduced from a 512-dimension FFT. The 32-dimension frequency work spectrum is then transformed using a DCT to calculate the cepstrum.
For example, x(t) is a feature vector which is extracted from, and characterizes, a 25 msec. portion of v(t) which is in the current signal analysis window. A feature characterizes the signal from which the feature is calculated. The features of a given portion of v(t) can be compared to models of features to determine similarities. For instance, in a speech recognition system, the extracted features of an unknown utterance are compared to models of speech units such as phrases, words, syllables, phonemes and sub-phones. For example, see U.S. Pat. No. 7,464,031, titled “Speech recognition utilizing multitude of speech features,” incorporated herein by reference. Similar comparisons can be made for v(t) which is also an acoustic signal.
A likelihood function px (x(t)) can be redefined to be a function of a nonlinearly discriminatively transformed vector z(t). Thus:
px(x(t))=pz(z(t)).
The discriminatively transformed vector z(t)=[z1(t), z2(t), . . . ]T, where T represents the transpose, is composed of parameterized nonlinear functions,
zi(t)=g(y(t);θi),
where θi is a set of learned parameters, and y(t) is an extended local observation vector created by concatenating 2M+1 consecutive local observations,
In the example of M=1, we have:
Here, x(t−1) refers to the cepstrum based on the 100 velocity values of the window 402, x(t) refers to the cepstrum based on the 100 velocity values of the window 400 and x(t+1) refers to the cepstrum based on the 100 velocity values of the window 404.
The discriminatively transformed vector z(t) is depicted in
zi(t)=Σq=1QaiqK(y(t),μiq)
where θi={Q, ai1, μi1, . . . , aiQ, μiQ} is the set of trainable parameters governing the ith component, zi(t), of the output vector z(t), and where K(y,μ) is a nonlinear kernel function whose form is chosen prior to training of the model. For example, in one implementation, K(y,μ) is a radial basis function (RBF) defined by the equation K(y,μ)=exp(−|y−μ|2), and the parameters θi are chosen as described below in order to minimize a mean-squared error (MSE) term defined by Σt=1NT|c(t)−z(t)|2; in this case the transform is called an RBF neural network. For example, see U.S. Pat. No. 7,577,626, titled “Multi-scale radial basis function neural network,” incorporated herein by reference. In another implementation, K(y,μ) is a sigmoidal function, defined by K(y,μ)=1/exp(−yT,μ), and the parameters θi are chosen to minimize MSE; in this case the transform is called a feed forward sigmoidal neural network. In another implementation, K(y,μ) is an RBF, but ε takes the form of a hinge loss error term defined by Σt=1NTmax(0,1−c(t)Tz(t)); in this case the transform is called a support vector machine (SVM). See, e.g., US2009/0171868, titled “Method and Apparatus for Early Termination in Training of Support Vector Machines”, incorporated herein by reference.
In one approach, the transformation parameters θi may be trained by the use of labeled training data. For example,
where NT is the number of frames in the training data, and ε(c(t), z(t)) is a non-negative, monotonically non-decreasing function of |c(t)−z(t)|.
In another aspect, the instantaneous heart rate is computed based on a dynamic programming algorithm whose search space is the set of possible heartbeat instants. The dynamic programming algorithm can maintain three lists, LL(n,t), D1(n,t), and D2(n,t). The (n,t) entry or element in each list is a real number, specifying information about the nth-most probable sequence of heartbeat instants that ends with a heartbeat instant at time t. Two of the lists, D1(n,t) and D2(n,t), specify, in centiseconds, the two most recent heartbeat periods in the candidate heartbeat sequence. Thus, the candidate heartbeat sequence includes heartbeat instants at times t−D1(n,t)−D2(n,t), t−D1(n,t), and t. The remaining list, LL(n,t), specifies the log probability that the cepstral sequence (x(1), . . . , x(t)) was generated by a sequence of heartbeats ending with three heartbeats at times t−D1(n,t)−D2(n,t), t−D1(n,t), and t, respectively. The lists are maintained sorted, so that LL(n,t)>LL(n+1,t) for all 1≦n<N. N is the number of entries in the list. An example uses N=1,000. Using two previous heartbeats (Nphb, an integer number greater than or equal to one) is an example implementation which has worked well. The list could use from one to four previous heartbeats, for instance (1≦Nphb≦4). The use of three or four previous heartbeats can result in a solution which is too computationally intense, while the use of only one previous heartbeat may result in a solution which is not sufficiently accurate.
The log likelihood LL(n,t) can be computed using an N-best dynamic programming search, as follows. For each heartbeat period τ in the range Dmin≦τ≦Dmax, for each heartbeat sequence in the range 1≦b≦N, (where b is an index of an element in the list) the log probability of a candidate heartbeat sequence ending with heartbeat instants at t−τ and at t is computed as:
LL(candidate)=LL(b,t−τ)+α+β,
where α is the log probability of heartbeat period τ conditional on the two previous heartbeat periods D1(b,t−τ) and D2(b,t−τ), according to the following equation:
α=ln pτ(τ|D1(b,t−τ),D2(b,t−τ)),
where ln denotes the natural logarithm. In one implementation, α is computed as described below in eqn. (2). β is the log probability of the sequence of acoustic features from t−τ+1 to t being generated by a heartbeat period that begins at t−τ and ends at t, according to the following equation:
β=ln pz(z(t−τ+1), . . . ,z(t)|t−τ,t).
This is the probability of the sequence of feature vectors z from time t−τ+1 to t, conditional upon the heartbeat period beginning at time t−τ+1 and ending at time t, taking the natural logarithm.
Specifically,
τ is a candidate heartbeat period for the current signal analysis window, and extends from t−τ to t. Note that the time scale of
For any particular value of t, many candidate values of τ are considered. τ can be any value within a defined range of values which are prior to t. The range can be the range of all possible heartbeat durations, from Dmin (e.g., 0 or 1/220 min.) to Dmax (e.g., 1/40 min.) t is the synchronization value of the search process. Thus, at the value oft for a signal analysis window, we calculate the likelihood β for all of the different possible values of τ. For any time t of a signal analysis window, we calculate β in
We assume that τ is a random variable whose distribution depends on D1 and D2. We take the different possible two period sequences leading up to time τ and from each sequence, calculate the probability of getting a heartbeat going from t−τ to t given those two previous heartbeats. For simplicity, the depiction provided is for one value of τ as an example, with a few different values of D1 and D2. For example, in the set of bars 460, the bar 462 denotes the duration τ, the bar 464 denotes D1 and the bar 466 denotes D2. See also
From
In particular, the search candidate LL (candidate) is then compared to the least likely previously stored candidate at time t, which is LL(N,t). If LL(N,t)<LL (candidate), then LL (candidate) is sorted into the LL list. The D1 and D2 lists are updated at the same time, in order to make sure that the three lists remain synchronized.
The instantaneous heart rate is computed by finding the most likely time alignment of the heartbeat, then averaging the two recent heartbeat periods, for instance. The most likely time alignment is given by:
t*(t)=arg max{LL(1,t−Dmax), . . . ,LL(1,t)},
where Dmax is the largest plausible heartbeat period. The notation “t*” denotes the most likely alignment in units of time, and is between t and t−Dmax. For instance, with forty beats per minute as the lowest plausible heart rate, Dmax=1/40 min. The instantaneous heart rate estimate is then given by:
In an example implementation, every 10 msec., we look for the best possible alignment leading up to t. The model assumes we detect each successive heart beat. We can look at the last 0.5-1 sec. or so, which is a reasonable heart beat period and look for the best alignment of a heart beat within that time period, and calculate the heart beat period leading up to that most recent heartbeat. We start at t and go back, looking though the sequence of N-best lists for all possible values oft leading up to the current t, in the past second or so, and once we find the best of the best within that segment, we take the inverse of that heartbeat period. Thus, we look for the best possible alignment and the best possible heart beat period leading to that alignment.
In sum, β indicates the probability of z(t) given a particular heart beat period, based on training data which indicates what a full heart beat period looks like acoustically. The training data can be generic to a human, or can be classified by factors such as age and gender, or even specific to a person. A series of Gaussian mixture models (e.g., as defined in connection with eqn. (5) below) calculates the probability that a portion of the received acoustic signal (e.g., the current signal analysis window of v(t)) matches, e.g., sounds like, a full heart beat period of the training data. α indicates the probability of getting a particular heart beat period given the previous two heart beat periods. The predictive model assumes it is likely that the heart beat will change relatively slowly from one period to the next. This is a predictive model which says, e.g., if the two previous heart beat periods were one second, then the current heart beat period is likely to be one second. An outcome which varies from this is relatively less likely.
Further, a method is provided for efficiently estimating α=p(τ|D1, D2), the probability of sequential heartbeat periods, in a fashion suitable for temporally sequential dynamic programming. The probability of a heartbeat duration τ is modeled in terms of a dynamic model, μ(D1, D2), and a perturbation model, pv(v|D1, D2), defined as follows. First μ(D1, D2) is defined to be a conditional estimate of the expected log heartbeat period:
E[ln τ|D1,D2|=μ(D1,D2) (1)
Second, pv(v|D1,D2) is a model of the probability density function of the random variable V, where E[V]=0. For example, pv(v) may be a Gaussian probability density with conditional variance σ2(D1,D2). Finally, the conditional probability density function of heartbeat period τ is given by:
α=pτ(τ|D1,D2)=pv(ln τ−μ(D1,D2)|D1,D2) (2)
A method is provided for efficiently estimating pz(z(t−τ+1), . . . , z(t)|t−τ, t), the probability of the acoustic signal given knowledge of heartbeat times, in a sequential fashion suitable for temporally sequential dynamic programming.
Define tR to be the duration, in frames, of a standardized heartbeat model stored in memory. Define q(s) to be a non-negative, monotonically non-decreasing time-warping function which warps the candidate heartbeat period t−τ+s, for 1≦s≦T, so that it matches the reference duration tR. In particular, the endpoints of q(s) are given by q(1)=1 and q(τ)=tR. Define pQ(Q|τ) to be a model of the probability of the warping function Q=[q(1), . . . , q(τ)]. For example pQ(Q) may be a probability density function defined over the set of all piece-wise-linear warping functions,
q(s)=bk+aks for sk-1<s≦sk,1≦k≦K (3)
where s0=0, sK=τ, and the coefficients ak, bk are pre-computed so that q(s) contains no discontinuities. In order to compute the probability of the function q(s) given in Eq. 3, the following probability table is stored in memory (e.g., memory 203 in
pQ(Q)=p(s1, . . . ,sK-1|s0=0,sK=τ), (4)
Define pz(z(s)|q(s)) to be a model of the probability density function of the acoustic feature vector z(s) given the reference time q(s). For example, pz(z(s)|q(s)) may be a piece-wise mixture Gaussian probability density function,
pz(z(s)|q(s))=Σm=1MckmN(z(s);μkm,Σkm),sk-1≦s≦sk,1≦k≦K, (5)
where N(z(s); μkm,Σkm) is the multivariate Gaussian probability density function with mean vector μ and covariance matrix Σ evaluated at measurement vector z. In order to parameterize pz(z) as shown in Eq. 5, the following parameters are stored in memory: K×M scalar mixture weights ckm, K×M mean vectors μkm, and K×M covariance matrices Σkm.
The log probability β corresponding to any given t and τ is then computed using either of the following two probabilistic acoustic models. These are two different dynamic programming algorithms. A first model is a soft-alignment model based on the following equation:
β=ln {p(z(t−τ+1), . . . ,z(t)|t−τ,t)}=ln {ΣQpQ(Q|Σ)Πs=1τpz(z(t−τ+s)|q(s))}
For example, see U.S. Pat. No. 7,505,950, titled “Soft alignment based on a probability of time alignment,” incorporated herein by reference. A second model is a forced-alignment model based on the following equation:
For example, see U.S. Pat. No. 7,216,079, titled “Method and apparatus for discriminative training of acoustic models of a speech recognition system,” incorporated herein by reference.
These involve different alignments up to the nodes in
A main loop is then started with t=0. Each main loop represents processing of one signal analysis window. Step 502 computes the cepstrum x(t) from v(t). Step 504 computes the discriminatively transformed vector z(t) from the cepstra c(t−M), . . . , x(t+M). Step 506 initializes LL(n,t)=−∞ for 1≦n≦N. Next, a sub-loop starts with τ=Dmax. Setting LL(n,t)=−∞ is a placeholder until a candidate heartbeat duration is available. LL(n,t)=−∞ is less than any new candidate coming in. This gets replaced in the sort list (step 524) by α+β+LL(b,t−τ).
Step 508 calculates the segment likelihood β=ln p(z(t−τ+1), . . . , z(t)|t−τ, t). This can be considered to be determining a first set of probabilities β by determining probabilities of different current heartbeat periods, based on the features z(t).
Next, a sub-sub-loop starts with a loop index b set to one. b is an index into the previous N-best list.
Step 510 calculates the period likelihood α=ln p(τ|D1(b,t−τ), D2(b,t−τ)). This can be considered to be determining a second set of probabilities α by determining probabilities of the different current heartbeat periods, based on an integer number Nphb>0 (e.g., Nphb=2) of different previous heartbeat periods.
Decision step 512 determines whether LL(N,t)<α+β+LL(b,t−τ). If decision step 512 is true, the list is sorted and the index m is initialized to N. LL(n,t) is the N-best list at time t. LL(b,t−τ) is the N-best list at time t−τ.
Specifically, step 520 sets LL(m,t)=LL(m−1,t), D1(m,t)=D1(m−1,t) and D2(m,t)=D2(m−1,t). D1 and D2 are sorted so that each element in their list corresponds to a corresponding element in LL(n,t). So, it is not true that D1(m,t)≧D1(m+1,t). There is a correspondence between any given element of LL and a corresponding element of D1 and D2 so that, once LL is sorted, D1 and D2 are sorted correspondingly.
Decision step 522 determines whether LL(m,t)<α+β+LL(b,t−τ) and m>1. If decision step 522 is true, m is decremented by one and step 520 is repeated. If decision step 522 is false, the lists are updated in step 524 by setting LL(m,t)=α+β+LL(b,t−τ), D1(m,t)=τ and D2(m,t)=D1(b,t−τ). Subsequently, decision step 516 determines whether T>Dmin. If decision step 516 is true, τ is decremented by one time unit (e.g., 0.01 sec) and the control flow returns to step 508. If decision step 516 is false, step 518 provides an output by determining the heartbeat alignment t*=argmax{LL(1,t−Dmax), . . . , LL(1,t)} and the resulting Instantaneous Heart Rate R=2/(D1(1,t*)+D2(1,t*)). The alignment t* takes the highest score from among the best matches. See also
If decision step 512 is false, decision step 514 determines whether b<N. If decision step 514 is true, b is incremented by one and the control flow returns to step 510. If decision step 514 is false, decision step 516 is reached, as discussed.
The foregoing detailed description of the technology herein has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the technology to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. The described embodiments were chosen to best explain the principles of the technology and its practical application to thereby enable others skilled in the art to best utilize the technology in various embodiments and with various modifications as are suited to the particular use contemplated. It is intended that the scope of the technology be defined by the claims appended hereto.
Number | Name | Date | Kind |
---|---|---|---|
4319580 | Colley et al. | Mar 1982 | A |
4357944 | Mauser et al. | Nov 1982 | A |
4848355 | Nakamura et al. | Jul 1989 | A |
4890624 | Ganguly et al. | Jan 1990 | A |
5156154 | Valenta, Jr. et al. | Oct 1992 | A |
5213104 | Reynolds | May 1993 | A |
5377684 | Hara | Jan 1995 | A |
5839105 | Ostendorf et al. | Nov 1998 | A |
6024705 | Schlager et al. | Feb 2000 | A |
6312382 | Mucci et al. | Nov 2001 | B1 |
6544180 | Doten et al. | Apr 2003 | B1 |
6626838 | Doten et al. | Sep 2003 | B2 |
6782362 | Hon et al. | Aug 2004 | B1 |
6843771 | Lo et al. | Jan 2005 | B2 |
7216079 | Barnard et al. | May 2007 | B1 |
7464031 | Axelrod et al. | Dec 2008 | B2 |
7505950 | Tian et al. | Mar 2009 | B2 |
7559899 | Lo et al. | Jul 2009 | B2 |
7577626 | Mountrakis | Aug 2009 | B1 |
7580741 | Cazares et al. | Aug 2009 | B2 |
20030163032 | Terry | Aug 2003 | A1 |
20030163057 | Flick et al. | Aug 2003 | A1 |
20050004486 | Glass et al. | Jan 2005 | A1 |
20060015373 | Cuypers | Jan 2006 | A1 |
20060282236 | Wistmuller | Dec 2006 | A1 |
20070244524 | Qu et al. | Oct 2007 | A1 |
20070288183 | Bulkes et al. | Dec 2007 | A1 |
20090043216 | Lin et al. | Feb 2009 | A1 |
20090171868 | Bottou et al. | Jul 2009 | A1 |
20100049069 | Tarassenko et al. | Feb 2010 | A1 |
20100056939 | Tarassenko et al. | Mar 2010 | A1 |
20100081940 | McKenna | Apr 2010 | A1 |
20120243707 | Bradley et al. | Sep 2012 | A1 |
Number | Date | Country |
---|---|---|
2005107587 | Nov 2005 | WO |
Entry |
---|
Choi et al., The Distribution of Refractory Periods Influences the Dynamics of Ventricular Fibrillation, 2001, Circulation Research—Journal of the American Heart Association, Circ Res. 2001;88:e49-e58, pp. 1-10. |
Number | Date | Country | |
---|---|---|---|
20130053696 A1 | Feb 2013 | US |