Processing apparatus and processing method for determining a respiratory signal of a subject
10758164 ยท 2020-09-01
Assignee
Inventors
Cpc classification
A61B5/7246
HUMAN NECESSITIES
G16H50/20
PHYSICS
A61B5/7264
HUMAN NECESSITIES
A61B5/1121
HUMAN NECESSITIES
A61B5/0816
HUMAN NECESSITIES
A61B2562/0219
HUMAN NECESSITIES
International classification
A61B5/08
HUMAN NECESSITIES
A61B5/11
HUMAN NECESSITIES
A61B5/00
HUMAN NECESSITIES
Abstract
A processing apparatus (6) for determining a respiration signal (34) of a subject (100) is presented. The processing apparatus (6) is configured to perform the steps of obtaining a movement signal (22) descriptive of a respiratory movement, determining a first quantity (24) descriptive of a rotation axis and/or rotation angle based on the obtained movement signal (22), and estimating a rotation axis (25) and/or rotation angle (26) based on the first quantity (24) and a rotation model, wherein the rotation model models the respiratory movement as a rotation around a single rotation axis. This model of the rotation can be further used as a feature for an instantaneous classifier descriptive of a movement artifact descriptive of a non-respiratory movement. Furthermore, a processing method, a respiration monitor (1, 91), a computer-readable non-transitory storage medium and a computer program are presented.
Claims
1. A respiration monitor configured to determine a computed respiration signal of a subject wearing the respiration monitor, the respiration monitor comprising: a sensor comprising a multi-axial accelerometer and/or a gyroscope, wherein the sensor obtains a movement signal descriptive of a respiratory movement of the subject; a processor configured to: (i) receive the obtained movement signal from the sensor; (ii) determine a first quantity descriptive of at least one of a rotation axis or a rotation angle based on the obtained movement signal by comparing the obtained movement signal with an averaged movement signal; (iii) estimating at least one of the rotation axis or the rotation angle based on the first quantity and a rotation model, wherein the rotation model models the respiratory movement as an anticipated respiratory movement rotating around the estimated rotation axis, wherein the estimated rotation axis is a single, non-averaged rotation axis; (iv) determine an estimated movement signal based on the estimated rotation angle, the estimated rotation axis, and the averaged movement signal; (v) determine an instantaneous classifier for the obtained movement signal, wherein the instantaneous classifier is descriptive of a mismatch between the obtained movement signal and the estimated movement signal from the rotation model, comprising the steps of: (a) calculating a variance between the obtained movement signal and the estimated movement signal; and (b) assigning the instantaneous classifier a first value if the calculated variance exceeds a threshold; and (vi) generate, using the estimated rotation angle and the instantaneous classifier, the computed respiration signal; and an interface configured to communicate the computed respiration signal.
2. The respiration monitor according to claim 1, wherein the step of comparing the obtained movement signal with the averaged movement signal comprises computing a cross product of a vector descriptive of the movement signal and an average vector descriptive of the averaged movement signal.
3. The respiration monitor according to claim 1, wherein the step of comparing the obtained movement signal with the averaged movement signal by the processor comprises accounting for a stability of the respiratory movement.
4. The respiration monitor as claimed in claim 1, wherein the step of estimating at least one of the rotation axis or the rotation angle based on the rotation model comprises the step of performing a principal component analysis of the first quantity.
5. The respiration monitor according to claim 1, wherein the rotation angle is estimated based on a projection of the first quantity onto the estimated rotation axis.
6. The respiration monitor according to claim 1, wherein the processor is further configured to perform the step of: recovering a respiratory phase of the respiratory movement.
7. The respiration monitor according to claim 6, wherein the step of recovering the respiratory phase comprises: determining the number of local extrema of a waveform descriptive of the estimated rotation angle, and determining a baseline level of the waveform, and flipping the waveform when the number of extrema above the baseline level exceeds the number of extrema below the baseline level.
8. A method for determining a computed respiration signal of a subject comprising the steps of: providing a respiration monitor worn by the subject, the respiration monitor comprising a sensor, a processor, and an interface, wherein the sensor comprises a multi-axial accelerometer; obtaining, via the multi-axial accelerometer of the sensor, a movement signal descriptive of a respiratory movement of the subject; determining, by the processor, a first quantity descriptive of at least one of a rotation axis or a rotation angle based on the obtained movement signal by comparing the obtained movement signal with an averaged movement signal; estimating at least one of the rotation axis or the rotation angle based on the first quantity and a rotation model, wherein the rotation model models the respiratory movement as an anticipated respiratory movement rotating around the estimated rotation axis, wherein the estimated rotation axis is a single, non-averaged rotation axis; determining an estimated movement signal based on the estimated rotation angle, the estimated rotation axis, and the averaged movement signal; determining an instantaneous classifier for the obtained movement signal, wherein the instantaneous classifier is descriptive of a mismatch between the obtained movement signal and the estimated movement signal from the rotation model, comprising the steps of: (a) calculating a variance between the obtained movement signal and the estimated movement signal; and (b) assigning the instantaneous classifier a first value if the calculated variance exceeds a threshold; and generating, by the processor using the estimated rotation angle and the instantaneous classifier, the computed respiration signal; and communicating the computed respiration signal via the interface.
9. An apparatus for determining a computed respiration signal of a subject, the apparatus configured to be worn by the subject and comprising a sensor, a processor in communication with the sensor, and an interface, wherein the sensor comprises a multi-axial accelerometer, the processor configured to perform the steps of: obtaining, via the sensor, a movement signal descriptive of a respiratory movement of the subject; determining a first quantity descriptive of at least one of a rotation axis or a rotation angle based on the obtained movement signal by comparing the obtained movement signal with an averaged movement signal; estimating, by the processor, at least one of the rotation axis or the rotation angle based on the first quantity and a rotation model, wherein the rotation model models the respiratory movement as an anticipated respiratory movement rotating around the estimated rotation axis, wherein the estimated rotation axis is a single, non-averaged rotation axis; determining an estimated movement signal based on the estimated rotation angle, the estimated rotation axis, and the averaged movement signal; determining an instantaneous classifier for the obtained movement signal, wherein the instantaneous classifier is descriptive of a mismatch between the obtained movement signal and the estimated movement signal from the rotation model, comprising the steps of: (a) calculating a variance between the obtained movement signal and the estimated movement signal; and (b) assigning the instantaneous classifier a first value if the calculated variance exceeds a threshold; and generating, by the processor using the estimated rotation angle and the instantaneous classifier, the computed respiration signal; and directing the interface to communicate the computed respiration signal.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) These and other aspects of the invention will be apparent from and elucidated with reference to the embodiments described hereinafter. In the following drawings
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
DETAILED DESCRIPTION OF THE INVENTION
(13)
(14) The respiration monitor 1 according to an aspect of the present invention enables an unobtrusive measurement of the respiratory signal. As can be seen in
(15)
(16)
(17) The respiration monitor 1 comprises a sensor 5 for measuring a movement signal descriptive of a respiratory movement and a processing apparatus 6 for determining a respiration signal. In this exemplary embodiment, the respiration monitor 1 further comprises an interface 7 and a memory 8.
(18) The sensor 5 may, for example, comprise a multi-axial accelerometer which is adapted to generate a movement signal indicative of the acceleration along different spatial axes. In this embodiment, the multi-axial accelerometer is a tri-axial accelerometer adapted to generate a movement signal that comprises three accelerometer signals indicative of the acceleration along three orthogonal spatial axes. For example, three-axial accelerometers named Bosch BMA355, ST Microelectronics LIS3DSH, ST Microelectronics LIS344 ALH or Kionix KXM52 can be used. However, also other kinds of multi-axial accelerometers can be used for generating accelerometer signal indicative of the acceleration along different spatial axis. Furthermore, the sensor 5 may, for example, comprise a multi-axial gyroscope which is adapted to generate a movement signal indicative of the angular rotation along different spatial axes. For example, the ST Microelectronics LYPR540AH can be used to acquire angular rates for three orthogonal axes from which angular angles can be easily derived.
(19) The movement signal is provided to the processing unit 6 for determining the respiration signal of the subject. The processing apparatus 6 is configured to perform the steps shown in the flow chart of
(20) The interface 7 can be a wired or wireless interface for providing the respiration signal of the subject. Advantageously, the respiration monitor 1 is a battery-powered device and the interface 7 is wireless interface such that no cables are required. For example, the interface 7 can provide the respiration signal to a patient monitor for displaying a respiratory waveform on a screen. Alternatively, the interface 7 can be a human machine interface (HMI) for showing the respiration signal or any quantity derived thereof, such as for example the respiratory rate on a display of the respiration monitor 1.
(21) The memory 8 can store the respiration signal that has been determined by the processing apparatus 6. Alternatively, the memory 8 can be a non-transitory storage medium containing instructions for execution by the processing apparatus, wherein the instructions cause the processing apparatus 6 to perform the steps of the flow chart shown in
(22) In an alternative embodiment, the sensor 5 and the processing apparatus 6 are not implemented in one device. For example, a minimum configuration of sensor 5 and interface 7 can be implemented as a device that is worn by the patient. Sensor signals are thus transmitted via the interface 7 to the processing apparatus 6 at a remote location. For example, the processing apparatus 6 can be implemented as a part of a patient monitor or of a healthcare infrastructure such as a hospital IT system. In a further embodiment, a smartphone or a similar device serves as the processing apparatus 6 and is configured to perform the steps for determining the respiration signal.
(23)
(24) In an optional further step S14, an instantaneous classifier descriptive of a movement artifact descriptive of a non-respiratory movement is determined. Essentially, the instantaneous classifier evaluates a mismatch between the determined first quantity and the estimated rotation axis and/or rotation angle of the rotation model. Thereby, the actually obtained movement signal is compared to an anticipated respiratory movement which is described by the rotation model.
(25) In an optional fifth step S15, a respiratory phase of the respiratory movement is recovered. In other words, a phase of inhalation and a phase of exhalation are identified in the respiration signal.
(26) In an optional sixth step S16, the processing apparatus determines a respiratory rate from the respiration signal. The respiration signal can be thought of as a respiration waveform that displays inhalation and exhalation over time. The respiratory rate can be determined, for example, by means of a Fourier transform that transforms the time series into a frequency spectrum. However, advantageously for low latency and a quick display of the respiratory rate, the temporal separation of waveform features, such a temporal peak-to-peak separation can be evaluated. Optionally, an average value of waveform features is displayed. A duration of the averaging can be adapted based on a variation of the temporal separation of the waveform features to enable a quick response to a changing respiratory rate. However, the determination of the respiratory rate can alternatively also be performed by a further device such as a patient monitor.
(27) The sequence of the steps of the flow chart in
(28)
(29) Assuming that the rotation of the sensor occurs around a single axis, the first quantity c[m] can be computed by the cross product
c[m]=v[m]v.sub.mean[m].(1)
(30) The magnitude of the cross product can be interpreted as the area of the parallelogram having v[m] and v.sub.mean[m] as sides
c[m]=v[m].Math.v.sub.mean[m].Math.|sin([m])|,(2)
where [m] is related to the angle between the two vectors.
(31) For the vector v.sub.mean[m], an average over time of vectors v[m] is computed. For example an average of the past K vectors v[m] is computed by
(32)
where K is taken sufficiently large to cover at least a single breath. If the breathing is stable, the value of K can be extended over multiple breaths.
(33) As an alternative to averaging with a rectangular window having equal weights over the past input vectors, a weighted averaging can be applied. For example, exponential averaging with a memory of several seconds can be applied, i.e.,
v.sub.mean[m]=v.sub.mean[m1]+(1)v[m],(4)
where is the recursive averaging value computed as
(34)
where F.sub.s[Hz] is a sampling rate and T.sub.avg[s] is a averaging time. Exemplary values are T.sub.avg=4 seconds and F.sub.s=15.625 Hz, giving a value of =0.984.
(35)
(36) 1. Rotation Model
(37) As shown in
(38) In the optional step S22 the signal is pre-filtered. A low pass filter (LPF), a band-pass filter for typical breathing frequencies or any other type of pre-filter can be used for conditioning the intermediate movement signal 21. Furthermore, the filter can be an adaptive filter or a filter with fixed frequency response. However a rather simple filter is preferred to reduce a computational effort and/or latency. Alternatively, no pre-filter is used.
(39) The preprocessed movement signal 22 is split in three and now denoted as movement signal v. The first branch 22a is used in step S23 to compute the average movement signal v.sub.mean 23. The average movement signal v.sub.mean comprises a series of vectors v.sub.mean[m]. Examples for calculating v.sub.mean[m] are given in equations (3) and (4).
(40) In step S24, the first quantity c 24 is computed 24 based on the average movement signal v.sub.mean 23 and the second branch of the preprocessed movement signal v 22b as described in equation (1). In this embodiment, the first quantity can also be referred to as cross product signal comprising cross product vectors c[m].
(41) In step S25, a principal component analysis is performed to determine the single rotation axis 25 and estimate the angle signal p 26. The estimated angle signal p 26 comprises a time series of the estimated angle p[m].
(42) Intuitively, it can be understood that the norm of the cross product vector c[m] represents the angle of rotation of v[m] with respect to v.sub.mean[m]. This holds true under the assumption that v[m]1 and v.sub.mean1. In other words, the cross-product vector c[m] has a direction that is perpendicular to v[m] and v.sub.mean[m] with a length that is representative of the angle between v[m] and v.sub.mean[m].
(43) In practice, however, there can be fluctuations and noise on the movement signal v, and the rotation can be non-ideal. Therefore, a principal component analysis method (PCA) can be applied in step S25 to the cross product signal c for determining the principal axis of rotation of the movement signal v. Thus a series of vectors c[m] from equation (1) serve as an input for the principal component analysis (PCA). The rotation axis 25 that is identified by the PCA is denoted by .
(44) Optionally, the rotation axis is also a series of rotation axis [m] that are computed repeatedly. Thus, the PCA is adaptive and tracks the rotation-axis [m] continuously. The speed of this adaptation can optionally be adjusted by a parameter that is chosen by a trade-off between accuracy and speed of convergence. Further optionally, alternative dimension reduction techniques can be used instead of PCA. Such techniques are also referred to as sub-space methods.
(45) Based on the identified rotation axis [m] and the first quantity c[m], an estimated angle p[m] can be computed by the dot product or scalar product given by
p[m]=c[m].Math.[m] sin([m]),(6)
(46) The quantity p[m] is thus a scalar value that represents the estimated rotation angle. It should be noted that equation (6) further comprises an attenuation factor , wherein
0<1.(7)
(47) The introduction of the parameter is a consequence of the fact that the sensor also can also subject to rotations around the gravity vector that cannot be measured by the sensor. This factor is more close to 0 when the amount of rotation around the gravity vector increases. Another consequence of a rotation around the gravity vector is that the rotation axis (identified by the PCA) does not necessarily represent the physical rotation axis anymore, but only the contribution of a respiratory movement that does not coincide with the gravity vector.
(48) The rotation angles due to a respiratory movement are typically in the order of 1 or 2 degrees. Therefore, the quantity p[m] can be directly related to [m] without applying an arcsin operator. For simplicity, the quantity p[m] can be directly referred to as the estimated rotation angle. The time series of estimated rotation angles p[m] gives the estimated rotation angle signal 26 denoted by p.
(49) In an embodiment, the signal p can be directly interpreted as the respiration signal of the subject without further processing. However, advantageously additional signal processing steps further improve a quality of the respiration signal by determining an instantaneous classifier 11 descriptive of a movement artifact of a non-respiratory movement and/or by recovering a respiratory phase 12.
(50) 2. Instantaneous Classifier
(51) The determination of the instantaneous classifier in block 11 essentially is a check whether the rotation of the sensor fits the rotation model. If there is no small rotation around a single rotation axis this is indicated by the instantaneous classifier.
(52) In the embodiment shown in
{circumflex over (v)}[m]=R(, p)[m]v.sub.mean[m],(8)
where the vector v.sub.mean[m] is rotated around the axis defined by [m] by an angle of p[m]. The rotation matrix R ([m], p[m])R(, p)[m] is defined as:
(53)
where the values of a, b, c and d are calculated for each new vector v[m] of the movement signal v and are given by a quaternion q.sub.r[m]. This quaternion is a unit vector: q.sub.r[m]=1 and is given by:
(54)
(55) In the next step S28, the residual model error r[m] is computed by:
r[m]=v[m]{circumflex over (v)}[m](11)
giving an error signal 28 denoted by r.
(56) Ideally, when the rotation of the sensor perfectly fits the rotation model, the obtained movement signal corresponds to the estimated movement signal, thus {circumflex over (v)}[m]=v[m] and r[m] will be equal to an all-zero vector. However, in practice, there are motion artifacts and other disturbances causing rotations that cannot be modeled by a rotation around a single fixed rotation axis . During a motion artifact, there are typically large rotations around multiple axis and the estimated rotation axis deviates from a rotation axis described by the first quantity c. Especially when the angular rotation becomes larger, the chances of deviations from the model will become bigger.
(57) Furthermore, there can be model errors during the process, for example that weights of the PCA performed in step S25 have to (re)converge, e.g. after initially applying the sensor to the subject or after a posture change. Also in such case, the residual vector r[m] is or will become larger.
(58) During a motion artifact, an adaptive PCA continues to adapt, although very slowly. However, the PCA does not converge to a stable rotation axis. After the motion artifact, the PCA is able to converge again to a correct rotation axis that is representative of the breathing-induced micro-rotations. Optionally, the processing apparatus speeds up the adaptation of the PCA for a small time-period after the movement artifact has occurred. This enables a faster convergence to the new stable rotation axis.
(59) In a preferred embodiment, the variance of r is determined in step S29. As the variance of r[m] is a good indicator for movement artifacts or model errors, the variance of r[m] is proposed as a (single) feature for the instantaneous classifier. The variance is denoted by Var[m], the variance signal 29 is denoted by Var.
(60) As an sub-step of step S29, a value descriptive of the residual model error r[m] can be determined. For example, the L.sub.2 norm is computed on a sample-by-sample basis,
(61)
where c denotes the index of the vector elements, thus the x-, y-, and z-component.
(62) In a next sub-step of step S29, the variations of L.sub.2[m] over time are computed. For example, the variance is computed over a block of B samples (e.g. B=16 samples equals roughly 1 second for a sampling rate of Fs=15.625 Hz):
(63)
and K.sub.B=0, 1, . . . , is the block-index. In this example, the blocks are non-overlapping blocks of B samples. Alternatively, overlapping blocks can be used.
(64) The instantaneous classifier 30 is determined in step S30. In the shown embodiment, the instantaneous classifier indicates if a variance Var exceeds a threshold x. The classifier can then be defined as
(65)
where artifact=1 means that an artifact is detected and the signal is classified as being bad. The threshold x can be a fixed threshold or an adjustable threshold. Alternatively, the variance Var 29 can directly be used as the instantaneous classifier indicative of a signal quality. However, a threshold decision of step S30 and having a binary classifier 30 is preferred in several application scenarios. For example, a nurse in a general ward or a subject in a home healthcare setting wants clear feedback if the respiration monitor is properly attached. In contrast to the prior art, wherein a quality metric is determined for time windows of for example 30 seconds duration by performing a spectral analysis or determining an entropy feature of the movement signal, the instantaneous classifier thus provides a quality metric with low latency. For example, the variance Var 29 is computed every second.
(66) As an alternative or in addition to the binary decision of step 30, a quality index (QI) 31 can be determined in step S31 based on the variance 29. In this embodiment, a quality index 31 can be determined as
(67)
where f[K.sub.BB] represents a smoothed feature-value. The smoothed feature value can, for example, be given by:
with f[K.sub.BB] Var[K.sub.BB] and where .sub.B is a recursive averaging value computed similar to equation (5) by
(68)
where F.sub.s[Hz] is the sampling rate and T.sub.avg[s] is the averaging time. Exemplary values are B=16, T.sub.avg=10 seconds and F.sub.s=15.625 Hz, giving a value of .sub.B=0.9.
(69) Optionally the quality index 31 is presented to the user for evaluating the signal quality. The quality index and/or the instantaneous classifier can be presented visually and/or audibly.
(70) 3. Phase Recovery
(71) The previously explained processing for recovering the rotation angle p 26 of block 10 is accurate up to a sign ambiguity. The estimation of the rotation angle p 26 is based on how the gravity-vector is distributed over the three axis of the sensor. Because in practice, the sensor movement depends on factors like posture, physiology and sensor-attachment, the phase of this angular rotation cannot be unambiguously related to a phase of the respiration. Thus no information is provided whether an up-going rotation angle signal p 26 is caused by an inhale or exhale. Furthermore, also the PCA method of step S25 has an inherent sign-ambiguity. A phase recovery block 12 is thus required to distinguish an inhalation phase from an exhalation phase. A respiratory waveform should always be shown with the same orientation, e.g. rising edges of the rotation angle signal correspond to inhalation and falling edges correspond to exhalation, regardless of an orientation of the sensor.
(72) In a first optional step S32 of block 12, the rotation angle signal p 26 is filtered, for example by a low-pass filter (LPF). The output signal of step S32 is a filtered rotation angle signal p.sub.f 32.
(73) In a second step S33 of block 12, an orientation of the filtered rotation angle signal p.sub.f 32 is determined.
(74) To compute the extrema in the filtered rotation angle signal p.sub.f[m] 32, two signals representing the gradient of two subsequent samples can be computed as follows:
f.sub.1[m]=p.sub.f[m1]p.sub.f[m](19)
g.sub.2[m]=p.sub.f[m]p.sub.f[m+1](20)
(75) An extremum for the sample p.sub.f[m] is detected e[m] {0,1} when:
(76)
(77) To decide when to flip the signal when there are more extrema above the baseline 43 compared to the extrema 43 below the baseline, a cost-measure J[m] can be introduced that counts the net number of the extrema above and below a baseline level. An exemplary cost-measure is given by
(78)
where m.sub.0 is the sample-index from where the cost-measure will be started. This can be e.g. just after a movement artifact has occurred and the patient has possibly changed posture.
(79) Finally, the decision of flipping the sign of the respiratory waveform is done based on this cost-measure J[m], resulting in a phase-compensated respiration angle signal p*.sub.f[m] 33, i.e.:
p*.sub.f[m]=sgn{J[m]}.Math.p.sub.f.(23)
(80) An advantage of the proposed phase recovery by integration of the number of extrema is that the more extrema are counted, the less probable it is be that the sign changes during a stable period of breathing.
(81) In a last step S34, the phase-compensated respiration angle signal p*.sub.f 33 provided by step S33 can be combined with the instantaneous classifier 30 of step S30. The output of step S34 is a respiration signal 34. For example, the phase-compensated respiration angle signal p*.sub.f 33 is only provided as the output signal 34, if no motion artifact 30 has been detected.
(82) Optionally, also a respiration rate can be determined in step S34, for example by evaluating a temporal peak-to-peak separation in the respiration signal. Based on the time-difference of these peaks, breath-to-breath rates are determined. Finally, multiple breath-to-breath rates are averaged, for example by mean or median computation, the compute an average respiration rate.
(83)
(84)
(85)
(86)
(87) In conclusion, the processing apparatus, processing method and respiration monitor presented herein reliably determine a respiration signal. As an advantage, the determination of the respiration signal involves a limited computational effort for low power consumption. Furthermore, a quick initial reading of the respiration signal can be provided along with an instantaneous classifier as a quality metric that is also provided with low latency.
(88) 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. Other 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.
(89) 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 element or other unit may fulfill 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 measures cannot be used to advantage.
(90) 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.
(91) Any reference signs in the claims should not be construed as limiting the scope.