Comparison of PPG waveforms: open-source vs commercial

NSF Expeditions in Computing/PATHS-UP RET 2018

In the summer of 2018, I was lucky enough to be selected by the Rice University Office of STEM Engagement (RSTEM) to participate in a research experience for teachers in the Scalable Health Labs group which is part of the Department of Electrical and Computer Engineering. I settled on a project comparing digital signals from 2 different wearable health devices. Below is the complete project with results and data.

Video demonstration of change in brightness light through the index finger as the heart beats and the volume of blood in the finger changes during the cardiac cycle.

NSF Expeditions in Computing RET 2018 Poster

CMS 50D+ & Pulse Sensor Amped PPG Waveforms

Photoplethysmography

  • Photoplethysmography: using light to measure the blood volume as a function of time.
  • Transmissive photoplethysmogram (PPG): light source & detector are on opposite sides of appendage; often uses red & infrared LED sources
  • Reflective PPG: source & detector are at same skin location; often uses green LED source
  • Both PPG types give pulmonary information but are processed in different ways.

Can an inexpensive open-hardware/software PPG system match the performance of a commercial one?

  • This study compares pulmonary data from the CMS 50D+ commercial pulse oximeter and the Pulse Sensor Amped attached to an Arduino UNO R3.
  • The CMS 50D+ produces PPG waveforms using transmission.
  • The Pulse Sensor Amped produces PPG waveforms using reflection.
  • The Pulse Sensor Amped requires a to handle data collection and transmission.

  • This study compares pulmonary data from the CMS 50D+ commercial pulse oximeter and the Pulse Sensor Amped attached to an Arduino UNO R3.
  • The CMS 50D+ produces PPG waveforms using transmission.
  • The Pulse Sensor Amped produces PPG waveforms using reflection.
  • The Pulse Sensor Amped requires a microcontroller to handle data collection and transmission.

Data Collection

Filtered PPG waveforms for CMS 50D+ and P.S. Amped

 


Open vs Closed Systems

Characteristics of PPG System Datasets

  • High resolution PPG Signal (sampling frequency of 500 Hz)
  • Heart rate (rolling average beats per minute)
  • Interbeat Interval (peak-to-peak time in milliseconds)

Challenges of Closed PPG Systems

  • Closed systems don’t provide open access to the data, the hardware design, or the software of the system.
  • The CMS 50D+ has been reverse engineered by others and could be used here for comparison.
  • In other cases, researchers don’t have a clear way to directly access data, hardware, or algorithms for commercial products.
CMS 50D+ Circuit Board
Schematic of P.S. Amped Circuit

Free and Open Source Software (FOSS)

  • FOSS allows users access to no-cost programming tools, well-established algorithms & software packages, and active communities of users.
  • My project was possible because of FOSS tools, algorithms, & communities.
  • Many Python & Arduino examples were used in the code for this project.
  • All code for this project is released as open source and can be found via the link in the references section


Pulmonary Health Parameters

  • Interbeat Interval (IBI) – time between successive peaks in the PPG waveform
  • Heart Rate (HR) – average number of beats per minute
  • Heart Rate Variability (HRV) – a measure of the variation in the IBI over time

Results: CMS 50D+ vs Pulse Sensor Amped

The open system performed on par with the commercial system!

Next Steps

  • This proof-of-concept needs a larger data set so that comparison can span a larger range of situations and patients.
  • Creating a built-from-scratch hardware system with portability and functionality in mind
  • A more sophisticated analysis of the the algorithms employed
  • Better synchronization, noise filtering, and waveform de-trending

Acknowledgements

I wish to thank my Scalable Health Labs mentors Amruta Pai & Akash Maity, the RSTEM team Christina Crawford & Allen Antoine, and the NSF (Grant NSF-IIS-1730574). Also thanks to my fellow team members: Julius Emmanuel, Jorge Olivares, Chaulladevi Bavda, Miguel Ramirez, & Ralph Cox.


Code

 


Videos

References

Journal Articles

  • Aymen A. Alian, Kirk H. Shelley, “Photoplethysmography”, Best Practice & Research Clinical Anaesthesiology, Vol 28, Iss. 4, 2014, Pgs. 395-406, https://doi.org/10.1016/j.bpa.2014.08.006.
  • John Allen, “Photoplethysmography and its application in clinical physiological measurement”, Physiol. Meas. 28 R1-R39. https://doi.org/10.1088/0967-3334/28/3/R01
  • C. Fischer, B. Dömer, T. Wibmer and T. Penzel, “An Algorithm for Real-Time Pulse Waveform Segmentation and Artifact Detection in Photoplethysmograms,”, IEEE Journal of Biomedical and Health Informatics, vol. 21, no. 2, pp. 372-381, March 2017. http://doi.org/10.1109/JBHI.2016.2518202
  • Alexei A. Kamshilin and Nikita B. Margaryants, “Origin of photoplethysmographic waveform at green light”, Physics Procedia 86 (2017) 72 – 80, https://doi.org/10.1016/j.phpro.2017.01.024

Websites & Blogs

GitHub Repositories