MATLAB Answers

EMG bandpass filter to remove 50 Hz power line

26 views (last 30 days)
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.

Accepted Answer

Star Strider
Star Strider on 27 Oct 2020
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.

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