How do you design your ECG bandpass?
Ältere Kommentare anzeigen
Hallo,
currently i'am working on a ecg bandpass. To design my filter i use mostly "filterDesigner"-Tool by Matlab.
What are the specifications?
- Band of choice is 0.05 Hz - 150 Hz (recommended by American Hearth Association)
- sample rate = 500 Hz
- Take a stopband between 40 dB - 60 dB
- group delay has to be minimal
What filter would i choose?
- Because of minimal group delay i would choose a FIR-Filter, BUT the first cut-off is 0.05 Hz (the transition band has to be very sharp for example 0.01 Hz- 0.05 Hz) -> the filter order is about 15.000 i think with Equiripple design
- Lets take IIR-Filter -> here Butterworth Bandpass because it has the best phase response and a smooth passband
- But huge group delay at cut-off frequencies
FilterDesign Example
- Method: IIR-Butterworth Bandpass
- Minimum Order
- Fs = 500
- Fstop 1 [0.01] - Fpass1 [0.05]
- Fpass2 [150] - Fstop2 [200]
- Astop [40] , Apass [1], Astop [60]
My question to the experts, can you recommend a better design? The result is okay but the huge group delay looks very bad.
Best regards!
5 Kommentare
Star Strider
am 28 Nov. 2019
The standard EKG spectrum is about 0 - 100 Hz, and to eliminate baseline wander, either 0.05 or 0.5 Hz would be an acceptable lower limit for the passband of a bandpass filter. The upper limit is variable, and while 150 Hz will allow for complex arrhythmias, with a healthy heart, the EKG upper passband can be as low as 45 Hz without losing detail. At least that has been my experience.
As for filter design, I prefer elliptic filters because they are short and therefore computationally very efficient (and using zp2sos), and with filtfilt (as you mentioned) produce a phase-neutral output.
Stephan Lallinger
am 5 Dez. 2019
Stephan Lallinger
am 5 Dez. 2019
Star Strider
am 5 Dez. 2019
The only phase-neutral hardware filter is the bessel filter. It is not possible to create a digital filter from it, unlinke other FIR and IIR filter designs, so it is only useful in a hardware implementation. This is the reason that Bessel filters are used as anti-aliasing filters in instrumentation inputs prior to the ADC stage.
Akzeptierte Antwort
Weitere Antworten (0)
Kategorien
Mehr zu Single-Rate Filters finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!