The invention relates to a method and apparatus for the analysis of a ballistocardiogram signal, and in particular to a method and apparatus that provides for the detection of single heart beat events in a ballistocardiogram signal.
A ballistocardiograph (BCG) measures the movement of the human body due to the momentum of the blood as it is pumped by the heart.
The BCG has advantages over the electrocardiograph (ECG) in that the measurement of body vital signs is possible without electrodes having to be glued to the body or for special sensors like belts, textiles or the like to be worn. Due to this unobtrusive nature the BCG is best suited for monitoring the heart activity of people at night over a long period of time. Likewise, BCG systems can be used as an additional safety measure to monitor patients in the general ward of hospitals without reducing their sleep quality. Since modern BCG systems can be fully integrated into a bed and can be activated by a single switch, the additional safety provided by such a system requires minimal extra effort from healthcare professionals.
Currently, algorithms for analysing ballistocardiogram signals to determine the heart rate use spectral methods or methods in the time domain that detect the reoccurrence of certain patterns by, for example, evaluating the autocorrelation function of the signal. In all of these approaches, segments of the signal have to be considered which last for several seconds such that they cover multiple heart beats. As a result, average heart beats over a period of time are obtained, but no beat-to-beat information is available.
Some algorithms for beat-to-beat estimation from ballistocardiogram signals have been presented, but these either require a large and expensive sensor array in order to work properly (“FFT averaging of multichannel BCG signals from bed mattress sensor to improve estimation of heart beat interval” by Kortelainen, J. M. and Virkkala, J., Engineering in Medicine and Biology Society, 2007, EMBS 2007, 29th Annual International Conference of the IEEE, 22-26 Aug. 2007, pages 6685-6688), human interaction (“Automatic Ballistocardiogram (BCG) Beat Detection Using a Template Matching Approach” by J. H. Shin, B. H. Choi, Y. G. Lim, D. U. Joeng and K. S. Park, Engineering in Medicine and Biology Society, 2008, EMBS 2008, 30th Annual International Conference of the IEEE, 21-24 Aug. 2008) or use different sensor modalities and lack accuracy (“Estimation of Respiratory Waveform and Heart Rate Using an Accelerometer” by D. H. Phan, S. Bonnet, R. Guillemaud, E. Castelli, N. Y. Pham Thi, Engineering in Medicine and Biology Society, 2008, EMBS 2008, 30th Annual International Conference of the IEEE, 21-24 Aug. 2008).
It is questionable whether these algorithms can be brought to market, or whether they are able to deal with the high intra- and inter-patient variability of ballistocardiogram signals, particularly those patients with arrhythmias.
Arrhythmias are a widespread problem and can be a predictor of critical health conditions. According to the American Heart Association an estimated 2.2 million Americans are living with atrial fibrillations. This means that the assumption made by some algorithms of a regular beating heart does not hold for a significant fraction of the people to be monitored in the general wards of hospitals, for instance.
Depending on the severity of arrhythmias, existing algorithms that try to detect heart beats in BCG signals fail sooner or later since they usually assume that the heart is beating rather regularly. Thus, there is a need for an algorithm for processing ballistocardiogram signals that is not based on this regularity assumption and which is thus able to work also in the case of severe arrhythmia. It is also desirable for an algorithm that can provide a reliable beat to beat analysis of the BCG signal.
Furthermore, many of the existing BCG analysis algorithms only work offline. Thus, it is desirable for the algorithm to be suitable for use online (i.e. continuously) and therefore suitable for monitoring and alerting tasks in hospitals, nursing homes or at home.
According to a first aspect of the invention there is provided a method of detecting heart beats of a user in a ballistocardiogram, BCG, signal, the method comprising detecting heart beats in the BCG signal by locating typical features of a heart beat for the user in the BCG signal, the typical features of the heart beat having been obtained during a training step.
According to a second aspect of the invention, there is provided an apparatus for use with a device for measuring a ballistocardiogram signal of a user, the apparatus comprising means for receiving a ballistocardiogram signal from the device; and processing means for performing the method described above on the received ballistocardiogram signal.
According to a third aspect of the invention, there is provided a computer program product comprising computer program code that, when executed on a computer or processor, is configured to cause the computer or processor to perform the method described above.
The invention will now be described in the following detailed description, by way of example only, with reference to the following drawings, in which:
The flow chart in
In order to learn the typical features of the heart beat during the training period (step 10), the segment of the ballistocardiogram used for the training is first filtered in order to remove any breathing components and to smooth the signal. Specific points are identified in the resulting signal which can be used to parameterize the signal. At each specific point the next n parameters are used to form a feature vector. The resulting feature vectors are clustered by similarity. Here, the principle is that the feature vectors covering individual heart beats will be similar enough that they will be clustered together, while other feature vectors will be found in different clusters.
Alongside this processing, the original (unfiltered) training segment is filtered in order to remove the breathing signal, but this time, no smoothing occurs. In this signal, high frequency components are determined which usually coincide with each heart beat. In this process, the passband frequencies of the filter used to detect the high frequency components are adjusted automatically.
The cluster that contains the feature vectors relating to the heart beats is identified using the characteristics of the individual clusters together with the determined high frequency components.
During the assignment step (step 12) the newly measured or received signal is again filtered, smoothed and parameterized as described above. The parameters of the signal are compared with the cluster that was identified as containing the features of the heart beats in the training step (step 10). Furthermore, high frequency components are detected in the newly arriving signal. Based on the similarity to the cluster containing the heart beats and the location of the high frequency components, a first estimate of the locations of heart beats is made. The positions of heart beats given by the first estimate are calibrated in a refinement step which is based on an autocorrelation between two consecutive heart beat signals.
The operation of the algorithm according to the invention will now be described in more detail with reference to
It will be appreciated that these features change from individual to individual and also depend strongly on the position of the monitored person relative to the BCG sensor.
The learning step (step 10) of the algorithm is depicted in
In step 101, the breathing component is removed from the ballistocardiogram signal by means of a high pass filter with a cut-off frequency of 1 Hz. The resulting filtered signal sfilt (depicted in
In the later steps of the algorithm every local extremum (i.e. maximum or minimum) of the pre-processed signal is analyzed. In these steps only meaningful, well-expressed extrema should be taken into account, while considering negligibly small extrema hampers the success of the algorithm. For this reason, the segment is first smoothed by means of a low pass filter with a cut-off frequency of 10 Hz (step 102 in the flowchart of
In the BCG signal ssmooth the heart beats are discernible as groups of peaks with similar amplitudes and inter-peak-distances after the breathing component has been removed.
In step 103, characteristic points the filtered and smoothed BCG signal are detected. In a preferred embodiment, these characteristic points are the maximas and the minimas of the signal.
In step 104 each detected local maxima in the signal ssmooth is parameterized. In a preferred embodiment, each local maxima k is parameterised using the following features:
These parameters are illustrated in
In step 105 the parameters of n (with n usually in the range n=3 to 10) consecutive peaks are collated and used to form feature vectors fk. A feature vector fk is given by
f
k
=[a
max,k
, d
max,k
, a
min,k
, d
min,k
, a
max,k+1
, d
max,k+1
, a
min,k+1
, d
min,k+1
, . . . , a
max,k+n−1
, d
max,k+n−1
, a
min,k+n−1
, d
min,k+n−1] (1)
where k=1, 2, . . . , K−n+1, and K denotes the number of peaks in the training segment strain. The number of peaks n to be collated into each feature vector fk roughly corresponds to the number of peaks which appear during each heart beat in the BCG signal. Thus, step 105 results in K−n+1 distinct feature vectors fk.
It will be appreciated by those skilled in the art that other parameterizations of the BCG signal ssmooth are possible. For instance, the signal can be approximated by splines where the knots of the spline approximation are the local maxima and minima and possibly a low number of other points (usually only one) in-between them. Alternatively, parameterization of the signal in terms of its most significant Fourier coefficients is possible.
In step 106, the feature vectors fk are clustered by similarity. Prior to this, in some embodiments of the invention, as clustering methods usually work best in low rather than high dimensional vector spaces, the dimension of the feature vectors can be reduced by means of principal component analysis.
In the BCG signal ssmooth, the heart beats are visible as repetitive patterns of peaks. Therefore, the particular feature vectors that describe the heart beats will be similar and will be distinguished considerably from those feature vectors that describe random fluctuations of the signal in-between the beats.
Therefore, in step 106, grouping the feature vectors by similarity will lead to a cluster or clusters that contain the feature vectors related to the heart beats only.
Those skilled in the art will appreciate that various methods, like, for instance, k-means clustering, hierarchical clustering, self organizing maps and the like are suitable for grouping the feature vectors fk into clusters. It will also be appreciated that various distance measures d, like, for instance, the Euclidian distance, the angle between the individual feature vectors etc. can be used in the clustering step.
In a preferred embodiment of the invention, apart from the standard clustering methods, it is of advantage to form a cluster for each feature vector that contains, each time, the P (where P is in the region of 10) next neighbours with respect to a certain distance measure (preferably the Euclidian distance).
Any of the clustering techniques leads to a number of clusters M, and it is necessary to identify the cluster that contains the feature vectors describing the heart beat patterns (step 107).
The flow chart in
In step 1071, for each of the M clusters, the cluster centre fcm is determined (where m indicates the m-th cluster and m=1, . . . , M). Techniques for determining cluster centres are well known to those skilled in the art, and will not be described further herein.
In step 1072, for each of the M cluster centres identified in step 1071, the feature vector fk in the set {fk|k=1,2, . . . ,K−n+1} that is closest to the cluster centre fcm is identified. This feature vector is denoted as farchm, as it is the feature vector that is the archetype or model of the part of the signal represented by the mth cluster. Thus, for the cluster that represents the heart beat signal, the archetype feature vector farch or the cluster centre fc for that cluster can be seen as a model for a parameterised heart beat.
Next, in step 1073, the training signal ssmooth is searched for the subsegment sarchm that best corresponds to farchm. Effectively, steps 103 and 104 of the learning procedure are reversed for the feature vector farchm). Thus, the located subsegment sarchm contains those n peaks of ssmooth whose parameterization is closest to farchm.
Steps 1074-1078 described below indicate how the cluster and cluster centre representing the heart beat signal are identified from the M subsegments sarch and M cluster centres identified in step 1072. Although fc is used in the following steps, it will be appreciated that farch could be used instead.
Firstly, in step 1074, the distance function between each cluster centre fcm and the individual feature vectors fk is computed. Preferably, the same distance measure as used in the clustering step (step 106) is used.
This distance function d will have a local minima with respect to fcm at position p, where p ε [1,2, . . . ,K−n+1] when the following condition is fulfilled: d(fc, fp−1)>d(fc, fp)<d(fc,fp+1)
It will be appreciated that the distance function d between fcm and any feature vector related to or that is part of that cluster will have a local minimum.
Then, in step 1075, the cross correlation between each subsegment sarchm and the training signal ssmooth is determined. It will be appreciated that the results of cross correlation will have maxima where the subsegment sarchm is most similar to the training signal ssmooth (i.e. the parts of the signal that the feature vectors in the mth cluster represent).
Considering the cluster and cluster centre that represents the heart beat (which have still not been identified from the M clusters at this stage), there will be a local minimum in the distance function and a local maximum in the cross correlation at each heart beat in the BCG signal ssmooth.
Thus, in step 1076, first estimates of heart beat locations are determined separately for each of the M clusters and cluster centres using the minima of the distance function and the maxima of the cross correlation function. Further details about how these two functions are used to identify locations is given in the assignment section below.
In addition to the cluster and cluster centre relating to the heart beat signal providing locations for the heart beats, the other clusters will also identify locations in ssmooth having local minima in the distance function and local maxima in the cross correlation function. However, these local extrema generally only appear sporadically in the BCG signal.
Hence clusters that are not related to the heart beat can be identified by checking the time between two individual local extrema in the BCG signal (step 1077). If the intervals between consecutive “heart beats” are larger than say, 3 seconds and/or smaller than 0.25 seconds then it can be assumed that the corresponding cluster is not related with the heart beat and can be ignored in the further analysis.
Although the check in step 1077 above is useful in excluding many of the clusters from the analysis, it is often the case that more than one cluster does pass the check. Hence, a further knock-out criterion is needed.
It is a general observation that heart beats lead to segments with comparatively high frequencies in the BCG. In the literature (“Higher Frequency Phenomena in the Normal Ballistocardiogram” by J. N. Edson, R. Dickes, G. H. Flamm and M. Tobin, Circulation Research, 1958, Vol. 1, pages 405-409) these high frequency components are said to be related with the mechanical forces caused by the opening and closing of the cardiac valves. Since the frequencies of these components can vary individually but also depending on the location of the BCG sensor, a dynamically adjusted bandpass filter is used to detect them in this method (see step 110 in
The optimal parameters are determined by filtering the signal segment sfilt (from step 101 in
For each filter in the set, the filter response is squared and a lowpass filter with a cut-off frequency of 3.5 Hz is applied to obtain a filter response envelope (as shown in
For each of the filter response envelopes, a relevance score is assigned to each peak in the envelope by means of
The filter which leads to the highest average relevance score is then selected and used in step 110 to detect the high frequency components of the filtered BCG signal sfilt. A more detailed description of the relevance score computation is provided in the assignment section below.
The high frequency components detected in step 110 using the optimal filter can now help to identify the cluster related to the heart beat in step 107. Returning now to
The cluster centre fc of this cluster is now denoted cHBcentre (step 108 in
Once the centre cHBcentre and the corresponding archetype of a heart beat signal sHBarch have been determined, newly incoming BCG signals (in the online case) or the rest of the BCG signal (in the offline case) can be scanned for heart beats (step 12 in
Whenever new samples (Sreal) come in from the BCG sensor they are filtered (step 201) and smoothed (step 202) as in steps 101 and 102 of the training algorithm shown in
The distances between the feature vectors and the heart beat cluster centre cHBcentre are computed and scanned for local minima in step 206 (which is analogous to step 1074 in
Further the optimal bandpass filter determined in step 110 of the learning algorithm is applied to scan the new BCG signal (sfilt) for maxima in the high frequency envelope (step 208).
The results of the analysis in steps 206, 207 and 208 can be used to identify where heart beats occur in the BCG signal sreal. However, it will be noted that the location of the minimum of the distance function, the maximum of the cross correlation and the maximum of the high frequency components might appear at slightly different locations (times). Additionally spurious high frequency components, but also wrong local extrema of the distance and cross correlation functions can appear. In such cases it is important to assess the reliability of the individual criteria in order to find a reasonable compromise between them. Thus, in step 209, the reliability of the minima and maxima found in steps 206, 207 and 208 is assessed.
The reliability of a local minimum of the distance function is evaluated by means of its depth relative to the height of the two neighbouring maxima. For this purpose the differences in amplitude between the left maxima and the minima (hl) and between the right maxima and the minima (hr) are computed. The reliability rd of a minimum with amplitude amin is then evaluated as
rd=(hl+hr)/(2(amin+max(hr,hl)))
It can be shown that rd is normalized (i.e. 0≦rd≦1) by construction. The maximal score of 1 is assigned to minima which are symmetric with respect to the height of their neighbouring peaks and have an amplitude of 0.
Likewise a cross correlation peak with amplitude amax can be assessed using rx=(hl+hr)/(amax)
where h1 and hr are the amplitude differences between the peak and the left and right minima respectively. As with rd, rx is normalized and the maximal score is assigned to peaks that are symmetric with respect to their height above the left and right minima.
Finally, the reliability of a peak in the high frequency components of the signal is evaluated using
r
hf=(hl+hr)/(2amax)(amax/aref)
In this case, the first factor of the formula is identical to the calculation of rx and thus quantifies the peak's relative symmetry, whereas the second factor adjusts the score by the ratio of the peak amplitude amax to a reference amplitude aref. The reference amplitude aref is calculated during the training sequence as the average amplitude of the high frequency peaks plus the amplitudes' standard deviation.
Eventually it has to be determined how the information about the reliabilities rx, rd, and rhf computed above can be combined advantageously in order to determine at what point in time a heart beat has actually occurred (step 210). The time points at which the cross correlation criterion, the distance criterion and the high frequency component criterion would detect, each by itself, a heart beat are denoted by tx, td, and thf respectively. In the ideal case, these three times would be identical (i.e. tx=td=thf). However, in real world settings they slightly differ from each other because they try to detect heart beats by focusing on different features of the BCG signal. If a heart beat is well detected by all three criteria (distance, cross-correlation and high frequency component) simultaneously, the times td, tx and thf will form clearly discernable triplets (see
Consider, without loss of generality, the time thf as a starting point for the further description of the algorithm. At this time thf the high frequency criterion suggests a heart beat. In that case the algorithm detects if tx and td lie in the interval [thf−c, thf+c] where c is a constant usually set to about 0.3 seconds. If tx and td lie in this interval a representative value Rhf(r*hf,t*hf) of the three times tx, td, and thf and of the three reliabilities rx, rd, and rhf is constructed which is defined by a point in time t*hf and by a reliability r*hf. The representative time t*hf is computed as the sum of the times tx, td, and thf weighted with the corresponding reliabilities rx, rd, and rhf as follows:
t*
hf=(rxtx+rdtd+rhfthf)/(rx+rd+rhf)
The representative reliability is simply computed as the sum of the reliabilities of the cross correlation, distance and high frequency criterion, i.e.
r
hf=(rx+rd+rhf)/N N=3
Until now it has been assumed that the distance and cross correlation criterion lead to only one time td and tx, respectively, in the time interval [thf−c, thf+c]. If only one or even neither of these times are found in this interval, the procedure still works as described above, however the reliabilities of the missing time points are set to zero in the above formulae. Accordingly, the value of N is set to the number of non-zero reliabilities.
Likewise, it is also possible that the distance and/or correlation criterion suggest more than one heart beat in the interval [thf−c, thf+c]. If it is assumed that the distance criterion indicates two heart beats at times td1 and td2 in the interval [thf−c, thf+c], then the corresponding reliabilities rd1 and rd2 are weighted by a symmetric window function centred at thf which decreases linearly or nonlinearly with the distance from thf. In a preferred embodiment, a Gaussian window function is used which decreases to (almost) zero at the ends of the interval [thf−c, thf+c]. Only the time point td1 or td2 which has the largest weighted reliability is considered in the following steps of the algorithm while the other one is discarded.
So far, the procedure described above was based on the time point thf as a starting point. This starting point was chosen arbitrarily, and preferably in practice the procedures outlined above are repeated with td and tx, respectively, as the starting points. This will lead to new representatives Rd(t*d, r*d) and Rx(t*x, r*x). In the case of clearly discernable triplets as shown in
For each time point t at which a heart beat is thought to have occurred, the algorithm computes a score. If no representative is found at time t (i.e. no representative has a time component t*d, t*x, or t*hf that equals t) the score is zero. Otherwise, the score equals the sum of the reliability components of those representatives that have a time component equalling t.
For instance, assume that there are three representatives Rd(t*d,r*d), Rx(t*x,r*x) and Rhf(t*hf,r*hf) with t*d=t*x=t*hf=t then the corresponding score S(t) at time t equals
S(t)=r*d+r*x+r*hf
If S(t) is larger than a predefined threshold Sthresh then the algorithm detects a heart beat at time t. Otherwise no heart beat is detected and the algorithm waits for the next samples (in the online case). Those skilled in the art will appreciate that the threshold Sthresh can be adjusted during the training and/or assignment step depending on the reliability values of the q last detected heart beats.
Furthermore, in cases where the monitored person shows a rather regular heart beat, the recently determined beat-to-beat intervals can be used to predict when the next heart beat is most likely to occur. Around these points in time the threshold Sthresh is lowered in order to reduce the number of missed beats.
The points identified above already indicate well where the individual heart beats occurred in the BCG signal. However, in order to determine the individual beat-to-beat time intervals even more precisely, a further refinement step is required. In this step the period of time over which the pattern of a peak repeats itself for the first time in the signal is fine-tuned.
In particular, let t1, t2, . . . , tN, where N is the number of heart beats found so far, be the time points at which heart beats have been detected. Further, let s(tp,tp+1) denote the segment of the signal sfilt recorded between the time points tp and tp+1, with 1≦p≦N−1.
In order to fine-tune when the p-th peak repeats itself in the signal, the argument tshift
t
shift=arg maxdt xcorr(s(tp, tp+1), s(tp+1+dt, 2tp+1−tp+dt)), dt ε [−0.15 s, 0.15 s]
which maximizes the cross correlation xcorr between the segment s(tp,tp+1) and the following segment s(tp+1+dt, 2tp+1−tp−1+dt) is determined. The beat-to-beat interval ip,p+1 between the p-th and the p+1-th peak can eventually be computed as
i
p,p+1
=t
p+1
−t
p
+dt.
After this step the detection of the heart beat and the beat to beat interval computation is finished and the algorithm waits for the next samples to arrive.
Further
Finally,
It will be appreciated by those skilled in the art that state of the art BCG sensors can be integrated invisibly into the bed of a person to be monitored and hence offer fully unobtrusive monitoring of the heart rate and also the breathing rate. Furthermore, BCG based monitoring systems are far cheaper than established intensive care unit (ICU) monitoring systems. These two features make BCG based solutions ideal for the general ward of hospitals where the patients are no longer in need of a full scale ICU monitoring system but in which the physicians are still interested if the vital functions of their patients. Especially in this setting the accurate detection of arrhythmia is important since they can often be an indicator or predictor for other severe health problems.
BCG based technologies can also be used at home for long term monitoring of the heart and breathing rate. This application is, for instance, of great interest for patients suffering from heart failure since in this case reduced heart rate variability is seen as a predictor of decompensations.
Further, especially due to its unobtrusive nature, the BCG can be used to assess sleep quality without disturbing the monitored person at night.
Although the invention has been described in terms of a method or algorithm, it will be appreciated that the invention can be implemented in a BCG system (i.e. a computer apparatus in combination with apparatus for measuring the BCG signals), or as a stand-alone computer system or program. It will be appreciated that the BCG system can provide a ballistocardiogram signal in analog or digital form to the inventive apparatus, and the inventive apparatus can be adapted to receive this signal accordingly. For example, the BCG system can provide the ballistocardiogram signal to the apparatus in analog form, and the apparatus can comprise an anti-alias filter and an analog-to-digital convertor for providing a digital representation of the ballistocardiogram signal to a suitably-programmed digital signal processor in the apparatus. Alternatively, the BCG system can implement an analog-to-digital convertor so the ballistocardiogram signal is provided to the apparatus (and specifically to a digital signal processor in the apparatus) in digital form. The apparatus can receive the ballistocardiogram signal using any appropriate means, such as through a wired or wireless connection to the BCG system.
One embodiment of an apparatus for implementing the invention is shown in
There is therefore provided an improved method and apparatus for detecting single heart beat events in a ballistocardiogram signal.
While the invention has been illustrated and described in detail in the drawings and foregoing description, such illustration and description are to be considered illustrative or exemplary and not restrictive; the invention is not limited to the disclosed embodiments.
Variations to the disclosed embodiments can be understood and effected by those skilled in the art in practicing the claimed invention, from a study of the drawings, the disclosure, and the appended claims. In the claims, the word “comprising” does not exclude other elements or steps, and the indefinite article “a” or “an” does not exclude a plurality.
A single processor or other unit may fulfil the functions of several items recited in the claims. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measured cannot be used to advantage. Any reference signs in the claims should not be construed as limiting the scope. A computer program may be stored/distributed on a suitable medium, such as an optical storage medium or a solid-state medium supplied together with or as part of other hardware, but may also be distributed in other forms, such as via the Internet or other wired or wireless telecommunication systems.
Number | Date | Country | Kind |
---|---|---|---|
09166924.2 | Jul 2009 | EP | regional |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/IB2010/053364 | 7/23/2010 | WO | 00 | 1/24/2012 |