How can I detect respiration rate from PPG data?

Created by Nitin Nair, Modified on Fri, 13 Dec, 2024 at 3:19 PM by David ten Have

Generally speaking, you want to look at the large-scale fluctuations in the PPG signal that accompany higher blood oxygenation after you breath in and decreasing blood oxygenation between breaths. However, compared to heart rate, respiration is very irregular, which means that using digital signal processing (e.g. in python, matlab, labview, etc) to perform artifact rejection has additional challenges.


"Sensor-fusion" type approaches, commonly utilizing IMU data to identify and/or reconstruct PPG data from artifact periods, provide very promising approaches that are just beginning to blossom these days and you may wish to search for articles on pubmed for inspiration. 


Here are some examples specifically in the context of HR and HRV (not respiration).


If you find papers/algorithms/approaches that look promising please share them with the EmotiBit community as a comment on this post or as a new post to open up a discussion.

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article