Abstract:
A method and a system for ensemble averaging signals in a pulse oximeter, including receiving first and second electromagnetic radiation signals from a blood perfused tissue portion corresponding to two different wavelengths of light, obtaining an assessment of the signal quality of the electromagnetic signals, selecting weights for an ensemble averager using the assessment of signal quality, and ensemble averaging the electromagnetic signals using the ensemble averager.

Description:
BACKGROUND OF THE INVENTION 
     The present invention relates in general to oximeters, and in particular to the selection of ensemble averaging weights used for ensemble averaging of signals that include detected waveforms from a pulse oximeter. 
     A pulse oximeter is typically used to measure various blood characteristics including the blood oxygen saturation of hemoglobin in arterial blood and the pulse rate of the patient. Measurement of these characteristics has been accomplished by use of a non-invasive sensor that passes light through a portion of a patient&#39;s blood perfused tissue and photo-electrically senses the absorption and scattering of light in such tissue. The amount of light absorbed and scattered is then used to estimate the amount of blood constituent in the tissue using various algorithms known in the art. The “pulse” in pulse oximetry comes from the time varying amount of arterial blood in the tissue during a cardiac cycle. The signal processed from the sensed optical measurement is the familiar plethysmographic waveform, which corresponds with the cyclic attenuation of optical energy through a portion of a patient&#39;s blood perfused tissue. 
     Ensemble averaging, which is a temporal averaging scheme, involves the use of weighting factors. In a pulse oximeter, ensemble averaging is used to calculate a weighted average of new samples and previous ensemble-averaged samples from one pulse-period earlier. Weights selected and/or used for ensemble averaging have a significant effect on the ensemble averaging process. Such weights may be uniformly selected, or they may be based on the characteristics of the signals that are being ensemble averaged. For example, the Conlon U.S. Pat. No. 4,690,126 discloses ensemble averaging where different weights are assigned to different pulses and a composite, averaged pulse waveform is used to calculate oxygen saturation. Conlon&#39;s signal metrics for adjusting ensemble-averaging weights are based on a measure of the degree of motion artifact, a measure of the degree of low perfusion (e.g., pulse amplitude below a threshold), and pulse rate. 
     However, it is desirable to provide a more flexible and more robust methodology for the selection of ensemble averaging weights used for ensemble averaging of signals that include detected waveforms from a pulse oximeter. 
     BRIEF SUMMARY OF THE INVENTION 
     The present invention is directed to the selection of ensemble averaging weights used for ensemble averaging of signals that correspond with detected waveforms from a pulse oximeter. The selection of ensemble averaging weights are based on one or more or a combination of various signal quality metrics or indicators. In one embodiment, the present invention provides a method of ensemble averaging signals in a pulse oximeter. The method includes receiving first and second electromagnetic radiation signals from a blood perfused tissue portion corresponding to two different wavelengths of light; obtaining an assessment of the signal quality of the electromagnetic signals; selecting weights for an ensemble averager using the assessment of signal quality; and ensemble averaging the electromagnetic signals using the ensemble averager. 
     In one aspect, the selection of ensemble averaging weights involves an assessment and use of various signal quality indicators, where the selecting of weights includes forming a combination of one or more of the following signal quality parameters, namely: a measure of the degree of arrhythmia of the signals; a measure of the degree of similarity or correlation between the first and second electromagnetic radiation signals; a measure of the degree of motion artifact by obtaining a ratio of a current pulse amplitude to the long-term average pulse amplitude of the signals; a ratio of a current pulse amplitude to the previous pulse amplitude of the signal; and a ratio of a current pulse period to that of an average pulse period of the signals. 
     For a fuller understanding of the nature and advantages of the embodiments of the present invention, reference should be made to the following detailed description taken in conjunction with the accompanying drawings. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram of an exemplary oximeter. 
         FIG. 2  is a block diagram of the signal processing architecture of a pulse oximeter in accordance with one embodiment of the present invention. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     The methods and systems in accordance with the embodiments of the present invention are directed towards the selection of ensemble averaging weights used for ensemble averaging of signals that correspond with detected waveforms from a pulse oximeter. The selection of ensemble averaging weights are based on one or more or a combination of various signal quality metrics or indicators. The embodiments of the present invention are particularly applicable to and will be explained by reference to measurements of oxygen saturation of hemoglobin in arterial blood and pulse or heart rate, as in pulse oximeter monitors and pulse oximetry sensors. However, it should be realized that the embodiments of the present invention are equally applicable to any generalized patient monitor and associated patient sensor, such as ECG, blood pressure, etc., and are thus also applicable to non oximetry or pulse oximetry devices. 
     A typical pulse oximeter measures two physiological parameters, percent oxygen saturation of arterial blood hemoglobin (SpO 2  or sat) and pulse rate. Oxygen saturation can be estimated using various techniques. In one common technique, the photocurrent generated by the photo-detector is conditioned and processed to determine the ratio of modulation ratios (ratio of ratios) of the red to infrared (IR) signals. This modulation ratio has been observed to correlate well to arterial oxygen saturation. Pulse oximeters and sensors may be empirically calibrated by measuring the modulation ratio over a range of in vivo measured arterial oxygen saturations (SaO 2 ) on a set of patients, healthy volunteers, or animals. The observed correlation is used in an inverse manner to estimate blood oxygen saturation (SpO 2 ) based on the measured value of modulation ratios of a patient. The estimation of oxygen saturation using modulation ratios is described in U.S. Pat. No. 5,853,364, entitled “METHOD AND APPARATUS FOR ESTIMATING PHYSIOLOGICAL PARAMETERS USING MODEL-BASED ADAPTIVE FILTERING,” issued Dec. 29, 1998, and U.S. Pat. No. 4,911,167, entitled “METHOD AND APPARATUS FOR DETECTING OPTICAL PULSES,” issued Mar. 27, 1990, which are both herein incorporated by reference in their entirety for all purposes. The relationship between oxygen saturation and modulation ratio is described, for example, in U.S. Pat. No. 5,645,059, entitled “MEDICAL SENSOR WITH MODULATED ENCODING SCHEME,” issued Jul. 8, 1997, which is herein incorporated by reference in its entirety for all purposes. Most pulse oximeters extract the plethysmographic signal having first determined saturation or pulse rate, both of which are susceptible to interference. 
       FIG. 1  is a block diagram of one embodiment of a pulse oximeter that may be configured to implement the embodiments of the present invention. The embodiments of the present invention may be implemented as a data processing algorithm that is executed by the microprocessor  122 , described below. Light from light source  110  passes into a blood perfused tissue  112 , and is scattered and detected by photodetector  114 . A sensor  100  containing the light source and photodetector may also contain an encoder  116  which provides signals indicative of the wavelength of light source  110  to allow the oximeter to select appropriate calibration coefficients for calculating oxygen saturation. Encoder  116  may, for instance, be a resistor. 
     Sensor  100  is connected to a pulse oximeter  120 . The oximeter includes a microprocessor  122  connected to an internal bus  124 . Also connected to the bus is a RAM memory  126  and a display  128 . A time processing unit (TPU)  130  provides timing control signals to light drive circuitry  132  which controls when light source  110  is illuminated, and if multiple light sources are used, the multiplexed timing for the different light sources. TPU  130  also controls the gating-in of signals from photodetector  114  through an amplifier  133  and a switching circuit  134 . These signals are sampled at the proper time, depending upon which of multiple light sources is illuminated, if multiple light sources are used. The received signal is passed through an amplifier  136 , a low pass filter  138 , and an analog-to-digital converter  140 . The digital data is then stored in a queued serial module (QSM)  142 , for later downloading to RAM  126  as QSM  142  fills up. In one embodiment, there may be multiple parallel paths of separate amplifier, filter and A/D converters for multiple light wavelengths or spectra received. 
     Based on the value of the received signals corresponding to the light received by photodetector  114 , microprocessor  122  will calculate the oxygen saturation using various algorithms. These algorithms require coefficients, which may be empirically determined, corresponding to, for example, the wavelengths of light used. These are stored in a ROM  146 . In a two-wavelength system, the particular set of coefficients chosen for any pair of wavelength spectra is determined by the value indicated by encoder  116  corresponding to a particular light source in a particular sensor  100 . In one embodiment, multiple resistor values may be assigned to select different sets of coefficients. In another embodiment, the same resistors are used to select from among the coefficients appropriate for an infrared source paired with either a near red source or far red source. The selection between whether the near red or far red set will be chosen can be selected with a control input from control inputs  154 . Control inputs  154  may be, for instance, a switch on the pulse oximeter, a keyboard, or a port providing instructions from a remote host computer. Furthermore, any number of methods or algorithms may be used to determine a patient&#39;s pulse rate, oxygen saturation or any other desired physiological parameter. 
     The brief description of an exemplary pulse oximeter set forth above, serves as a basis for describing the methods for adjusting ensemble averaging weights for an ensemble averager, which are described below, in conjunction with  FIG. 2 . 
     The embodiments of the present invention may be implemented as a part of a larger signal processing system used to process optical signals for the purposes of operating a pulse oximeter. Such a signal processing system is shown in  FIG. 2 , which is a block diagram  200  of a signal processing architecture of a pulse oximeter in accordance with one embodiment of the present invention. The signal processing architecture  200  in accordance with the embodiments of the present invention may be implemented as a software algorithm that is executed by a processor of a pulse oximeter. In addition to calculating oxygen saturation and pulse rate, the system  200  measures various signal metrics that are used to determine filter weighting coefficients. Signal metrics are things that indicate if a pulse is likely a plethysmograph or noise. Signal metrics may be related to, for example, frequency (is it in the range of a human heart rate), shape (is it shaped like a cardiac pulse), rise time, etc. The system shown in  FIG. 2  calculates both the oxygen saturation, and the pulse rate. The system  200  is also used for detecting venous pulsation and sensor off and lost pulse conditions, which are described separately below. 
     I. Oxygen Saturation Calculation 
     Block  202  represents the operation of the Signal Conditioning block. The digitized red and IR signals or waveforms are received and are conditioned in this block by: (1) taking the 1 st  derivative to get rid of baseline shift, (2) low pass filtering with fixed coefficients, and (3) dividing by a DC value to preserve the ratio. The function of the Signal Conditioning subsystem is to emphasize the higher frequencies that occur in the human plethysmograph and to attenuate low frequencies in which motion artifact is usually concentrated. The Signal Conditioning subsystem selects its filter coefficients (wide or narrow band) based on hardware characteristics identified during initialization. Inputs to block  202  are digitized red and IR signals, and its outputs are pre-processed red and IR signals. 
     Block  204  represents the operation of the Pulse Identification and Qualification block. The low pass filtered digitized red and IR signals are provided to this block to identify pulses, and qualify them as likely arterial pulses. This is done using a pre-trained neural net, and is primarily done on the IR signal. The pulse is identified by examining its amplitude, shape and frequency. An input to this block is the average pulse period from block  208 . This function changes the upfront qualification using the pulse rate. The output of block  204  indicates the degree of arrhythmia and individual pulse quality. Inputs to block  204  are: (1) pre-processed red and IR signals, (2) Average pulse period, and (3) lowpass waveforms from the low pass filter. Outputs from block  204  include: (1) degree of arrhythmia, (2) pulse amplitude variations, (3) individual pulse quality, (4) pulse beep notification, and (5) qualified pulse periods and age. 
     Block  206  is used to compute signal quality metrics. This block (block  206 ) determines the pulse shape (e.g., derivative skew), period variability, pulse amplitude and variability, Ratio of Ratios variability, and frequency content relative to pulse rate. Inputs to block  206  include: (1) raw digitized red and IR signals, (2) degree of arrhythmia, individual pulse quality, pulse amplitude variation, (3) pre-processed red and IR signals, and (4) average pulse period. Outputs from block  206  include: (1) lowpass and ensemble averaging filter weights, (2) metrics for sensor off detector, (3) normalized pre-processed waveforms, and (4) percent modulation. 
     Block  208  computes average pulse periods. This block (block  208 ) calculates the average pulse period from the pulses received. Inputs to block  208  include: qualified pulse periods and age. An output from block  208  includes the average pulse period. 
     Block  210  represents the functioning of the lowpass filter and ensemble averaging subsystem. Block  210  low pass filters and ensemble averages normalized and preprocessed waveforms processed by block  206 . The weights for the low pass filter are determined by the Signal Metrics block  206 . The signal is also ensemble averaged (i.e., frequencies other than those of interest near the pulse rate and its harmonics are attenuated), with the ensemble averaging filter weights also determined by Signal Metrics block  206 . Less weight is assigned if the signal is flagged as degraded. More weight is assigned if the signal is flagged as arrhythmic because ensemble-averaging is not appropriate during arrhythmia. Red and IR waveforms are processed separately, but with the same filtering weights. The filtering is delayed (e.g., approximately one second) to allow the signal metrics to be calculated first. 
     The filters use continuously variable weights. If samples are not to be ensemble-averaged, then the weighting for the previous filtered samples is set to zero in the weighted average, and the new samples are still processed through the algorithm. This block tracks the age of the signal and/or the accumulated amount of filtering (e.g., sum of response times and delays in processing). Too old a result will be flagged, if good pulses haven&#39;t been detected for a while. The inputs to block  210  include: (1) normalized pre-processed red and IR signals, (2) average pulse period, (3) low pass filter weights and ensemble averaging filter weights, (4) ECG triggers, if available, and (5) IR fundamental, for zero-crossing triggers. Outputs from block  210  include: (1) filtered red and IR signals, and (2) age. 
     Block  212  represents operations that estimate the ratio-of-ratios variance for the filtered waveforms and calculate averaging weights. The variable weighting for the filter is controlled by the ratio-of-ratios variance. The effect of this variable-weight filtering is that the ratio-of-ratios changes slowly as artifact increases and changes quickly as artifact decreases. The subsystem has two response modes, including fast and normal modes. For example, filtering in the fast mode targets an age metric of 3 seconds, and the target age may be 5 seconds in the normal mode. In the fast mode, the minimum weighting of the current value is clipped at a higher level. In other words, a low weight is assigned to the newest ratio-of-ratios calculation if there is noise present, and a high weight if no noise is present. The inputs to block  212  include: (1) filtered red and IR signals and age, (2) calibration coefficients, and (3) response mode (e.g., user speed settings). Outputs from block  212  include an averaging weight for ratio-of-ratios calculation. The averaging weight is used as an input to block  214  along with filtered IR and Red waveforms to calculate averaged ratio of ratios and age. 
     Block  216  represents operations that calculate oxygen saturation. Saturation is calculated using an algorithm with the calibration coefficients and averaged ratio of ratios. Inputs to block  116  include: (1) Averaged Ratio-of-Ratios, and (2) calibration coefficients. An output from block  216  is the oxygen saturation value. 
     II. Pulse Rate Calculation 
     Block  218  low pass filters and ensemble averages the signal(s) conditioned by block  202 , for the pulse rate identification. The weights for the low pass filter are determined by the Signal Metrics block  206 . The signal is also ensemble averaged (i.e., frequencies other than those of interest near the pulse rate and its harmonics are attenuated), with the ensemble averaging filter weights also determined by Signal Metrics block  206 . Less weight is assigned if the signal is flagged as degraded. More weight is assigned if the signal is flagged as arrhythmic because ensemble-averaging is not appropriate during arrhythmia. Red and IR are processed separately. The filtering is delayed (e.g., approximately one second) to allow the signal metrics to be calculated first. 
     The filters use continuously variable weights. If samples are not to be ensemble-averaged, then the weighting for the previous filtered samples is set to zero in the weighted average, and the new samples are still processed through the algorithm. This block (block  218 ) tracks the age of the signal and/or the accumulated amount of filtering (sum of response times and delays in processing). Too old a result will be flagged (if good pulses haven&#39;t been detected for awhile). Inputs to block  218  include: (1) pre-processed red and IR signals, (2) average pulse period, (3) lowpass filter weights and ensemble averaging filter weights, (4) ECG triggers, if available, and (5) IR fundamental, for zero-crossing triggers. Outputs from block  218  include: (1) filtered red and IR signals and (2) age. 
     Block  220 , or the Filtered Pulse Identification and Qualification block, calculates the pulse periods from the filtered waveforms, and its results are used only when a pulse is disqualified by block  204 . Inputs to block  220  include: (1) filtered red and IR signals and age, (2) average pulse period, (3) hardware ID or noise floor, (4) and the kind or type of sensor that is used to detect the IR and Red energies. Output from block  220  includes qualified pulse periods and age. 
     Block  222 , or the Average Pulse Periods and Calculate Pulse Rate block, calculates the pulse rate and average pulse period. This block (block  222 ) receives qualified pulse periods and age as inputs and provides: (1) average pulse period and (2) pulse rate as outputs. 
     III. Venous Pulsation 
     Block  224 , or the Detect Venous Pulsation block receives as inputs the pre-processed red and IR signals and age from Block  202 , and pulse rate and provides an indication of venous pulsation as an output. Block  224  also provides an IR fundamental waveform in the time domain using a single-tooth comb filter which is output to the Ensemble Averaging filters (e.g., block  210  and  218 ). Inputs to block  224  include: (1) filtered red and IR signals and age and (2) pulse rate. Outputs from block  124  include: an indication of venous pulsation and IR fundamental. In one embodiment, block  224  measures the “openness” of an IR-Red Lissajous plot to determine the whether a flag (e.g., Venous_Pulsation) should be set. The output flag (e.g., Venous_Pulsation) is updated periodically (e.g., every second). In addition, the IR fundamental waveform is output to the Ensemble Averaging filters. 
     IV. Sensor Off 
     Block  226 , or the Detect Sensor-Off and Loss of Pulse Amplitude block, uses a pre-trained neural net to determine whether the sensor is off the surface of the blood-perfused tissue, for example, of a patient. The inputs to the neural net are metrics that quantify several aspects of the behavior of the IR and Red values over the last several seconds. Samples are ignored by many of the system  200 &#39;s subsystems while the signal state is either not indicative of a pulse being present, or indicative that a sensor is not on a monitoring site (e.g., Pulse Present, Disconnect, Pulse Lost, Sensor May be Off, and Sensor Off). Inputs to block  226  include: (1) signal quality metrics, and (2) the oximeter&#39;s LED brightness, amplifier gain, and (3) an ID indicating the oximeter&#39;s hardware configuration. Outputs from block  226  include a signal state including sensor-off indication. 
     In the architecture  200  described above, the function of block  226 , Pulse lost and Pulse Search indications, may be derived using information from several parts of the signal processing architecture. In addition, the signal processing architecture will not use the received IR and red waveforms to compute oxygen saturation or pulse rate if a valid sensor is not connected, or if the Sensor-Off or Loss of Pulse Amplitude are detected by the signal processing architecture. 
     The brief description of an embodiment of a pulse oximeter signal processing architecture in accordance with the present invention, set forth above, serves as a basis for describing the methods and devices that are directed towards the selection of ensemble averaging weights used for ensemble averaging of signals that correspond with detected waveforms from a pulse oximeter, as is generally indicated by blocks  210  and  218  above. 
     Ensemble Averaging Weights 
     As set forth above, the selection of ensemble averaging weights are based on one or more or a combination of various signal quality metrics or indicators. In particular, in one embodiment, the metrics that are used to adjust ensemble-averaging weight, includes a measure of the degree of arrhythmia. This metric is used to reduce the degree of ensemble-averaging when the patient appears to be arrhythmic, as ensemble-averaging works less well for signals having highly variable frequency content. Another metric used to adjust ensemble-averaging weight includes a measure of the degree of variability of ratio-of-ratios (e.g., lack of similarity or correlation between IR and Red waveforms). This metric is sensitive to the presence of motion or other noise sources. This metric is different from that of other known techniques such as Conlon&#39;s, in that Conlon teaches a metric that compares the similarity between current and previous-pulse waveforms, presumably from the same wavelength, but not the similarity between two simultaneous waveforms at different wavelengths. Another metric used to adjust ensemble-averaging weight includes a ratio of a current pulse amplitude to the long-term average pulse amplitude. A long-term average pulse amplitude refers to an average that has a response time of perhaps a minute when all pulses are qualified, and several times longer if most pulses are being disqualified. This metric is designed to capture the degree of motion artifact, similar to Conlon&#39;s, however, this metric is an analog metric, whereas Conlon&#39;s metric has just a few discrete states (e.g., no artifact, low artifact, high artifact). Another metric used to adjust ensemble-averaging weight includes a ratio of a current pulse amplitude to the previous pulse amplitude. This metric is used to quickly change the ensemble-averaging weight when large motion artifact start or stop. Another metric used to adjust ensemble-averaging weight includes a measure of the overall signal quality metric for a single pulse, which metric is itself a combination of several other metrics, including the metrics described above. This metric is used to quickly reduce the ensemble filtering when motion artifact subsides and the input waveform is presumed to be of better quality than a heavily ensemble-averaged waveform. Another metric used to adjust ensemble-averaging weight includes a ratio of a current pulse period to the average pulse period. This metric is used to reduce the ensemble filtering in the event that the heart skips a beat, which can happen occasionally on many people. 
     When the subsystem ( 210  and/or  218 ) is notified that the Pulse Identification and Qualification subsystem ( 204 ) has just completed evaluation of a potential pulse, the subsystem updates ensemble-averaging weights, used by the instances of the Ensemble Averaging subsystem. Separate weights are computed for the two Ensemble Averaging instances whose outputs are used in computing saturation and pulse rate. These weights are based in part on metrics provided by the instance of the Pulse Identification and Qualification subsystem whose input waveforms have not been ensemble averaged. 
     The equations for Sat_Ensemble_Averaging_Filter_Weight are as follows:
 
 x =max(Short_RoR_Variance, Pulse_Qual_RoR_Variance/1.5)*max(Long_Term_Pulse_Amp_Ratio, 1.0)
 
RoR_Variance_Based_Filt —   Wt= 0.5*0.05/max(0.05,  x )
 
Arr_Prob=(Period_Var−0.1*Short_RoR_Variance−0.09)/(0.25−0.09);
 
Arr_Min_Filt —   Wt _For_Sat=0.05+0.5*bound(Arr_Prob, 0, 1.0)
 
Sat_Ensemble_Averaging_Filter_Weight=max(RoR_Variance_Based_Filt —   Wt , Arr_Min_Filt —   Wt _For_Sat)*(1.0+Pulse_Qual_Score)
 
Sat_Ensemble_Averaging_Filter_Weight=min(Sat_Ensemble_Averaging_Filter_Weight, 1.0),
 
where bound(a,b,c) denotes min(max(a,b),c)
 
     The above equations result in a default weight of 0.5 for low values of the Ratio-of-Ratios variances. Short_RoR_Variance and Pulse_Qual_RoR_Variance are both computed over a time interval (e.g., a three-second interval). The interval for Pulse_Qual_RoR_Variance ends with the qualification or rejection of the most recent pulse, which would usually include the most recent samples. The weight is reduced by high Ratio-of-Ratios variances, and by high values of Long_Term_Pulse_Amp_Ratio that would typically indicate motion artifact. Arr_Min_Filt_Wt_For_Sat imposes a minimum value on the ensemble-averaging weight (range 0.05–0.55) based primarily on Period_Var, which quantifies the degree of arrhythmia. This is done because ensemble-averaging is less effective for pulses having dissimilar periods. If the most recent pulse received a good Pulse_Qual_Score, this can increase the maximum value of Sat_Ensemble_Averaging_Filter_Weight from 0.5 to 1.0. 
     The equations for Rate_Ensemble_Averaging_Filter_Weight are as follows:
 
Arr_Prob=(Period_Var−0.07)/(0.20−0.07)
 
Arr_Min_Filt_Wt_For_Rate=0.05+0.5*bound(Arr_Prob, 0, 1.0)
 
 x =max(RoR_Variance_Based_Filt —   Wt , Arr_Min_Filt —   Wt _For_Rate)*(1.0+Pulse_Qual_Score)
 
if Short_Term_Pulse_Amp_Ratio*Long_Term_Pulse_Amp_Ratio&lt;1.0  x=x /Short_Term_Pulse_Amp_Ratio
 
if Avg_Period&gt;0  x=x *bound(Pulse_Qual_Score*Qualified_Pulse_Period/Avg_Period, 1.0, 3.0)
 
Rate_Ensemble_Averaging_Filter_Weight=min( x,  1.0)
 
     These equations differ from the ones for Sat_Ensemble_Averaging_Filter_Weight as follows:
     a) The thresholds used to compute Arr_Prob are somewhat lower, because it is desirable that arrhythmic pulses not be obscured by ensemble averaging prior to pulse qualification.   b) Small values of Short_Term_Pulse_Amp_Ratio typically indicate that motion artifact has just subsided, which means that the ensemble-averaging weight may be quickly increased. This has been found empirically to be beneficial for pulse qualification, but not for ratio-of-ratios filtering and saturation computation.   c) If the heart skips a beat, with or without prior arrhythmia, the longer-than-average Qualified_Pulse_Period that results will increase the ensemble-averaging weight, so as not to obscure the skipped beat from subsequent pulse qualification.   

     In one aspect, the ensemble averaging weights that have been determined as described above, are used for two separate ensemble averagers for processing a detected waveform for use in calculating oxygen saturation and a pulse rate. The ensemble averager used for calculating oxygen saturation operates on a signal which has been normalized, while the ensemble averager for the pulse rate calculation operates on a signal which has not been normalized. A pulse oximeter with separate ensemble averaging for oxygen saturation and heart rate is described in patent application Ser. No. 11/412,483 assigned to the assignee herein, and titled: Pulse Oxiemter with Separate Ensemble Averaging for Oxygen Saturation and Heart Rate, is hereby incorporated herein by reference, in its entirety for all purposes. In that patent application, the metrics chosen for the two paths through the two ensemble averagers can be varied to optimize the ensemble averaging for oxygen saturation or pulse rate calculations. For example, a lower threshold is used for a metric to detect arrhythmic pulses when used to calculate pulse rate, as compared to calculating oxygen saturation. Also, a metric for a short term pulse amplitude ratio will be small when motion artifact has just subsided, and this is given more weight in the pulse rate calculation than in the oxygen saturation calculation. 
     DEFINITIONS  
     Data Inputs 
     Avg_Period—Average pulse period reported by Pulse Rate Calculation subsystem. 
     Long_Term_Pulse_Amp_Ratio—Quantifies last pulse amplitude compared to historic pulse amplitude. Provided by the Pulse Identification and Qualification subsystem. Values substantially larger than 1.0 are typically indicative of motion artifact, and result in lower Ensemble_Averaging_Filter_Weights. 
     Period_Var—Period-variability metric from the Pulse Identification and Qualification subsystem. Used to gauge the extent of arrhythmia. For instance, a value of 0.10 would indicate that the average difference between consecutive pulse periods is 10% of Avg_Period. 
     Pulse_Qual_RoR_Variance—RoR_Variance metric from the Pulse Identification and Qualification subsystem. 
     Pulse_Qual_Score—Score computed by the pulse qualification neural net in the Pulse Identification and Qualification subsystem. Zero is extremely poor and 1.0 is excellent. 
     Qualified_Pulse_Period—Most recent pulse period qualified by the Pulse Identification and Qualification subsystem. 
     Short_Term_Pulse_Amp_Ratio—Quantifies last pulse amplitude compared to previous pulse amplitude. 
     Outputs 
     Frequency_Ratio—Ratio of Mean_IR_Frequency_Content to pulse rate. 
     LPF_RoR_Variance—Quantifies variability of ratio-of-ratios. Computed over a 9-second window from LPF_Scaled_Waveforms. 
     Rate_LPF_Weight—Lowpass filter weight to be used by the instance of the Ensemble Averaging subsystem that preprocesses waveforms used for pulse qualification and pulse rate calculation. 
     RoR_Variance—Quantifies variability of ratio-of-ratios. Computed over a 9-second window from Scaled_Waveforms. For example, a value of 0.10 would indicate that sample-to-sample ratio-of-ratios values differ from the mean ratio-of-ratios value by an average of 10% of the mean ratio-of-ratios value. 
     Sat_Ensemble_Averaging_Filter_Weight—Ensemble-averaging weight to be used by the instance of the Ensemble Averaging subsystem that preprocesses waveforms used for pulse qualification and pulse rate calculation. 
     Sat_LPF_Weight—Lowpass filter weight to be used by the instance of the Ensemble Averaging subsystem that preprocesses waveforms used for pulse qualification and pulse rate calculation. 
     Scaled_Waveforms—Scaled versions of IR and Red Pre_Processed_Waveforms. 
     Short_RoR_Variance—uantifies variability of ratio-of-ratios. Computed over a 3-second window from Scaled_Waveforms. 
     Internal Variables 
     Arr_Prob—Likelihood of arrhythmia that would limit the amount of ensemble averaging. Based on Period_Var, with threshold that are specific to each of the two Ensemble_Averaging_Filter_Weights. 
     Arr_Min_Filt_Wt_For_Rate, Arr_Min_Filt_Wt_For_Sat—Minimum values for the two Ensemble_Averaging_Filter_Weights, based on their respective Arr_Prob values. 
     LPF_Scaled_Waveforms—Lowpass-filtered version of Scaled_Waveforms, used to compute LPF_RoR_Variance. 
     Mean_IR_Frequency_Content—Estimate of mean frequency content of the IR input waveform. Used to compute Frequency_Ratio metric. 
     RoR_Variance_Based_Filt_Wt—Component for Ensemble_Averaging_Filter_Weights based on RoR_Variance metrics and Long_Term_Pulse_Amp_Ratio. 
     Accordingly, as will be understood by those of skill in the art, the present invention which is related to the selection of ensemble averaging weights, may be embodied in other specific forms without departing from the essential characteristics thereof. For example, while the present embodiments have been described in the time-domain, frequency-based methods are equally relevant to the embodiments of the present invention. Accordingly, the foregoing disclosure is intended to be illustrative, but not limiting, of the scope of the invention, which is set forth in the following claims.