Gast
#3560615
Hallo Leute, ich bin gerade dabei den Bandpassfilter (5-11Hz) des Pan/Tompkins-Algorithmus in C zu implementieren. Leider liefert er mir nicht das gewünschte Ergebnis, sondern im Ausgangssignal ist immer noch eine deutliche 50Hz-Schwingung zu erkennen und überhaupt kein EKG-Signal. Allerdings erkenne ich in meiner Implementierung keinen Fehler. Außerdem hatte ich den kompletten Algorithmus vorher schon mit einem IIR-Butterworth-Bandpass 3.Ordnung am laufen, also kann es auch nicht an dem Rest des Codes liegen. Ich wollte nur den IIR-Bandpass durch den originalen Bandpass aus dem Pan-Tompkins-Algorithmus ersetzen um einen linearen Phasengang zu erhalten und so das Ergebnis etwas zu verbessern. Der Bandpass besteht aus einem Hoch- und einem Tiefpass deren Funktionen folgendermaßen gegeben sind: Hochpass: y(nT) = 32x(nT-16T) - 1/32[y(nT-T) + x(nT) - x(nT-32T)] Tiefpass: y(nT) = 2y(nT-T) - y(nT-2T) + x(nT) - 2x(nT-6T) + x(nT-12T) Habe ich vielleicht doch einen Fehler übersehen?
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |