Skip to main content

01.02.2012 | Ausgabe 1/2012 Open Access

Journal of Clinical Monitoring and Computing 1/2012

Developing an algorithm for pulse oximetry derived respiratory rate (RRoxi): a healthy volunteer study

Journal of Clinical Monitoring and Computing > Ausgabe 1/2012
Paul S. Addison, James N. Watson, Michael L. Mestek, Roger S. Mecca

1 Introduction

Respiratory rate (RR) is recognized as an important clinical parameter which, in practice, is measured in a number of different ways depending upon the clinical setting. The measurement may be performed continuously—for example using end-tidal CO 2 (ETCO 2) monitors, EKG-based trans-thoracic impedance (TTI) systems, nasal thermistors, abdominal and chest bands—or intermittently—for example using manual counting during patient observation. Continuous measurements involve specialized and/or obtrusive equipment and hence RR is normally available from these devices only when they have been specified for another clinical purpose. In contrast, manual counting is a methodology that clearly eludes these technological issues. However, it is an intermittent spot check made during patient observation and not a continuous measurement. Therefore, there remains a clear clinical need for an alternative automated, continuous methodology for the calculation of RR. An ideal solution would be one that is continuous, non-invasive, simple to operate and unobtrusive to the patient.
One such technology candidate that is already currently accepted in clinical practice is pulse oximetry. Recent evidence indicates that the measurement of respiratory rate from the pulse oximeter signal, or photoplethysmogram (PPG), may be possible. Indeed, numerous groups have previously demonstrated that respiratory-related fluctuations in the PPG signal are both physiologically plausible and their measurement, technically attainable. Technical solutions to their measurement include: inspection of the respiratory oscillations in the filtered PPG [ 7, 9, 1619]; frequency spectra-based approaches [ 10, 21] independent component analysis [ 22] Short-Time Fourier Analysis (STFT) [ 20]; neural networks [ 8]; variable frequency complex demodulation methods (VFCDM) [ 2, 4]; autoregressive models [ 5, 6, 11]; and approaches based on the continuous wavelet transform (CWT) by our own group [ 3, 1215]. These studies have ranged in cohort size from 4 to 36 subjects and have comprised a wide range of subject types including healthy adult volunteers, patients undergoing abdominal procedures, chest clinic patients, children, and neonates. Protocols have included subjects breathing freely, subjects asked to breathe at a specified rate or rates, and mechanically ventilated patients. A range of RR verification signals have also been used including nasal thermistors, facemask flowmeters, ETCO 2 signals, TTI signals, chest and abdominal bands, manual counting by an observer and manual self-counting by the patient. Thus, there is now a considerable body of evidence supporting the potential feasibility of such a monitoring technology.
Despite these previous efforts, to date, a viable methodology meeting the aforementioned desired criteria for a respiratory rate monitoring device has yet to be developed. However, this cumulative body of evidence strongly suggests the possibility that deriving both pulse oximetry and RR from a single combined sensing system may represent an effective solution. A technological approach providing these metrics from a single sensor would yield tremendous clinical utility in an efficient manner. Therefore, the purpose of this study was to develop a robust algorithm to extract respiratory rate from a standard pulse oximetry system. To this end, we have further developed our CWT-based methods to a point where they are now incorporated within a fully-functional algorithm tailored to mimic operation on a monitoring hardware platform. This paper emphasizes the holistic approach to the development of an algorithm which will provide a robust determination of Respiratory Rate of clinically relevance to the end user. This requires a strong pre-processing module feeding into a core method of information extraction (the Analysis Engine), from which a value is determined and fed into a post-processing methodology fit for purpose. Particular emphasis in the algorithmic design has been placed on the weighted averaging and logical decision making processes required to determine the validity of the computed rate and its use in updating the respiratory rate that would be reported to the clinical end-user. The algorithm has been developed using patient data from a wide range of clinical settings and healthy volunteer data. As part of the algorithm validation process we have tested its performance on data from a large-scale, in-house study of healthy adult volunteers. Results from this study are reported herein.

2 Methods and materials

2.1 The respiratory rate algorithm

The “text-book” depiction of the PPG signal used in pulse oximetry for the computation of oxygen saturation (SpO 2) is one where a repeating smooth, double-humped, cardiac ‘pulse’ waveform sits on top of a large constant baseline component (often called the DC component). This is depicted in Fig. 1a. However, in practice this is often not the case and, in fact, both the cardiac pulse and baseline components can vary quite significantly over time. This variation is caused by a variety of factors including, for example: vasomotion/compliance effects, changes in venous pooling related to heart rate/cardiac output variations, blood pressure changes and, of course, respiratory modulations. In standard pulse oximetry, these variations are commonly filtered out to isolate the cardiac (arterial) pulse component for the purpose of determining SpO 2. However, we can exploit these variations to measure RR from the PPG signal.
Respiratory activity may cause the PPG to modulate in three fundamental ways. These are:
(1) Baseline (DC) modulation: Changes in venous return secondary to changes in intrathoracic pressure throughout the respiratory cycle cause a baseline DC modulation of the PPG signal. During inspiration, decreases in intrathoracic pressure result in a small decrease in central venous pressure increasing venous return. The opposite occurs during expiration. As more blood is shunted from the low pressure venous system at the probe site and the venous bed cyclically fills and drains, the baseline is modulated accordingly (Fig. 1b).
(2) Pulse amplitude modulation: Decreased left ventricular stroke volume, due to changes in intrathoracic pressure during inspiration, leads to decreased pulse amplitude during this phase of respiration (Fig. 1c).
(3) Respiratory sinus arrhythmia (RSA): This is a variation in heart rate that occurs throughout the respiratory cycle. Specifically, it has been well-documented that heart rate increases during inspiration and decreases during expiration. The presence of RSA is influenced by several factors including age, disease status, and physical fitness. While the precise mechanisms of RSA remain controversial, in general, it is a result of autonomic nervous system activity fluctuation during respiration Fig.   1d.
For the purposes of RR computation, we do not filter out the respiratory effects on the PPG; rather these erstwhile “artefacts” become useful signals. The extraction of respiratory components is particularly challenging as they are generally more subtle in form (i.e. of lower amplitude and less well defined) than the cardiac pulse signal components used in the determination of SpO 2. In addition, the three main respiratory modulations described in the previous section may be present in varying degrees across the patient population. In fact for some patients only one modulation type may be clearly observed; while in other patients two types may be detected; still other patients can be observed to exhibit all three types of modulation. This is a critically important point, and answers the question why many previous methods, which have focused on deriving respiratory rate from a single modulation type, have failed to make it to a commercial implementation. A further challenge is that respiratory components often appear concurrently with a range of other low frequency artifact due, for example, to patient movement, vasomotion or blood pressure changes. Extraction of respiration information from the PPG therefore requires significantly advanced signal processing capabilities coupled with a full awareness of the character of respiratory modulations within the PPG.
We have developed a powerful signal processing methodology that can extract respiratory information from the PPG in a robust manner. This is embodied within our respiratory rate algorithm which optimizes the extraction of respiratory information from within the PPG signal. This is achieved by deriving a series of characterizing signals (based on the modulations of the PPG signal through the respiratory cycle described above) which are optimally configured to enhance respiratory information content. These are fed into the main Analysis Engine which processes the characterizing signals in order to determine a respiratory rate. The Analysis Engine incorporates advanced signal processing techniques based on CWT methods. The wavelet transform of a signal x( t) is defined as:
$$ T(a,b) = \frac{1}{\sqrt a }\int\limits_{ - \infty }^{ + \infty } {x(t)\psi^{*} \left( {\frac{t - b}{a}} \right)} {\text{ d}}t $$
where ψ *( t) is the complex conjugate of the wavelet function ψ( t), a is the dilation or scale parameter of the wavelet, b is the location parameter of the wavelet and x( t) is the signal under investigation: this may be the PPG or secondary signals derived from the PPG. In our work, tunable wavelets are employed which allow us to control the geometry of the time-scale Heisenberg partitioning in wavelet space [ 1].
An important, and often overlooked, part of the design of an RR algorithm is the process of converting the currently computed rate (i.e. the one computed at the present time from the most recent section of signal) to the reported rate (i.e. the one seen by the clinician on the monitor screen). This is a critical design step in any physiological monitoring algorithm for commercial use. We have a separate Rate Reporting Module within the algorithm which uses the current rate determined by the Analysis Engine to update the respiratory rate reported to the end user. This is performed using a weighted averaging and logical decision making process. This is explained in more detail as follows and shown schematically in Fig. 2.
Every 5 s a respiratory rate is derived from the previous 45-s segment of infrared PPG. (This is the optimal segment length found through a detailed parametric analysis of a wide variety of data from range of clinical settings and healthy volunteer data.). These current rates are averaged further with the previously displayed rate, and pass through additional logic before displaying a final reported rate to the user. The weighted averages are based on a number of metrics calculated during the pre-processing and analysis phases. In general, increased noise for a given measurement results in a lower relative weight in the weighted average. The weights in the weighted average reflect the quality of the data over which a measurement was taken and are derived from both the signal and the transform of the signal. The algorithm then goes through state machine driven logic to determine whether the newly computed rate should be reported to the user. The state machine is shown in Fig. 2. A brief description of each state is given as follows:

2.1.1 Post rate

In this state the value is displayed to the user. An internal metric is calculated that quantifies the total averaging time for the current RR estimate. (In general, averaging increases as confidence decreases). If the total averaging time exceeds a time T 2 of 2 min, the current RR estimate is cleared from the user display and the internal RR is reset to 0.

2.1.2 Blank out display

In this the algorithm is still maintaining internal averaging of the RR estimate, however, the averaging time is too long to display an accurate measure to the user. The algorithm will remain in this state until the internal averaging time goes below a threshold T 1 of 90 s, at which point the rate will be displayed.

2.1.3 No post

In this state all prior (averaged) history of the Respiration Rate value is ignored. The Respiration Rate value is only reported to the user when the confidence metrics are all below predetermined thresholds. These thresholds get more lenient as time progresses. NO POST is the start-up state and in order to post on the first measurement from the analysis portion of the algorithm the confidence must be very high. As time progresses the confidence threshold decreases as more and more data is averaged in.
Note that in all states described above, the entire algorithm is reset (returns to NO POST) if the oximeter algorithm reports a pulse rate or SpO 2 of zero (i.e. a dropout) or the sensor is disconnected. The use of a state machine driven logic allows the algorithm to optimize the reporting of a stable rate which is robust to noise while retaining optimal accuracy.

2.2 Study details

2.2.1 Subjects

Subsequent to IRB approval, the study was conducted within the clinical laboratory at Covidien’s Respiratory and Monitoring Solutions facility in Boulder, CO, USA. A cohort of 139 healthy adult volunteers were recruited for the trial (58 Male and 81 Female). Participants ranged in age from 18 to 67 years with a mean age of 35 years and standard deviation of 12 years. Body mass indices ranged from 17 to 51 with a mean of 25 and standard deviation of 5. Heart rate was monitored during the trial and these ranged from 43 to 113 beats per min with a mean of 66 beats per min and standard deviation of 10 beats per min. These parameters are listed in Table  1.
Table 1
Participant characteristics
Age (yr)
BMI (kg/m 2)
HR (bpm)
Yr years, BMI body mass index, HR heart rate, bpm beats per min
All participants were apparently healthy and free of known, overt cardiovascular, pulmonary, and metabolic diseases. Of those included, a small number had pre-existing conditions such as asthma, sleep apnea, thyroid issues, depression, hypotension and hypertension. Further study exclusion criteria were as follows: (1) Contact allergies that may cause a reaction to standard adhesive materials found in the sensors used, (2) Abnormalities that may prevent proper application of the pulse oximeter probe, and, (3) Previous injury or co-morbidity to fingers or hands that may alter blood flow and vascular supply.

2.2.2 Protocol

The data were acquired using a standard Nell-1 oximeter OEM module with a Nellcor Max-A disposable probe attached securely to the index finger of the right-hand. The Nell-1 module is a standard oximeter board which can be found in many of the multiparameter montoring machines found in hospital. The RR OXI algorithm works from the native device sample rate of 75.7 Hz of this board. The board has a low pass filter at 5.5 Hz with full DC retained for oximetry purposes. A Datex-Ohmeda CardioCap/S5 device was used to record an end-tidal CO 2 signal from the patient using a nasal cannula. Once the subject was comfortable with the equipment, the PPG signal was acquired over a duration of approximately 8 min while subjects were asked to relax and breathe naturally.
Data integrity was ensured through training of study personnel prior to data collection and explicit documentation of compliance with study procedures during all data collection. All study devices were used according to specification and all sensors were placed properly according to the device manuals and study instructions. Data were acquired using commercially available pulse oximeter boards with fully validated firmware and embedded software. Trained study personnel observed all data collection and documented adherence on an individual Case Report Form for each subject. Case Report Forms were subsequently monitored by a Clinical Research Associate to verify completeness and accuracy prior to the incorporation of the data into analysis. Data analysis was performed in accordance with documented procedures and reviewed for accuracy by a Data Review Board.

2.2.3 Statistical analysis

All data are presented as mean ± standard deviation. Pearson-product moment correlation coefficients were employed to determine the relation between RR oxi and \( {\text{RR}}_{{{\text{ETCO}}_{ 2} }} \).

3 Results

We examined the performance of RR oxi against a widely used continuous respiratory rate technology, \( {\text{RR}}_{{{\text{ETCO}}_{ 2} }} \), derived from the end-tidal CO 2 signal. \( {\text{RR}}_{{{\text{ETCO}}_{ 2} }} \) was used as the gold standard reference signal in the study.
Figure  3 shows the distribution of the respiratory rates during the study. The histogram plot is comprised of 12,600 \( {\text{RR}}_{{{\text{ETCO}}_{ 2} }} \) data points observed every 5 s from the gold standard ETCO 2 signal over the whole study population. \( {\text{RR}}_{{{\text{ETCO}}_{ 2} }} \) ranged from a lowest recorded value of 2.97 br/min to a highest value of 28.02 br/min. The mean rate was 14.49 br/min with standard deviation of 4.36 br/min. \( {\text{RR}}_{{{\text{ETCO}}_{ 2} }} \) did not report a rate for 3.6% of the data due to poor signal quality or the machine recalibrating.
Figure  4 shows a plot of RR oxi against \( {\text{RR}}_{{{\text{ETCO}}_{ 2} }} \). The data is tightly spread around the line of agreement and a strong correlation between the two measures can be observed in the plot ( R 2 = 0.93). The least square line can be seen to be close to the ideal 1:1 slope. Figure  5 contains a histogram of the differences between RR oxi and \( {\text{RR}}_{{{\text{ETCO}}_{ 2} }} \). \( {\text{RR}}_{{{\text{ETCO}}_{ 2} }} \) reported a rate 96.4% of the time. RR oxi reported a rate 96.2% of the time. (The overlap of non-reporting times for the two RR’s was 0.5%.). The mean difference between the rates was −0.23 br/min with a standard deviation of 1.14 br/min. The root mean square deviation (RMSD) was 1.16 br/min (comprising mean error and SD to give a measure of total error).

4 Discussion

The main finding of this study is that the algorithm developed is able to robustly calculate respiratory rate from a standard pulse oximetry system during spontaneous breathing in healthy adults. Importantly, this was accomplished using a single sensor. Thus, these results demonstrate a unique, clinically useful approach to monitoring multiple respiratory variables in a continuous, non-invasive, and easy to use manner.
The drive to develop a viable technology has gained increasing momentum over recent years as more sophisticated signal processing methods have been developed. Despite previous efforts to date, a viable methodology satisfying the aforementioned desired criteria for a respiratory rate monitoring device has yet to be developed. The success of this endeavor requires the following three components: (1) the recognition of the multi-faceted manifestations of respiratory modulations within the PPG and the complex interplay between them; (2) the implementation of appropriate advanced signal processing techniques to take full advantage of this information; and (3) the post-processing infrastructure to deliver a clinically useful reported respiratory rate to the end user.
Studies reported in the literature generally fail to properly address one or more of the above criteria, and most fail to address any of these criteria. In fact, many investigators concentrate on a single modulation type (i.e. RSA, pulse amplitude, or baseline). We note also that others have attempted to implement a CWT-based method, but it appears that the implementation differs greatly from our own. Chon et al. [ 2] reported CWT-based RR results for pulse amplitude and RSA components separately (i.e. not a combined measure). Fleming and Tarassenko [ 6] appear to have manually selected an optimal modulation transform, and report a mean error of 1 br/min from a limited study of 7 subjects. In addition to the CWT implementation itself, these studies fail to incorporate the pre- and post-processing components of our CWT algorithm which are significant and necessary part of its infrastructure to ensure optimal performance.
Recognizing the above three tenets, we have developed an algorithm for the derivation of respiratory rate from signals available on a standard, commercially available pulse oximeter hardware platform. The oximeter-derived respiratory rate, RR oxi, was derived from data collected from a 139 healthy subject cohort and compared to a reference rate, \( {\text{RR}}_{{{\text{ETCO}}_{ 2} }} \). We found excellent agreement between the two with an RMSD of 1.16 br/min (mean difference of −0.23 br/min). It is worth also restating (from the Introduction) that the algorithm has been developed using a wide range of in-hospital patient data and healthy subject data (including various sensor sites and patient positions, breathing protocols, patient disease states and a wider range of respiratory rates), and so is not tuned specifically for healthy subjects. This was done to mitigate against overtraining on healthy subject data and to ensure that the algorithm has the ability to cope with as wide a range of situations in the field as possible. Note that we inspected the subject case review forms (CRFs) to determine whether any of the 139 subjects had a pre-existing respiratory problem and found that 6 had asthma. We examined their individual results and found that their RMSD’s ranged from 0.4 to 1.3 and that they did not appear to exhibit different behaviour from the rest of the population.

5 Conclusions

Currently, pulse oximeters use the differential absorption of red and infrared light between oxygenated hemoglobin and deoxygenated hemoglobin to provide a measure of oxygen saturation; heart rate is also provided. These devices do not currently measure respiratory rate, and will only detect inadequate respiration after hypoxia has occurred. Due to the nonlinear relationship between SaO 2 and PaO 2, where SaO 2 may drop dramatically at first with little change in SaO 2 [ 23], and the significant increases in circulatory times that may be exhibited during extreme monitoring conditions such as during hypotension, hypoperfusion and hypothermia [ 24], pulse oximetry is often considered a lagging indicator of evolving respiratory complications, thus limiting its efficacy in this domain. The combination of pulse oximetry with respiratory rate using a single sensor, may provide earlier indication of evolving respiratory compromise. We believe the RR oxi algorithm would provide this earlier indication by offering the capability to monitor respiratory rate via a sensor that is routinely attached to patients in many clinical situations, thus potentially enhancing patient safety with combined respiratory rate and arterial oxygen saturation monitoring.


We wish to thank the members of the algorithm development team for their efforts and the in-house reviewers for their helpful comments. We would also like to thank the external reviewers for their helpful comments.

Open Access

This article is distributed under the terms of the Creative Commons Attribution Noncommercial License which permits any noncommercial use, distribution, and reproduction in any medium, provided the original author(s) and source are credited.
Open AccessThis is an open access article distributed under the terms of the Creative Commons Attribution Noncommercial License ( https://​creativecommons.​org/​licenses/​by-nc/​2.​0), which permits any noncommercial use, distribution, and reproduction in any medium, provided the original author(s) and source are credited.

Unsere Produktempfehlungen

e.Med Interdisziplinär


Für Ihren Erfolg in Klinik und Praxis - Die beste Hilfe in Ihrem Arbeitsalltag als Mediziner

Mit e.Med Interdisziplinär erhalten Sie Zugang zu allen CME-Fortbildungen und Fachzeitschriften auf

Alle e.Med Abos bis 30. April 2021 zum halben Preis!

Jetzt e.Med zum Sonderpreis bestellen!

Über diesen Artikel

Weitere Artikel der Ausgabe 1/2012

Journal of Clinical Monitoring and Computing 1/2012 Zur Ausgabe

Neu im Fachgebiet AINS

Mail Icon II Newsletter

Bestellen Sie unseren kostenlosen Newsletter Update AINS und bleiben Sie gut informiert – ganz bequem per eMail.