How to implement Pass Band Filter?

20 views (last 30 days)
Explorer
Explorer on 25 Jan 2016
Commented: Star Strider on 25 Jan 2016
I am following necessary pre-preocessing steps for arrhythmia classification as mentioned below.
I have re-sampled dataset of ECG signals to 200 Hz. Now, these signals need to filtered with Band-Pass Filter.
Sampling frequency of ECG signals = 200 Hz
How to implement PassBand filter on my resampled signals in MATLAB for following specifications.
-> Passband frequency range = 1 to 100 Hz (In above paper it is 2-48 but I want to design with 1 to 100 Hz)
-> Filter Type = Chebyshev II

Accepted Answer

Star Strider
Star Strider on 25 Jan 2016
The 200 Hz sampling frequency was the reason they could use the 2-40 Hz bandpass filter. If you’re dealing with atrial or ventricular tachyarrhythmias, and you need a 2-100 Hz passband, you will have to resample your signals at greater than 200 Hz. I would use 256 Hz, since that is a relatively common sampling frequency for EKGs, so you may be able to use some of them without resampling them at all.
  2 Comments
Star Strider
Star Strider on 25 Jan 2016
Use this instead:
Ws = Wp .* [0.5 1.2]; % Filter Stopband (Normalised)
This design works, and produces a stable filter with good characteristics:
Fs = 256; % Sampling Frequency
Fn = Fs/2; % Nyquist Frequency
Wp = [2 95]/Fn; % Filter Passband (Normalised)
Ws = Wp .* [0.5 1.2]; % Filter Stopband (Normalised)
Rp=1;
Rs= 50;
[n,Ws] = cheb2ord(Wp,Ws,Rp,Rs);
[b,a] = cheby2(n, Rs, Ws);
[sos,g] = tf2sos(b,a);
figure(1)
freqz(sos, 1024, Fs)
I changed some of the parameters because I prefer these results for an EKG filter. You can see in figure(1) that the passband works.

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