Pulse oximetry basics and MCUs
Pulse oximetry is a means for non-invasive monitoring of oxygen saturation in blood. It employs an indirect method of assessing these conditions immediately just by clipping a sensor onto your finger or ear. Use of pulse oximeters during surgical procedures has been made mandatory in most countries, and home users can now acquire comparable instruments at affordable prices.
The pulse oximeter provides a way of estimating how well the blood oxygenation takes place. Oxygen saturation (SpO2) is normally above 95 percent for healthy individuals. Levels below this value can be an indication of lung or breathing problems, and monitoring the levels helps determine the need for and the efficacy of treatment. Typically patients suffering from Cchronic obstructive pulmonary disease (COPD), asthma, pneumonia, bronchiolitis, and the like benefit from using pulse oximeters.
A pulse oximeter leverages the pulsatile variations caused by surges in blood flow in your arteries as your heart beats. This blood flow has an effect on the optical density of tissues in the red and infra-red wavelengths, which the oximeter exploits to compute the arterial oxygen saturation level without any need for active calibration. Takuo Aoyagi of Nihon Kohden in Tokyo invented the method in 1972 and the device was clinically tested on patients and reported by a surgeon Susumu Nakajima in 1975.
In particular, a pulse oximeter measures the light absorbance of the tissue at two different wavelengths (Red and Infra-red) and determines the oxygen saturation (SpO2 percent) of arterial blood. To differentiate between the arterial blood and other absorbing tissues and compounds, it utilizes the pulsatile nature of blood by measuring the changes that take place.
Typically, the sensor consists of an ergonomically-designed clip that houses a photodiode on one side and two LEDs (Red and Infra-red) on the other side. When mounted on, say, a finger, the emitted red and infrared rays pass through the finger to the photodiode. The signal obtained from the photodiode gets amplified, filtered, conditioned and scaled, and processed further digitally.
There are several major factors affecting the signals obtained, such as the finger's thickness, the absorbance coefficient of the tissue medium, differences in intensities between red and infra-red lights, and the like, that need to be accounted for when determining the SpO2 values. Here's a look at the mathematical calculations used to cancel out these factors to make the measurement more accurate.
The Beer-Lambert Law gives us an expression for the emergent intensity of light passing through a medium as:
where In – the emergent light intensity, I0 – incident light intensity, α – absorbance co-efficient of the medium per unit length, and d – the thickness of the medium in unit lengths.
By forming equations for the baseline component (due to the non-moving absorptive components) and the pulsatile component (due to the blood which is pulsating) of the emergent light intensities and then obtaining a ratio, we can eliminate the input light intensity as a variable in the equation. Hence, the change in arterial transmittance is given by:
The infusion of arterial blood has an effect on the thickness of the finger, which is represented by Δd. This variable Δd can be eliminated by measuring arterial transmittance at two different wavelengths (Red and Infra-red) and finding their ratio.
Once the baseline and thickness variables have been eliminated, and after further processing, we can create a ratio of ratios ROS, expressed by dividing αred divided by αIR. This ratio of ratios is the key variable used in calculating the oxygen saturation level.
ROS is can be determined using either of two methods. The Peak and Valley method uses the ratio of the peak of the light's absorption (minimum intensity) during a pulse interval to the valley of the light absorption curve (maximum intensity) for each wavelength. The Derivative method uses the ratio of the absorption curve's time derivatives for each wavelength.
Once the ratio of ratios is calculated, the SpO2 can be extracted from independently derived, empirical calibration curves based on the diodes being used, generally by means of a lookup table. An approximate formula for calculating oxygen saturation would be:
SpO2 (%) = 110 – 25 X Ratio of Ratios
A pulse oximeter design must do the following internally to achieve accurate measurements:
- Alternately switch the red and IR LEDs on, measuring the absorbance at each of these wavelengths.
- Dynamically adjust the LED intensities to achieve optimal results regardless of skin color, finger thickness, etc.
- Normalize the differences between the Red and IR LEDs.
- Digitally amplify the signal output to accurately measure weaker signals caused by low perfusion of blood , numbness of the measurement site, and the like.
- Digitally filter the signals to remove effects due to baseline wandering and artifacts caused by frequent patient movements.
In order to achieve the above five objectives, the microcontroller design needs to have the following features:
- An internal ADC – 12-bit minimum resolution
- Two DAC channels – 10-bit minimum/12-bit preferred.
- A digitally adjustable gain amplifier – Built-in desired.
- Sufficient code and data memory for the application.
A typical MCU implementation is depicted by the block diagram shown below.
In this designT1 through T4 drive the LEDs connected in anti-parallel fashion. T1 and T4 drive the IR LED and T2 and T3 drive the Red LED. Signals IR ENABLE and RED ENABLE switch T1 and T2 on alternatively.
IR INTENSITY and RED INTENSITY are DAC outputs and provide the current intensity control. GAIN ADJ can be a group of SPI signals controlling an external programmable gain amplifier.
During the period each LED is on, the photodiode output provides a measure of the emergent light intensity. The MCU digitizes the IR sample and Red Sample, and then conditions the signals using digital filters implemented through code. Both the digital data then get processed as per the mathematical methods described above, and the MCU estimates and displays the resultant SpO2 value.
A pulse oximeter can also display other parameters, such as the arterial pulse rate (heart beat per minute), and the blood flow pattern, which is called a plethysmograph. The plethysmograph is obtained from either the Red or Infra-red intensity voltage waveform and resembles the blood pressure waveform in shape.
There are many MCUs suitable for creating a pulse oximeter. A partial list is given below. I have also seen commercial pulse oximeters using MCUs like the 8051, C8051F120, ATMega128, dsPic, and the like.
Pulse oximeters have evolved continuously since their introduction and currently incorporate state-of-the-art digital signal processing. Companies like Masimo and Nellcor have created special algorithms to extract the oxygen saturation data from even those patients who are suffering from severe heart diseases and having blood perfusion issues. Low perfusion performance and Motion Artifact Rejection have become standard features of every pulse oximeter design.
Now that you know how they work, have you ever needed to use a pulse oximeter? Any questions?
- Transimpedance-amplifier application: The pulse oximeter
- How LEDs prevent mishaps and save lives
- Pulse oximetry benefits from the latest programmable SoCs
- Product how-to: Heart rate monitor using a programmable SoC
- Product How-To: Enabling secure wireless medical devices with the MSP430 MCU
- Non-invasive blood glucose monitoring using near-infrared spectroscopy