How can i filter ECG signals with high motion artifact ?

14 次查看(过去 30 天)
I am working on a mini project where we need to analyse ECG signals for people while running on treadmill, all the codes I've found do not eliminate the high peaks resulted from motion of the person so i cant detect the R peaks. Could anyone help me please because this is the first time for me dealing with Matlab >< am really lost

回答(1 个)

Star Strider
Star Strider 2016-2-26
First, do a fft on your data, to see what the frequency of the baseline drift is. It should be much lower than your EKG frequencies. Then, if you have the Signal Processing Toolbox, design a bandpass filter with the low frequency cutoff high enough to eliminate your baseline drift (usually 1 to 5 Hz), and a high frequency cutoff of between about 45 to 100 Hz, depending on your signal. (My filter design procedure is here: How to design a lowpass filter for ocean wave data in Matlab?) You may also need a notch filter to eliminate mains frequency noise. That’s in the MATLAB documentation: Remove the 60 Hz Hum from a Signal. Filter design usually requires some experimentation, so you will have to determine what frequencies are best for your signals. Be sure to sample them with a sampling frequency of at least 250 Hz so that your filters will work most efficiently. If you sample at a lower frequency, you may not be able to design the filter you want.
  10 个评论
Ru'a Khaled
Ru'a Khaled 2016-2-28
oh!! am sorry that you had to spend all that time to help me ..and thank you for your advice ^^
Star Strider
Star Strider 2016-2-28
My pleasure!
That is typical for filter design. I wanted to be sure I gave you a filter that worked correctly and was as robust as I could design it.
Also, if my Answer solved your problem, please Accept it.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Multirate Signal Processing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by