Harshith.
Back to work

Run 10Vigo · Spring 2025

Respiratory Rate from ECG

CEEMDAN · DWT · BIDMC

MAE
2.5 bpm
input
single-lead ECG

Python · NumPy · SciPy · CEEMDAN · DWT · BIDMC

Problem

Respiratory rate is clinically useful and annoying to instrument. A dedicated belt is extra hardware. A single-lead ECG is often already on the patient.

Approach

A DSP pipeline that estimates respiratory rate from that ECG:

  • CEEMDAN decomposition to isolate respiratory modulation of the cardiac signal.
  • Discrete wavelet transforms and peak detection to recover breath timing.
  • Evaluation on the BIDMC dataset against reference respiratory recordings.

Result: 2.5 bpm mean absolute error. Built during a biomedical signal processing internship at Vigo, alongside accelerometer-based posture classifiers for the same wearable monitoring product.

No deep network. The constraint was a signal you already have, and an error you can explain.