Implementing a butterworth filter for ECG

36 views (last 30 days)
Neha Sinha
Neha Sinha on 19 Dec 2022
Answered: Star Strider on 27 Dec 2022
I need Two filters of 10th order bandpass Butterworth filters with cut-off frequencies of 5Hz and 45Hz (narrow band) and 1Hz to 100 Hz (wide band) .
I am not really sure about how to do it for the ECG file :
This is a part of my project. Could someone help me understand how to do it.
Also attaching the expected outcome:
  1 Comment
Jan on 19 Dec 2022
What about using the butter command? What is the frequency of the recorde signal?

Sign in to comment.

Answers (2)

Santosh Fatale
Santosh Fatale on 27 Dec 2022
Hi Neha,
I understand that you want to create a filter with a tailored bandwidth for an ECG signal
There are several ways to do this, but it's important to remember that every filtering design function requires the sampling frequency at which the ECG signal is captured.
Refer to the bandpass and butter documentations for more details and illustrated examples.
Additionally, you can check out the "Signal Processing Onramp" course at the following URL.

Star Strider
Star Strider on 27 Dec 2022
The approach you tried using that design procedure (thank you for referring to it) will work, and should work regardless of the MATLAB version/release you are using. I would use the procedure in the Comment that uses the zp2sos function, since that will produce a better and more stable result. It will work with either the Butterworth or elliptic design functions.
Use the filtfilt function to do the actual filtering of the ECG signal using the filter that you designed.


Community Treasure Hunt

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

Start Hunting!

Translated by