How to implement Pass Band Filter?
1 view (last 30 days)
Show older comments
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
0 Comments
Accepted Answer
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
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.
More Answers (0)
See Also
Categories
Find more on Multirate Signal Processing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!