Probably the title of my question is not that good but I will try to explain my problem. I have an ECG signal of 2 different channels. I first construct a highpass filter to remove the baseline wander, then a lowpass to remove high frequency noise, then a notch filter to remove noise at 30Hz and finally an average smoothing, but I still have some artificial noise added on the 1Hz frequency and its harmonics as presented in the image below: My signal's length is 650000 and the Sampling Frequency is 360Hz. I have tried to construct a comb notch filter using Matlab's Filter Builder and I have also tried to construct individual notch filters which are working but I am also destroying my signal (and the useful information) on the same time. Finally I have tried denoising with wavelets which performs a nice filtering but I am wondering if there is a better way since it is clear that I have artificial noise added on specific frequencies... (maybe an adaptive filter for example?). Any advice is more than welcome! Thank you!