Select Page

Measuring Heart Rate and Oxygen Saturation using PPG

Problem Statement


Continuous measurement of oxygen level and pulse rate is very important for aged people, pregnant women and in many other critical situations.This project aims to measure the heart rate and oxygen saturation level from the photoplethysmography (PPG) signal obtained from the fingertip of a person.

Hardware Requirements


The hardware implementation consists of two LEDs (red and IR) placed on the patient’s finger and a photodetector to get the corresponding PPG signal which is then used to estimate the parameters.

The sensor used for implementation was MAX30101 which is an integrated pulse-oximetry and heart rate monitor module. It operates on 1.8 V supply and and a separate 5.0V power supply for the internal LEDs. Communication to the Tiva Board is via a standard I2C-compatible interface.Tiva C Series TM4C123G was chosen for this project.

 

 

Measurement Setup


The pulse oximeter is connected to the Tiva C series TM4C123G microcontroller and the fingertip is placed on the sensor for measurement.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Implementation Details


1. Max30101

Max 30101 contains ambient light cancellation (ALC), a continuous-time ADC, and a discrete time filter. The ALC has an internal Track/Hold circuit to cancel ambient light and increase the effective dynamic range. The SpO2 ADC has a programmable full-scale range from 2μA to 16μA. The MAX30101 integrates red, green, and IR LED drivers to modulate LED pulses for SpO2 and HR measurements.The LED current can be programmed from 0 to 50mA with proper supply voltage. The LED pulse width can be programmed from 69μs to 411μs to allow the algorithm to optimize SpO2 and HR accuracy.

 

 

 

 

 

 

 

 

 

 

 

 

2. Processing

The MAX30101 returns the digital values of the sample via I2C interface to the microcontroller. These values are then stored into a buffer for further processing. The sampling rate is chosen accordingly such that atleast 2-3 cycles of the PPG signal are stored in the buffer.

Calculations


1. Heart Rate

To calculate the Heart Rate of an individual the time interval between two troughs (valleys) of the PPG signal is estimated.The locations of all the valleys in the signal is identified.

 

 

 

 

 

 

 

 

The heart rate is calculated as follows:

Heart Rate = Fs*60/(Time between two valleys)

2. Oxygen Saturation

Pulse oximetry relies on the ratio of the optical absorption of hemoglobin and oxy-hemoglobin. It is based on the Beer-Lambert Law, which establishes a relationship between absorbance and concentration of an absorbing liquid under controlled conditions. The percentage ratio between the concentration of oxyhemoglobin and the sum of the concentration of oxyhemoglobin and De-Oxyhemoglobin can be calculated and this ratio is commonly referred as the oxygen saturation level.

SPO2 = HbO2*100/(HbO2+Hb)

The absorption ratio is defined as

R = (AC(r)/DC(r)) / (AC(ir)/DC(ir))

The AC and DC components of the PPG signal are obtained by peak detection algorithm and the known location of the troughs of the signal.

Software Flowchart

 

Results


The heart rate and oxygen saturation level was measured successfully and displayed on the UART terminal.

 

 

References


  • Zhang Z. P. Zhilin B. Liu “TROIKA: A general framework for heart rate monitoring using wrist-type photoplethysmographic signals during intensive physical exercise” ,IEEE Transactions on Biomedical Engineering.
  • Continuous Measurement of Oxygen Saturation Level using Photoplethysmography Signal:Gazi Maruf Azmal ,Adel Al-Jumaily,Moha’med Al-Jaafreh
  • Real time heart rate detection from PPG signal in noisy environment:Sangita Das,Saurabh Pal,Madhuchhanda Mitra
  • A Real Time Analysis of PPG Signal for Measurement of SpO2 and Pulse Rate:Sangeeta Bagha, Laxmi Shaw