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 still have questions about the implementation or, even better, suggestions for its improvement, please leave a comment here or file a new issue in Github.