HEARTBEAT DETECTION METHOD AND HEARTBEAT DETECTION DEVICE

20170281021 · 2017-10-05

    Inventors

    Cpc classification

    International classification

    Abstract

    A heartbeat detection device includes a difference value calculation unit (3) for calculating, from a sampling data sequence of an electrocardiographic waveform of a living body, one of an amount of change and a degree of change of sampling data for each sampling time, a multiplication unit (4) for calculating, for each sampling time, a product by multiplying one of an amount of change and a degree of change of the sampling data at a time K by one of the sampling data at the time K and sampling data at a time before the time K by a predetermined time t, a peak detection unit (5) for detecting a peak of the product, and a heartbeat time determination unit (6) for setting time of the peak of the product as a heartbeat time.

    Claims

    1. A heartbeat detection method comprising: a calculation step of calculating, from a sampling data sequence of an electrocardiographic waveform of a living body, one of an amount of change and a degree of change of sampling data for each sampling time; a multiplication step of calculating, for each sampling time, a product by multiplying one of an amount of change and a degree of change of the sampling data at a time K by one of the sampling data at the time K and sampling data at a time before the time K by a predetermined time t; a peak detection step of detecting a peak of the product; and a heartbeat time determination step of setting a time of the peak of the product as a heartbeat time.

    2. The heartbeat detection method according to claim 1, wherein the peak detection step includes detecting a point at which the product is smaller than a threshold and becomes a peak.

    3. The heartbeat detection method according to claim 2, wherein the peak detection step includes a step of updating the threshold based on an average of peaks of the product detected.

    4. The heartbeat detection method according to claim 1, wherein the heartbeat time determination step includes determining whether a difference between a time of the peak of the product and an immediately preceding heartbeat time is not shorter than a predetermined time, and not adopting the time of the peak of the product as a heartbeat time if the difference from the immediately preceding heartbeat time is shorter than the predetermined time.

    5. The heartbeat detection method according to claim 1, wherein the heartbeat time determination step includes determining whether a heartbeat interval when the time of the peak of the product is considered as a heartbeat time has not increased from an immediately preceding heartbeat interval at a rate not lower than a predetermined rate, and not adopting the time of the peak of the product as a heartbeat time if the heartbeat interval has increased at the rate not lower than the predetermined rate.

    6. The heartbeat detection method according to claim 1, wherein the amount of change of the sampling data is a first derivative value of sampling data, the multiplication step includes calculating a product for each sampling time by multiplying a first derivative value of the sampling data at the time K by the sampling data at time the predetermined time t before the time K, and the predetermined time t satisfies 10 ms≦t≦12 ms.

    7. The heartbeat detection method according to claim 1, wherein a value indicating the degree of change of the sampling data is a second derivative value of sampling data, the multiplication step includes calculating a product for each sampling time by multiplying a second derivative value of the sampling data at the time K by one of the sampling data at the time K and the sampling data at time the predetermined time t before the time K, and the predetermined time t satisfies 0 ms<t≦1 ms.

    8. A heartbeat detection device comprising: calculation means for calculating, from a sampling data sequence of an electrocardiographic waveform of a living body, one of an amount of change and a degree of change of sampling data for each sampling time; multiplication means for calculating, for each sampling time, a product by multiplying one of an amount of change and a degree of change of the sampling data at a time K by one of the sampling data at the time K and sampling data at a time before the time K by a predetermined time t; peak detection means for detecting a peak of the product; and heartbeat time determination means for setting a time of the peak of the product as a heartbeat time.

    Description

    BRIEF DESCRIPTION OF DRAWINGS

    [0016] FIG. 1 shows graphs for explaining a principle according to the present invention;

    [0017] FIG. 2 shows graphs for explaining the principle according to the present invention;

    [0018] FIG. 3 is a graph for explaining the principle according to the present invention;

    [0019] FIG. 4 is a graph for explaining the principle according to the present invention;

    [0020] FIG. 5 is a block diagram showing the arrangement of a heartbeat detection device according an embodiment of the present invention;

    [0021] FIG. 6 is a flowchart for explaining the operations of the difference value calculation unit and multiplication unit of the heartbeat detection device according to the embodiment of the present invention;

    [0022] FIG. 7 is a flowchart for explaining the operations of the peak detection unit and heartbeat time determination unit of the heartbeat detection device according to the embodiment of the present invention;

    [0023] FIG. 8 is a flowchart for explaining another operation of the peak detection unit of the heartbeat detection device according to the embodiment of the present invention;

    [0024] FIG. 9 is a graph showing an example of an electrocardiographic waveform;

    [0025] FIG. 10 shows graphs for explaining the conventional problem; and

    [0026] FIG. 11 shows graphs for explaining the conventional problem.

    BEST MODE FOR CARRYING OUT THE INVENTION

    [0027] [Principle of Invention]

    [0028] FIGS. 1 to 4 show graphs for explaining a principle according to the present invention. In FIGS. 1 to 4, the abscissa represents the time [ms] and the ordinate represents the electric potential [arbitrary unit] replaced by a digital value.

    [0029] FIG. 1 shows enlarged graphs of portions in FIG. 10. It is understood that a peak R1 of an R wave in FIG. 1 is at time 10 ms before a peak D1 of a first derivative value DF. Therefore, to emphasize the peaks R1 and D1, a data sequence obtained by multiplying the first derivative value DF as the difference value between values before and after a sampling value X by a sampling value 10 ms before the sampling value X is tracked.

    [0030] FIG. 2 shows enlarged graphs of portions in FIG. 11. It is understood that the peak R1 of the R wave in FIG. 2 is at the same position as that of a peak D2 of a second derivative value DS.

    [0031] FIG. 3 is a graph obtained by plotting a value calculated by multiplying the first derivative value DF at each time in FIG. 10 by the sampling value X 10 ms before the time. It will be apparent from FIG. 3 that while peaks M1 corresponding to heartbeats are emphasized, noise components between heartbeats shown in FIG. 10 are reduced, and the peaks M1 corresponding to the heartbeats can be detected based on a threshold Th.

    [0032] Similarly, FIG. 4 is a graph obtained by plotting a value calculated by multiplying the second derivative value DS at each time in FIG. 11 by the sampling value X at the time in FIG. 11. It will be apparent from FIG. 4 that noise components are reduced, similarly to FIG. 3, and peaks M2 corresponding to heartbeats can be detected based on the threshold Th.

    [0033] As described above, according to the present invention, in the sampling data sequence of the ECG waveform, the amount of change or the degree of change of the sampling value at given time is multiplied by the sampling value at the given time or a sampling value at time a predetermined time t before the given time, thereby setting time of the peak of the product as a heartbeat time.

    [0034] The sampling data sequence of the ECG waveform includes a peak component corresponding to an R wave for each heartbeat. Furthermore, a data sequence obtained by calculating the derivative of the ECG waveform includes, for each heartbeat, a peak component corresponding to an abrupt change between an R wave and an S wave. That is, each of the data sequences includes peak components of the same beating rhythm. If these data sequences are overlaid by shifting them by a given time width, the peak components are synchronized with each other. Therefore, by multiplying the data sequences under appropriate conditions, it is possible to emphasize the peak components derived from the heartbeats. On the other hand, the fluctuation components of noise caused by a body motion or the like appear regardless of the heartbeats, and tend to be smoothed by multiplying the data sequences. As a result, it is possible to make only the heartbeats conspicuous, thereby facilitating detection of them.

    [0035] As a value for observing a change in ECG waveform along with an abrupt change between the R wave and the S wave, the first derivative or the second derivative presenting a unimodal waveform is appropriately used. In the sampling data sequence of the ECG waveform, the first derivative value of a sampling value at a time K is obtained by subtracting a sampling value at time (K−W) from a sampling value at time (k+W) (W is, for example, 5 ms). If the amount of change of the sampling value at a time K, that is, the first derivative value is used as a value by which the sampling value is multiplied, a sampling value at time (K−t) the predetermined time t before time K is multiplied by the first derivative value. The peak of the first derivative value appears about 10 to 12 ms after the peak of the R wave of the ECG waveform. Therefore, if the first derivative value is used, the predetermined time t is set to satisfy 10 ms≦t≦12 ms.

    [0036] The second derivative value of the sampling value at a time K is obtained by subtracting the first derivative value of the sampling value at time (k−W) from the first derivative value of the sampling value at time (K+W). If the degree of change of the sampling value at a time K, that is, the second derivative value is used as a value by which the sampling value is multiplied, the sampling value at a time K or the sampling value at time (K−t) the predetermined time t before time K is multiplied by the second derivative value. The peak of the second derivative value appears about 0 to 1 ms after the peak of the R wave of the ECG waveform. Therefore, if the second derivative value is used, the predetermined time t is set to satisfy 0 ms<t≦1 ms.

    [0037] The R and S waves of the ECG waveform are obtained by capturing a current along with a change in potential when the depolarization of the ventricular muscle cells progresses from endocardium to epicardium, and the movement and speed of the current are hardly influenced by an individual difference such as a body type difference. Therefore, the time interval between the peaks is almost constant.

    Embodiment

    [0038] An embodiment of the present invention will be described below with reference to the accompanying drawings. FIG. 5 is a block diagram showing the arrangement of a heartbeat detection device according to the embodiment of the present invention. The heartbeat detection device includes an electrocardiograph 1, a storage unit 2, a difference value calculation unit 3 (calculation means), a multiplication unit 4 (multiplication means), a peak detection unit 5 (peak detection means), and a heartbeat time determination unit 6 (a heartbeat time determination means).

    [0039] A heartbeat detection method according to the embodiment will be described below. In this specification, a procedure of detecting a heartbeat and calculating a heartbeat time of the heartbeat will be explained. By repeating calculation of a heartbeat time for the period of ECG waveform data, sequential data of heartbeat times are successively obtained, and the index of a heartbeat fluctuation can be calculated from the sequential data.

    [0040] In this embodiment, X(i) represents a data sequence obtained by sampling the ECG waveform where i (i=1, 2, . . . ) represents a number assigned to one sampling data. As the number i is larger, sampling time is later, as a matter of course. Furthermore, a represents an integer obtained by dividing, by the sampling interval, half (W described above) the time interval when obtaining the first derivative value of the sampling data X(i), b represents an integer obtained by dividing, by the sampling interval, a constant time difference t provided when multiplying the sampling data X(i) by its first derivative value, and Th represents the threshold for obtaining the peak of the product of the sampling data X(i) and its first derivative value.

    [0041] The electrocardiograph 1 measures the ECG waveform of a living body (human body) (not shown), and outputs the sampling data sequence X(i) of the ECG waveform. At this time, the electrocardiograph 1 outputs the data sequence by adding sampling time information to each sampling data. Note that a practical method of measuring the ECG waveform is a well-known technique and a detailed description thereof will be omitted.

    [0042] The storage unit 2 stores the sampling data sequence X(i) of the ECG waveform and the sampling time information, which have been output from the electrocardiograph 1.

    [0043] FIG. 6 is a flowchart for explaining the operations of the difference value calculation unit 3 and multiplication unit 4. The difference value calculation unit 3 calculates the first derivative value (X(i+a)−X(i−a)) of the sampling data X(i) for each sampling time (step S100 of FIG. 6).

    [0044] The multiplication unit 4 calculates, for each sampling time, a product (X(i+a)−X(i−a))×X(i−b) of the first derivative value (X(i+a)−X(i−a)) of the sampling data X(i) and sampling data X(i−b) at time the predetermined time t before the sampling data X(i) (step S101 of FIG. 6).

    [0045] FIG. 7 is a flowchart for explaining the operations of the peak detection unit 5 and heartbeat time determination unit 6. The peak detection unit 5 searches for a point at which the product (X(i+a)−X(i−a))×X(i−b) exceeds the threshold Th.

    [0046] First, the peak detection unit 5 sets the number (counter variable) i for successively reading out the sampling data sequence X(i) to an initial value (n in this example) (step S1 of FIG. 7). Next, the peak detection unit 5 compares the product (X(i+a)−X(i−a))×X(i−b) calculated by the multiplication unit 4 with the threshold Th (step S2 of FIG. 7).

    [0047] If the product (X(i+a)−X(i−a))×X(i−b) is equal to or larger than the threshold Th (NO in step S2), the peak detection unit 5 determines that there is no peak of the product near time indicated by i, sets i=i+1 (step S3 of FIG. 7), and returns to step S2. The processes in steps S2 and S3 are repeated until the product (X(i+a)−X(i−a))×X(i−b) becomes smaller than the threshold Th.

    [0048] If it is determined in step S2 that the product (X(i+a)−X(i−a))×X(i−b) is smaller than the threshold Th, the peak detection unit 5 determines that there is the peak of the product near time indicated by i, and advances to a procedure of specifying a peak position in step S4 and subsequent steps.

    [0049] The peak detection unit 5 temporarily sets a peak value P to (X(i+a)−X(i−a))×X(i−b) and stores it (step S4 of FIG. 7). The peak detection unit 5 sets a counter variable j for detecting the peak of the product and a variable k indicating the peak position to 1 (step S5 of FIG. 7).

    [0050] The peak detection unit 5 compares the product (X(i+a+j)−X(i−a+j))×X(i−b+j) calculated by the multiplication unit 4 with the current peak value P (step S6 of FIG. 7). If the product (X(i+a+j)−X(i−a+j))×X(i−b+j) is equal to or larger than the peak value P (NO in step S6), the process advances to step S9 without changing the peak value P and the value of the variable k.

    [0051] If the product (X(i+a+j)−X(i−a+j))×X(i−b+j) is smaller than the current peak value P, the peak detection unit 5 updates the peak value P to (X(i+a+j)−X(i−a+j))×X(i−b+j), and stores it (step S7 of FIG. 7). The peak detection unit 5 replaces the variable k by j (step S8 of FIG. 7), and advances to step S9. In step S9, the peak detection unit 5 determines whether the counter variable j does not exceed a predetermined value jmax designating a range within which the peak value is obtained.

    [0052] If the counter variable j does not exceed the predetermined jmax, the peak detection unit 5 sets j=j+1 (step S10 of FIG. 7), and returns to step S6. The processes in steps S6 to S10 are repeated until the counter variable j exceeds the predetermined value jmax. If the counter variable j exceeds the predetermined value jmax, the peak detection unit 5 ends the search for the peak value P based on the counter variable j. At this time, time of the newest peak value P, that is, time indicated by (i+k) is a candidate of a heartbeat time.

    [0053] Next, the heartbeat time determination unit 6 determines whether the detected heartbeat time is appropriate, and selectively fixes a heartbeat time.

    [0054] First, the heartbeat time determination unit 6 determines whether the difference between time T indicated by (i+k) and an immediately precedingly detected heartbeat time T.sub.(−1) is equal to or longer than a predetermined time (step S11 of FIG. 7). If the difference between time T and the immediately preceding heartbeat time T.sub.(−1) is shorter than the predetermined time, the heartbeat time determination unit 6 discards time T indicated by (i+k) without adopting it as a heartbeat time, and returns to step S3.

    [0055] A general normal value range exists for the heartbeat interval. If a very short heartbeat interval, as compared with the range, is detected, noise superimposed on an electrocardiographic waveform due to a body motion or the like is erroneously recognized as a heartbeat at high probability. It is possible to prevent erroneous detection caused by noise or the like by setting the condition that the difference between time T of the detected peak of the product and the immediately preceding heartbeat time T.sub.(−1) is equal to or longer than the predetermined time.

    [0056] Furthermore, the heartbeat time determination unit 6 determines whether a heartbeat interval (T−T.sub.(−1)) when time T indicated by (i+k) is considered as a heartbeat time has not increased from an immediately preceding heartbeat interval (T.sub.(−1)−T.sub.(−2)) at a predetermined rate or more (step S12 of FIG. 7). If the increasing rate (T−T.sub.(−1)))/(T.sub.(−1))−T.sub.(−2))) of the heartbeat interval is equal to or higher than a predetermined value, the heartbeat time determination unit 6 determines that the heartbeat interval has increased at the predetermined rate or more, and discards time T indicated by (i+k) without adopting it as a heartbeat time, thereby returning to step S3.

    [0057] If detection of a given heartbeat fails, data obtained as the heartbeat interval between heartbeats before and after the given heartbeat indicates a value about twice larger than an actual value, and is inappropriately used for evaluation of the autonomic function or the like. It is possible to exclude the erroneous data, for which detection of a heartbeat has failed, from the analysis target of the biological information by setting the condition that the detected heartbeat interval has not increased at the predetermined rate or more.

    [0058] If the difference between time T indicated by (i+k) and the immediately preceding heartbeat time T.sub.(−1) is equal to or longer than the predetermined time, and the increasing rate (T−T.sub.(−1))/(T.sub.(−1)−T.sub.(−2)) of the heartbeat interval is lower than the predetermined value, the heartbeat time determination unit 6 adopts time T indicated by (i+k) as a heartbeat time (step S13 of FIG. 7).

    [0059] After the end of step S13, i=i+1 is set and the process returns to step S2. This starts detection of the next heartbeat. Alternatively, the values of i, the number of which corresponds to a predetermined time shorter than the minimum value of the heartbeat interval to be detected, may be skipped, and the process may returns to step S2. By repeating the processes in steps S2 to S13, it is possible to obtain the sequential data of the heartbeat times, and obtain the index of a heartbeat fluctuation from the sequential data.

    [0060] Note that the threshold Th may be periodically updated based on the average of the peak values P obtained so far or the like. FIG. 8 shows a flowchart in this case. If YES is determined in step S9, the peak detection unit 5 updates, as the newest threshold Th, a value obtained by multiplying the mean value of the peak values P detected after the start of measurement by a predetermined coefficient r (step S14 of FIG. 8). When the mth heartbeat is to be detected, the (m−1) peak values P have already been detected, and then the peak value P is newly detected. As a result, the m peak values P in total are obtained. Thus, the mean value of the m peak values P is multiplied by the coefficient r. Note that the peak value when NO is determined in step S11 or S12 is not used to calculate the threshold Th.

    [0061] In the ECG waveform, the amplitude or the degree of change of each component is variable depending on an individual difference or the manner in which electrodes are attached. By setting, based on the average of the peak values P obtained so far, the threshold Th for detecting the peak of the product, it is possible to reduce the influence of a waveform variance caused by an individual difference or the like. Processes other than step S14 in FIG. 8 are as described with reference to FIG. 7.

    [0062] It is possible to obtain a significant effect by applying the heartbeat detection method according to this embodiment to the ECG waveform of the ECG lead in which a large R wave and a deep S wave are obtained, for example, the ECG waveform of one of the V3 to V5 leads. It is especially preferable to apply the method to the ECG waveform of the CC5 lead or similar lead which is often used to obtain the ECG waveform in daily life.

    [0063] In the heartbeat detection method according to this embodiment, it is possible to obtain a data sequence of correct heartbeat times, and obtain the highly reliable index of a heartbeat fluctuation based on the data sequence.

    [0064] Note that this embodiment has explained a case in which a heartbeat is detected using the first derivative value of sampling data. However, the second derivative value may be used, as described above. In this case, the difference value calculation unit 3 calculates the second derivative value of the sampling data X(i) for each sampling time (step S100 of FIG. 6). When the first derivative value of the sampling data X(i) is given by DF(i)=(X(i+a)−X(i−a)), the second derivative value of the sampling data X(i) is given by (DF(i+a)−DF(i−a)).

    [0065] Consequently, the multiplication unit 4 calculates, for each sampling time, the product (DF(i+a)−DF(i−a))×X(i) of the second derivative value (DF(i+a)−DF(i−a)) of the sampling data X(i) and the sampling data X(i) or the product (DF(i+a)−DF(i−a))×X(i−b) of the second derivative value (DF(i+a)−DF(i−a)) and the sampling data X(i−b) at time the predetermined time t before the sampling data X(i) (step S101 of FIG. 6).

    [0066] In the description of FIGS. 7 and 8, the product (X(i+a)−X(i−a))×X(i−b) is replaced by (DF(i+a)−DF(i−a))×X(i) or (DF(i+a)−DF(i−a))×X(i−b), and the product (X(i+a+j)−X(i−a+j))×X(i−b+j) is replaced by (DF(i+a+j)−DF(i−a+j))×X(i+j) or (DF(i+a+j)−DF(i−a+j))×X(i−b+j). Thus, it is possible to detect a heartbeat using the second derivative value of the sampling data.

    [0067] The storage unit 2, difference value calculation unit 3, multiplication unit 4, peak detection unit 5, and heartbeat time determination unit 6 described in this embodiment can be implemented by a computer including a CPU (Central Processing Unit), storage device, and interface and a program that controls these hardware resources. The CPU executes the processing described in this embodiment in accordance with the program stored in the storage device.

    INDUSTRIAL APPLICABILITY

    [0068] The present invention is applicable to a technique of detecting heartbeats of a living body. Explanation of the Reference Numerals and Signs

    [0069] 1 . . . electrocardiograph, 2 . . . storage unit, 3 . . . difference value calculation unit, 4 . . . multiplication unit, 5 . . . peak detection unit, 6 . . . heartbeat time determination unit