Method, apparatus, computer program and system for measuring oscillatory motion

09724019 · 2017-08-08

Assignee

Inventors

Cpc classification

International classification

Abstract

A method, apparatus, computer program, system and device for measuring oscillatory motion comprising: receiving a plurality of signals related to a plurality of measurements of a direction of a vector parameter (a.sub.t-1, a.sub.t); determining a predominant measured direction of the vector parameter (ā.sub.t) based on the plurality of measurements of the direction of the vector parameter; determining an angle of rotation (φ.sub.t) between: a measured direction of the vector parameter (a.sub.t) of one of the plurality of measurements of the direction of the vector parameter, and the predominant measured direction of the vector parameter (ā.sub.t).

Claims

1. A method comprising: receiving a plurality of signals from at least one sensor sensing oscillatory motion, the plurality of signals being related to a plurality of measurements of a direction of a vector parameter, wherein the at least one sensor is either directly or indirectly coupled to a body part that undergoes oscillatory motion during respiration; determining a predominant measured direction of the vector parameter based on the plurality of measurements; determining a plurality of angles of rotation between: individual measured directions of the vector parameter of corresponding ones of the plurality of measurements, and the predominant measured direction of the vector parameter; determining a plurality of angular velocities based on the plurality of angles of rotation; monitoring values of the angular velocities; defining a first band of range of angular velocity values where an angular velocity value is greater than a first threshold value; defining a second band of range of angular velocity values where an angular velocity value is less than a second threshold value; defining a third band of range of angular velocity values where an angular velocity value is between the first and second threshold values; registering a count of a cycle of oscillatory motion upon determining monitored values of angular velocity undergoing four band transitions; and determining, based on the angular velocities with reference to (i) a predetermined relationship between angular velocity values and cannula pressure values, and (ii) a predetermined relationship between the cannula pressure values and flow rate values for nasal breathing, one or more of: a respiration pressure, a respiration flow rate, or an inspiratory flow.

2. The method as recited in claim 1, wherein the plurality of measurements comprise a plurality of pairs of sequential measurements of a direction of the vector parameter; the method further comprising: determining an axis of rotation for each pair of sequential measurements, wherein the axis of rotation is defined as an axis about which the measured direction of the vector parameter rotates between a pair of sequential measurements of the direction of the vector parameter; determining a predominant axis of rotation based on the determined axes of rotation; and wherein an individual angle of rotation of the plurality of angles of rotation is further determined based on rotation about the predominant axis of rotation.

3. The method as recited in claim 1, further comprising determining, based on an individual angular velocity of the plurality of angular velocities, a change in volume of a user's chest.

4. An apparatus comprising: a memory storing computer program instructions; and a processor configured to execute the computer program instructions to cause the apparatus at least to perform the method of claim 1.

5. A non-transitory computer readable storage medium encoded with instructions that, when executed by a processor, performs the method of claim 1.

6. The method as recited in claim 1, further comprising determining a change between: a measurement of the vector parameter, and a sequential measurement of the vector parameter.

7. The method as recited in claim 6, further comprising determining if the change is greater than a threshold value; and if the change is greater than a threshold value: receiving a further plurality of signals related to a further plurality of measurements of a direction of the vector parameter; re-determining the predominant measured direction of the vector parameter based on the further plurality of measurements; and determining an angle of rotation between: a measured direction of the vector parameter of one of the further plurality of measurements of the direction of the vector parameter, and the re-determined predominant measured direction of the vector parameter.

8. The method as recited in claim 1, further comprising: receiving a plurality of signals related to a plurality of measurements of a direction of a second vector parameter; determining a predominant direction of the second vector parameter based on the plurality of measurements of the direction of the second vector parameter; and determining an angle of rotation between: a measured direction of the second vector parameter, and the predominant direction of the second vector parameter.

9. The method as recited in claim 8, wherein the second vector parameter differs from the vector parameter.

10. The method as recited in claim 1, further comprising determining an angle of projection, wherein the angle of projection is defined as a projection of an individual angle of rotation of the plurality of angles of rotation onto a surface.

11. The method as recited in claim 10, wherein the surface comprises one of a plane or at least part of an ellipsoid.

12. The method as recited in claim 1, further comprising: determining a series of values of angular velocities or angles of rotation; and applying a pattern recognition algorithm to the series of values of angular velocities or angles of rotation.

13. The method as recited in claim 12, further comprising applying the pattern recognition algorithm to the series of values of angular velocities or angles of rotation in order to identify a motion.

14. The method as recited in claim 13, further comprising generating a control signal in response to identification of the motion.

15. An apparatus comprising: an input interface configured to receive a plurality of signals from at least one sensor for sensing oscillatory motion, the plurality of signals being related to a plurality of measurements of a direction of a vector parameter, wherein in use the at least one sensor is either directly or directly coupled to a body part that undergoes oscillatory motion during respiration; and a controller configured to: determine a predominant direction of the vector parameter based on the plurality of measurements; determine a plurality of angles of rotation between: individual measured directions of the vector parameter of corresponding ones of the plurality of measurements, and the predominant direction of the vector parameter; determine a plurality of angular velocities based on the plurality of angles of rotation; monitor values of the angular velocities; define a first band of range of angular velocity values where an angular velocity value is greater than a first threshold value; define a second band of range of angular velocity values where an angular velocity value is less than a second threshold value; define a third band of range of angular velocity values where an angular velocity value is between the first and second threshold values; register a count of a cycle of oscillatory motion upon determining monitored values of angular velocity undergoing four band transitions; and determine, based on the angular velocities with reference to (i) a predetermined relationship between angular velocity values and cannula pressure values, and (ii) a predetermined relationship between the cannula pressure values and flow rate values for nasal breathing, one or more of: a respiration pressure, a respiration flow rate, or an inspiratory flow.

16. A system comprising: a sensor configured to measure a direction of a vector parameter; a processor configured to generate a signal related to the direction of the vector parameter; a transmitter configured to transmit the signal; and the apparatus according to claim 15.

17. The system as recited in claim 16, wherein the sensor configured to measure the direction of the vector parameter comprises at least one of: a sensor configured to measure a gravitational field, a sensor configured to measure a magnetic field, or a sensor configured to measure an angular orientation.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) For a better understanding of various examples of embodiments of the present invention reference will now be made by way of example only to the accompanying drawings in which:

(2) FIG. 1 schematically illustrates a flow diagram of a method for measuring oscillatory motion;

(3) FIG. 2 schematically illustrates a flow diagram of another method for measuring oscillatory motion;

(4) FIG. 3 schematically illustrates an example of a sensor for measuring oscillatory motion;

(5) FIG. 4 schematically illustrates a flow diagram of another method for measuring oscillatory motion;

(6) FIG. 5 illustrates a graph of angular rate and respiratory rate against time;

(7) FIG. 6 schematically illustrates an example of an apparatus for measuring oscillatory motion;

(8) FIG. 7 schematically illustrates an example of a system for measuring oscillatory motion;

(9) FIG. 8 schematically illustrates an example of a device for measuring oscillatory motion;

(10) FIG. 9 illustrates a graph showing a comparison between a plot of angular rotation rates measured by an accelerometer based sensor according to an embodiment of the present invention and a plot of angular rotation rates measured by a gyroscopic sensor against time;

(11) FIG. 10 illustrates a graph showing a comparison between rotation rates measured by an accelerometer based sensor according to an embodiment of the present invention and nasal cannula pressure against time;

(12) FIG. 11A illustrates a graph showing a tri-axial accelerometer signal against time;

(13) FIG. 11B illustrates a graph showing the angle changes between consecutive acceleration vectors of FIG. 11A against time;

(14) FIG. 11C illustrates a graph showing angular rates calculated from the accelerometer signal of FIG. 11A against time;

(15) FIG. 11D illustrates a graph showing correlation coefficients between angular rates of FIG. 11C and cannula pressure against time;

(16) FIG. 11E illustrates a graph showing respiratory rates calculated from the angular rates of FIG. 11C and respiratory rates calculated from cannula pressure derived data against time; and

(17) FIG. 12 schematically illustrates a flow diagram of another method for measuring oscillatory motion;

DETAILED DESCRIPTION OF VARIOUS EMBODIMENTS OF THE INVENTION

(18) FIG. 1 schematically illustrates a flow diagram of a method 100 for measuring oscillatory motion. In block 101, a plurality of measurements of a direction of a vector parameter at given points in time (a.sub.t-1, a.sub.t) are received.

(19) The measurements of the vector parameter are captured by a sensor which is fixedly attached or physically coupled to the object whose oscillatory movement is to be measured, such that the sensor is kept in a stable and steady position with respect to the object so that movement of the object causes corresponding movement of the sensor. The measurements are captured at a predetermined frequency. Preferably, the frequency is set such that a plurality of measurements is captured over the duration of a single cycle of the oscillatory motion.

(20) In some embodiments, the sensor is fixedly attached directly or indirectly to a body part, for example a thorax, torso, chest, abdomen or ribcage region of a patient whose respiration is to be monitored, or a garment of the patient. The sensor is located and attached to a part of the body which undergoes oscillatory movement during respiration. The sensor may be directly or indirectly physically coupled to the body part by any suitable means such as, for example, via fixing/attaching means or adhesion. Preferably, the sensor device is affixed to the lower boundary of a patient's false ribs, on the mid clavicular line to maximize the amplitude of the measured oscillatory motion. Also, simultaneous placement of another sensor device on the thoracic cage and the abdomen would allow the capture of different stages and characteristics of breathing.

(21) The vector parameter may be a three dimensional vector which relates to: a gravitational field, a magnetic field or an angular orientation measured by a sensor. The sensor provides signals indicative of a measurement of a direction of the vector parameter in the sensor's measurement frame of reference, for example: a direction of the earth's gravitational field (e.g. a direction downwards in the sensor's frame), a direction of the earth's magnetic field (e.g. a direction north in the sensor's frame) or an orientation of the sensor. Movement of the sensor, in particular oscillatory rotational movement, causes the direction of vector parameter in the sensor's frame to change.

(22) Where the sensor is an accelerometer, due to the minor linear accelerations involved in the motions due to breathing, the measured acceleration vector parameter will be close to the acceleration due to gravity g whilst the patient is at rest and breathing. As the sensor rotates, the gravity vector would rotate in the co-ordinate frame of the sensor. The plurality of measurements enables the gravity vector's direction with respect to the sensor's frame of reference to be tracked during the oscillatory movement induced by breathing.

(23) In block 102, a predominant direction of the vector parameter (ā.sub.t) over a pre-determined period of time (W) is determined. This corresponds to an average direction of the vector parameter in the sensor's frame over the pre-determined period of time. Preferably, the time period over which measurements are taken is greater than or equal to the duration of one cycle of the oscillatory motion, e.g. the duration of a breath or a respiration cycle. This enables measurements to be captured over at least one entire cycle of oscillatory motion.

(24) The predominant direction of the vector parameter ā.sub.t can be calculated as:

(25) a _ t = normalise ( .Math. i = - W 2 W 2 a t + i )

(26) In block 103, an angle of rotation (φ.sub.t) is determined. This angle is defined as the angle between:

(27) one of the measured directions of the vector parameter (a.sub.t), and

(28) the predominant measured direction of the vector parameter (ā.sub.t).

(29) The angle of rotation φ.sub.t can be calculated as:
φ.sub.t=cos.sup.−1(a.sub.t.Math.ā.sub.t)

(30) An angular rotation rate or angular velocity ω.sub.t of the angle of rotation φ.sub.t can be determined. This can be calculated by taking the derivative ω.sub.t of φ.sub.t i.e.

(31) ω t = d ϕ d t

(32) Where the angular velocities are related to respiration, other respiration parameters can be determined from the angular velocities by applying various different algorithms to determine: breathing rates, breathing variability and changes in chest expansion.

(33) FIG. 2 schematically illustrates a flow diagram of another method 200 for measuring oscillatory motion which involves the determination of the axes of rotation of the vector parameter.

(34) As the sensor rotates, the measured vector parameter (e.g. the measured gravity vector, magnetic vector or orientation vector) rotates in the co-ordinate frame of the sensor. However, the axis of this rotation may be arbitrarily orientated in the sensor frame, and may change due to differences in the way the patient breathes at different times. The orientation of the axis can also change following a large scale movement, i.e. unrelated to the oscillatory movement, such as a change in the overall orientation of the patient. In order to reduce the affect of noise in measured signals, it is advantageous only to consider rotations about the axis of rotation. Thus, it is desirable to determine the axis of rotation and track it as it changes.

(35) In block 201, a plurality of measurements of directions of a vector parameter (a.sub.t-1, a.sub.t) are received. The measurements comprise pairs of sequentially measured measurements of the vector parameter.

(36) Similarly to block 102, in block 202 a predominant direction of the vector parameter (ā.sub.t) is determined.

(37) In block 203, an axis of rotation (r.sub.t) between each pair of sequential measurements (a.sub.t-1, a.sub.t) is determined. The axis of rotation it can be calculated as:
r.sub.t=a.sub.t×a.sub.t-1

(38) For an oscillatory rotation, r.sub.t will invert when the direction of rotation reverses. Accordingly, the axis direction is normalized (r.sub.t′) so as to be within a chosen hemisphere by comparison to a reference axis (r.sub.ref). The normalized axis of rotation direction r.sub.t′ can be calculated as:

(39) r t = { r t , r t .Math. r ref 0 - r t , r t .Math. r ref < 0

(40) The value of r.sub.ref can be selected manually, or chosen automatically based on initial observations, such as by performing principal components analysis on the values of r.sub.t.

(41) In block 204, a predominant axis of rotation (r.sub.t) is determined. This corresponds to an average axis of the axes of rotation determined in block 203. Again, this is determined over a pre-determined period of time (W).

(42) The predominant axis of rotation r.sub.t could be calculated by taking an average of all the normalized axes of rotation r.sub.t′ over a pre-determined period of time (W), i.e.:

(43) r _ t = ( .Math. i = - W 2 W 2 r t + i )

(44) Alternatively, in order to reduce the effect of noise on the determination of the mean r.sub.t, each normalized axis of rotation direction r.sub.t′ could be suitably weighted, for example by an angle change φ.sub.t associated with each pair of sequentially measured measurements of the vector parameter (a.sub.t-1, a.sub.t). Also, to give a greater weight to estimates closer in time to t, a Hamming window function H(n) can be used, i.e.:

(45) r _ t = normalise ( .Math. i = - W 2 W 2 H ( i ) θ t + i r t + i )

(46) where:
θ.sub.t=cos.sup.−1(a.sub.t.Math.a.sub.t-1)

(47) In block 205, an angle of rotation φ.sub.t is determined which is defined as an angle of rotation about the predominant axis of rotation (r.sub.t) between:

(48) a measured direction of the vector parameter (a.sub.t) and

(49) the predominant direction of the vector parameter (ā.sub.t)

(50) The angle of rotation φ.sub.t can be calculated as:
φ.sub.t=sin.sup.−1((ā.sub.t×r.sub.t).Math.a.sub.t)

(51) One can consider block 205 as further determining the angle of rotation which was determined in FIG. 1's block 103 by a projection of block 103's angle of rotation onto a surface. In block 205, the surface corresponds to a plane, defined as a plane perpendicular to the predominant axis of rotation r.sub.t. However, it would be possible for other projection surfaces to be considered, such as for example, a projection of block 103's angle of rotation onto a surface of an ellipsoid. To effect this, the initial measurements of directions of a vector parameter (a.sub.t-1, a.sub.t) could be appropriately modified by application of a suitable function f(a).

(52) In block 206, the angular rotation rate or angular velocity ω.sub.t of the angle of rotation φ.sub.t is determined. This can be calculated by taking the derivative φ.sub.t of, i.e.

(53) ω t = d ϕ d t

(54) FIG. 3 schematically illustrates an example of a sensor device 300 for measuring oscillatory motion. In particular, the figure provides a representation of the various axes and vectors used above.

(55) The sensor device comprises sensors that can give an indication of movement of the device. For example:

(56) an accelerometer that can detect changes in the measured direction of the earth's gravitational field (such as a Freescale® MMA7260QT tri-axial accelerometer)

(57) a magnetometer that can detect changes in the measured direction of the earth's magnetic field (such as a Honeywell® HMC1052 twin axis magnetometer), or

(58) a gyroscope that can detect changes in the sensor's orientation (such as Analog Devices® ADXRS300 rate gyroscopes).

(59) The sensor device is configured to provide measurements that enable a vector quantity, such as three dimensional representation of the orientation of the sensor device, to be determined.

(60) The sensor device's co-ordinate plane is shown as three orthogonal axes: x, y and z. The sensor device comprises a tri-axial sensor able to measure the vector parameter in each of three orthogonal axes or dimensions. The use of a tri-axial device allows inclination changes to be measured regardless of orientation. If the sensor device is placed on an object which undergoes oscillatory rotation over time, then the measured directions of a vector parameter within the sensor device's frame of measurement (a.sub.t-1, a.sub.t) would alter as indicated. The predominant direction of the vector parameter ā.sub.t relates to an average direction of the measured directions of the vector parameter over time.

(61) The axis of rotation r.sub.t relates to an axis about which a first measured direction a.sub.t-1 of the vector parameter rotates with respect to a second measured direction of the vector parameter a.sub.t. The angle through which the direction of the vector rotates is the angle change θ.sub.t. The axis of rotation is perpendicular to each of the first and second measured vector parameters.

(62) The predominant axis of rotation r.sub.t relates to an average of the axes of rotation. The angle of rotation (φ.sub.t) relates to the angle between: one of the measured directions of the vector parameter (a.sub.t), and the predominant measured direction of the vector parameter (ā.sub.t). In the method of FIG. 2, the angle is additionally defined as being based on rotation about the predominant axis of rotation r.sub.t.

(63) In various but not necessarily all embodiments, accelerometers are employed to measure a vector parameter. It may seem counterintuitive to employ an accelerometer to measure an angle and angular rate, when gyroscopic microelectromechanical systems (MEMS) exist which can do this directly. However, advantageously, accelerometer-based sensors have a lower power consumption than gyroscopic based sensors. For example, current tri-axial MEMS accelerometers can have active current consumptions of as little as 40 μA, permitting very long term monitoring with small battery-powered devices, whereas, integrated tri-axial MEMS gyroscopes have a current consumptions of the order of 10 mA.

(64) When a patient undergoes large scale movement, e.g. which results in a change of body position, the accelerometer based measurement method during such a period of motion is likely infeasible since the magnitude of the movement-induced signals due to patient movement, i.e. movement unrelated to the oscillatory movement under investigation, vastly exceeds the oscillatory movement due to breathing. Thus, it is desirable to detect such movements so that measurements captured around the time of such movement are ignored as they would not reliably relate just to the oscillatory motion under investigation. Furthermore, following a patient re-orientation, the predominant direction of the vector and the predominant axis of rotation are likely to have altered and thus would need to be re-calculated.

(65) FIG. 4 schematically illustrates a flow diagram of another method 400 for measuring oscillatory motion which addresses such issues and provides a method to distinguish periods when the patient is at rest and measurements can reliably be taken and periods when the patient is moving/re-orientating, during which measurements may be disregarded.

(66) The method 400 follows on from the previously described methods of FIG. 2 including block 201 in which a plurality of measurements of directions of a vector parameter (a.sub.t-1, a.sub.t) are received.

(67) In block 401, the method 400 includes the determination of a change in the pair of sequentially measured measurements of the vector parameter (a.sub.t-1, a.sub.t). The change could be a change in magnitude or a change in direction of the measured vector parameter between sequential measurements. Block 401 shows the determination of an angle change θ.sub.t associated with each pair of sequentially measured measurements of the vector parameter (a.sub.t-1, a.sub.t), e.g.
θ.sub.t=cos.sup.−1(a.sub.t.Math.a.sub.t-1).

(68) In block 402, the change in the measured vector parameter is compared to a threshold value, e.g. θ.sub.T. The threshold value is set at a pre-determined value that exceeds the amount of change one would expect to be feasible for the oscillatory motion under investigation. For example, with regards to measuring respiration, a sudden increase in the measured acceleration between two consecutive readings would likely indicate macro scale movement of the patient, i.e. the sensor would have picked up movement of the patient which is not related to breathing. Were the sensor to use measurements of movements unrelated to breathing, this would lead to erroneous measurements. Thus, the features of FIG. 4 provide a method to detect such large scale movements unrelated to the oscillatory movements to be measured. Measurements captured which relate to such large scale movements could then be disregarded. Furthermore, following such movement, it is likely the orientation of the sensor may have substantially changed. This would alter the predominant measured direction of the vector parameter (ā.sub.t) in the sensor's frame of reference. Also, it would alter the predominant axis of rotation (r.sub.t) in the sensor's frame of reference. Thus, these quantities would need to be re-determined.

(69) If the determined change in the sequential measurements of the vector parameter exceed a threshold level, indicated by reference 403, then further measurements of a direction of the vector parameter are obtained b.sub.t-1, b.sub.t, (block 404) which are used to re-calculate the predominant measured direction of the vector parameter b (block 405) and a predominant axis of rotation r.sub.bt (block 406) which are used to determine an angle of rotation φ.sub.at (block 407) and an angular velocity ω.sub.bt (block 408).

(70) Thus, the determined values of the angle of rotation and the angular velocity are based on measurements captured during a time window during which no substantial movements took place, which would overwhelm the measurements of movement just related to breathing.

(71) A range of measured measurements could be determined and used to provide an indication whether or not the measurements recorded are sub optimal. If the determined range of measurements is below a threshold level, this may indicate that the sensor is not adequately measuring the oscillatory movement. For example, the sensor might be inappropriately positioned or sub-optimally located on a body part that does not undergo the respiration related movement. Alternatively, the sensor may have become detached from the body part and thus, being no longer fixedly attached to it, does not follow its movements.

(72) A degree of confidence of the angle of rotations and angular velocities can be determined based on a weighted sum of different measures of the quality of the measurements, for example: the amplitude of the measurements of the vector parameter, the noise level outside the frequencies relevant for the oscillatory motion, the degree of signal found to be outside of the plane of rotation and the angular consistency of the angular rotation rate.

(73) FIG. 5 illustrates a graph 500 of angular rate and respiratory rate 501 against time based upon measurements recorded with embodiments of the present invention. The graph also shows a respiratory rate 502 against time.

(74) In order to provide a method of determining a respiratory rate, i.e. the number of breaths per minute, from measured angular velocities, a first band (B.sub.H) of range of angular velocity values is defined where the angular velocity value is greater that a first threshold value (ω.sub.H). A second band (B.sub.L) of range of angular velocity values is also defined where the angular velocity value is less than a second threshold value (ω.sub.L). A third band (B.sub.M) of range of angular velocity values are also defined where the angular velocity value is between the first and second threshold values (φ.sub.H, ω.sub.L).

(75) The values of sequential angular velocity measurements are monitored and a registration of a count corresponding to the completion of one cycle of the oscillatory motion, e.g. one breath, is recorded each time the values of angular velocity transition through four bands, e.g. T.sub.1 from B.sub.M to B.sub.H, T.sub.2 from B.sub.H to B.sub.M, T.sub.3 from B.sub.M to B.sub.L and T.sub.4 from B.sub.L to B.sub.M. The respiration rate is then determined based on the number of counts within a measurement time period.

(76) Prior approaches to determining a respiratory rate which involve spectral analysis of waveforms had difficulty detecting individual breaths where a patient's breathing pattern is irregular. Advantageously, the above state transition approach provides the ability to identify individual breaths, including breaths of irregular frequency. Also, it reduces problems of multiple breaths being registered from noisy signals as might occur with a single threshold method were repeated crossings through a single threshold would lead to erroneous results.

(77) FIG. 6 schematically illustrates an example of an apparatus 600 for measuring oscillatory motion.

(78) The apparatus 600 comprises a controller such as a processor or digital signal processor 604; and a memory 601 including computer program 602 comprising program code 603. The memory 601 and the computer program code 603 are configured to, with the processor 604, cause the apparatus 600 at least to perform the methods described above with reference to FIGS. 1, 2 and 4.

(79) The blocks illustrated in the FIGS. 1, 2 and 4 may represent steps in a method and/or sections of code in the computer program 602. The illustration of a particular order to the blocks does not necessarily imply that there is a required or preferred order for the blocks and the order and arrangement of the block may be varied. Furthermore, it may be possible for some steps to be omitted.

(80) The processor 604 is configured to read from and write to the memory 601. The processor may also comprise an output interface 606 via which data and/or commands are output by the processor and an input interface 605 via which data and/or commands are input to the processor.

(81) The memory 601 stores a computer program 602 comprising computer program instructions 602 that control the operation of the apparatus 600 when loaded into the processor 604. The processor 604, by reading the memory 601, is able to load and execute the computer program 602. The computer program instructions 603 provide the logic and routines that enable the apparatus to perform the methods illustrated in FIGS. 1, 2 and 4 and discussed above.

(82) The computer program 602 may arrive at the apparatus 600 via any suitable delivery mechanism. The delivery mechanism may be, for example, a computer-readable storage medium, a computer program product, a memory device, a record medium such as a compact disc read-only memory or digital versatile disc, an article of manufacture that tangibly embodies the computer program 602. The delivery mechanism may be a signal configured to reliably transfer the computer program 602.

(83) Implementation of the controller 604 can be in hardware alone (a circuit, a processor . . . ), have certain aspects in software including firmware alone or can be a combination of hardware and software (including firmware).

(84) The controller 604 may be implemented using instructions 603 that enable hardware functionality, for example, by using executable computer program instructions in a general-purpose or special-purpose processor that may be stored on a computer readable storage medium (disk, memory etc) or carried by a signal carrier to be executed by such a processor.

(85) FIG. 7 schematically illustrates an example of a system 700 for measuring oscillatory motion. The system comprises means for measuring a direction of a vector parameter such as sensor devices 300 and 701 which are coupled to a means for generating a signal related to the direction of a vector parameter, such as a controller 702.

(86) Preferably each sensor device is capable of measuring a vector parameter in 3 dimensions. Furthermore, where two or more sensor devices are employed, it is preferable that each measures a different vector parameter. For example, sensor device 300 is an accelerometer based sensor device for measuring gravitational fields and sensor device 701 is a magnetometer based sensor device for measuring magnetic fields. Where solely a single type of sensor device is employed, e.g. just accelerometer based, any component of rotations that lie in the vertical axis, i.e. aligned with direction of gravitational field, would not be detected or measured by the accelerometer. However, by additionally including another type of sensor such as a magnetometer or gyroscope, such rotations aligned with direction of gravitational field would be detectable and measureable. Similarly, where sensor is just magnetometer based, any component of rotations that lies along an axis aligned with direction of the earth's magnetic field would not be detected by the magnetometer. Additionally including an accelerometer or gyroscope would enable such rotations to be detected and measured.

(87) The controller 702 is coupled to a means for transmitting the signal, such as a transmitter 703, to apparatus 600 as shown in FIG. 6. The transmission 706 could be effected via wired or preferably wireless communication to facilitate the remote capture and monitoring of measurements.

(88) Optionally, storage 704 is provided to store the measurements so that measurements need not be constantly sent/transmitted as soon as they are measured. In some embodiments, the sensors, controller, transmitter and optional storage are all housed within housing 705. Preferably, the housing and internal components are dimensioned as small as possible so that the device is minimally obtrusive when attached to a patient. Such small housings may be attached to a patient with standard medical tape.

(89) FIG. 8 schematically illustrates an example of a device 800 for measuring oscillatory motion. The device 800 effectively comprises the apparatus for processing the measurements signals, as discussed with regards to FIG. 6, and also sensor device 300 (and optionally 701) for measuring and generating the measurement signals all housed within housing 801.

(90) The device 800 comprises a controller 604, memory 601, computer program 602 and program code 603. Sensor devices 300 and 701 capture measurements of different vector parameters which are received by the input interface 605 of the processor 605. The memory 601 and the computer program code 603 are configured to, with the processor 604, cause the device 801 at least to perform the methods described above with reference to FIGS. 1, 2 and 4. The determined angles of rotations φ.sub.t and angular velocities ω.sub.t are an output from interface 606 to transmitter 703 for wired or wireless transmission 803 to a base station, computing device or server 802. Preferably, the device 800 comprises its own on board power supply, such as batteries and the ability to re-charge the batteries (not shown).

(91) Optionally, two or more devices are fixedly attached to a patient whose respiration is to be measured. At least one of the devices is fixedly attached to a body part that undergoes oscillatory motion due to respiration. At least one of the devices is fixedly attached to a body part that does not undergo oscillatory motion due to respiration. Measurements from the two or more devices can then be combined to remove measurement components not related to the oscillatory motion under investigation. This enables a more precise determination of components of the measurements that are solely related to respiration.

(92) FIG. 9 illustrates a graph showing a comparison between angular rotation rates ω.sub.t measured by each of an accelerometer based sensor according to an embodiment of the present invention and a gyroscopic sensor against time. As can be seen, the angular rates obtained from the accelerometer, having been appropriately scaled, provide a good match to angular rates obtained via a gyroscopic device. The graph shows a range of different breathing rates and depths which are visible from each plot.

(93) FIG. 10 illustrates a graph showing a comparison between rotation rates ω.sub.t measured by an accelerometer based sensor according to an embodiment of the present invention and nasal cannula pressure against time.

(94) This graph illustrates the correspondence of angular rotation rates ω.sub.t and a nasal cannula pressure measured by a pressure transducer (Respironics® PTAF2) connected to a nasal cannula. It is known that the cannula pressure is proportional to airflow rate for nasal breathing. Thus, the correlation shown in this graph also indicates the correlation between the angular rotation rates ω.sub.t and flow rates. Furthermore, this is indicative of a correlation between the angular rotation rates ω.sub.t and changes in the volume of the chest during breathing.

(95) This correlation is important since the shape of a flow rate waveform provides significant additional information for diagnosis of respiratory problems that is not present in a simple measurement of the respiratory rate. Analysis of different inspiratory flow shapes suggests the shape of breaths can be a useful indicator of different respiratory conditions. It has also been shown that the shape can be used to identify obstructions.

(96) An evaluation of an embodiment of the method, apparatus and system of the present invention was carried out in a 6.9 hour overnight capture of a post-operative patient. The key data from this evaluation is plotted in FIGS. 11A to E.

(97) FIG. 11A illustrates a graph showing a tri-axial accelerometer signal against time in each of an: x axis (the middle plot) y axis (the lower plot) and z axis (the upper plot). Several large changes of patient orientation are visible as step changes in the acceleration on each axis.

(98) FIG. 11B illustrates a graph showing the angle changes θ.sub.t between consecutive acceleration vectors of FIG. 11A against time. There are clear spikes in this graph which correspond to major orientation changes, along with smaller peaks indicating lesser movements. The threshold value used for movement detection, θ.sub.T, is also shown. A threshold of 5 milliradians per 1/16 s sample interval was used. The choice of threshold represents a tradeoff between accuracy and coverage. Lower thresholds increase the sensitivity to movement, discarding more of the dataset but achieving higher correlation to the cannula data for the periods retained.

(99) FIG. 11C illustrates a graph showing angular rates calculated from the accelerometer signal of FIG. 11A against time. Individual breaths are not visible at this horizontal scale, but the plot illustrates the detected static periods over which the method algorithm was executed in contrast to the blank periods of no measurement caused by movement/re-orientation of the patient, i.e. where angle changes θ.sub.t exceed the threshold value used for movement detection, θ.sub.T. Changes in scale of the signal in different orientations, due to variation in the vertical component of rotations is also noticeable.

(100) FIG. 11D illustrates a graph showing correlation coefficients between angular rates of FIG. 11C and cannula pressure against time for each of the static periods. The mean is 0.9148.

(101) FIG. 11E illustrates a graph showing respiratory rates calculated from the angular rates of FIG. 11C and respiratory rates calculated from cannula pressure derived data against time for each of the static periods. The accelerometer-based rate is only defined for times surrounded by a full window of angular rate information, and therefore covers a further reduced set of time segments.

(102) In several of the examples discussed above, the values of angles of rotation φ.sub.t or the angular velocities ω.sub.t have been used to provide respiration related signals, for example: to identify angular rotation and rotation rate of a patient's torso, to monitor breathing and respiratory rates. However, the values of the angles of rotation φ.sub.t or the angular velocities ω.sub.t can also be used to determine additional patient movement related parameters, such as patient speech as well as movement of the patient such as walking, running or climbing stairs.

(103) The detection and identification of such additional movements can be used in determining periods of activity of the patient (when measurements of respiration would not be possible as the respiration movement component of the measurement signals would be masked or swamped by the additional movement) and static periods of rest of the patient (where respiration measurements would be feasible). Additionally, the detection and identification of such additional movements may provide context to the monitored values of φ.sub.t and ωt by indicating, for example, when a patient was sleeping, walking, talking or running. Furthermore, an intensity of the level of additional movement could be gauged which would enable identification, for example, of periods of intensive exercise.

(104) To further improve the accuracy of the respiration measurements, measurements captured during detected periods of activity or additional motion (i.e. motion over and above that of just respiratory related motion) could be disregarded and only utilized during a determined period of inactivity of the patient.

(105) FIG. 12 schematically illustrates a flow diagram of another method 120 for measuring oscillatory motion.

(106) In block 121 a series of values of angles of rotation φ.sub.t or angular velocities ω.sub.t are determined as previously discussed above.

(107) In block 122, a pattern recognition algorithm is applied to the series of values of angles of rotation φ.sub.t or the angular velocities ω.sub.t to detect patterns, shapes and frequencies in the respective φ.sub.t ω.sub.t waveforms. Such patterns, shapes and frequencies of the wave form may be indicative of certain movements, such as respiratory related movements when the patient is static as discussed above, but also other non respiratory related movements such as a patient: speaking, walking or running.

(108) In block 123, an identification of the movement is made based on the results of the pattern recognition. For example, the movement would be identified as any of, e.g.: breathing, speaking or patient movement such as walking, or running.

(109) In block 124, a control signal is generated in response to the indentified movement. For example, if the movement were identified as just breathing, then control signal could cause the use of the measurements to determine respiration signals. If the movement were identified as some other movement (i.e. not related just to breathing) such as speaking, walking, or running then the control signal could be to disregard measurements for the use of determining respiration signals.

(110) Although various embodiments of the present invention have been described above with reference to various examples, it should be appreciated that modifications to the examples given can be made without departing from the scope of the invention as claimed. Features described in the preceding description may be used in combinations other than the combinations explicitly described.

(111) Although functions have been described with reference to certain features, those functions may be performable by other features whether described or not. Although features have been described with reference to certain embodiments, those features may also be present in other embodiments whether described or not.

(112) Whilst endeavouring in the foregoing specification to draw attention to those features of the invention believed to be of particular importance it should be understood that the Applicant claims protection in respect of any patentable feature or combination of features hereinbefore referred to and/or shown in the drawings whether or not particular emphasis has been placed thereon.