MATLAB Answers

EMG bandpass filter to remove 50 Hz power line

28 views (last 30 days)
Muhammad Izzuddin Najat Mohamad Sabr
Muhammad Izzuddin Najat Mohamad Sabr on 27 Oct 2020 at 16:03
Commented: Star Strider on 28 Oct 2020 at 11:00
So i've been using Myoware muscle sensor for EMG data collection and the value that i get is already fullwave rectified. The question is i need to to power line removal from the signal and also remove any artefact in it. How do i design a bandpass filter with my sampling frequency is only 10 Hz? Because i keep getting error when i try butterworth filter 4th order.


Sign in to comment.

Accepted Answer

Star Strider
Star Strider on 27 Oct 2020 at 16:24
With a sampling frequency of 10 Hz, the highest frequency that can be uniquely represented is 5 Hz, which is much too low for any physiological recording (with the possible exception of respiration). The 50 Hz power frequency is aliased in it and cannot be removed. Resampling your signal is not going to imprive it.
Everything with a frequency above 5 Hz is already aliased in your signal, so that recording is essentially worthless, especially for EMG signals that have a significantly higher bandwidth (usually up to 100 Hz, requiring at least a 200 Hz sampling frequency).
You will need to start over with a much higher sampling frequency preferabley at least 250 Hz. Ideally, your instrumentation will have a Bessel lowpass filter on the input with a cutoff frequency equal to the Nyquist frequency (half the sampling frequency). Then you can record useful data.


Muhammad Izzuddin Najat Mohamad Sabr
Muhammad Izzuddin Najat Mohamad Sabr on 28 Oct 2020 at 7:29
So i need to re-record the EMG signal with higher sampling frequency is it? Got it. Thanks for the answer Star Strider!!

Sign in to comment.

More Answers (0)


Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by