Estimating Breathing Rate from Respiratory Sinus Arrhythmia

As a Biomedical Engineer, I’ve always been fascinated by working with physiological signals. It amazes much how much stuff we can measure on the human body and what we can learn from it. Lately, I’ve been missing working with such data. To scratch that itch, I have been busy with a side project focused on estimating the respiratory rate from the heart rate variability signal (measured from single-lead ECG), as shown in the work by Schäfer and Kratky (2008).

GIF for display purposes only. Original lung GIF by PresenterMedia

In their paper, they compare different methods ranging from frequency analysis to autocorrelation and counting methods. I have implemented these methods in Python, including some plots to better show what they are doing. If you are interested, you can find the GitHub repository right here

I am not done with the whole thing and I hope to keep on working on this type of (fun) projects in the near future. If you have any questions, feedback, or find any bugs, let me know!


If you have any questions, comments, or feedback, please open a discussion. If there is a problem with the code (e.g., mistake), please open an issue. You can always drop me a line on Twitter (@amoncadatorres). Lastly, if you found this useful, fun, or just want to show your appreciation, you can always buy me a cookie. Cheers!