Abstract:
A method and apparatus for improving the calculation of oxygen saturation and other blood constituents by non-invasive pulse oximeters. The method and apparatus permit more accurate determination of blood flow by collecting time-measures of the absorption signal at two or more wavelengths and processing the collected time-measure to obtain composite pulsatile flow data from which artifacts have been filtered. The processing may occur in the time domain or in the frequency domain. In the preferred time domain embodiment, successive portions of periodic information are weighted and added together in synchrony to obtain the composite pulse information. In the preferred frequency domain embodiment, the time-measure is Fourier transformed into its spectral components to form the composite information. A new method and apparatus for correlating the heartbeat and optical pulse is provided whereby a product of the ECG R-wave and optical pulse signals corresponding to the same heartbeat is obtained, and one signal is time shifted relative to the other until a maximum waveform product corresponding to the heartbeat is determined.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation-in-part application of copending and commonly assigned U.S. application Ser. No. 742,720, now U.S. Pat. No. 4,802,486, entitled Improved Method and Apparatus For Detecting Optical Pulses, filed June 7, 1985 in the names of James E. Corenman and David E. Goodman, which is a continuation of U.S. application Ser. No. 718,525, entitled Improved Method and Apparatus For Detecting Optical Pulses, filed Apr. 1, 1985 in the names of James E. Corenman and David E. Goodman, now abandoned. 
     This invention relates to non-invasive pulse oximetry and specifically to an improvement on the method and apparatus for photoelectric determination of blood constituents disclosed in U.S. applications Ser. No. 742,720 and 718,525. This specification is accompanied by software appendices A and B. 
    
    
     BACKGROUND OF THE INVENTION 
     Non-invasive photoelectric pulse oximetry has been previously described in U.S. Pat. Nos. 4,407,290, 4,266,554, 4,086,915, 3,998,550, 3,704,706, European patent application No. 102,816  published Mar. 13, 1984, European patent application No. 104,772 published Apr. 4, 1984, and European patent application No. 104,771 published Apr. 4, 1984. Pulse oximeters are commercially available from Nellcor Incorporated, Hayward, Calif., U.S.A., and are known as, for example, Pulse Oximeter Model N-100 (herein &#34;N-100 oximeter&#34;). 
     Pulse oximeters typically measure and display various blood flow characteristics including but not limited to blood oxygen saturation of hemoglobin in arterial blood, volume of individual blood pulsations supplying the flesh, and the rate of blood pulsations corresponding to each heartbeat of the patient. The oximeters pass light through human or animal body tissue where blood perfuses the tissue such as a finger, an ear, the nasal septum or the scalp, and photoelectrically sense the absorption of light in the tissue. The amount of light absorbed is then used to calculate the amount of blood constituent being measured. 
     The light passed through the tissue is selected to be of one or more wavelengths that is absorbed by the blood in an amount representative of the amount of the blood constituent present in the blood. The amount of transmitted light passed through the tissue will vary in accordance with the changing amount of blood constituent in the tissue and the related light absorption. 
     For example, the N-100 oximeter is a microprocessor controlled device that measures oxygen saturation of hemoglobin using light from two light emitting diodes (&#34;LED&#39;s&#34;), one having a discrete frequency of about 660 nanometers in the red light range and the other having a discrete frequency of about 925 nanometers in the infrared range. The N-100 oximeter microprocessor uses a four-state clock to provide a bipolar drive current for the two LED&#39;s so that a positive current pulse drives the infrared LED and a negative current pulse drives the red LED to illuminate alternately the two LED&#39;s so that the incident light will pass through, e.g., a fingertip, and the detected or transmitted light will be detected by a single photodetector. The clock uses a high strobing rate, e.g., one thousand five hundred cycles per second, to be easily distinguished from other light sources. The photodetector current changes in response to the red and infrared light transmitted in sequence and is converted to a voltage signal, amplified, and separated by a two-channel synchronous detector--one channel for processing the red light waveform and the other channel for processing the infrared light waveform. The separated signals are filtered to remove the strobing frequency, electrical noise, and ambient noise and then digitized by an analog to digital converter (&#34;ADC&#34;). As used herein, incident light and transmitted light refers to light generated by the LED or other light source, as distinguished from ambient or environmental light. 
     The light source intensity may be adjusted to accommodate variations among patients&#39; skin color, flesh thickness, hair, blood, and other variants. The light transmitted is thus modulated by the absorption of light in the variants, particularly the arterial blood pulse or pulsatile component, and is referred to as the plethysmograph waveform, or the optical signal. The digital representation of the optical signal is referred to as the digital optical signal. The portion of the digital optical signal that refers to the pulsatile component is labeled the optical pulse. 
     The detected digital optical signal is processed by the microprocessor of the N-100 oximeter to analyze and identify arterial pulses and to develop a history as to pulse periodicity, pulse shape, and determined oxygen saturation. The N-100 oximeter microprocessor decides whether or not to accept a detected pulse as corresponding to an arterial pulse by comparing the detected pulse against the pulse history. To be accepted, a detected pulse must meet certain predetermined criteria, for example, the expected size of the pulse, when the pulse is expected to occur, and the expected ratio of the red light to infrared light of the detected optical pulse in accordance with a desired degree of confidence. Identified individual optical pulses accepted for processing are used to compute the oxygen saturation from the ratio of maximum and minimum pulse levels as seen by the red wavelength compared to the maximum and minimum pulse levels as seen by the infrared wavelength. 
     Several alternate methods of processing and interpreting optical signal data have been disclosed in the patents and references cited above. 
     A problem with non-invasive pulse oximeters is that the plethysmograph signal and the optically derived pulse rate may be subject to irregular variants in the blood flow, including but not limited to motion artifact, that interfere with the detection of the blood flow characteristics. Motion artifact is caused by the patient&#39;s muscle movement proximate to the oximeter sensor, for example, the patient&#39;s finger, ear or other body part to which the oximeter sensor is attached, and may cause spurious pulses that are similar to pulses caused by arterial blood flow. These spurious pulses, in turn, may cause the oximeter to process the artifact waveform and provide erroneous data. This problem is particularly significant with infants, fetuses, or patients that do not remain still during monitoring. 
     A second problem exists in circumstances where the patient is in poor condition and the pulse strength is very weak. In continuously processing the optical data, it can be difficult to separate the true pulsatile component from artifact pulses and noise because of a low signal to noise ratio. Inability to reliably detect the pulsatile component in the optical signal may result in a lack of the information needed to calculate blood constituents. 
     It is well known that electrical heart activity occurs simultaneously with the heartbeat and can be monitored externally and characterized by the electrocardiogram (&#34;ECG&#34;) waveform. The ECG waveform, as is known to one skilled in the art, comprises a complex waveform having several components that correspond to electrical heart activity. The QRS component relates to ventricular heart contraction The R wave portion of the QRS component is typically the steepest wave therein, having the largest amplitude and slope, and may be used for indicating the onset of cardiovascular activity. The arterial blood pulse flows mechanically and its appearance in any part of the body typically follows the R wave of the electrical heart activity by a determinable period of time that remains essentially constant for a given patient. See, e.g., Goodlin et al., &#34;Systolic Time Intervals in the Fetus and Neonate&#34;, Obstetrics and Gynecology, Vol. 39, No. 2, February 1972, where it is shown that the scalp pulse of fetuses lag behind the ECG &#34;R&#34; wave by 0.03-0.04 second, and U.S Pat. NO. 3,734,086. 
     In prior U.S. application Ser. No. 742,720, copending and commonly assigned, the disclosure (including the software appendix) of which is hereby expressly incorporated by reference, and in corresponding International PCT Application publication No. WO 86/05674 published Oct. 9, 1986,  also commonly assigned, there is disclosed an invention for measuring the patient&#39;s heart activity and correlating it with the patient&#39;s detected blood flow signal to calculate more accurately the patient&#39;s oxygen saturation and pulse rate. The correlation includes auto- and cross correlation techniques to enhance the periodic information contained in each individual waveform as well as determine the time relationship of one waveform to another. 
     Correlating the occurrence of cardiovascular activity with the detection of arterial pulses occurs by measuring an ECG signal, detecting the occurrence of the R-wave portion of the ECG signal, determining the time delay by which an optical pulse in the detected optical signal follows the R-wave, and using the determined time delay between an R-wave and the following optical pulse so as to evaluate arterial blood flow only when it is likely to present a true blood pulse for waveform analysis. The measured time delay is used to determine a time window when, following the occurrence of an R-wave, the probability of finding an optical pulse corresponding to a true arterial pulse is high. The time widow provides an additional criterion to be used in accepting or rejecting a detected pulse as an optical pulse. Any spurious pulses caused by motion artifact or noise occurring outside of that tie window are typically rejected and are not used to calculate the amount of blood constituent. Correlating the ECG with the detected optical pulses thereby provided for more reliable measurement of oxygen saturation. 
     That application and publication refers to a modified N-100 oximeter (the &#34;enhanced N-100 oximeter&#34;) whereby the device is provided with an additional heart activity parameter in the form of a detected R-wave from the patient&#39;s ECG waveform, in addition to the N-100 pulse oximeter functions, and the microprocessor is modified to include software and memory for controlling and processing the optical signal and heart activity information. 
     The additional heart activity parameter is independent of the detection of peripheral arterial pulses, e.g., ECG signals, ultrasound, ballistocardiogram, and maybe, accelerometers, nuclear magnetic resonators, electrical impedance techniques, and the like, and provides an identifiable and detectable signal in response to each heartbeat for use by the signal processing of the oximeter. 
     It is an object of this invention to provide for improved processing of the detected optical signal containing periodic information corresponding to arterial pulsatile blood flow and aperiodic information corresponding to noise, spurious signals, and motion artifact unrelated to the beating heart and arterial pulsatile blood flow, to improve further the reliability and accuracy of the determination of blood constituent, particularly oxygen saturation of hemoglobin by a non-invasive oximeter device. 
     lt is another object of this invention to provide an improved method and apparatus for collecting successive portions of detected optical signals encompassing periodic information for more than one heartbeat and processing the collected portions to attenuate and filter therefrom aperiodic signal waveforms to provide enhanced periodic information from which the patient&#39;s blood constituent can be accurately determined. 
     It is another object to maintain the enhanced periodic information updated by continuing to add new portions of detected optical signals as they are obtained. It is another object of this invention to create enhanced periodic information by collecting and processing successive portions of detected optical signals wherein the periodic information corresponding to the optical pulses have been added together in phase, synchronized to the occurrence of the patient&#39;s ECG and preferably the R-wave signal. 
     It is another object of this invention to add synchronized periodic information in a weighted fashion so that the most recent portion of detected optical signal is accorded a greater weight in the collected sum than any one prior portion of periodic information data. 
     lt is another object of this invention to create the enhanced periodic information by adding together a predetermined number of the most recent successive portions of detected optical signal, whereby each portion corresponds to a heartbeat event and is given a weight according to its relative age so as to emphasise the newest information in the resultant weighted collective sum. 
     It is another object of this invention to correlate the periodic information with the ECG R-wave by using a waveform product technique to identify the occurrence of the heartbeat and the optical pulse corresponding to that heartbeat. 
     It is another obJect of this invention to evaluate the collected periodic information for a predetermined number of successive portions of the detected optical signal corresponding to a predetermined number of heartbeats in the frequency domain to obtain enhanced periodic information. 
     It is another object of this invention to Fourier transform a time-measure of detected optical signals including periodic information for N heartbeats to determine the relative maxima at the fundamental frequency N and the minima at the zero frequency for use in determining the light modulation ratio for the amount of blood constituents. 
     It is another object of this invention to correlate the Fourier Transform of the time-measure of detected optical signals with the Fourier Transform of a time-measure of the ECG signal, and more particularly the R-wave events of the ECG signal, to determine the maxima at the fundamental heart frequency. 
     It is another object of this invention to correlate the periodic information in a time-measure of the detected optical signal with a time-measure of the detected heart activity, preferably in the form of the ECG signal and more preferably in the form of the R-wave of the ECG signal, to define a predetermined number of samples in a data set and use frequency domain analysis techniques to evaluate the collected predetermined number of sample data sets to determine the relative maxima at the fundamental frequency. 
     SUMMARY OF THE INVENTION 
     This invention provides enhanced periodic information with improved rejection of noise, spurious pulses, motion artifact, and other undesired aperiodic waveforms and thereby improves the ability of oximeters to accurately determine amounts of blood constituents. 
     The present invention provides methods and apparatus for collecting a time-measure of the detected optical signal waveform containing a plurality of periodic information corresponding to arterial pulses caused by the patient&#39;s heartbeat and aperiodic information unrelated to pulsatile flow, and processing the collected time-measure of information to obtain enhanced periodic information that is closely related to the most recent arterial pulsatile blood flow. The time-measure may comprise a continuous portion of detected optical signals including a plurality of periodic information from successive heartbeats, or a plurality of discrete portions of detected optical signals including a corresponding plurality of periodic information. 
     By updating the time-measure of information to include the most recently detected periodic information, and processing the updated measure collectively, an updated enhanced periodic information is obtained (including the new and historical data) from which aperiodic information (including any new aperiodic information) is attenuated. In some embodiments, the updating process includes subtracting detected signals older than a certain relative time from the collected time-measure. Applicants have discovered that by collectively processing a time-measure including successive periodic information to obtain the enhanced periodic information, and using the enhanced periodic information as the basis for making oxygen saturation calculations, the accuracy and reliability of oxygen saturation determinations can be significantly increased. Applicants also have discovered that the time-measures may be collectively processed in either the time domain or the frequency domain. 
     The amount of a blood constituent, for example, oxygen saturation, can be then determined from this enhanced periodic information (also referred to as composite signal information) by determining the relative maxima and minima in the enhanced periodic information for the respective wavelengths for use in determining the modulation ratios of the known Lambert-Beers equations. 
     In the preferred embodiment, the detected optical signals are conventionally obtained by passing red (660 nanometers) and infrared (910 nanometers) light through a patient&#39;s blood perfused tissue, detecting the transmitted light which is modulated by the blood flow, and providing red and infrared detected optical signals that are preferably separately processed and optionally converted from analog to digital signals, for example, as described above for the Nellcor N-100 oximeter. Portions of the corresponding red and infrared digital signals are then collectively processed in accordance with the present invention and the light modulation ratios are determined based on the resulting enhanced periodic information and used to calculate oxygen saturation. 
     In the time domain analysis embodiment, the invention provides a method and apparatus for adding together a plurality of successive portions of the detected optical signal waveform whereby one portion of the detected optical signal waveform is added to the following selected portion so that their respective periodic information is added in synchrony, i.e., in phase. The synchronized sum thus forms a composite portion of detected optical signal information having enhanced periodic information. The following portion is then added to the composite portion so that the new periodic information is added to the prior composite periodic information in synchrony, forming an updated composite portion with updated enhanced periodic information. Thereafter, subsequent successive portions of detected optical signal are added to the prior updated composite portion, one at a time, so that the composite and enhanced periodic information are updated with each new portion and corresponding heartbeat event. 
     Weighting functions are applied to the two portions before they are added each other. This provides a .scaled or weighted sum that can be adjusted, by selection of the respective weighting functions, to more closely reflect the patient&#39;s current condition, rather than the historical condition. In the preferred embodiment, the weighting functions are fractional multipliers which sum to one to provide a stable filter, and are discussed in greater detail below. 
     The periodic information (optical pulse) generally has the same pulse shape, height, and duration from heartbeat to heartbeat and, as is described in U.S. Ser. No. 742,720, follows heart activity by a determinable period of time. 
     Applicants have discovered that by synchronizing the occurrence of successive R-waves, it becomes possible to add the corresponding successive portions of the detected optical signal together so that the periodic information (optical pulses) corresponding to the arterial pulse in each portion will add in phase. The weighted magnitude of the new periodic information is reinforced by the existence of the weighted enhanced periodic information at the same time location in accordance with the degree of synchrony. If the new optical pulse is identical to the composite pulse, then the updated result is a composite optical pulse having the same magnitude. If the magnitudes differ, the additive result will differ according to the relative weights. 
     As a result of the collected, synchronized additive process, any aperiodic information that may be present in the portions of the detected optical signals also are weighted and added to the weighted composite portion waveform. However, because aperiodic signals differ in pulse shape, duration, height-, and relative time of occurrence within each portion, and are not synchronous with heart activity, they do not add in phase. Rather, they add in a cancelling manner whereby their weighted sum is spread across the relative time frame of the composite portion. 
     Applicants have discovered that by processing portions including the periodic information collectively, aperiodic information is attenuated by the absence of any corresponding historical aperiodic signal in the prior composite portion or any subsequent aperiodic at that relative time following heart activity. Further, because the new information can be given a small weight when compared to the absolute weight given the prior composite (as distinguished from the effective lesser weight given to any single prior portion of optical signals as explained below) new aperiodic information is quickly and effectively attenuated, and thus filtered out of the resultant additive portions. 
     To the extent that any aperiodic information would overlap and thereby obscure some periodic information in a portion, then that aperiodic information would be reinforced by the existing periodic information in the prior composite portion; but only to the extent there was overlap. Thus, the collective processing does not lose optical pulse information hidden by an artifact. Subsequent periodic information lacking &#34;identical&#34; aperiodic information would attentuate any overlapping aperiodic pulse over time. 
     The collective additive sum having synchronized periodic information waveforms thus presents enhanced periodic information that is a composite data set that corresponds to a composite optical pulse from which noise, spurious signals, and motion artifact, have been filtered out. By weighting the collective additive process to favor the most recent information and processing this weighted composite portion as it is updated, an accurate estimated optical pulse (enhanced periodic information) that closely reflects the actual conditions is maintained. Basing oxygen saturation determinations on this enhanced optical pulse as it is updated thus provides a more accurate measure than was available by conventional and prior processing techniques. 
     As discussed in application Ser. No. 742,720, the determinable time period between the R-wave and the optical pulse makes it possible to determine a time window whose time length is long enough to include any likely periodic information, and short enough to exclude detected optical signals that are not of any significant or clinical use in making the determination of the selected blood constituent A time window can be used in the present invention, following the occurrence of heart activity, to select a portion of detected optical signals for processing in accordance with this invention to reduce the amount of detected optical signal information that must be processed, to improve the rejection of aperiodic signals not proximate to the optical pulse, and to improve the resolution of the oximeter. The timing of the portion can be selected empirically, by considering the time length of the heartbeat pulse and how long it takes for the pulse to travel to the optiCal detection site so that the window is opened before the optiCal pulse maximum occurs at the optical detection site. In the preferred embodiment, the portion of signal is portion that begins 40 ms after the detection of an R-wave event, based on experimentation, and ends after the relative minimum of the optical pulse is detected, which ending time can vary from portion to portion, and may be, for example, about 230 ms after the R-wave event. 
     The time domain processing of collective weighted portions of the detected optical signal waveforms synchronized by the R-wave of the ECG waveform provides the equivalent of an optimal filter in the frequency domain, whose band-pass elements are those of an ideal heartbeat for the patient under examination. All frequencies which are found in a normal heartbeat are passed with weights of one, and all nonsynchronous frequencies are rejected with attenuation depending on the degree of asynchrony, and the time length of the filter (the effective number of portions processed collectively). As the weight of the periodic information corresponding to the current heartbeat is decreased, greater rejection of low-frequency aperiodic artifacts occurs, but the delay in reporting the most accurate arterial pulsatile flow increases. 
     The weighting functions also assure that the new periodic information is not absorbed into the time and amplitude average of the old data. Using fractional weights provides scaling of the new and old composite information sum, and when the fractional weights add to one, stable performance of the filter is assured. Repeated multiplication of the old data by weights less than one accomplish the effective removal of older data, thus limiting in effect the number of periods processed collectively. 
     In the preferred embodiment, the detected optical signal information is processed in digitized form. Because the successive digitized information is weighted and added, the amount of digital computer memory required to contain the historical and updated composite periodic information only need be as long as the time period for a relative typical heartbeat, so that it can contain the entire time for a selected portion including an optical pulse. This simplifies oximeter operation. 
     In the preferred embodiment, applicants have found that optimal performance occurs when the most recent information is accorded a weight of 1/6 and the historical weight-averaged composite information is accorded a weight of 5/6. Weights which are in powers of 2, e.g., 1/2, 1/4, 1/8, etc., are attractive to use with binary digital computers because they require simpler mathmatical operations, however, they do not necessarily provide the optimal time and noise attenuation tradeoff in selecting weighting functions. 
     The resultant enhanced periodic information is a weighted composite optiCal pulse that is evaluated in the same manner that prior oximeters evaluated individual pulses they determined were appropriate optical pulses for determining blood constituents, whether or not the criteria included use of a time window. The relative maxima and minima for each of the red and infrared composite optical pulses are separately determined and used in the modulation ratios for determining amounts of blood constituents, e.g., in the modulation ratio R of the Lambert-Beers equations that are commonly used to determine oxygen saturation of arterial hemoglobins as described below. As additional data sets are taken, the collective set of periodic information is updated. Consequently, the most recent waveform data representing the actual amount of blood constituent is included in the updated composite optical pulse from which the updated oxygen saturation can be determined and displayed. Although the foregoing and following discussions generally discuss only a detected optical signal, it should be understood that both the red and infrared signal are separately obtained and processed by these techniques, except as indicated. 
     In another embodiment of the time domain embodiment, the time-measure of the detected optical signal is collected in a different manner. The digitized portions of information that are to be weighted, synchronously added together, and processed collectively are accumulated in a memory device having sufficient memory locations for storing separately the raw data for a predetermined number of portions of the detected optical signal. The time of occurrence of the R-wave also may be stored in memory as a pointer for the raw data. This filter embodiment permits assigning a different weighting function to each raw data set corresponding to a different heartbeat in the memory, to improve the attenuation of artifacts and reduce the time needed to estimate the actual arterial pulsatile flow in the detected optical signal. 
     In this embodiment, for N predetermined heartbeats, the average value of the detected optical signal for those N heartbeats is computed by assigning a weight to each data set and adding the weighted data for each heartbeat synchronously into a buffer with a weight of 1, then dividing by N. After each computation, the data set from the oldest stored heartbeat is subtracted from the buffer. As a new R-wave is detected, the incoming data is added to the buffer, and the result is divided by N for computation of relative amplitudes of the two wavelength (red and infrared) periodic information. Thus, the equivalent delay in determining the arterial oxygen saturaton is N/2 times the heartbeat interval. The stored R-wave pointer may be used to correlate the weighting function with the raw data so that the oldest data is given the smallest weight and the most recent data is given the greatest weight, and after each composite heartbeat computation, the oldest data set can be subtracted from the buffer before the following newest data is added. 
     In an alternate embodiment of the time domain analysis techniques, the ECG and periodic information can be correlated by using a waveform product of the ECG signal and the detected optical signal to determine the location of the optical pulse from which oxygen saturation and heart rate values may be computed. The R-wave of the ECG has the largest slope component within the ECG waveform. In the optical pulse waveform in the portion of detected optical signal, the largest slope is created when the heart contracts to expell blood and thereby produce the arterial pulse. Thus, because of the determinable time interval between the ECG R-wave and the appearance of the optical pulse at the detection site, the detected optical signal can be moved backwards in time, relative to the ECG waveform, an amount equal to the determined time interval so that the portions of maximum slope in the two signals will be aligned, and their product will be at a maximum. 
     Aperiodic signals, such as motion artifact, having high slopes will not occur synchronously on the ECG and the detected optical signals. Therefore, once the two periodic waveforms are aligned, the largest slope product of the two will occur at the heart rate interval. Detection of the maximum slope product can be used to pinpoint the occurrence of a heartbeat, and the portion of the detected optical signal that is associated with that maximum slope product can be used for calculating oxygen saturation. 
     In this embodiment, the time interval between the R-wave and the optical pulse can be determined by collecting a predetermined time measure history of optical and ECG waveform data comprising n seconds. The time interval must be long enough for the samples to include at least one R-wave and one pule respectively, given that the heartbeat may vary from 20-30 beats per minute at the slowest rates. A measure of six seconds is acceptable. The samples are conventionally digitized and stored in memory. An array of sample-to-sample slopes is obtained for each n second sample of the ECG waveform and for the second half of each optical pulse waveform sample. The first half of the optical pulse sample is discarded so that when the first optical pulse in the second half is slid backwards, the first R-wave peak it will come upon will be its corresponding R-wave, and also so that the most recent heartbeat data is detected. An optical pulse in the first half of the sample could miss its R-wave. 
     The number of slope values in the second half of the optical waveform, i.e. the number of data points minus 1 at the given sampling rate of 57 samples per second (every 17.5 msec), is taken as m, which corresponds to n/2 seconds of data. 
     A slope product is obtained by multiplying each element of the optical slope array by its corresponding three and one-half points in the ECG slope array (the ECG signal is sampled every 5 msec) and summing the products. This process is repeated for each of the m optical sample points as the optical waveform slope array is moved backwards relative to the ECG slope array, one optical waveform sample at a time. The backwards slide terminates when the first sample of the ECG waveform is aligned with the first sample of the second half of the optical waveform. 
     The maximum slope product is found to occur after the optical waveform slope array has been slid x optical sample points backwards. This establishes the time interval t between the detection of the ECG R-wave and the detection of the optical pulse produced by the same heart contraction. This time interval t is expressed in terms of a number of waveform samples, and is used in the determination of heartbeat occurrence. 
     Computation of the aligned waveform slope product will yield a slope product value for each optical waveform sample. A percentage of the maximum slope product produced during the establishment of the time interval component can be used to compute a maximum product threshold. For example, a percentage of 75% of the maximum slope product may be used. Thus, when the ECG and optical signal waveform slope product exceeds the maximum product threshold, it is likely that a true pulse has been located. 
     The &#34;true&#34; pulse, as it appears the detected optical signal, can then be validated and processed using known techniques for calculating oxygen saturation from detected optical signals. For example, the slope product could be used to synchronize the R-wave events so that the corresponding periodic information can be added in phase in accordance with the preferred embodiment of this invention, or the slope product could be used as an additional criterion for accepting the corresponding optical pulse as valid, and the oxygen saturation determination could be based only on the corresponding optical pulse. Alternately, the waveform product for the maximum and minimum values for the red and infrared waveforms could be used as the maximum and minimum values in calculating saturation. Also, one could integrate some portion of the selected waveform product waveform and compare the area of the change to the area of the total signal to obtain the relative transmittance for use in determining saturation. For example one could integrate the portion above a selected threshold and compare that area to the integral of the entire pulse. 
     Qualified &#34;true&#34; pulses are then used to update the slope product threshold value so that it will change as the patient&#39;s condition changes or as the quality of the received signals changes. 
     Applicants also have discovered that a time-measure of detected optical signals containing a plurality of periodic information corresponding to successive heartbeats can be collectively processed and analyzed using frequency domain techniques. These frequency domain techniques utilize the synchronous nature of the heartbeat and the asynchronous characteristics of noise, spurious signals, and motion artifacts. 
     In the frequency domain, the optical signals for a given wavelength corresponding to the pulsatile arterial blood flow have spectral components including a zero frequency at the background intensity level, a fundamental frequency at the frequency of the beating heart, and additional harmonic frequencies at multiples of the fundamental frequency. Noise, spurious signals, and motion artifact that appear in the detected optical signal have frequencies that spread across the spectrum. Transient changes in the average background intensity level have frequencies that appear spread out between the zero frequency and the fundamental frequency. 
     The frequency domain embodiment of the present invention provides a method and apparatus for collecting a time-measure of detected optical signals including a predetermined number of optical pulses, converting the collected detected optical signals into the frequency domain, and analyzing the spectral components of the frequency spectrum thereby to determine the red and infrared relative maxima intensity at the fundamental frequency, and relative minima at the background intensity zero frequency, for use as maxima and minima in the percentage modulation ratio for calculating oxygen saturation. 
     Applicants have discovered that if the digitized values of the time domain detected optical signals are stored in memory for a period of N heartbeats, and the stored data set is transformed into the frequency domain using Fourier Transforms, the amplitude of the fundamental heartrate is summed for the N heartbeats and appears in the frequency spectrum at a location of N cycles. In contrast, the amplitude of asynchronous signals is 1/m where m is the number of data pints in the digitized stored data set, and appear spread across the frequency domain spectrum. The average intensity of the detected optical signal background intensity appears at the spectral line corresponding to zero cycles and corresponds to the average background intensity for that wavelength. 
     If the detected optical signal for the red and infrared signals is considered as a single complex data set, i.e., having real and imaginary components, only a single Fourier transform is required to analyze the spectral contents of the collective time-measure of the two signals. If F(s) represents the Fourier Transform of the complex data set f(t)=Red(t)+jIR(t) (for Red(t) being the red detected optical signal and IR(t) being the infrared detected optical signal), the Fourier Transform of the real component of f(t) is found by 
     
         F{Re[f(t)]}=1/2{F(s)+F*(-s)}. 
    
     Similarly, the Fourier transform of the imaginary component of f(t) is found by 
     
         F{Im[f(t)]}=1/2{F(s)-F*(-s)}. 
    
     F*(-s) is the complex conjugate of F(s) with the indexes reversed. 
     The relative amplitudes of the red and infrared fundamentals at the heartrate has been found to be equivalent to the foregoing time domain techniques for computation of arterial oxygen saturation. The amplitude data may be found by searching the frequency spectrum in the region of expected heart rates for a relative maximum and insuring that this is the fundamental by determining the existence of another relative maximum at twice this rate. This provides a technique for obtaining relative modulation data to calculate arterial oxygen saturation without the need to identify the heart rate independently, e.g., by detecting the ECG. Alternately, the amplitude data at the fundamental may be found by the use of independent heart rate determining mechanism such as ECG or phonoplethysmography or the like to determine a heart rate. However, unlike the time domain techniques, the precise time of occurrence of each heartbeat need not be determined and the optical signal and a heart rate parameter need no be correlated to obtain accurate saturation values. Rather, it is sufficient to obtain an approximate indicator of heart rate, which will facilitate identification of the fundamental frequency and improve saturation reliability. 
     The number of spectral lines computed is preferably optimized to include the expected range of clinically applicable heartbeats (from 20-250 beats per minute), while the length of the data set is selected by the allowable equivalent delay in displaying measured arterial oxygen saturaton. A time-measure of data of, for example, 9-10 seconds represent delays of only 4-5 seconds in the display of computed saturations, and, depending upon the computational speed of the oximeter microprocessor, the time-measure can be updated in a timely fashion every 1 to 2 seconds. 
     In the preferred embodiment, the optical signal is digitized at 57 samples per second for each red and infrared signal. When 512 data points are accumulated, the data is Fourier transformed, and the red and infrared fundamental maxima are located. The percentage modulation ratio (red/infrared) is computed by dividing the energy at each maxima by the zero cycle background intensity for that wavelength, then dividing the red modulation by the infrared modulation. The resultant ratio, R, is the used in the manner set forth in the Lambert-Beers equations for calculating arterial saturation of hemoglobin. The collective data can be updated so that new data points replace the oldest data points by using a push down stack memory or equivalent so that the transform, evaluation and saturation calculation could be made after each new data set was obtained. 
     An alternative embodiment of the frequency domain analysis technique includes sampling the real tim ECG waveform and the real time detected optical signal at high rates, e.g., 1000 samples per second. By examining the ECG wave, the time of occurrence for each heartbeat and the appropriate sample rate to obtain m samples during that heartbeat could be determined. Thus, the data set for each heartbeat can be selected to contain the same number of m samples, where each sample is a fraction of the heartbeat period and N heartbeats contains mxN samples. Taking the Fourier transform of this mxN data set and processing the spectral components of the transform in the same manner as described previously, results in a spectral analysis having several additional advantages. First, the fundamental maximum would always occur at the spectral line for N cycles in &#34;heartbeat&#34; space. Second, any signal present in the data set which did not remain synchronous with the heart, including noise, artifact and transient background intensity changes, would be spread over the heartbeat spectrum. Third, the enhancement in signal-to-noise would be the same for all heart rates. Fourth, because only two spectral lines are of interest, the zero spectral line corresponding to the zero frequency background intensity and the N spectral line corresponding to the number of heartbeats for the data set, the Fourier Transform need only be made at the two frequency components and not of the entire spectrum, and the computation efforts required by the microprocessor are significantly diminished. 
     The apparatus of the present invention can be used for either time domain or frequency domain analyses, and includes inputs for the plethysmographic detected optical signals and ECG signals of a patient, an analog to digital converter for converting the analog plethysmographic signal to the digital optical signals and for converting the analog ECG signals into digital ECG signals (unless the plethysmographic or ECG signals are provided in digital form), and a digital signal processing section for receiving the digital signals and processing the digital detected optical signal in accordance with one of the foregoing analysis techniques of the present invention, including a microprocessor, memory devices, buffers, software for controlling the microprocessor, and display devices. 
     In its context, the apparatus of the present invention is a part of an oximeter device which has the capability to detect the red and infrared light absorption, and receive at ECG signal from the patient. In the preferred embodiment, the apparatus of this invention is a part of the Nellcor N-200 Pulse Oximeter (herein the &#34;N-200 oximeter&#34;), a commercially available noninvasive pulse oximeter device manufactured and sold by Nellcor, Incorporated, Hayward, Calif. U.S.A. 
     The N-200 oximeter is an improved version of the enhanced N-100 oximeter described above and in the prior application Ser. No. 742,720. The N-200 includes circuits that perform many of the same functions as in the N-100 device, but includes some changes, for example, to expand the dynamic range of the device over the N-100 device and to include a 16 bit microprocessor manufactured by Intel Corporation, Model No. 8088. The N-100 oximeter uses an 8 bit microprocessor manufactured by Intel Corporation, Model 8085. The N-200 oximeter includes software for controlling the microprocessor to perform the operations of the preferred embodiment of the time domain analysis techniques of present invention in addition to the conventional oximeter functions, and has some structure and processing methods that are unrelated to the present invention, and therefore are not discussed herein. The software could be modified to perform any of the other time domain or frequency domain analysis techniques of the present invention. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIGS. 1A and 1B are a block diagram of the apparatus of this invention and the apparatus associated with the present invention. 
     FIG. 2A is a detailed circuit schematic of the saturation preamplifier in the patient module of FIG. 1. 
     FIG. 2B is a detailed circuit schematic of the ECG preamplifier and input protection circuit in the patient module of FIG. 1. 
     FIGS. 3A and 3B are a detailed circuit schematic of the saturation analog front end circuit of FIG. 1. 
     FIG. 4 is a detailed circuit schematic of the LED drive circuit of FIG. 1. 
     FIG. 5 is a detailed circuit schematic of the ECG analog front end circuit of FIG. 1. 
     FIGS. 6A and 6B are a detailed circuit schematic of the analog to digital converter section of FIG. 1. 
     FIGS. 7A, 7B, and 7C are a detailed circuit schematic of the digital signal processing section of FIG. 1. 
     FIG. 8 is a detailed circuit schematic of the external ECG circuitry of FIG. 1. 
     FIGS. 9A, 9B, 9C, 9D, 9E and 9F are flow charts for the time domain ECG and optical signal processing of this invention. 
     FIG. 10 is a flow chart for the frequency domain optical pulse processing of this invention. 
     FIGS. 10A, 10B, 10C, 10D and 10E are a series of waveforms corresponding to the flow chart of FIG. 10. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     Referring to FIGS. 1A and 1B, the preferred embodiment of the present invention relates to the apparatus for processing the detected analog optical signal and the analog ECG signal and comprises portions of analog to digital conversion section (&#34;ADC converter&#34;) 1000 and digital signal processing section (&#34;DSP&#34;) 2000, including the software for driving microprocessor 2040, which processes the digitized optical signals and ECG signals to determine the oxygen saturation of hemoglobin in arterial blood. Associated with the invention, but not forming a part of the invention, is the apparatus for obtaining the detected analog optical signals and the analog ECG signals from the patient that is part of or is associated with the commercially available Nellcor N-200 Pulse Oximeter. Such apparatus include plethysmograph sensor 100 for detecting optical signals including periodic optical pulses, patient module 200 for interfacing plethysmograph sensor 100 and the conventional ECG electrodes with saturation analog front end circuit 300 and ECG analog front end circuit 400 respectively, saturation analog circuit 300 for processing the detected optical signals into separate red and infrared channels that can be digitized, and ECG analog front end circuit 400 for processing the ECG signal so that it can be digitized. The N-200 oximeter also includes external ECG input circuit 500 for receiving an external ECG signal and processing the signal so that it is compatible with the N-200 processing techniques (as explained below), LED drive circuit 600 for strobing the red and infrared LEDs in plethysmograph sensor 100 at the proper intensity to obtain a detected optical signal that is acceptable for processing, and various regulated power supplies (not shown) for driving or biasing the associated circuits, as well as ADC 1000 and DSP 2000, from line current or storage batteries. 
     The associated elements are straightforward circuits providing specified functions which are within the skill of the ordinary engineer to design and build. The associated elements are briefly described here, and reference is made to the corresponding detailed schematics in the Figures and circuit element tables set forth below, to place the apparatus for using the present invention in its operating context in the preferred embodiment. 
     In the preferred embodiment, the invention requires three input signals, the two plethysmograph or detected optical signals (e.g., red and infrared) and the ECG signal of the patient. If analog signals are provided, they must be within or be adjusted by, for example, offset amplifiers, to be within the voltage input range for the ADC. In circumstances where the signals have been digitized already, they must be bit compatible with the digital signal processing devices, DSP. 
     The plethysmograph signal is obtained in a conventional manner for a non-invasive oximeter, typically by illuminating the patients tissue with red and infrared light in an alternating fashion, in the manner described above for the N-100 oximeter. Referring to FIGS. 1A and 1B, sensor circuit 100 has red LED 110 and infrared LED 120 connected in parallel, anode to cathode, so that the LED drive current alternately illuminates one LED and then the other LED. Circuit 100 also includes photodetector 130, preferably a photodiode, which detects the level of light transmitted through the patient&#39;s tissue, e.g., finger 140, as a single, analog optical signal containing both the red and infrared light plethysmographic, detected optical signal waveforms. 
     Referring to FIGS. 1A, 1B, 2A, and 2B, patient module 200 includes preamplifier 210 for preamplifying the analog detected optical signal of photodetector 130, ECG preamplifer 220 for preamplifying the analog ECG signal detected from the ECG electrodes that would be attached to the patient in a conventional manner, and protection circuitry 250 interposed between instrumentation amplifier 220 and inverter 230 and the three ECG signal leads, to prevent high voltage transients from damaging the ECG preamplifier electronics. 
     Preamplifier 210 may be an operational amplifier configured as a current to voltage converter, biased by a positive voltage to extend the dynamic range of the system, thereby converting the photocurrent of photodiode 130 into a usable voltage signal. ECG preamplifier 220 is preferably a high quality instrumentation amplifier which amplifies the differential signal present on the two ECG signal electrodes. The common-mode signal present on the two signal electrodes is inverted by inverter 230 and returned to the patient by the third ECG lead, effectively nulling the common-mode signals. A biasing network on tee two ECG signal leads is provided to aid in the detection of when an ECG electrode lead becomes disconnected from patient module 200 or the patient. Patient module 200 also includes leads for passing the LED drive voltages to LEDs 110 and 120. 
     Referring to FIGS. 1A, 1B, 3A and 3B, saturation analog front end circuit 300 receives the analog optical signal from patient module 200 and filters and processes the detected signal to provide separate red and infrared analog voltage signals corresponding to the detected red add infrared optical pulses. The voltage signal is passed through low pass filter 310 to remove unwanted high frequency components above, for example, 100 khz, AC coupled through capacitor 325 to remove the DC component, passed through high pass filter 320 to remove any unwanted low frequencies below, for example, 20 hertz, and passed through programmable gain stage 330 to amplify and optimize the signal level presented to synchronous detector 340. 
     Synchronous detector 340 removes any common mode signals present and splits the time multiplexed optical signal into two channels, one representing the red voltage signals and the other representing the infrared voltage signals. Each signal is then passed through respective filter chains having two 2-pole 20 hertz low pass filters 350 and 360, and offset amplifier 370 and 380. The filtered voltage signals now contain the signal information corresponding to the red and infrared detected optical signals. Additionally, circuits for use in preventing overdriving the amplifiers in saturation circuit 300 may be applied, for example, level-sensing circuits 312 and 314 (located after low pass filter 310) for indicating unacceptable LED drive current, and level sensing circuit 315 (located after programmable gain amplifier 330) for indicating unacceptable input amplifier gain setting. 
     Referring to FIGS. 1A, 1B, and 8, ECG analog front end circuit 400 receives the preamplified ECG signal from patient module 200 and processes it for use with the present invention. The analog ECG signal is passed through 2-pole 40 hertz low pass filter 410 for removing unwanted frequencies above 40 hertz, and programmable notch filter 420 for removing unwanted line frequency components. Optionally, circuitry may be provided to measure the line frequency and to select an appropriate clock frequency for the notch filter. The ECG signal is then passed through low pass filter 430, preferably configured to remove further unwanted components above about 40 hertz, and in particular any frequency components that may have been generated by notch filter 420. Thereafter, the ECG signal is passed through 2-pole 0.5 hertz high pass filter 440 to remove any low-frequency baseline shifts present in tee original ECG signal, and then passed through offset amplifier 450 to add an offset voltage that the voltage is within the input signal specifications of the analog to digital converter device and the complete waveform will be properly digitized. 
     It also is desirable to pass the signal output from low pass filter 410 into a circuit that detects whether or not the ECG signal is being detected to identify a &#34;leads-off&#34; condition. The signal voltage is passed through absolute value circuit 480 to take the absolute value of the low pass filter output voltage and sends the value to comparator 490. Comparator 490 compares the absolute value voltage to a reference threshold or range and, when the absolute value voltage is not within the acceptable range, comparator 490 changes state which change is input to latch 495, to indicate this condition to, for example, the microprocessor. 
     Referring to FIGS. 1A, 1B and 8, the Nellcor N-200 device also is equipped with external ECG circuit 500 for receiving the ECG signal of a stand alone ECG detector device and processing the ECG signal so that it can be used with the N-200 oximeter and the present invention. Circuit 500 receives the external analog ECG signal, passes it across capacitor 510 to remove any DC offset voltage and then passes the signal through peak detection circuit 530. A portion of the AC coupled signal also is passed through buffer amplifier 520 and input to comparator 570. The held peak voltage is used as the reference threshold voltage that is fed to the other input of comparator 570 so that subsequent QRS complexes in the ECG signal that rise above the threshold generate a trigger signal that is transferred to DPS 2000 by an electrically isolated optical serial communication link comprising serial driving opto-isolator 580, electrically isolated optical link 590, and corresponding serial driving opto-isolator 2590 in DSP 2000. 
     Referring to FIGS. 1A, 1B, 6A and 6B, ADC 1000 provides the analog to digital conversions required by the N-200 oximeter. The aforementioned three voltage signals, the red detected optical signal, the infrared detected optical signal, and the ECG signal (preferably the ECG signal from patient module 200), are input to ADC 1000. These three signals are conventionally multiplexed and digitized by an expanded range 12-bit analog to digital conversion technique, yielding 16-bit resolution. The input signals are passed through multiplexor 1010 and buffer amplifier 1020. The converter stage includes offset amplifier 1030, programmable gain circuitry 1040 which allows a portion of the signal to be removed and the remainder to be further amplified for greater resolution, sample and hold circuit 1050, comparator 1060, and 12-bit digital to analog converter 1080. The buffered signal is passed through offset amplifier 1030 to add a DC bias to the signal wherein a portion of the signal is removed and the balance is amplified by being passed through programmable gain circuitry 1040 to improve the resolution. The amplified signal is then passed through sample and hold circuit 1050, the output of which is fed to one input of comparator 1060. The other input of comparator 1060 is the output of digital to analog (&#34;DAC&#34;) converter 1080 so that when the inputs to comparator 1060 are the same, the analog voltage at the sample and hold circuit is given the corresponding digital word in DAC converter 1080 which is then stored in an appropriate memory device as the digitized data for the sample, and the next sample is sent to sample and hold circuit 1050 to be digitized. 
     Referring to FIGS. 1A, 1B, 4, 6A, 6B, 7A, 7B, and 7C, DAC 1080 also generates the sensor LED drive voltages, under the control of microprocessor 2040, using analog multiplexor 610, which separates the incoming analog signal into one of two channels for respectively driving the red and infrared LEDs, having respective sample and hold circuits 620 and 630, and LED driver circuit 640 for converting the respective analog voltage signal into the respective positive and negative bipolar current signals for driving LEDs 110 and 120. 
     Alternate techniques of converting the analog signals to digital signals could be used, for example, a 16-bit analog to digital converter. 
     Referring to FIGS. 1, 7A, 7B, and 7C, DSP 2000 controls all aspects of the signal processing operation including the signal input and output and intermediate processing. The apparatus includes 16-bit microprocessor 2040 and its associated support circuitry including data bus 10, random access memory (RAM) 2020, read only memory (ROM) 2030, a conventional LED display- device 2010 (not shown in detail), system timing circuit 2050 for providing the necessary clock synchronizing and notch filter frequency signals. In the preferred embodiment, microprocessor 2040 is a model 8088 microprocessor, manufactured by Intel Corporation, Santa Clara, Calif. Alternate microprocessors may be used, such as any of model nos. 8086, 80186, and 80286, also made by Intel Corporation. 
     Referring to FIGS. 9A, 9B, 9C, 9D, 9E, and 9F and software Appendix A, the flowcharts for the software operation of the preferred embodiment are shown and described. Software appendix A is written in the standard programming language for Intel Model 8088 microprocessor devices. 
     Similar to the enhanced N-100 oximeter described in U.S. application Ser. No. 742,720, the N-200 oximeter incorporating the present invention is designed to determine the oxygen saturation in one of two modes, an unintegrated mode wherein the oxygen saturation determination is made on the basis of pulses detected in the optical pulse signal that are determined to be optical pulses in accordance with conventional pulse detection techniques, and in an ECG synchronization mode wherein the determination is based on the synchronized additive, composite optical signal information in accordance with the preferred embodiment of the present invention. In an alternate embodiment of the present invention, the determination of saturation in the unintegrated mode may be based on the frequency domain analysis techniques in accordance with this invention with or without the ECG synchronization feature of the time domain analysis techniques. 
     Referring to FIG. 9F, interrupt programs control the collection and digitization of incoming optical and ECG data. As particular events occur, various software flags are raised which transfer operation to various routines that are called from the Main Loop Processing routine. For example, Main Loop Processing calls the ECG routine at 3600, calls a routine that checks the LED levels at 3610 to make sure that there is enough and not too much light being transmitted, looks for the presence of new data at 3615, and if there is new data, calls the MUNCH routine at 3620, looks for processed pulse data at 3635 and passes such data to the Leve13 routine that calculates saturation at 3640, and also runs various maintenance routines related to the oximeter functions which are not pertinant to the present invention, e.g., at 3625, 3630, 3645, 3650, 3655, and 3660 and are not discussed herein. The routines pertinent to the present invention are discussed here. Examples of similar and peripheral other routines may be found in the software appendix to application Ser. No. 742,720. 
     The detected optical signal waveform is sampled at a rate of 57 samples per second. When the digitized red and infrared signals for a given portion of detected optical signals are obtained, they are stored in a buffer called DATBUF and a software flag indicating the presence of data is set at 3615. This set flag calls a routine referred to as MUNCH at 3620, which processes each new digitized optical signal waveform sample. The MUNCH routine is called once per data point and determines pairs of maximum and minimum amplitudes in the detected signal data and presents the pairs to the Leve13 routine. The Leve13 routine evaluates the pair of maximum and minimum amplitudes determined by MUNCH, preferably utilizing conventional techniques for evaluating whether a detected pulse is acceptable for processing as an arterial pulse and performs the saturation calculation based on accepted pulses. The MUNCH routine first queries whether or not there is ECG synchronization. If there is ECG synchronization, then the MUNCH routine obtains from the SLIDER routine the enhanced pulse data on which the ECG synchronized saturation calculation will be mad. If there is not synchronization, MUNCH obtains the sample stored in DATBUF on which the unintegrated saturation calculation will be made. 
     Referring to FIG. 9A, the SLIDER routine processes each new digitized sample portion of detected optical signal containing the optical pulse to create and maintain the enhanced composite red and infrared optical pulse waveforms, synchronized with the occurrence of successive ECG R-wave events. 
     The SLIDER routine first inquires whether there is an ECG signal at 3100. If there is not, then the routine aborts to exit at 3160 to main line operation. If there is an ECG signal, then the SLIDER routine continues and checks the validity of the optical signal at 3110. If the digitized sample in the buffer DATBUF for either of the red or infrared channels contains an invalid datapoint, the full content of the slider buffer (SLIDEBUF) is erased and the routine exited. The validity of the data is checked by looking for zeros placed in the buffer. Zeros are placed in the buffer when the signal level of the LEDs changes to permit the 20Hz filters to settle, or if the signal exceeds the voltage limits of the processing electronics. This prevents processing of data known to be bad. 
     If the data are determined to be valid, then the SLIDER routine queries whether or not the data should be skipped at 3120. The optical signal sampling and data collection and processing of the sampled data are asynchronous processes. On occasion, the data buffer will have several unprocessed samples of data by the time the ECG R-wave event trigger occurs (described below). The R-wave event resets the slider buffer pointer to the beginning of the slider buffer and marks the R-wave data sample in DATBUF SLIDER will not process a data point if the slider buffer pointer is reset already to the beginning of the slider buffer and if the incoming data point was digitized in DATBUF before the data point marked by the R-wave event. Data in the DATBUF buffer prior to the R-wave event are to be skipped. If the data are to be skipped, SLIDER is exited. 
     If the data are to be processed, SLIDER calculates the updated value for the composite portion waveform sample as &#34;slider data&#34; using the following formula: ##EQU1## where &#34;WEIGHT&#34; is the aforementioned fractional weighting fraction; &#34;new data&#34; is the data point taken from the incoming sample in DATBUF, and &#34;slider data&#34; is the pre-existing data point in the composite waveform in the slider buffer (SLIDEBUF) before the new data point is added and becomes the updated data point after the computation. 
     The computation is performed for each data point in DATBUF and any corresponding pre-existing data in the slider buffer. The occurrence of an R-wave event indicates the beginning of the heartbeat sample. 
     Before making the computation, SLIDER checks the slider buffer to see if there is any existing data at 3130. If there are data, then at 3150 SLIDER calculates the new value for the composite optical signal. If, however, the slider buffer is empty, then the WEIGHT value is assigned a numerial value of 1 at 3140, and subsequent new data points will be weighted 100% and the routine continues to calculate a new value for the composite optical signal at 3150 until the occurrence of the next R-wave event corresponding to the following heartbeat and portion of detected optical signal. 
     The SLIDER routine also performs other housekeeping chores for the processing associated with the slider buffer. First, in the preferred embodiment, the slider buffer is given a specific length and is able to store about three seconds worth of data. If, for whatever reason, the microprocessor does not receive or recognize an R-wave for more than three seconds, the pointer of the slider buffer is set to point to the last location and does not get incremented beyond that location. Subsequently processed samples are each placed in the last location of the buffer until the next accepted R-wave occurs or a time-out condition occurs. Time-out occurs when no further R-wave events are accepted for a predetermined time of, e.g., five seconds. After time out has occurred, MUNCH is notified that ECG synchronization is lost so that saturation calculations will be based only on the optical signals in DATBUF in the unintegrated mode. 
     Second, SLIDER continuously compares the updated composite waveform in the slider buffer to the previous composite waveform. If there is a large discrepancy, for example, during electromechanical disassociation, SLIDER takes immediate action to disregard the slider buffer data. 
     Third, to avoid corrupting the integrity of the waveform data in the slider buffer whenever the apparatus hardware or software triggers a change that influences the signal level of the detected optical signal or the optical pulse waveform, the content of the slider buffer is erased. 
     Referring to FIG. 9B, the ECG BOX routine processes the ECG signal obtained through patient module 200 and analog ECG front end circuit to detect ECG R-wave events. The ECG signal is digitized every 5 msec and the digitized values are maintained in a circular buffer. The R-wave event is detected by observing the derivative of the ECG signal. The derivative is obtained at 3200 by application of the following algorithm: ##EQU2## where &#34;ecg data[n]&#34; is the digitized value for the ECG signal at sample location n and &#34;abs[]&#34; is the absolute value of the bracketed quantity. 
     The largest magnitude spike in the derivative buffer marks the R-wave. Because the algorithm generates the absolute value of the derivative, the derivative buffer contains two spikes very close to each other, one for the positive-going portion and the other for the negative-going portion of the R-wave. After the first spike is recognized, a timer ecg block is set at 3250 to cause ECG BOX to ignore the second spike. 
     Once the derivative value is obtained, and if the ecg block timer is not active, then the derivative value is compared to the ECG threshold at 3240. The ECG threshold is a value that is set at about 75% of the previous maximum derivative value. If the derivative is greater than the threshold, ECG BOX starts the ecg block timer by setting ecg block equal to true at 3250, and it replaces the maximum derivative value with the current derivative value at 3260, and calls the R-WAVE CHECKING routine at 3270. After the R-WAVE CHECKING routine is completed (as discussed below), ECG BOX is exited at 3280. 
     If the derivative is not greater than the threshold, then ECG BOX is exited at 3280. Once the ecg bock timer is activated, ECG BOX will continue to calculate the derivative and compare the derivative to the prior maximum derivative value ay 3220. If the calculated derivative is greater, then the maximum derivative value is set equal to the current derivative ecg data[n]at 3230 and the routine is exited. Otherwise the routine is exited. 
     Referring to FIG. 9E, the R-WAVE CHECKING routine receives the detected R-wave event at 3500 and checks the elapsed time since the last R-wave at 3510. If the elapsed time is less than the minimum internal time limit, preferably set at about 200 msec, the R-wave event is marked as a false R-wave event at 3520. If the elapsed time is greater than the minimum limit, then the routine starts a phasedelay timer/counter at 3530. The purpose of the phase-delay counter is to ensure that the optical data is placed into the beginning of the slider buffer after the optical signal minimum from the preceding pulse, but before the signal maximum of the next pulse. The preferred phase-delay period is 40 msec, based on the results of experimentation, and corresponds to the opening of the time window. It may be desirable to have a phase delay period that can be adjusted to accommodate varying optical signal detection conditions for different patients. 
     The Nellcor N-200 device is equipped with an external ECG input circuit as described above. The main line operating system controlling the operation of the N-200 device receives an interrupt when the external circuit 500 detects an R-wave. On receipt of the interrupt, a message is sent across isolated optical data transmission path 580-590-2590 (FIGS. 1A and 1B) to microprocessor 2040. The microprocessor then indicates to the ECG processing routines that an externally detected R-wave event has occurred, and the R-wave event is passed to the R-WAVE CHECKING routine. The external ECG analog circuit 500 thus performs the same function as the ECG BOX routine, i.e., determination of an R-wave event followed by the R-WAVE CHECKING routine. The ECG BOX routine is given priority over external ECG circuit 500 in passing signals to R-WAVE CHECKING. 
     Referring to FIG. 9C, the ECG routine provides for ECG synchronization, the initialization for slider buffer use, and various other tasks associated with ECG enhancement of the detected optical signal. The ECG routine is entered from the Main Loop Processing system (FIG. 9F, at 3600). Its first task is to maintain the ECG related counters/timers, such as ecg block and phase-delay, at 3300. Next, at 3310, it checks whether or not the ECG leads from patient module 200 are present, and if not, it checks at 3320 for the presence of an external R-wave event trigger from external ECG circuit 500. If no R-wave event is detected, then the ECG routine is exited at 3370. 
     At this point in the processing, the main line processing system is receiving R-wave events, either from external circuit 500 or from patient module 200 and ECG BOX. Regardless of the source of the R-wave event, the subsequent processing of the R-wave event is the same. 
     When an external R-wave event is detected or the ECG leads are present, the ECG routine calls the ECG LV3 routine, shown in FIG. 9D. ECG LV3 runs through a similar patient module 200 lead checking at 3410 or external circuit 500 trigger at 3420 as the ECG routine and if no R-wave event has occurred the routine is exited at 3480. If an R-wave event is detected, it is first checked at 3425 to determine whether or not it is a new R-wave event, and if it is not, the ECG LV3 routine is exited. If it is a new R-wave event, 3430 uses the false R-wave flag (set by the R-WAVE CHECKING routine) to determine whether or not it was a true or false R-wave event. False R-waves will cause the routine to be exited at this point. 
     If the R-wave event is determined not to be a false R-wave, then the ECG-LV3 routine builds up a history of R-wave events based on the R-wave to R-wave interval at 3435. The criteria for accepting an R-wave includes the R-R period and the amplitude of the R-wave. For external ECG circuit 500 triggers, the R-wave even is a uniform pulse resulting from a comparison of the R-wave amplitude to a determined threshold signal. 
     After computing the R-R interval (or R-R delta) and history, the ECG LV3 routine checks to see if the ECG is synchronized at 3440. The ECG is synchronized after receiving the predetermined number, preferably five, acceptable R-wave triggers. For example, the ECG synch counter is initialized at five. The routine tests the ECG synch counter 3440 so that if it is greater than zero, the ECG is determined to be not synched, and then the ECG synch counter is decreased by one at 3455. Thus, when the ECG synch counter is at zero at 3440, indicating that the required prior five acceptable R-wave event have successively occurred, then it is determined that there is ECG synchronization and the device will proceed through MUNCH to calculate oxygen saturation based on the enhanced composite slider buffer calculations. Whether or not there is EC synchronization, any R-wave event is checked again at 3450 against the history and R-R interval, if any, to determine whether there is an error in synchronization. If there is an error, the ECG LV3 routine is exited. If there is no synchronization error, a routine is called at 3460 to compute the maximum length of time after which data in the slider buffer (SLIDEBUF) is disregarded. For example, if there is no prior R-R interval or history, then there will be no error for the first R-wave event. Subsequent true R-wave events will be compared to the prior R-R interval and history and if it appears to be a valid true pulse, then a routine is called to reset slider buffer pointers. However, the saturation calculation will be based upon the slider buffer data only after five R-waves have passed in synch and the synchronization flag is raised. Loss of synchronization resets the ECG synch counter to five. 
     The ECG LV3 routine also calculates the maximum length of the slider buffer based on the heart rate, which length is preferably 3 seconds or 2.5 times the determined R-R interval, whichever is the smaller. The ECG LV3 routine also maintains the slider pointers and counters, resetting them or clearing them as necessary, resets the ecg timeout and bad R-wave counter, computes and displays heart rate based on the R-R interval at 3465, updates the history buffers and sets the trigger for the MUNCH routine to calculate pulse data for determining oxygen saturation based on the updated slider buffer data at 3470, sets and computes windows for selecting the portion of detected optical signal to be processed for each heartbeat, based on the history and the most recent data at 3475. In the preferred embodiment, the windows are set to open by the R-WAVE CHECKING routine phase-delay counter/timer 40 ms after the R-wave occurs and before the maximum optical pulse wave has occurred at the detection site, and set to close by the MUNCH routine after a maximum and minimum pair has been found. 
     Upon exiting ECG LV3, the program returns to the ECG routine and checks the threshold of the derivative buffer of ECG BOX. If the maximum derivative value is changed substantially, which indicates that the R-wave slope is changing, then the threshold is adjusted. 
     Referring to FIGS. 10, 10A, 10B, 10C, 10D, 10E and the software appendix B, the flow chart for the software operation of the frequency domain embodiment of the present invention are shown. Software appendix B is written is the Asyst computer language which is a commercially available language. 
     The routine begins at 4000 with the acquisition of 512 data points for each of the digitized red and infrared optical signals, which are shown graphically at FIG. 10A. At 4010, the complex data set, f(t)=Red(t)+jIR(t), is formed. At 4020, the &#34;D.C.&#34; component is formed by summing all of the data points, and the &#34;D.C.&#34; component is then removed from the complex data set by subtraction at 4030, which is graphically shown at FIG. 10B. The resulting data is then decimated in time to 64 samples at 4040, which is illustrated in FIG. 10C, and the time decimated data is then processed by the Hamming Window function at 4050, which result is illustrated in FIG. 10D. Thereafter, the Fourier Transform is taken at 4060. The spectral components of the transform are shown in FIG. 10E. The Fourier Transforms of the red and infrared components are then calculated at 4070 in accordance with the aforementioned equations, and at 4080 the maximum value at the fundamental heart rate and the minimum value at the zero frequency are determined for each of the red and infrared transforms. The saturation ratio R is calculated as: ##EQU3## The minimum values for the red and infrared waveforms are taken from the respective real and imaginary components of the &#34;D.C.&#34; component. Thereafter, the pulse data is declared ready and saturation is calculated in accordance with the foregoing saturation formula. With each occurrence of the heartbeat, new data is acquired, the 512 data point set is updated and the routine operates to determine the saturation ratio R. 
     In the preferred embodiment, the blood constituent measured is the oxygen saturation of the blood of a patient. The calculation of the oxygen saturation is made based on the ratio of the pulse seen by the red light compared to the pulse seen by the infrared light in accordance with the following equation: ##EQU4## wherein 
     BO1 is the extinction coefficient for oxygenated hemoglobin at light wavelength 1 (Infrared) 
     BO2 is the extinction efficient for oxygenated hemoglobin at light wavelength 2 (red) 
     BR1 is the extinction coefficient for reduced hemoglobin at light wavelength 1 
     BR2 is the extinction coefficient for reduced hemoglobin at light wavelength 2 
     light wavelength 1 is infrared light 
     light wavelength 2 is red light 
     and R is the ratio of the optical density of wavelength 2 to wavelength 1 and is calculated as: ##EQU5## wherein I max2  is the maximum light transmitted at light wavelength 2 
     I min2  is the minimum light transmitted at light wavelength 2 
     I max1  is the maximum light transmitted at light wavelength 1 
     I min1  is the minimum light transmitted at light wavelength 1 
     The various extinction coefficients are determinable by empirical study as is well known to those of skill in the art. For convenience of calculation, the natural log of the ratios may be calculated by use of the Taylor expansion series for the natural log.