Search Images Maps Play YouTube News Gmail Drive More »
Sign in
Screen reader users: click this link for accessible mode. Accessible mode has the same essential features but works better with your reader.

Patents

  1. Advanced Patent Search
Publication numberWO2000021438 A1
Publication typeApplication
Application numberPCT/US1999/024195
Publication date20 Apr 2000
Filing date15 Oct 1999
Priority date15 Oct 1998
Also published asWO2000021438A9
Publication numberPCT/1999/24195, PCT/US/1999/024195, PCT/US/1999/24195, PCT/US/99/024195, PCT/US/99/24195, PCT/US1999/024195, PCT/US1999/24195, PCT/US1999024195, PCT/US199924195, PCT/US99/024195, PCT/US99/24195, PCT/US99024195, PCT/US9924195, WO 0021438 A1, WO 0021438A1, WO 2000/021438 A1, WO 2000021438 A1, WO 2000021438A1, WO-A1-0021438, WO-A1-2000021438, WO0021438 A1, WO0021438A1, WO2000/021438A1, WO2000021438 A1, WO2000021438A1
InventorsSamsun Lampotang, Priscilla L. Chen, Nikolaus Gravenstein, John G. Harris
ApplicantUniversity Of Florida Research Foundation
Export CitationBiBTeX, EndNote, RefMan
External Links: Patentscope, Espacenet
Device for determining respiratory rate from optoplethysmogram
WO 2000021438 A1
Abstract
The invention is a system, and method for deriving the respiratory rate of an individual from the raw, unfiltered opto-plethysmograph signal output by a standard pulse oximeter. The components of the system consist of a pulse oximeter (110), and a processor device (120) that processes the opto-plethysmograph signal output from the pulse oximeter. The raw unfiltered opto-plethysmograph signals are processed to remove the high frequency heart rate, and the low frequency components from the raw signal to generate a processed signal that contains primarily the desired respiratory variations. Several feature extraction algorithms are then applied to the processed signal to identify those peaks of the processed signal that truly represent respiratory peaks. The respiratory rate is then calculated based on the identified repiratory peaks, and averaged over a predetermined number of breaths.
Claims  (OCR text may contain errors)
Claims:
1. A method for determining a respiratory rate from an optoplethysmogram, comprising steps of: obtaining a raw optoplethysmogram signal; processing the raw optoplethysmogram signal to remove high frequency components and low frequency components to generate a processed signal containing primarily respiratory rate frequency components; identifying peaks of the processed signal that are true respiratory peaks based on amplitudes of prior and subsequent peaks and other characteristics of the processed signal; and updating an average respiratory rate based on peaks from the processed signal determined to be a respiratory peak.
2. The method of claim 1 , wherein the step of identifying peaks of the processed signal determined to be true respiratory peaks comprises steps of: performing a first test of identifying local maxima and minima points of the processed signal; performing a second test of discriminating the local maxima points from global maxima points corresponding to one respiratory cycle of the processed signal; performing a third test of suppressing local maxima points that are determined to be artifacts of the processed signal; performing a fourth test of suppressing local peaks in the processed signal based on a ratio of a rising amplitude from a prior adjacent peak to a local peak to an average rising amplitude of a predetermined number of prior rising amplitudes; performing a fifth test of suppressing local peaks in the processed signal based on a ratio of a falling amplitude of a local peak with respect to an average falling amplitude of a predetermined number of prior falling amplitudes; and designating those peaks remaining after the fourth or fifth test as respiratory peaks.
3. The method of claim 1 , wherein the step of obtaining the optoplethysmogram signal comprises obtaining an infrared optoplethysmogram signal.
4. The method of claim 1 , wherein the step of obtaining the optoplethysmogram signal comprises obtaining an optoplethysmogram signal from a pulse oximeter.
5. The method of claim 1, and further comprising the steps of generating a ratio of the respiratory rate to the heart rate and comparing the ratio to a threshold value to determine a measure of confidence of the respiratory rate.
6. The method of claim 1, and further comprising the step of tracking elapsed time between respiratory peaks and comparing the elapsed time with a threshold to determine a measure of confidence of the respiratory rate.
7. The method of claim 1, and further comprising the step of comparing changes in heart rate determined from the optoplethysmogram with changes in the respiratory rate as a means of verifying the accuracy of the respiratory rate.
8. The method of claim 1, and further comprising the step of measuring the variation range of the optoplethysmogram to verify the respiratory rate.
9. The method of claim 1, wherein the step of processing the raw optoplethysmogram signal comprises filtering the raw optoplethysmogram signal.
10. The method of claim 9, wherein the step of processing the raw optoplethysmogram signal further comprises selecting a filter based on a heart rate.
11. A method for determining a respiratory rate from an optoplethysmogram, comprising steps of: obtaining a raw optoplethysmogram signal; processing the raw optoplethysmogram signal to remove high frequency components and low frequency components to generate a processed signal containing primarily respiratory rate frequency components; identifying troughs of the processed signal that are true respiratory troughs based on amplitudes of prior and subsequent troughs and other characteristics of the processed signal; and updating an average respiratory rate based on troughs from the processed signal determined to be a respiratory trough.
12. A system for generating a respiratory rate from an optoplethysmogram, comprising: a pulse oximeter device that outputs a optoplethysmogram; a processor coupled to the pulse oximeter to receive as input the optoplethysmogram, wherein the processor: processes the raw optoplethysmogram signal to remove high frequency components and low frequency components to generate a processed signal containing primarily respiratory rate frequency components; identifies peaks of the processed signal that are true respiratory peaks based on amplitudes of prior and subsequent peaks and other characteristics of the processed signal; and updates an average respiratory rate based on peaks from the processed signal determined to be a respiratory peak.
13. The system of claim 12, wherein the processor identifies peaks of the processed signal determined to be true respiratory peaks by: performing a first test of identifying local maxima and minima points of the processed signal; performing a second test of discriminating the local maxima points from global maxima points corresponding to one respiratory cycle of the processed signal; performing a third test of suppressing local maxima points that are determined to be artifacts of the processed signal; performing a fourth test of suppressing local peaks in the processed signal based on a ratio of a rising amplitude from a prior adjacent peak to a local peak to an average rising amplitude of a predetermined number of prior rising amplitudes; performing a fifth test of suppressing local peaks in the processed signal based on a ratio of a falling amplitude of a local peak with respect to an average falling amplitude of a predetermined number of prior falling amplitudes; and designating those peaks remaining after the fourth or fifth test as respiratory peaks.
14. The system of claim 12, wherein the processor is a programmable processor device and comprises a memory that stores a software program, which when executed by the processor, performs the processing steps required to generate the respiratory rate from the optoplethysmogram.
15. The system of claim 12, wherein the processor is an application specific integrated circuit (ASIC).
16. The system of claim 12, wherein the processor generates a ratio of respiratory rate to the heart rate and compares the ratio to a threshold value to determine a measure of confidence of the respiratory rate.
17. The system of claim 12, wherein the processor tracks elapsed time between respiratory peaks and compares the elapsed time with a threshold to determine a measure of confidence of the respiratory rate.
18. The system of claim 12, wherein the processor compares changes in heart rate determined from the optoplethysmogram with changes in the respiratory rate as a means of verifying the accuracy of the respiratory rate.
19. The system of claim 12, wherein the processor measures the variation range of the optoplethysmogram to verify the respiratory rate.
20. The system of claim 12, wherein the processor processes the raw optoplethysmogram signal by filtering the raw optoplethysmogram signal.
21. The system of claim 20, wherein the processor processes the raw optoplethysmogram signal by selecting a filter based on a heart rate prior to filtering.
22. A system for generating a respiratory rate from an optoplethysmogram, comprising: a pulse oximeter device that outputs a optoplethysmogram; a processor coupled to the pulse oximeter to receive as input the optoplethysmogram, wherein the processor: processes the raw optoplethysmogram signal to remove high frequency components and low frequency components to generate a processed signal containing primarily respiratory rate frequency components; identifies troughs of the processed signal that are true respiratory troughs based on amplitudes of prior and subsequent troughs and other characteristics of the processed signal; and updates an average respiratory rate based on troughs from the processed signal determined to be respiratory troughs.
23. In a pulse oximeter which generates an optoplethysmogram representing a heart rate, the improvement comprising a processor which determines the respiratory rate from the optoplethysmogram by: processing the raw optoplethysmogram signal to remove high frequency components and low frequency components to generate a processed signal containing primarily respiratory rate frequency components; identifying peaks of the processed signal that are true respiratory peaks based on amplitudes of prior and subsequent peaks and other characteristics of the processed signal; and updating an average respiratory rate based on peaks from the processed signal determined to be a respiratory peak.
24. The improvement of claim 23, wherein the processor identifies peaks of the processed signal determined to be true respiratory peaks by: performing a first test of identifying local maxima and minima points of the processed signal; performing a second test of discriminating the local maxima points from global maxima points corresponding to one respiratory cycle of the processed signal; performing a third test of suppressing local maxima points that are determined to be artifacts of the processed signal; performing a fourth test of suppressing local peaks in the processed signal based on a ratio of a rising amplitude from a prior adjacent peak to a local peak to an average rising amplitude of a predetermined number of prior rising amplitudes; performing a fifth test of suppressing local peaks in the processed signal based on a ratio of a falling amplitude of a local peak with respect to an average falling amplitude of a predetermined number of prior falling amplitudes; and designating those peaks remaining after the fourth or fifth test as respiratory peaks.
25. The improvement of claim 23, wherein the processor is a programmable processor device and comprises a memory that stores a software program, which when executed by the processor, performs the processing steps required to generate the respiratory rate from the optoplethysmogram.
26. The improvement of claim 23, wherein the processor is an application specific integrated circuit (ASIC).
27. The improvement of claim 23, wherein the processor generates a ratio of respiratory rate to the heart rate and compares the ratio to a threshold value to determine a measure of confidence of the respiratory rate.
28. The improvement of claim 23, wherein the processor tracks elapsed time between respiratory peaks and compares the elapsed time with a threshold to determine a measure of confidence of the respiratory rate.
29. The improvement of claim 23, wherein the processor compares changes in heart rate determined from the optoplethysmogram with changes in the respiratory rate as a means of verifying the accuracy of the respiratory rate.
30. The improvement of claim 23, wherein the processor measures the variation range of the optoplethysmogram to verify the respiratory rate.
31. The improvement of claim 23, wherein the processor processes the raw optoplethysmogram signal by filtering the raw optoplethysmogram signal.
32. The improvement of claim 31 , wherein the processor processes the raw optoplethysmogram signal by selecting a filter based on a heart rate prior to filtering.
33. In a pulse oximeter which generates an optoplethysmogram representing a heart rate, the improvement comprising a processor which determines the respiratory rate from the optoplethysmogram by: processing the raw optoplethysmogram signal to remove high frequency components and low frequency components to generate a processed signal containing primarily respiratory rate frequency components; identifying troughs of the processed signal that are true respiratory troughs based on amplitudes of prior and subsequent troughs and other characteristics of the processed signal; and updating an average respiratory rate based on troughs from the processed signal determined to be a respiratory trough.
Description  (OCR text may contain errors)

DEVICE FOR DETERMINING RESPIRATORY RATE FROM OPTOPLETHYSMOGRAM

CROSS-REFERENCE TO RELATED PATENT APPLICATION

This application claims the benefit, pursuant to 35 U.S.C. § 119(e), of applicants' provisional U.S. Patent Application Serial No. 60/104,323, filed October 15, 1998, entitled "System and Method for Determining the Respiratory Rate from the Optoplethysmogram".

BACKGROUND OF THE INVENTION

The present invention is directed to a system and method for determining the respiratory rate of an individual from the raw, unfiltered optoplethysmogram of a pulse oximeter, and particularly to an algorithm suitable for implementation in software that removes low frequency and high frequency components f om the optoplethysmogram signal, extracts certain features from the filtered signal, and derives the respiratory rate from those features.

Monitoring patient ventilation, oxygenation, and circulation in the post- anesthesia care unit (PACU) is considered the standard of care according to the American Society of Anesthesiologists (ASA) Standards for Postanesthesia Care. Newly operated patients can be influenced by residual analgesics that depress respiration. In addition, postoperative pain relief using opiates can also put the patient at risk of depressed respiration or apnea (breathing less than 6 breaths per minute). When patients are admitted to the PACU, vital signs including heart rate, systemic blood pressure, respiratory rate, and oxygen saturation (SpO2, measured with a pulse oximeter) are recorded every 5 minutes for the first 15 minutes and then every 15 minutes. The minimum monitoring includes a pulse oximeter and an EKG. This closely monitors circulation and oxygenation, but respiratory depression or even apnea can occur and will not be readily detected by the minimum level of monitoring. Although pulse oximetry is an effective and continuous way of monitoring the arterial oxygen saturation, its use alone does not provide adequate monitoring of respiratory functions. Pulse oximetry is known to have a slow response in detecting apnea and respiratory depression. There is usually a one-minute delay between the occurrence of apnea and an indication on the pulse oximeter. This slow response is caused mainly by the remaining oxygen contained in the lungs, the circulation time from the lungs to the monitoring site, and the averaging and computation time of the instrument. Hypoxemia, respiratory depression, and apnea can result in reduced work capacity of muscles, depressed mental activity, and ultimately death. Continuous monitoring of the respiratory functions is therefore useful and has applications in the intensive care unit, the post operative care unit and on the ward.

Various methods have been developed to monitor respiratory rate. These include visual observation, acoustic monitor, temperature monitor, humidity sensor, capnometry, transthoracic impedance, wrist impedance plethysmograph, and fiber-optic sensors. Most of the above methods require either additional hardware or manpower. Some of the methods require sensor elements to be placed either in a face mask or in front of the airways, causing additional discomfort to some patients and incurring a new cost and potentially introducing new failure modes.

What is needed is another method for measuring the respiratory rate of an individual that overcomes the deficiencies of the prior art systems and methods.

SUMMARY OF THE INVENTION

Since pulse oximetry is already widely used in numerous medical settings such as intensive care and recovery units, a new method is provided for continuously monitoring the respiratory rate by using an existing signal (the optoplethysmogram) from a pulse oximeter. This method provides the ability to monitor respiratory rate in all locations where a pulse oximeter is used, and can provide a quick response to respiratory depression and apnea. Compared to the other monitoring methods, this method does not require additional hardware or procedures beyond those already in use. It does not require sensors to be placed on the airway, which eliminates the possible discomfort caused to the patients. In addition, the cost of implementing this method is attractive because pulse oximetry is already widely used and therefore no additional hardware for measuring patient activity is needed.

According to the present invention, a system and method are provided for deriving a respiratory rate of an individual from the raw, unfiltered optoplethysmogram signal output by a standard pulse oximeter. The components of the system consist of a pulse oximeter and a processor device that processes the optoplethysmogram signal output from the pulse oximeter. A serial port, typically provided on a standard pulse oximeter, is used to access the optoplethysmogram signal although other available communication channels may be used. The processor device may consist of a microprocessor and a memory for storing a software program that is executed by the microprocessor to implement an algorithm that derives the respiratory rate from the optoplethysmogram signal. For example, a standard desktop or notebook personal computer (PC) using an Intel PentiumŪ processor is a suitable processing platform. The respiratory rate generation capability may be included in a device separate from the pulse oximeter, or included within the pulse oximeter device so that the pulse oximeter outputs the standard data from a pulse oximeter and respiratory rate information. In the latter case, software code is added to the existing code of a pulse oximeter (by adding an EEPROM to the pulse oximeter that carries the additional code, for example) to provide the respiratory rate functionality.

The pulse oximeter produces as many optoplethysmograms as it has light emitting diodes (LEDs). Most models currently use 2 LEDS and generate 2 optoplethysmograms, with some models producing 3 or 4 optoplethysmograms. Any optoplethysmogram generated by the pulse oximeter can be used as the raw signal.

The algorithm operates generally as follows. The desired respiratory variations are isolated from the raw unfiltered optoplethysmogram by removing the high frequency heart rate and the low frequency components such as the Traube-Meyer waves. Preferably, the raw unfiltered optoplethysmogram signals are (band-pass) filtered to remove the high frequency heart rate and the low frequency Traube-Meyer components from the raw signal to generate a filtered signal that contains primarily the desired respiratory variations. Several feature extraction algorithms (peak detection, amplitude threshold ratios, etc.) are then applied to the filtered signal to identify those peaks of the filtered signal that truly represent respiratory peaks. The respiratory rate is then calculated based on the identified respiratory peaks, and if desired, averaged over a predetermined number of breaths.

The above and other objects and advantages of the present invention will become more readily apparent when reference is made to the following description taken in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram showing the basic hardware components of the system according to the present invention.

FIG. 2 illustrates a typical infrared optoplethysmogram obtained from a volunteer sitting with the arm positioned at heart level.

FIG. 3 illustrates the magnitude of the frequency response of a signal corresponding to the signal shown in FIG. 2.

FIG. 4 illustrates the magnitude of the frequency response of a band-pass filter suitable for use in filtering an infrared optoplethysmogram signal according to the invention.

FIG. 5 illustrates the magnitude of the frequency response of an optimized FIR band-pass filter using the Parks-McClellan algorithm.

FIG. 6 illustrates the infrared optoplethysmogram after filtering with the bandpass filter in FIG. 5.

FIG. 7 illustrates the magnitude of the frequency response of a signal corresponding to the signal shown in FIG. 6. FIG. 8 illustrates a flow chart of the breath detection algorithm according to the present invention.

FIG. 9 illustrates a small portion of the band-pass filtered signal obtained from the signal shown in FIG. 6. FIG. 10 illustrates a filtered infrared signal with all of the local maxima and minima shown in vertical lines.

FIG. 11 illustrates a filtered infrared signal with maximum points before running the second test of the breath detection algorithm.

FIG. 12 illustrates a filtered infrared signal with maximum points after running the second test of the breath detection algorithm.

FIG. 13 illustrates a filtered infrared signal with maxima not corresponding to a respiratory cycle, after running the second test.

FIG. 14 illustrates a filtered infrared signal with maxima that are artifacts, after passing test three of the breath detection algorithm. FIG. 15 illustrates a filtered infrared signal with respiratory peaks superimposed on a lower frequency.

FIG. 16 illustrates an unprocessed optoplethysmogram signal as it may be displayed on a display device.

FIG. 17 illustrates a filtered optoplethysmogram signal as it may be displayed on a display device.

FIG. 18 illustrates the first stage of a real-time implementation of the respiratory rate estimation algorithm.

FIG. 19 illustrates the second stage of the real-time implementation of the respiratory rate estimation algorithm. FIG. 20 illustrates the third stage of the real-time implementation of the respiratory rate estimation algorithm.

FIG. 21 illustrates the fourth stage of the real-time implementation of the respiratory rate estimation algorithm. DETAILED DESCRIPTION OF THE INVENTION

Referring to FIG. 1, the basic components of the respiratory rate detection system 100 of the present invention are shown. FIG. 1 illustrates two embodiments of implementing the present invention. In one embodiment, the respiratory rate determination functionality is provided in a device separate and apart from a pulse oximeter. In another embodiment, the respiratory rate functionality is provided within the pulse oximeter itself.

According to one embodiment, the system 100 comprises a pulse oximeter 110 and a processor 120 having memory 122 for storing a respiratory rate software program 124. The system 100 may output respiratory rate (as well as heart rate and other data from the pulse oximeter 110) for display on a display monitor 130, or for output to a remotely located monitoring station 140.

The pulse oximeter 110 may be any standard unit available, such as a Novametrix OxyPleth. As is well known in the art, the pulse oximeter 110 is coupled to a patient and outputs a heart rate signal, oxygen saturation signal, and red and infrared optoplethysmogram signals. The pulse oximeter 110 is connected to the processor 120 by, for example, an RS-232 cable.

The processor 120 may be any suitable processing platform, such as a processing platform based on a microprocessor, a digital signal processor, or an application specific integrated circuit (ASIC). For example, the processor 120 may be an Intel Pentium processor.

The memory 122 includes sufficient capacity to store the software program 124 that implements the respiratory rate algorithm and miscellaneous other data and software instructions incidental to the software program 124. For example, the software program 124 includes a user interface portion for controlling and formatting for display information output by the processor 120 on the display 130.

In another embodiment of the invention (shown by the figures in phantom in FIG. 1), the respiratory rate functionality is added to standard functions of the pulse oximeter 110. The display 130 would be the standard pulse oximeter display (enhanced to accommodate the display of respiratory rate as well as heart rate). For example, some forms of a pulse oximeter include a memory 112 for storing a software program executed by a processor 114. The software program in the memory 112 is enhanced with the respiratory rate software program 124 so that the pulse oximeter 110 can output heart rate and respiratory rate information. This can be achieved by retrofitting to the memory 112 and/or processor 114 an electronically erasable programmable read only memory (EEPROM) card that contains the respiratory rate software program 124. Any suitable non-volatile program storage device like ROM, flash EPROM, battery- backed RAM, etc. could be used to store the program. Alternatively, if the type of pulse oximeter employed is such that its functionality cannot be easily retrofitted, then the main program of the pulse oximeter 110 stored in the memory 112 can be modified to include the respiratory rate software program 124.

Thus, the respiratory rate functionality can be provided either by internally enhancing the functionality of the pulse oximeter, or by connecting to the pulse oximeter a separate device that includes the respiratory rate functionality.

The basic steps of the respiratory rate detection algorithm according to the present invention are:

1. obtaining a raw optoplethysmogram signal from a pulse oximeter, where the raw optoplethysmogram signal is preferably a raw infrared optoplethysmogram;

2. removing high frequency components and low frequency components to generate a processed signal containing primarily respiratory rate frequency components, preferably by filtering the raw optoplethysmogram signal to remove high frequency components and low frequency components to generate a filtered signal containing primarily respiratory rate frequency components; 3. identifying peaks of the processed signal that are true respiratory peaks, preferably performed based on amplitudes of prior and subsequent peaks and other characteristics of the filtered signal; and

4. updating an average respiratory rate based on peaks from the processed signal determined to be a respiratory peak.

The inverse of the time (in seconds) between two respiratory peaks multiplied by 60 is the instantaneous respiratory rate in breaths/minute. Step 2 (isolation of the respiratory frequency component) is implemented with signal processing techniques by the processor 120, preferably digital filtering. Suitable filters for real-time filtering of the optoplethysmogram signal are a finite impulse response (FIR) filter or an infinite impulse response (IIR) filter. However adaptive filters, neural networks or analog filters could be used. The FIR filter has the advantage of a linear phase response, while the IIR filter has the advantage of a lower order filter requiring fewer coefficients. Consequently, the IIR filter has less memory storage requirements and a faster computation time. The linear phase properties are not important in connection with the present invention because the optoplethysmogram signal is band-pass filtered and only one frequency of the signal is of interest, that being the respiratory rate.

Heuristics are used to weed out the false respiratory peaks. One such set of heuristics is shown below. The order and exact nature of the steps is not fixed. A process of identifying the peaks of the filtered signal determined to be true respiratory peaks comprises steps of:

1. performing a first test of identifying local peaks (maxima and minima points) of the filtered signal;

2. performing a second test of discriminating the local maxima points from global maxima points corresponding to one respiratory cycle of the filtered signal;

3. performing a third test of suppressing local maxima points that are determined to be artifacts of the filtered signal; 4. performing a fourth test of suppressing local peaks in the filtered signal based on a ratio of a rising amplitude from a prior adjacent peak to a local peak to an average rising amplitude of a predetermined number of prior rising amplitudes; 5. performing a fifth test of suppressing local peaks in the filtered signal based on a ratio of a falling amplitude of a local peak with respect to an average falling amplitude of a predetermined number of prior falling amplitudes; and 6. designating those peaks remaining after the fourth or fifth test as respiratory peaks.

This process for identifying true respiratory peaks is exemplary, as there may be others, or variations of it, that are suitable.

The respiratory rate detection algorithm summarized above may be implemented by a software program 124 that is written in any suitable programming language depending on the type of processing architecture. In this regard, the present invention is also directed to the software program per se, comprising a set of instructions stored on a computer (processor) readable memory medium, that causes a processor to execute the instructions for carrying out the algorithm described above. The following describes the underlying experimental analysis of the invention, and a real-time implementation of the invention. The details of the respiratory rate detection algorithm are described hereinafter as well.

There are many ways to enhance the confidence of the respiratory rate measurements obtained by the respiratory rate detection algorithm.

First, the heart rate output by the pulse oximeter can be compared with the respiratory rate. A ratio of the respiratory rate to the heart rate is generated, and compared to a predetermined (and adjustable) threshold value to determine a measure of confidence of the respiratory rate. For example, if the ratio is less than the predetermined value, a good measure of confidence is indicated, and can be displayed together with the respiratory rate. A suitable predetermined threshold value is 0.3, but this may vary depending on the patient and other parameters.

Second, the algorithm may keep track of the time elapsed since the last detected breath. If this amount of time is greater than a predetermined (and adjustable) time threshold, then an alarm can be sounded, or an indication be so made in the confidence of the respiratory rate. For example, the lack of a breath for more than 10 or 20 seconds may be a suitable threshold.

Third, based on studies that have shown that heart rate is modulated by respiration, the variability in the heart rate can be used to verify (or redundantly measure) the respiratory rate. That is, it has been shown that the heart rate increases during inspiration, then decreases sharply some period of time (approximately 2.5 seconds) after inspiration. It has also been shown that the heart rate increases as respiratory rate increases. The relationship between changes in heart rate and respiratory rate is strongest in the respiratory frequency of 4 breaths/minute to 30 breaths/minute. Consequently, the changes in the heart rate output by the pulse oximeter can be used to verify (or redundantly measure) the respiratory rate as a means of verifying the accuracy of the respiratory rate estimations according to the present invention.

Fourth, the variation in the amplitude of the raw optoplethysmogram has been shown to vary with respiration. The variation range of the optoplethysmogram (also called the "envelope") can be used to verify or redundantly measure the respiratory rate.

Fifth, while the following description of the respiratory rate determination algorithm is made with respect to peaks, it is just as useful to implement the same algorithm for "troughs" as a means to verify or redundantly measure the respiratory rate. Each respiratory peak (relative maximum) should have a corresponding trough (relative minimum). The location of the troughs can be used as another way to determine the respiratory rate.

Finally, the use of different band-pass filters for different heart rate frequency ranges referred to hereinafter, can be generalized. That is, the frequency range of the heart rate may be divided into a plurality of contiguous bands, and a different band-pass FIR filter or signal processing technique may be used to process the optoplethysmogram signal in each band. Further, the use of the different band-pass filter or signal processing technique may be dynamic so that the cut-off frequencies of the band-pass filter or the signal processing technique are changed in real-time depending on the current heart rate.

According to the invention, a system and method are provided that extract the respiratory rate for patients from the raw, unfiltered infrared optoplethysmogram of a pulse oximeter. Low frequency (close to DC) and high frequency (above the normal respiratory rate, above 1.0 Hz) components of the raw optoplethysmogram are removed, preferably by filtering, and a respiratory rate is calculated from the processed signal.

Experimental Basis for the Invention Volunteers and off-line data processing

A pulse oximeter (Novametrix: OxyPleth) and a personal computer (Gate- way2000, 200 MHz Pentium) were used to collect data for the initial development of the software algorithm. A special communication interface (Venus Data Logging) was used to send packets of binary data from the pulse oximeter to the personal computer over a serial port. An RS-232 cable was used to connect the pulse oximeter and the personal computer.

The Venus Data Logging interface transmits binary data in packets of 8 bytes every 10 msec (100 Hz). The heart rate, oxygen saturation, the red and infrared signals corresponding to the raw optoplethysmograms, and the pulse oximeter status can be extracted from the binary packets. The red and infrared optoplethysmograms extracted from the data packets both have 20-bit values, sampled at 100 Hz.

For the initial analysis of the raw optoplethysmogram, data was collected on healthy volunteers. For each volunteer, a finger probe was used on the index finger.

The volunteers were asked to breathe normally and to refrain, if possible, from any movements of the index finger (the testing site). For each volunteer, data was collected in six different conditions. The six different testing conditions were chosen to examine the potential effects the testing conditions had on the optoplethysmograms. The six testing conditions were: 1. Sitting down with the arm, hand, and index finger resting on a table at heart level,

2. Sitting down with the arm, hand, and index finger fully extended above the head,

3. Sitting down with the arm hanging down and the index finger resting below the heart level,

4. Lying down with the index finger at heart level,

5. Immersing the index finger in ice water for 2 minutes before sitting down with the index fmger at heart level (to simulate vasoconstriction),

6. Running for 3 minutes before sitting down with the index finger at heart level (to simulate tachycardia, i.e., high heart rates).

Data was collected for three minutes in each testing condition for each volunteer. During the data collection, the subjects were asked to press a key on the keyboard each time they breathed, for example, during the start of inhalation in each respiratory cycle. The keyboard taps were used as a reference method for measuring the respiratory rate for the initial development of the algorithm. All of the data collected were stored in files on the hard disk of the personal computer. The data were later retrieved and analyzed off-line using Matlab (version 4.0, The Mathworks Inc., Natick, MA).

The normal method of pulse oximetry is to use one probe on a patient. The probe contains two LEDs (660 and 940 nm, typically) on one side and a photodetector on the other side of the probe. Two pulse oximeter probes, each incorporating 2 LEDs and a photodetector, could be used on the same patient to obtain additional data from which the respiratory rate is extracted. In another embodiment, the 4 LEDs and 2 photodetectors could be placed in the same finger probe and through time slicing the functionality of two finger probes would be obtained from one single probe.

The preliminary data indicated that the different testing conditions did not have a significant effect on the optoplethysmograms. When the volunteers had their arms extended above the head, the raw optoplethysmograms showed a slight decrease in the baseline. This was consistent with the fact that local venous pressure in the hand fell when the arm was extended above the head, causing a decrease in blood volume at the index finger. When the arms of the volunteers hung down and the index fingers were resting below the heart level, the baselines of the optoplethysmograms were slightly increased. This was also consistent with the fact that when the arm was lowered, the venous pressure rose, thus causing an increase in blood volume in the index finger. When data were collected with the volunteers lying down, no significant differences were found in the optoplethysmograms. When the volunteers' fingers were immersed in ice water before data was collected, the optoplethysmograms did not show any significant difference either. The highest and most regular respiratory rates were obtained after the volunteers ran for three minutes before data was taken. The respiratory rates after running were as high as 60 breaths/minute.

As the magnitude of the frequency response of the signals showed, both the red and infrared optoplethysmograms contained the same frequency components of the heart rate and respiratory rate. However, the infrared optoplethysmogram had sharper frequency peaks than the red optoplethysmogram. Therefore, it was decided to use the infrared optoplethysmogram for processing in one embodiment.

FIG. 2 illustrates the infrared optoplethysmogram and FIG. 3 illustrates the corresponding signal in the frequency domain. The infrared optoplethysmogram had very strong frequency components corresponding to the heart rates and a very low frequency component (close to DC). The respiratory rates, in comparison, were a lot more subtle and less regular than the heart rates and the very low frequency signals. In order to extract the respiratory rates from the raw infrared optoplethysmogram, a band- pass filter was used to remove the frequency components corresponding to the heart rates and the very low frequencies of the signal. Various kinds of filtering techniques were explored.

The four filtering techniques that were explored were FIR, IIR, adaptive prediction, and adaptive noise cancellation. The adaptive methods investigated did not give a filtered signal with clear respiratory frequency components. Therefore, they were not considered for implementation in the real-time embodiment. Compared with the IIR filter, the FIR filter is always stable and has linear phase response. The IIR filter, on the other hand, can be designed to be stable, but is not necessary stable for finite precision implementation. In addition, IIR filters never have linear phase. The coefficients of the FI filter are easily calculated using standard procedures, such as the Parks-McClellan method. For the above reasons, the FIR filter was selected as the filtering technique to be implemented in one real-time embodiment. However, it should be understood by those with ordinary skill in the art that other filtering techniques (adaptive, neural, analog, etc.) are suitable.

A linear phase FIR filter was chosen to implement the band-pass filter because a linear phase filter can reduce the phase distortions of the filtered signal. The Parks- McClellan algorithm can be used to design linear phase FIR filters that have lower error tolerance than FER filters designed using window techniques (such as the Kaiser window), having the same number of coefficients. In addition, the Parks-McClellan algorithm lets the user specify the important characteristics of a FIR filter in the frequency domain. Therefore, the Parks-McClellan algorithm in Matlab was used to calculate the coefficients of the linear phase band-pass FIR filter.

In order to apply the Parks-McClellan algorithm, several parameters in the frequency domain of the band-pass filter need to be specified. They are the four cut-off frequencies of the band-pass filter (A, B, C, and D in FIG. 4), the amplitudes of the passband (E) and stopband (F), and the maximum deviation allowable for the amplitude of each band (G, H). The amplitude for the passband and stopband of the band-pass filter is already known (pass band = 1, stop band = 0). The two stopband cut-off frequencies of the band-pass filter (A and D) are set according to the normal respiratory frequency for adults, as an example, (6 breaths/minute - 30 breaths/min, or A = 0.1 Hz, D = 0.5 Hz). The passband cut-off frequencies (B and C) and the deviation allowable for the amplitude of each band (G and H) were chosen based on the performance of the respiratory rate detection algorithm on the filtered signal.

The passband cut-off frequencies (B and C for the band-pass filter can be determined from the transition bands (B - A, and D - C) and the cut-off frequencies of the stopbands (A and D),

Lower passband cut-off = Lower stopband cut-off + width of transition band Upper passband cut-off = Upper stopband cut-off - width of transition band.

Since the stopband cut-off frequencies (A and D) are already known, the transition band is determined by the following steps:

1. Holding the allowable amplitude deviation (G, H) constant at 0.01 , calculate the coefficients of a band-pass filter with the transition band at 0.05 Hz, the lower stopband cut-off frequency at 0.1 Hz, and the upper stopband cut-off frequency at 0.5 Hz.

2. Filter the raw optoplethysmogram, preferably infrared, with the bandpass filter calculated in step 1.

3. Run the filtered signal through the breath detection algorithm to estimate the respiratory rate.

4. Compare the estimated respiratory rate obtained from step 3 with the reference respiratory rate from the keyboard taps. Record the error rate.

5. Increase the transition bands by 0.05 Hz (the transition bands will be 0.05 Hz, 0.1 Hz, 0.15 Hz, and 0.2 Hz) and repeat steps 1-4. 6. Choose the largest transition band that also produces the least error rate in step 4. After the optimum transition band is determined, the maximum allowable amplitude deviation of each band can be determined from steps similar to the determination of the optimum transition band. The frequency response of the optimized band-pass FIR filter obtained from the above steps is shown in FIG. 5. The optimized FIR band-pass filter has 1957 coefficients. Its cut-off frequencies are 0.03Hz, 0.1Hz, 0.5Hz, and 0.57Hz. The optimum transition band is 0.07Hz. The stopband amplitude is 0, and the passband amplitude is 1. The maximum allowable deviation for each band is 0.01.

Since the optimized FIR band-pass filter has 1957 coefficients, there will be a delay of 978 samples (half of (1957 - 1)) when the filter is used to process the raw optoplethysmogram. With the sampling rate of the raw optoplethysmogram at 100 Hz, a delay of 9.78 seconds will result during the real-time implementation of the algorithm due to the FIR band-pass filter. This delay is in addition to any nonzero computation time.

FIG. 6 shows a typical optoplethysmogram in the time domain after it has been filtered with the band-pass filter shown in Figure 5, and FIG. 7 shows the corresponding signal in the frequency domain. This optoplethysmogram is obtained from a volunteer sitting down, with the index finger at heart level. From the frequency domain plot, there is no strong peak in the frequency range of adult respiration (6-30 breaths/minute) because the breathing periods vary from breath to breath. Therefore, the filtered signal in the time domain was used to estimate the respiratory rate in realtime. It is understood that there will be a slight delay in the output. Extraction of the respiratory rate from an optoplethysmogram involves two main steps: (a) isolating the component corresponding to the respiratory frequencies from other components in the raw optoplethysmogram and (b) automatically calculating the respiratory rate from the isolated component of the respiratory frequency. Based on experimentation, there are many practical problems that make reduction to practice challenging. Both the respiratory rate and heart rate have a fairly large range so that the upper extreme of respiratory rate overlaps the lower extreme of heart rate. For example, some might breathe at 55 breaths per minute while others have a heartbeat of 50 beats per minute. Therefore a band pass filter with a high upper cutoff frequency might incorrectly accept a low heart rate as the "respiratory" signal while a low upper cutoff frequency might incorrectly reject the genuine respiratory signal of a person who breathes at a fast frequency.

Similarly, extraction of the respiratory rate from the respiratory component isolated from raw optoplethysmogram presents a challenge because in practice, the resulting signal is not clean and still contains artifacts like the vasomotion and Traube- Hering-Mayer (THM) waves as well as huge shifts in the DC level of the signal. Furthermore, the respiratory frequency is not regular. The time interval between each respiratory cycle fluctuates. Consequently, standard techniques for detecting a peak or obtaining a frequency from a clean, regular periodic signal do not necessarily apply. As FIGs. 6 and 7 show, the filtered signal has the respiratory rate component, as well as other components, such as thermoregulation, THM waves, vasomotion, and other artifacts. To accurately estimate the respiratory rate from the filtered signal, a breath detection algorithm was developed that adapts to the changing characteristics of the respiratory signal. The detection algorithm was initially developed heuristically based on the data collected from healthy volunteers. The parameters of the heuristic breath detection algorithm were tuned to reduce the error rate on the volunteer data. FIG. 8 shows a flow chart of the breath detection algorithm 200. The breath detection algorithm 200 consists of five tests. If a point from the filtered signal passes the first three tests, and either test four or test five, it is considered a maximum (a peak) corresponding to one respiratory cycle. The inverse of the time (in seconds) between two adjacent peaks of the respiratory waveform, multiplied by 60, is the instantaneous respiratory rate, in breaths/minute.

The goal of the first test of the breath detection algorithm is to find all of the local maxima and minima in the filtered signal. This is done by detecting the change in the direction of the slope on the filtered signal. In step 205, it is determined whether a point under consideration is a maximum or minimum point. If it is, then in step 210, it is determined whether the point is a local maximum point. If it is a local maximum point, then in step 215, it is determined whether to start testing the point. Consider a small portion of the filtered signal in FIG. 9. Suppose that A is the point under consideration, B is the filtered point just before A, and C is the filtered point after A. The change in the direction of the slope is calculated as (A - B) x (C - A). If the result is less than or equal to zero and (A - B) is positive, A is a local minima. If (A - B) x (C - A) is less than or equal to zero and (A - B) is negative, A is a local minimum. FIG. 10 shows a portion of the filtered signal with all of the local maxima and local minima detected, marked by vertical lines. If a point passes this phase as a local maximum or local minimum, it will undergo the second test of the breath detection algorithm.

The second test in step 220 is designed to discriminate between the local maxima and the "global" maxima corresponding to one respiratory cycle. In this step, the local peak being considered is compared with the point 50 samples before it and the point 50 samples after it. If the local peak is higher than the points at 50 samples before it and at 50 samples after it, then the local peak is a potential maximum corresponding to that respiratory cycle. FIG. 11 shows the local maxima before the second test, and FIG. 12 shows the potential maxima left after running the second test.

As a consequence of choosing the points at 50 samples on each side of the local peak, and the 100 Hz sampling rate, the highest respiratory rate that can be detected by this test is 2 Hz (120 breaths/minute), since [100 samples/sec]/[50 samples/cycle] = 2 cycles/sec.

The 2 Hz limitation on the highest respiratory rate detectable by test two is much higher than the highest respiratory rate expected from patients (normally below 60 breaths/minute); also, since the band-pass filter is set to cut off all signal components above 0.5 Hz, the 2 Hz respiratory rate limit is not much of a limitation. If data points are considered at more than 50 samples away (e.g., 100), the limit on the highest detectable respiratory rate will decrease (e.g., 1 Hz); but the second test will be able to suppress more local maxima not belonging to a respiratory cycle. On the other hand, if data points are considered at less than 50 samples away, the highest detectable respiratory rate will increase, but the second test will be less able to suppress local maxima not belonging to a respiratory cycle. Therefore, based on the distance of the samples on each side of the local peak, there is a tradeoff between the highest detectable respiratory rate and the frequency of the artifacts that can be rejected.

After the second test of the detection algorithm, there are still maxima that do not correspond to a respiratory cycle. An example is shown in FIG. 13. The peak P3 in FIG. 13 does not correspond to a respiratory cycle.

The third test of the breath detection algorithm in step 225 is designed to suppress local maxima that are artifacts, such as P3 shown in FIG. 13. This phase consists of two steps:

1. Within two adjacent local peaks of the filtered signal, the maximum and minimum are found. The difference between the maximum and minimum is calculated; it is the larger of the rising or falling amplitude. For example, from FIG. 13, between adjacent peaks PI and P2, the maximum is PI and the minimum is Tl. The difference between them is PI - Tl, which is the larger amplitude (the larger of the rising or falling amplitude).

2. The larger amplitude is compared with an average value. The average value is the average of the past five larger amplitudes between adjacent peaks. If the ratio between the current larger amplitude and the average value is greater than 0.3, then P2 is a potential peak corresponding to a respiratory cycle. Otherwise, P2 is not a peak of a respiratory cycle. The average value of the larger amplitude is updated only when a peak passes the entire detection algorithm and is considered a true respiratory peak. Now consider the adjacent peaks of P2 and P3 in FIG. 13. The maximum between these two adjacent peaks is P2, and the minimum between the two adjacent peaks is T2. The larger amplitude between the two adjacent peaks is P2-T2. The ratio between this larger amplitude and the average value is less than 0.3. Therefore, the peak at P3 is an artifact, not a respiratory peak. The average value will not be updated. There are two parameters that can be adjusted in test three. The first parameter is the number of past larger amplitudes to be included in the average value (the above example uses 5). If the number of past larger amplitudes is increased, the average value will have a better estimate of the larger amplitude of the respiratory waveform, but it will take a longer time adapting to the changes in the waveform. On the other hand, if the number of past larger amplitudes is decreased, the average value will be a less representative estimate of the larger amplitude of the respiratory waveform, but it will adapt quicker to changes in the waveform. Therefore, the number of past values to be included in the average is a trade off between a better estimate of the larger amplitude of the respiratory waveform and a quicker response to the changes in the waveform.

The second adjustable parameter is the threshold of the ratio between the current larger amplitude and the average value (the above example uses 0.3). Increasing this threshold will suppress more local peaks that are artifacts, such as P3 shown in FIG. 13. However, if this threshold is increased past a certain point, peaks that truly correspond to a respiratory cycle may be suppressed as well. This threshold needs to be adjusted carefully for all data collected, and will be updated as more data is collected. Presently the ratio is 0.3, and the number of larger amplitudes in the average is 5.

The fourth test of the breath detection algorithm in step 230 is designed to suppress the kind of artifact shown in FIG. 14. All of the peaks that are being considered in test four have already passed tests one, two, and three of the breath detection algorithm. In Figure 14, the peak at P2 is not a respiratory waveform peak. Suppose that the peak at P2 is being considered. The minimum between P2 and the past adjacent peak PI is Tl . The rising amplitude of the P2 peak is defined as P2 - Tl . The ratio between this rising amplitude and the average rising amplitude of the last 5 rising amplitudes is calculated. If this ratio is greater than 0.5, the peak being considered (P2) is a true peak of the respiratory cycle; the average rising amplitude will be updated, along with the average maximum amplitude difference for test three and the average falling amplitude for test five. However, if the ratio is less than 0.5, the peak being considered (P2) is not considered a true peak of the respiratory cycle. The average amplitudes will not be updated. In this example, the ratio is less than 0.5. Therefore, P2 is not a true peak of the respiratory cycle, and the average amplitudes are not updated.

There are two parameters that can be adjusted in test four. One of them is the number of past values to be included in the average rising amplitude (the above example uses 5). Increasing this number will give a more representative average of the rising amplitude of the respiratory cycle. However, increasing this number will also increase the time it takes to adapt to changes in the respiratory waveform. The opposite is true when the number of past rising amplitudes is decreased. The average of the rising amplitude of the respiratory waveform may not be as representative, but the average of the rising amplitude will adapt quickly to changes in the respiratory waveform. The trade off between a representative average of the rising amplitude and the time it takes to adapt to changes of the waveform, needs to be considered, just as in test three of the breath detection algorithm.

The second parameter that can be adjusted is the threshold on the ratio of the rising amplitude and the average rising amplitude (the above example uses 0.5). Increasing this threshold will suppress more peaks due to artifact, such as the kind shown in FIG. 14. However, if this threshold is increased too much, peaks that truly correspond to a respiratory cycle may be suppressed as well. Careful tuning of this threshold needs to be made for all data collected. Currently, this ratio is 0.5, and the number of past rising amplitudes in the average is 5.

If the first four tests are passed, then in step 235 it is declared that the peak is a respiratory rate (RR) peak. In step 240, the respiratory rate averages are updated based on the new RR peak. Then, in step 245, the algorithm starts looking for new local peaks, by applying test 1 to the next data point.

If in step 210, it is determined that the point is not a local maximum, then the process moves to step 250 to determine whether the point is a local minimum. If the point is determined to be a local minimum, then it is determined whether to run test five in step 255.

The fifth test in step 260 is designed to catch peaks that are valid respiratory peaks, but are considered artifacts by test four because they are shifted by low frequency components. FIG. 15 shows an example of these peaks. P2, P7, P8, and P9 are all valid respiratory peaks. They are being considered as artifacts because of a low frequency shift imposed on that particular section of the filtered signal. The fifth test uses the "falling amplitude" to catch these peaks and identify them as valid respiratory peaks.

As an example, in FIG. 15, suppose that P2 is being considered. The minimum between P2 and the past adjacent peak (PI) is Tl . The falling amplitude for P2 is PI - Tl. The ratio of this falling amplitude and the average value of the past 5 falling amplitudes are compared. If the ratio is greater than 0.5, P2 is considered a respiratory peak, even if P2 is considered an artifact in test 4 due to its small rising amplitude. The average falling amplitude will be updated to include this new falling amplitude. If the ratio is less than 0.5, P2 is not considered a respiratory peak. The average falling amplitude will not be updated. In this case, the ratio is greater than 0.5 and P2 is considered to be a respiratory peak.

There are again two parameters that can be adjusted in this test. One is the number of past falling amplitudes to be included in the average falling amplitude (the above example chooses 5). An increase in this value will give a more representative estimate of the average of the falling amplitude of the respiratory waveform. However the adaptation time to the changes in the respiratory waveform will also increase. A decrease in this value will have the opposite effect. The average of the falling amplitude may not be as representative, but the average will adapt to changes in the respiratory waveform faster. A trade off between a better estimation of the falling amplitude average and the speed of adaptation to the changes of the respiratory waveform needs to be considered.

The second parameter that can be adjusted in the fifth test is the threshold of the ratio between the current falling amplitude and the average falling amplitude (the above example uses 0.5). An increase in the threshold ratio can avoid the algorithm from picking up too many peaks that do not correspond to a respiratory cycle. However, if the threshold ratio is too high, peaks that correspond to a true respiratory cycle may not be picked up. A careful tuning of the threshold ratio needs to be made for all data collected. Currently this threshold ratio is 0.5, and the number of past falling amplitudes in the average is 5.

If test five is passed, then in step 265, the last local peak is determined to be a RR peak. In step 240, all respiratory rate averages are updated. In step 245, new local peaks are sought by testing the next data point. The breath detection algorithm described above was tuned for all data collected from the volunteers. The tuning method is used to adjust the respiratory rate estimation algorithm when the error between the respiratory rate estimated from the optoplethysmogram (RR-pleth) and the respiratory rate from the reference method (RR-ref) is more than 4 breaths/minute. The error rate is defined as the number of detected breaths in error ( | RR-pleth - RR-ref | > 4) divided by the total number of detected breaths. The tuning method is only used in developing the algorithm, it is not used in testing or in normal use of the algorithm. The tuning method, consists of the following steps: 1. Look for the respiratory frequency in both the raw and filtered signals in the frequency domain. If the respiratory frequency is discernible, by visual inspection, in the raw signal, but disappears in the filtered signal, check to see if the respiratory frequency is within the pass band of the band-pass filter (between B and C in FIG. 4).

2. If the respiratory frequency is outside the pass band of the band-pass filter, adjust the filter limits to include the respiratory frequency in the pass band of the filter. Repeat step 1 to confirm presence of respiratory frequency in filtered signal. 3. If the respiratory frequency is visible in both the raw and filtered signals, inspect the filtered signal in the time domain.

4. Look at the sections of the filtered signal in the time domain where the error is high (more than 4 breaths/minute). Determine which test(s) in the breath detection method fails to recognize valid respiratory peaks or recognize peaks that do not correspond to a respiratory cycle.

5. Tune the adjustable parameters in the test(s) which were found to fail in the previous step.

6. Evaluate the new test parameters on data collected from all subjects to date.

7. Adjust the test parameters so that the error rate on all data collected from all subjects to date is minimized.

8. If a general pattern is apparent in which no tests in the breath detection method can discriminate between the respiratory peaks and the peaks due to artifacts, a new test may need to be created to distinguish between the respiratory peaks and the peaks due to artifacts in the general pattern. Real time, clinical evaluation

The experimental set-up for the real-time respiratory rate estimation algorithm was similar to the set-up in the preliminary signal analysis discussed above. A pulse oximeter (Novametrix OxyPleth) was used to generate the raw infrared optoplethysmogram from real patients. A notebook computer (Gateway 2000 Solo, 100MHz) was connected to the serial port of the pulse oximeter. The raw red and infrared optoplethysmograms, heart rates, oxygen saturation, and the pulse oximeter monitor status were collected and stored on the hard disk of the notebook computer. A user interface was displayed in real-time during the data collection. All of the data collected for one patient was stored in a set of files under a sub-directory dedicated to that patient.

One major difference between the set-up in real-time and the set-up in the preliminary signal analysis was the reference method used for measuring the average respiratory rate. The real-time set-up was designed to collect data from patients in the PACU. Using keyboard taps as a reference method of respiratory rate measurement was not practical in the PACU because most patients were either unconscious or semi-conscious. Therefore, an in-line capnograph (Novametrix: Capnogard) and a nasal cannula were used as a reference method of respiratory rate measurement in the real-time set-up. The capnograph measures the partial pressure of C02 in the respiratory gas going into, and coming from, the patient. The capnograph displays a capnogram, which is the time trace of CO2 level. The time delay of the capnogram is less than 75 msec. The capnograph also estimates the average respiratory rate from the capnogram and displays it. The average respiratory rate displayed by the capnograph is the average of the inverse of the 8 previous respiratory time intervals. All the clinical data was collected from patients in the PACU of Shands Hospital at the University of Florida (UF) after obtaining informed consent according to the experimental protocol, which was approved by the Institutional Review Board (IRB) of UF. All of the patients had just undergone surgery. They all lay in bed, most of them in the supine position. A pulse oximeter finger probe was placed on each patient. A nasal catheter was placed in their nostrils to sample the respiratory gas for the capnograph. Data was collected for twenty-five minutes in five sets of five-minute intervals for each patient.

The notebook computer has a user interface that displays the raw infrared optoplethysmogram, the filtered infrared signal, the average respiratory rate calculated by the algorithm (RR-pleth), the average respiratory rate from the capnograph (RR-C02), the heart rate from the pulse oximeter (HR), the maximum ratio of RR-pleth/HR, the maximum ratio of RR-CO2/HR, and the elapsed time since data collection started. FIG. 16 illustrates the unprocessed optoplethysmogram signal at 100 Hz and FIG. 17 illustrates a filtered signal.

The user interface also has several "hot keys" to provide several features during a data collection trial. When a breath is declared to be in error ( | RR-pleth - RR-ref I > 4), an alarm is sounded. The user interface provides two hot keys to silence or sound the alarm. The running plots of the raw and filtered signals displayed in the user interface can be frozen or unfrozen using two other hot keys. From the data collected in the preliminary analysis, it was found that there was a wide range of respiratory and heart rates among adults. As a consequence, band-pass filters with higher upper cut-off frequencies worked better for people with higher heart rates. The reason for this is that patients tend to have higher respiratory rates when their heart rates are higher. With higher respiratory rates, the frequencies corresponding to the respiratory rates may fall outside the pass band of the original optimized band-pass filter (shown in FIG. 5). Therefore, in the real-time implementation of the algorithm, two band-pass filters with different upper cut-off frequencies were used to accommodate different respiratory and heart rates among adults. Both of the band-pass FIR filters used in the real-time implementation have the same lower cut-off frequencies (0.03Hz, 0.1Hz; A and B in FIG. 4), pass-band amplitude (1.0; E in Figure 4), stop band amplitude (0.0; F in FIG. 4), and maximum allowable amplitude deviation in pass band and stop band (0.01 ; G and H in FIG. 4). The first filter has the upper cut-off frequencies at 0.5Hz and 0.57Hz (C and D in FIG. 4). The second filter has the upper cut-off frequencies at 0.8Hz and 0.87Hz (C and D). For patients with heart rates below or equal to 85 beats/minute, the algorithm will use the first filter. For patients with heart rates above 85 beats/minute, the algorithm will use the second filter. The heart rates of the patients are obtained from the serial output stream of the pulse oximeter.

The coefficients of the two FIR filters are calculated ahead of time and are stored in two different files. The algorithm decides which filter to use for filtering the raw infrared optoplethysmogram based on the highest heart rate detected in the first 20 seconds of data collection. The algorithm then reads the coefficients from the appropriate file and uses the same filter throughout the entire data collection interval of 5 minutes.

With reference to FIGs. 18-21, the entire real-time implementation of the respiratory rate estimation algorithm can be divided into four different stages. Stages one, two, and three are run in the beginning of the data collection trial to provide enough delay for the band-pass filtering and the breath detection tests. It takes approximately 21 seconds to run the first three stages. The fourth stage is when the respiratory rates are estimated from the raw infrared optoplethysmogram.

Referring to FIG. 18, the first stage of the algorithm involves initialization of all the variables, including the coefficients for the FIR filter with a 0.5 Hz cut-off frequency, in step 300, displays program information in step 305, and in step 310 gives the user the option to decide whether to run the algorithm in real-time or in play back mode (using data that has already been collected). If the user wants to run the algorithm in real-time mode, the program creates the appropriate directory and files for reading and writing data in steps 315 and 320, and initializes the serial communication ports in step 325. If the user wants to run the algorithm in play back mode, the program finds the appropriate directory in step 330 and opens the data files for reading in step 335.

Moving to FIG. 19, the second stage of the algorithm will be described. In step 340, files are opened to store results of the processing. Next, in steps 345 and 350, enough raw data is read in to start the band-pass filtering. In step 355, if the maximum heart rate is greater than 85, certain adjustments are made so that the algorithm can pick the appropriate band-pass filter to use for the rest of the data collection trial. In step 360, the filter(s) are adjusted appropriately and in step 365 filtering begins. Referring to FIG. 20, the third stage will be described. In step 370, data points from the filtered signal are read in to start the breath detection tests. The collected data is first median filtered with window length 3 in step 375 and then band-pass filtered with the appropriate filter chosen in stage two. The filtered data is then placed in a buffer until it is determined in step 380 that there is enough filtered data (more than two times the number of samples used in test 2 of the breath detection algorithm) to start the breath detection tests.

The first, second, and third stages are used to initialize buffers for the band-pass filter and the detection tests. They are run only in the beginning of a data collection trial. In the fourth stage, the entire respiratory rate estimation algorithm is run. In step 385, the raw infrared optoplethysmogram is collected, median filtered, and bandpass filtered to generate a filtered signal. The filtered signal then passes through the breath detection tests of FIG. 8 to detect valid peaks in the filtered signal. In step 390, the average respiratory rate is calculated for each valid peak detected in the filtered signal.

If the algorithm is no longer in a learning phase as determined in step 395 ( I RR-pleth - RR-CO2 | <= 4 or time > 1 min), then in step 400, the error rate of the respiratory rate estimation algorithm is updated every breath. The raw infrared optoplethysmogram, filtered infrared signal, respiratory rate estimated from the algorithm, respiratory rate from the reference method, heart rate from the pulse oximeter, maximum ratio of RR-pleth/HR, maximum ratio of RR-CO2/HR, and the time elapsed since the start of stage four are displayed in the user interface. The procedures in the fourth stage are repeated as represented by steps 410 and 415 until the end of a five minute data collection interval or when the user interrupts the program as shown in step 420. Optionally, data generated by the algorithm may be output to a printer in step 405.

The real-time respiratory rate estimation algorithm may be implemented in one of a variety of software programs. For example, Borland C++ (version 4.5, Scotts Valley, CA) was used for implementation. The response time of the implemented algorithm is 21 seconds in the beginning, and 11 seconds thereafter. In the beginning of the data collection, there is a learning phase in which the characteristics of the particular filtered signal are learned by the breath detection tests. During this phase, if a breath is in error, the error is not counted. The learning phase ends when the average respiratory rate estimated by the algorithm is within 4 breaths/minute from the reference method. The learning phase usually ends in one minute. If the learning phase has not ended after one minute from the start of the data collection trial, the breaths declared to be in error are counted regardless of whether the learning phase has ended or not. The above description is intended by way of example only and is not intended to limit the invention in any way except as set forth in the following claims.

Patent Citations
Cited PatentFiling datePublication dateApplicantTitle
US4086915 *24 May 19762 May 1978Harvey I. KofskyEar oximetry process and apparatus
Referenced by
Citing PatentFiling datePublication dateApplicantTitle
WO2008019294A22 Aug 200714 Feb 2008Ric Investments, Llc.Nasal and oral patient interface
WO2009016334A1 *13 Jun 20085 Feb 2009Oxford Biosignals LimitedMethod and apparatus for measuring breathing rate
WO2010033400A18 Sep 200925 Mar 2010Medtronic, Inc.Filtering of a physiologic signal in a medical device
WO2010082200A1 *14 Jan 201022 Jul 2010Widemed Ltd.Method and system for detecting a respiratory signal
WO2010128275A1 *26 Apr 201011 Nov 2010Nellcor Puritan Bennett IrelandSelection of signal regions for parameter extraction
WO2010142936A1 *26 Apr 201016 Dec 2010Nellcor Puritan Bennett IrelandSignal processing techniques for aiding the interpretation of respiration signals
WO2015044010A1 *17 Sep 20142 Apr 2015Koninklijke Philips N.V.Processing apparatus, processing method and system for processing a physiological signal
EP1834577A2 *14 Mar 200319 Sep 2007Samsung Electronics Co., Ltd.Diagnostic method and apparatus using light
EP1834577A3 *14 Mar 20033 Oct 2007Samsung Electronics Co., Ltd.Diagnostic method and apparatus using light
EP2068702A2 *21 Sep 200717 Jun 2009Starr Life Sciences CorporationPulse oximetry system and techniques for deriving cardiac and breathing parameters from extra-thoracic blood flow measurements
EP2068702A4 *21 Sep 200717 Oct 2012Starr Life Sciences CorpPulse oximetry system and techniques for deriving cardiac and breathing parameters from extra-thoracic blood flow measurements
EP2752157A1 *19 Dec 20139 Jul 2014Nihon Kohden CorporationBiological signal averaging processing device
EP3066978A1 *27 Dec 200414 Sep 2016Beta Biomed Services, Inc.Method and system of monitoring respiration in an individual
US768484229 Sep 200623 Mar 2010Nellcor Puritan Bennett LlcSystem and method for preventing sensor misuse
US804799931 Oct 20081 Nov 2011Medtronic, Inc.Filtering of a physiologic signal in a medical device
US820222331 Oct 200819 Jun 2012Medtronic, Inc.Method and apparatus for determining respiratory effort in a medical device
US821917020 Sep 200610 Jul 2012Nellcor Puritan Bennett LlcSystem and method for practicing spectrophotometry using light emitting nanostructure devices
US823153631 Oct 200831 Jul 2012Medtronic, Inc.Method and apparatus for detecting respiratory effort in a medical device
US82657249 Mar 200711 Sep 2012Nellcor Puritan Bennett LlcCancellation of light shunting
US82804699 Mar 20072 Oct 2012Nellcor Puritan Bennett LlcMethod for detection of aberrant tissue spectra
US831568525 Jun 200920 Nov 2012Nellcor Puritan Bennett LlcFlexible medical sensor enclosure
US837201331 Oct 200812 Feb 2013Medtronic, Inc.Method and apparatus for determining a respiration parameter in a medical device
US839855510 Sep 200819 Mar 2013Covidien LpSystem and method for detecting ventilatory instability
US84785387 May 20092 Jul 2013Nellcor Puritan Bennett IrelandSelection of signal regions for parameter extraction
US849868330 Apr 201030 Jul 2013Covidien LLPMethod for respiration rate and blood pressure alarm management
US852124629 Jul 201027 Aug 2013Covidien LpCable cross talk suppression
US85329327 May 200910 Sep 2013Nellcor Puritan Bennett IrelandConsistent signal selection by signal segment selection techniques
US861076928 Feb 201117 Dec 2013Covidien LpMedical monitor data collection system and method
US861620320 Apr 201231 Dec 2013Ric Investments, LlcNasal and oral patient interfaces
US862291630 Oct 20097 Jan 2014Covidien LpSystem and method for facilitating observation of monitored physiologic data
US883437830 Jul 201016 Sep 2014Nellcor Puritan Bennett IrelandSystems and methods for determining respiratory effort
US888057623 Sep 20114 Nov 2014Nellcor Puritan Bennett IrelandSystems and methods for determining respiration information from a photoplethysmograph
US90113472 Jul 200921 Apr 2015Nellcor Puritan Bennett IrelandMethods and apparatus for determining breathing effort characteristics measures
US90317935 Sep 201212 May 2015Lawrence A. LynnCentralized hospital monitoring system for automatically detecting upper airway instability and for preventing and aborting adverse drug reactions
US904295210 Feb 200626 May 2015Lawrence A. LynnSystem and method for automatic detection of a plurality of SPO2 time series pattern types
US90532227 May 20099 Jun 2015Lawrence A. LynnPatient safety processor
US90607468 May 201423 Jun 2015Covidien LpSystems and methods for detecting arrhythmia from a physiological signal
US911959723 Sep 20111 Sep 2015Nellcor Puritan Bennett IrelandSystems and methods for determining respiration information from a photoplethysmograph
US917987630 Apr 201210 Nov 2015Nellcor Puritan Bennett IrelandSystems and methods for identifying portions of a physiological signal usable for determining physiological information
US919233620 Aug 201224 Nov 2015Nellcor Puritan Bennett IrelandMethod of analyzing and processing signals
US919861620 Aug 20121 Dec 2015Nellcor Puritan Bennett IrelandMethod of analyzing and processing signals
US922045920 Aug 201229 Dec 2015Nellcor Puritan Bennett IrelandMethod of analyzing and processing signals
US922046020 Aug 201229 Dec 2015Nellcor Puritan Bennett IrelandMethod of analyzing and processing signals
US92478964 Jan 20122 Feb 2016Nellcor Puritan Bennett IrelandSystems and methods for determining respiration information using phase locked loop
US935166514 Jan 201031 May 2016Widemed Technologies Ltd.Method and system for detecting a respiratory signal
US93929756 Sep 201319 Jul 2016Nellcor Puritan Bennett IrelandConsistent signal selection by signal segment selection techniques
US940255423 Sep 20112 Aug 2016Nellcor Puritan Bennett IrelandSystems and methods for determining respiration information from a photoplethysmograph
US955471227 Feb 201331 Jan 2017Covidien LpSystems and methods for generating an artificial photoplethysmograph signal
US95609785 Feb 20137 Feb 2017Covidien LpSystems and methods for determining respiration information from a physiological signal using amplitude demodulation
US96686953 Mar 20146 Jun 2017University Of Florida Research Foundation, Inc.Pulse oximeter probes and methods for using the same
US967527423 Sep 201113 Jun 2017Nellcor Puritan Bennett IrelandSystems and methods for determining respiration information from a photoplethysmograph
US968715927 Feb 201327 Jun 2017Covidien LpSystems and methods for determining physiological information by identifying fiducial points in a physiological signal
US969370923 Sep 20114 Jul 2017Nellcot Puritan Bennett IrelandSystems and methods for determining respiration information from a photoplethysmograph
US969373524 Dec 20134 Jul 2017Nihon Kohden CorporationBiological signal averaging processing device
US969373630 Nov 20114 Jul 2017Nellcor Puritan Bennett IrelandSystems and methods for determining respiration information using historical distribution
US973726628 Aug 201522 Aug 2017Nellcor Puritan Bennett IrelandSystems and methods for determining respiration information from a photoplethysmograph
US20130137936 *30 Nov 201130 May 2013Nellcor Puritan Bennett IrelandSystems and methods for determining respiration information using historical distribution
Classifications
International ClassificationA61B5/08, A61B5/00
Cooperative ClassificationA61B5/14551, A61B5/7278, A61B5/0816
European ClassificationA61B5/1455N, A61B5/72M4, A61B5/08R
Legal Events
DateCodeEventDescription
3 Feb 2000ENPEntry into the national phase in:
Ref country code: AU
Ref document number: 2000 11185
Kind code of ref document: A
Format of ref document f/p: F
20 Apr 2000ALDesignated countries for regional patents
Kind code of ref document: A1
Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG
20 Apr 2000AKDesignated states
Kind code of ref document: A1
Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW
14 Jun 2000121Ep: the epo has been informed by wipo that ep was designated in this application
31 Aug 2000COPCorrected version of pamphlet
Free format text: PAGES 1/11-11/11, DRAWINGS, REPLACED BY NEW PAGES 1/11-11/11; DUE TO LATE TRANSMITTAL BY THE RECEIVING OFFICE
31 Aug 2000AKDesignated states
Kind code of ref document: C2
Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW
31 Aug 2000ALDesignated countries for regional patents
Kind code of ref document: C2
Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG
21 Sep 2000DFPERequest for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
16 Aug 2001REGReference to national code
Ref country code: DE
Ref legal event code: 8642
3 Apr 2002122Ep: pct application non-entry in european phase