FFT – Automatische Pulsberechnung
Lernziele
- SuS verstehen konzeptuell, was die Fourier-Transformation macht
- SuS können die dominante Frequenz aus einem Signal extrahieren
- SuS können Frequenz in Herzschläge pro Minute umrechnen
Im vorherigen Experiment haben wir das PPG-Signal aufgenommen und visualisiert. Dabei konnten wir das pulsierende Signal sehen, mussten aber die Herzschläge manuell zählen. Das ist mühsam und ungenau – Zeit für Automatisierung!
Was ist die Fourier-Transformation?
Stellen Sie sich vor, Sie hören einen Akkord am Klavier. Ihr Ohr kann automatisch die einzelnen Töne heraushören – etwa ein C, ein E und ein G. Genau das macht die Fourier-Transformation (FFT) mathematisch mit Signalen: Sie zerlegt komplexe Wellenformen in ihre Grundfrequenzen.
Analogie: Musikakkord
- Zeitbereich: "Wann erklingt welcher Ton?"
- Frequenzbereich: "Welche Töne stecken im Akkord?"
Unser PPG-Signal enthält verschiedene Frequenzen:
- Drift (~0 Hz): Langsame Helligkeitsänderungen
- Atmung (~0.2 Hz): 12 Atemzüge pro Minute
- Puls (~1-1.5 Hz): 60-90 Herzschläge pro Minute
- Rauschen: Zufällige Störungen
Die FFT zeigt uns, welche Frequenz am stärksten ist – das ist unser Puls!
Theorie: Vom Signal zur Herzfrequenz
Jetzt wenden wir die FFT an, um die Frequenzen zu extrahieren:
Umrechnung Frequenz → bpmFrequenz [Hz] × 60 = Herzschläge pro Minute [bpm]
Beispiel: 1.2 Hz × 60 = 72 bpm
Praxis: Echtes PPG-Signal verarbeiten
Laden wir das Signal aus dem vorherigen Experiment und wenden die FFT-Analyse an:
Jetzt filtern wir das Signal und berechnen die Herzfrequenz:
Validierung: Vergleich mit manueller Zählung
Aufgabe: Genauigkeit überprüfen
- Zählen Sie in Ihrem ursprünglichen Plot manuell die Herzschläge
- Rechnen Sie auf 1 Minute hoch:
(Gezählte Peaks / Videodauer) × 60- Vergleichen Sie mit der FFT-Berechnung
Warum funktioniert die FFT so gut?
Die Fourier-Transformation ist ideal für periodische Signale wie den Herzschlag:
Vorteile der FFT-Methode
- Automatisch: Keine manuelle Peakzählung nötig
- Robust: Filtert Rauschen und Störungen heraus
- Genau: Kann auch bei schwachen Signalen arbeiten
- Schnell: Efficient implementiert in NumPy
Limitationen:
- Benötigt gleichmässigen Herzrhythmus
- Mindestens 10-15 Sekunden Aufnahmedauer
- Störungen durch Bewegung können Ergebnis verfälschen
Weiterführende Experimente
Erweiterungen
- Verschiedene Körperstellen: Testen Sie Finger, Ohrläppchen, Handgelenk
- Belastungstest: Messen Sie vor und nach körperlicher Aktivität
- Signalqualität: Vergleichen Sie verschiedene Beleuchtungsarten
- Zeitvarianz: Analysieren Sie längere Aufnahmen in 30-Sekunden-Fenstern
Im nächsten Kapitel werden wir ein Live-System entwickeln, das den Puls in Echtzeit anzeigt!