ECG Noise Removal Using Segmented-beat Modulation

For some strange reason, I stumbled with a paper that I had downloaded long time ago. It explains a simple algorithm for removing artifacts in ECG signal. Since I have a short time-off after the submission of my PhD thesis (yey!), I thought it would be cool to actually code the algorithm and give it a go.

Top: median cardiac cycle. Bottom: clean ECG signal in blue; (removed) motion artifact in gray.

A complete, detailed explanation of it can be found in

Agostinelli, Angela, Corrado Giuliani, and Laura Burattini. “Extracting a clean ECG from a noisy recording: a new method based on segmented-beat modulation”. Computing in Cardiology Conference (CinC), 2014. IEEE, 2014.

Full credit goes to the authors.

You can find the scripts in my GitHub repository, which includes sample ECG data (as a .mat file) as well as a main/demo file, which I suggest you to try in order to understand how it works. The scripts include plenty of comments in which I tried to explain each of the steps as clear as possible.


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!