Übersicht
Den Traumschreiber niemals gleichzeitig über das USB-Kabel laden und über Elektroden mit dem Körper verbunden betreiben. Es gilt stets: entweder laden oder nutzen – niemals beides auf einmal.
Schritt für Schritt
-
1SD-Karte einlegen
Stelle sicher, dass der Traumschreiber ausgeschaltet ist. Schiebe dann die SD-Karte in den Slot – du solltest ein leises Einrasten spüren.
-
2Einschalten
Schiebe den Schalter an der Seite des Gehäuses in die Ein-Position. Der Traumschreiber bootet nun.
-
3LED-Demo & Startton
Direkt nach dem Start durchläuft die integrierte LED eine kurze Farbdemonstration in den Institutsfarben. Anschließend – sofern eine SD-Karte eingelegt ist – ertönt
BELL1.WAVüber den eingebauten Lautsprecher. Ist keine SD-Karte vorhanden, bleibt es still.
Akkustand ablesen
Die LED blinkt 1- bis 10-mal. Jeder Blitz entspricht ~10 % Akkukapazität. Die Farbe gibt zusätzliche Auskunft: Rot bedeutet wenig Akku, Gelb ist Mitte, Grün steht für voll. Jeder Blitz leuchtet ca. 300 ms, gefolgt von 150 ms Pause.
-
4Traumschreiber ausschalten
Schiebe den Schalter zurück in die Aus-Position.
-
5SD-Karte sicher entnehmen
Erst wenn das Gerät vollständig ausgeschaltet ist, darf die SD-Karte herausgenommen werden. Kurz drücken – die Karte federt heraus.
Akku laden
-
6USB-C-Kabel anschließen
Den Traumschreiber ausschalten und ein USB-C-Kabel anstecken. Das Gerät beginnt sofort zu laden. Ob eine SD-Karte eingelegt ist oder nicht, spielt beim Laden keine Rolle.
-
7Ladestatus an der LED ablesen
Rotes Dauerlicht → lädt. · Grünes Dauerlicht → vollständig geladen. Von leer bis voll dauert der Ladevorgang ca. 2 Stunden. Ein voller Akku ermöglicht über 16 Stunden kontinuierliche Datenaufnahme.
Sobald Elektroden am Körper angebracht sind, darf das USB-Ladekabel nicht angeschlossen sein. Immer gilt: entweder laden oder messen – niemals beides gleichzeitig.
Elektroden anbringen
Befestige die erste Elektrode auf der rechten Seite deiner Brust, direkt unterhalb des rechten Schlüsselbeins. Die Haut sollte trocken und sauber sein.
Bringe die zweite Elektrode am linken unteren Rippenbogen an. Dieser Abstand zwischen den beiden Punkten erzeugt eine gute EKG-Ableitung (Einthoven-Position).
- Haut vorher mit einem Tuch abreiben
- Selbstklebende Gel-Elektroden verwenden
- Haare im Bereich der Elektroden können den Kontakt verschlechtern
- Während der Aufnahme möglichst ruhig sitzen oder liegen
Aufnahme durchführen
-
1SD-Karte einlegen (Gerät aus!)
Stelle sicher, dass der Traumschreiber ausgeschaltet ist, und lege die SD-Karte ein.
-
2Einschalten
Schiebe den Schalter in die Ein-Position. Der Startton ertönt (wenn SD-Karte vorhanden) und die LED-Demo läuft kurz ab.
-
360 Sekunden warten
Der Traumschreiber beginnt sofort mit der Aufzeichnung aller Kanäle. Bleibe ruhig sitzen oder liegen – Bewegungen erzeugen Artefakte im Signal. Nach etwa 60 Sekunden hast du eine auswertbare EKG-Sequenz.
-
4Ausschalten
Schiebe den Schalter zurück in die Aus-Position. Die Aufzeichnung wird automatisch abgeschlossen und auf die SD-Karte geschrieben.
-
5SD-Karte entnehmen
Erst wenn das Gerät vollständig ausgeschaltet ist: SD-Karte kurz eindrücken, sie federt heraus. Niemals während des Betriebs entnehmen!
ADC/ als Datei mit der Endung .edf. Die Dateien werden fortlaufend nummeriert (z. B. AD0001.EDF, AD0002.EDF, …).
Was ist das EDF-Format?
EDF steht für European Data Format und ist ein offener, standardisierter Dateistandard für kontinuierliche Biosignale wie EEG, EKG, EMG oder Atemkurven. Er wurde 1992 von Bob Kemp und José Varela entwickelt und ist heute weltweit das meistgenutzte Format in der klinischen Schlaf- und Neurophysiologie-Forschung.
EDF unterstützt mehrere parallele Signalkanäle mit unterschiedlichen Abtastraten – ideal, um gleichzeitig EKG, EEG und weitere Sensoren in einer einzigen Datei zu speichern, wie es der Traumschreiber tut.
Datei mit EDFbrowser öffnen
EDFbrowser ist ein freies, plattformübergreifendes Programm (Windows, macOS, Linux) zum Anzeigen und Analysieren von EDF-Dateien. Suche im Web nach „EDFbrowser download" und lade die aktuelle Version für dein Betriebssystem herunter.
- EDFbrowser starten.
- File → Open wählen (oder
Strg+O) und zu deiner SD-Karte navigieren. - Im Ordner
ADC/die.edf-Datei auswählen und öffnen. Es öffnet sich der Dialog „Add signals". - Im linken Bereich siehst du alle Kanäle. Welcher Kanal das EKG enthält, hängt davon ab, an welchen Eingängen des Traumschreibers die Elektroden angeschlossen sind: Bei 3–4 Elektroden sind typischerweise Kanal 6 und 8 (EEG Ch6 / Ch8) aktiv, bei 8 Elektroden eher Kanal 1 und 3 (EEG Ch1 / Ch3). Du kannst auch einfach alle acht Kanäle einzeln nacheinander hinzufügen und selbst schauen, auf welchem die Herzschläge sichtbar sind.
- Zuerst „Add signal(s)" klicken – der Kanal erscheint rechts in der Signal-Composition. Dann „Make derivation" klicken. Das Signal wird ins Hauptfenster geladen. Wiederhole diesen Vorgang für jeden weiteren Kanal, den du prüfen möchtest.
- Den Dialog mit „Close" schließen.
- Mit dem Mausrad oder den Zoom-Schaltflächen die Zeitachse anpassen – starte mit einem Fenster von ca. 5–10 Sekunden, um einzelne Herzschläge zu erkennen.
- Du solltest nun eine rhythmische Kurve mit den typischen EKG-Ausschlägen sehen.
- P-Welle: Kleiner, runder Ausschlag – Vorhoferregung
- QRS-Komplex: Scharfer, großer Ausschlag – Kammererregung (der Herzschlag selbst)
- T-Welle: Breiter, flacher Ausschlag – Kammerrückbildung
- Bei ruhigem Sitzen: typisch 60–80 Schläge pro Minute
- Der Abstand zwischen zwei QRS-Komplexen entspricht dem RR-Intervall (Herzrate)
-
1Aufnahme starten
Elektroden anlegen, Traumschreiber einschalten und mit der Aufzeichnung beginnen. Stelle sicher, dass du dich frei bewegen kannst – Elektroden und Kabel müssen halten.
-
2Verschiedene Orte aufsuchen
Bewege dich mit dem Traumschreiber durch die Wohnung. Halte an mehreren Stellen jeweils ca. 20–30 Sekunden inne und bleibe ruhig stehen. Interessante Orte zum Testen:
- Direkt neben einem eingesteckten Laptop-Netzteil oder Ladegerät
- Neben dem laufenden Kühlschrank oder Mikrowelle
- Direkt an einer Steckdose / Verlängerungsleiste
- In der Nähe eines eingeschalteten Monitors oder Fernsehers
- In der Mitte eines Raums, weit weg von Geräten
- Draußen oder auf dem Balkon (falls möglich)
-
3Button als Markierung nutzen
Drücke den Button am Traumschreiber jedes Mal, wenn du einen neuen Ort erreichst. So siehst du hinterher im EDFbrowser genau, wann du wo warst.
-
4Aufnahme beenden & auswerten
Traumschreiber ausschalten, SD-Karte entnehmen, EDF-Datei in EDFbrowser öffnen. Füge einen EKG-Kanal hinzu und zoome auf die verschiedenen Abschnitte. Wo sieht das Signal ruhig aus – und wo ist es von einem regelmäßigen 50-Hz-Zittern überlagert?
Was bedeuten 1 Hz und 250 Hz?
Die Abtastrate gibt an, wie viele Messwerte pro Sekunde aufgezeichnet werden. Im EDFbrowser siehst du sie hinter jedem Kanal. Die Einheit ist Hertz (Hz), d.h. "pro Sekunde", benannt nach dem Hamburger Physiker Heinrich Hertz. Fun facts: Hertz war der erste, der elektromagnetische Wellen experimentell nachweisen konnte. Nach ihm ist der Hamburger Fernsehturm benannt.
| Rate | Kanäle | Warum? |
|---|---|---|
| 250 Hz | EEG Ch1–Ch8 | EKG- und EEG-Signale ändern sich sehr schnell. Um sie korrekt abzubilden, muss man mindestens doppelt so oft abtasten wie die höchste relevante Frequenz (Nyquist-Theorem). Bei 250 Hz können Frequenzen bis 125 Hz erfasst werden – ideal für Herzschläge und Hirnwellen. |
| 1 Hz | Battery, Light, Button | Akkustand, Helligkeit und Button-Presses ändern sich viel langsamer – ein Wert pro Sekunde reicht vollkommen aus und spart Speicherplatz auf der SD-Karte. |
Die drei Hilfssignale
Das Button-Signal ist digital: es kennt nur zwei Werte – 0 (nicht gedrückt) und 1 (gedrückt). Im EDFbrowser erscheint es zunächst als kaum sichtbare Linie nahe der Nulllinie.
Um es gut lesbar zu machen, nutze die „Fit to pane"-Funktion:
- Button-Signal hinzufügen: Kanal (Button) auswählen → „Add signal(s)" → „Make derivation" → „Close".
- Im Hauptfenster auf den Signalnamen klicken.
- Im Menü dann „Fit to pane" auswählen.
- Das Signal dehnt sich auf die volle Spurhöhe aus – der Sprung von 0 auf 1 beim Drücken ist jetzt deutlich sichtbar.
Das Batterie-Signal speichert die Rohspannung des Akkus als ADC-Rohwert – keine Prozentzahl. Der Wertebereich hängt von der Ladeschaltung ab; ein höherer Wert entspricht einer höheren Spannung und damit einem volleren Akku.
Der Helligkeitssensor liefert ein invertiertes Signal: je höher der Messwert, desto dunkler ist es. Bei vollständiger Dunkelheit ist der Wert maximal; bei hellem Licht fällt er ab.
Quest
-
1Aufnahme starten
Traumschreiber einschalten – die Aufzeichnung beginnt automatisch.
-
2Licht ausschalten
Mache den Raum komplett dunkel. Das Light-Signal wird nun einen hohen Wert annehmen.
-
320 Sekunden warten
Bleibe ruhig – die Dunkelphase muss deutlich sichtbar im Signal sein.
-
4Button drücken
Drücke einmal den Button am Traumschreiber. Der Batterie-Ladezustand (0–100%) wird durch mehrmaliges Blinken angezeigt. Da der Helligkeitssensor direkt neben der LED liegt, sollte dieses Blinken im Light-Signal erkennbar sein. Das Button-Signal springt für diese Sekunde auf 1.
-
520 Sekunden warten
Weitere 20 Sekunden ruhig bleiben.
-
6Licht einschalten
Schalte das Raumlicht wieder an. Das Light-Signal fällt nun auf einen niedrigen Wert ab.
-
720 Sekunden warten
Nochmals 20 Sekunden warten, damit die Hellphase aufgezeichnet wird.
-
8Aufnahme beenden & auswerten
Traumschreiber ausschalten. SD-Karte entnehmen, EDF-Datei im EDFbrowser öffnen. Kanäle Button und Light hinzufügen und jeweils „Fit to pane" anwenden.
EDFbrowser ist großartig, um ein Signal anzusehen. Aber ab dem Moment, wo du anfängst, echte Fragen zu stellen – „Wie verändert sich mein Herzrhythmus beim Einschlafen?", „Wann genau hat das 50-Hz-Rauschen aufgehört?", „Kann ich automatisch alle Herzschläge zählen?" – stößt jede Klick-Oberfläche an ihre Grenzen. Python ist das Werkzeug, mit dem Wissenschaftler und Ingenieure auf der ganzen Welt genau diese Fragen beantworten. Und du kannst es auch.
"Ich bin kein Programmierer."
Das Script ist fertig geschrieben – du musst es nur ausführen. Kein einziges Zeichen Code selbst tippen. Das Terminal ist nur eine Texteingabe, nicht anders als eine Suchmaschine.
"Ich könnte etwas kaputtmachen."
Das Script liest nur – es schreibt nichts auf deine SD-Karte zurück. Die schlimmste Konsequenz einer falschen Eingabe: eine Fehlermeldung, und du probierst es nochmal.
"Das dauert Stunden bis es läuft."
Von Null bis zum ersten Plot: etwa 10–15 Minuten. Die meiste Zeit davon wartest du auf den Python-Installer.
Python & Terminal – Erste Schritte
Taste Win + X drücken, dann „Windows PowerShell" oder „Terminal" wählen.
⌘ Cmd + Leertaste → „Terminal" tippen → Enter.
Strg + Alt + T – oder „Terminal" in den Anwendungen suchen.
Python installieren
Auf python.org/downloads die aktuelle Version herunterladen. Im Installer unbedingt „Add Python to PATH" anhaken.
Über Homebrew (empfohlen) oder python.org.
Über den Paketmanager:
Bibliotheken installieren
Das Script benötigt drei Bibliotheken. Diesen Befehl einmalig im Terminal ausführen:
Auf macOS/Linux eventuell pip3 statt pip verwenden.
„Ich lerne Python für Signalanalyse mit dem Traumschreiber-Gerät (EDF-Dateien). Das Script plot_edf_tutorial.py nutzt Python 3 mit numpy, matplotlib und scipy. Ich erhalte diesen Fehler: [FEHLER HIER EINFÜGEN]. Was bedeutet das und wie behebe ich es?"
Script ausführen
Das Script plot_edf_tutorial.py kann hier heruntergeladen werden. Die Datei in einen Ordner deiner Wahl speichern – am besten dorthin, wo auch die EDF-Dateien liegen.
Im Terminal navigieren
Das Terminal startet meist im Home-Verzeichnis. Mit drei Befehlen kommt man überall hin:
Zeigt alle Dateien und Ordner im aktuellen Verzeichnis:
In einen Unterordner wechseln:
In den übergeordneten Ordner wechseln:
Script aufrufen
--channel 0wählt EEG-Kanal 1 (0–7 möglich, entspricht EEG Ch1–Ch8)--start 30beginnt die Analyse bei Sekunde 30- Es werden immer exakt 30 Sekunden ab dem Startpunkt geplottet
Was zeigt der Time-Frequency-Plot?
| Achse / Farbe | Bedeutung | Beispiel |
|---|---|---|
| X-Achse | Zeit – wie beim Rohsignal | 0–30 Sekunden |
| Y-Achse | Frequenz in Hz – wie viele Mal pro Sekunde das Signal auf und ab geht | 12 Hz = 12× hoch und runter pro Sekunde |
| Farbe | Stärke des Signals bei dieser Frequenz zum jeweiligen Zeitpunkt | Warm (rot/gelb) = stark · Kalt (blau) = schwach |
- Das 30-Sekunden-Signal wird in kurze, überlappende Fenster zerschnitten (z.B. je 2 Sekunden).
- Für jedes Fenster wird die Fourier-Transformation (FFT) berechnet – sie „zerlegt" das Signal in seine Frequenzanteile und ergibt ein Spektrum.
- Jedes Spektrum wird als eine vertikale Farbspalte dargestellt: unten = niedrige, oben = hohe Frequenzen.
- Alle Spalten nebeneinander ergeben das zweidimensionale Time-Frequency-Bild.
Je länger die Fenster, desto besser die Frequenzauflösung – aber desto schlechter die Zeitauflösung. Das ist der fundamentale Zeit-Frequenz-Kompromiss.
Beispiel-Output
Aufnahme von Kanal 0 (EEG Ch1), Sekunden 10–40. Das Signal startet mit einem großen Artefakt und geht dann in ein sauberes EKG-Signal über.
| Panel | Beobachtung |
|---|---|
| Rohsignal | Sekunden 10–20: Das Signal clippt – es trifft den maximalen ADC-Messbereich (orange ausgefüllter Block). Das passiert bei starker Elektroden-Bewegung oder Körperbewegung. Ab Sekunde ~22 setzt ein klares EKG-Signal ein: regelmäßige spitze QRS-Zacken, ca. 1 pro Sekunde (~60 bpm). |
| Time-Frequency Plot | Im Artefakt-Bereich (10–20 s) breite Energie über alle Frequenzen – alles leuchtet. Deutlich erkennbar: eine helle horizontale Linie bei 50 Hz über die gesamte Aufnahme – das ist das 50-Hz-Netzrauschen aus Stromleitungen und Netzteilen. Im ruhigen EKG-Bereich konzentriert sich die Energie bei niedrigen Frequenzen (Herzrate ~1 Hz und ihre Harmonischen). |
| Mit 0,5 Hz HP-Filter | Der langsame Baseline-Drift ist entfernt – das Signal ist vertikal zentriert. Der Artefakt-Block selbst bleibt (er enthält auch höhere Frequenzen), aber im EKG-Bereich sind die Zacken besser lesbar. |
| Mit 30 Hz LP-Filter | Das Signal ist deutlich glatter. Hochfrequentes Rauschen (inkl. dem 50-Hz-Anteil) ist entfernt. Die QRS-Zacken bleiben erhalten, verlieren aber ihre scharfen Flanken. Die Ränder des Artefakt-Blocks sehen weicher aus. |
Matplotlib zeigt eine Toolbar mit interaktiven Werkzeugen:
Beispiel – sauberes EKG-Signal
Dieselbe Aufnahme – jetzt ohne Artefakt. Die Panels wurden mit Pan und Zoom auf unterschiedliche Zeitfenster gezoomt, um die Signaleigenschaften besser zu vergleichen. Jedes Panel kann unabhängig verschoben werden.
| Panel | Beobachtung |
|---|---|
| Rohsignal (~29–31,5 s) | Mit dem Zoom-Tool auf wenige Sekunden hereingezoomt: klarer EKG-Rhythmus mit regelmäßigen QRS-Zacken. Zwischen den Herzschlägen ist ein leises Hochfrequenzrauschen sichtbar – das ist hauptsächlich das 50-Hz-Netzrauschen. |
| Time-Frequency Plot (10–40 s) | Der TF-Plot zeigt weiterhin die gesamte 30-Sekunden-Übersicht. Die helle 50-Hz-Linie ist durchgehend sichtbar. Im Bereich ab ~22 s konzentriert sich die Energie auf niedrige Frequenzen: die Herzrate (~1,2 Hz) und ihre Harmonischen (2,4 Hz, 3,6 Hz …) bilden schwache horizontale Streifen. |
| Mit 0,5 Hz HP-Filter (~25–34 s) | Vergleich im mittleren EKG-Bereich: Links (roh) zeigt eine leichte Baseline-Drift. Rechts (HP-gefiltert) liegt das Signal exakt auf null – die Basislinie ist komplett flach. Die QRS-Zacken bleiben gleich hoch. |
| Mit 30 Hz LP-Filter (~33–39 s) | Das ist der deutlichste Unterschied: Links ist das 50-Hz-Netzrauschen als schnelle Welligkeit auf dem Signal sichtbar (die Linie hat einen „zittrigen" Rand). Rechts hat der Tiefpassfilter dieses Rauschen entfernt – die QRS-Zacken stechen klar und scharf aus einem fast rauschfreien Hintergrund heraus. In diesem Panel ist das EKG am besten zu analysieren. |
Filter
Lässt alle Frequenzen oberhalb von 0,5 Hz durch – blockiert alles darunter. Damit wird langsame Drift entfernt: Das Signal wandert oft langsam nach oben oder unten durch Schwitzen, Bewegung oder veränderten Elektrodenkontakt. Der Hochpassfilter zieht die Basislinie wieder gerade, ohne die eigentlichen Herzschläge (1–25 Hz) zu verändern.
Im Vergleich „ohne / mit" (Zeile 3 des Plots) ist der Effekt deutlich sichtbar, wenn das Rohsignal stark driftet.
Lässt alle Frequenzen unterhalb von 30 Hz durch – blockiert alles darüber. Besonders wichtig ist das 50-Hz-Netzrauschen: Stromleitungen, Netzteile und Bildschirme strahlen elektromagnetisch auf genau 50 Hz ab und überlagern das Biosignal. Im Time-Frequency-Plot erscheint das als helle horizontale Linie bei 50 Hz (weiß gestrichelt markiert).
Das EKG-Signal enthält kaum relevante Informationen oberhalb von 25–30 Hz – dieser Bereich ist bei Körperelektroden meist Muskel- oder Netzrauschen.
Butterworth wurde gewählt, weil er im Durchlassbereich maximal flach ist (keine Welligkeiten). sosfilt (Second-Order Sections) macht die Berechnung numerisch stabiler, besonders bei hohen Filterordnungen.
Quest
-
1Script aufrufen
Öffne deine Level-3-Aufnahme mit
--channel 0 --start 0. -
250-Hz-Linie suchen
Ist im Time-Frequency-Plot bei 50 Hz eine helle horizontale Linie sichtbar? Das wäre Netzrauschen – typisch, wenn ein Laptop-Netzteil oder Monitor in der Nähe ist.
-
3Button-Ereignis finden
Wechsle mit
--startzu dem Zeitpunkt, an dem du in Level 3 den Button gedrückt hast. Siehst du eine Veränderung im Signal? -
4Filterwirkung beobachten
Vergleiche Zeile 3 (Hochpass) und Zeile 4 (Tiefpass): Welchen sichtbaren Unterschied macht der jeweilige Filter in deinen Daten?
-
5Verschiedene Zeitfenster
Probiere
--start 0,--start 30,--start 60– ändert sich das Rauschen über die Zeit (z.B. wenn Geräte in der Nähe waren)?
Die zwei Messrichtungen
Misst Augenbewegungen nach links und rechts. Die Elektroden werden an die äußeren Augenwinkel (Kanthi) beider Augen geklebt. Schaut man nach links, steigt das Signal; nach rechts fällt es – oder umgekehrt, abhängig von der Polung.
Misst Augenbewegungen nach oben und unten – und erfasst dabei auch das Blinzeln sehr deutlich, da beim Schließen des Lids die Cornea nach oben rotiert. Die Elektroden gehen über und unter ein Auge.
Elektroden anbringen
Je eine Elektrode direkt am äußeren Augenwinkel (lateraler Kanthus) des linken und rechten Auges. Die Haut ist dort dünn und empfindlich – sanft andrücken. Dieser Kanal zeigt Links-Rechts-Bewegungen.
Eine Elektrode direkt über dem Augenbrauen-Bogen (knapp über dem Brauen-Ende), eine auf dem Wangenknochen direkt unter dem linken Auge. Dieser Kanal zeigt Auf-Ab-Bewegungen und Blinzeln.
Verbinde die horizontalen Elektroden mit Kanal 1 und die vertikalen mit Kanal 2 (oder andere Kanalpaare, je nach Stecker). Im EDFbrowser oder mit dem Script beide Kanäle separat laden.
Aufnahme durchführen
-
1Elektroden kleben
Haut rund um die Augen sanft reinigen. Keine Creme oder Make-up. Elektroden wie oben beschrieben anbringen. Das Kabel so verlegen, dass es beim Bewegen nicht zieht.
-
2SD-Karte einlegen, einschalten
Gerät ausgeschaltet. SD-Karte einlegen. Einschalten – Aufzeichnung beginnt sofort.
-
3Kontrollierten Bewegungsablauf durchführen
Sitze ruhig, Körper stillhalten. Nur die Augen bewegen – kein Kopfwackeln, da Muskelartefakte das Signal stören.
-
4Ausschalten, SD-Karte entnehmen
Nach dem Experiment Gerät ausschalten, SD-Karte entnehmen.
-
5Analysieren
EDF-Datei mit
plot_exg_timedomain.py --type eogöffnen. Beide Kanäle separat aufrufen.
Quest
- 110 s ruhig geradeaus schauen
Baseline – das Signal sollte flach sein.
- 2Schnelle RLRLRL-Bewegungen – 10× nach links und rechts schauen
Zügig und rhythmisch: links – rechts – links – rechts … jeweils ca. 0,5 Sekunden halten. Im horizontalen Kanal entsteht ein klares, regelmäßiges Rechteck-Muster. Kein Kopfdrehen!
- 310 s Pause (geradeaus)
- 45× langsam oben–unten schauen (jeweils 2 s halten)
Klare Ausschläge im vertikalen Kanal.
- 510 s Pause
- 610× bewusst blinzeln (1 s Pause zwischen jedem Blinzeln)
Blinzeln erzeugt im vertikalen Kanal charakteristische Spikes – viel schneller als Augenbewegungen.
- 7Augen 20 s geschlossen halten
Das Signal sollte ruhig und niedrig bleiben. Augenbewegungen hinter geschlossenen Lidern (z.B. Träume) wären sichtbar.
Das Script plot_exg_timedomain.py kann hier heruntergeladen werden. In denselben Ordner legen wie die EDF-Datei.
python plot_exg_timedomain.py DATEI.EDF --type eog --channel 0 für den horizontalen Kanal, --channel 1 für vertikal. Im Zoom-Panel (5 s) sind einzelne Augenbewegungen klar als langsame Kurven sichtbar. Blinzeln erscheint als scharfer, kurzer Spike.
Frequenzbänder des EEG
| Band | Frequenz | Typisch bei |
|---|---|---|
| Delta | 0,5–4 Hz | Tiefschlaf, Tiefenentspannung |
| Theta | 4–8 Hz | Dämmerschlaf, kreatives Denken, Meditation |
| Alpha | 8–13 Hz | Entspannung mit geschlossenen Augen, ruhige Wachheit |
| Beta | 13–30 Hz | Aktives Denken, Konzentration, kognitive Belastung |
| Gamma | > 30 Hz | Hochfrequente Verarbeitung (schwer zu messen mit Hautektroden) |
Elektroden anbringen
Ca. 3 cm links der Stirnmitte, so nah an der Haarlinie wie möglich – aber nicht ins Haar kleben. Die Haut dort mit einem Tuch abreiben. Haare im Weg zur Seite legen.
Spiegelposition zu F3, ca. 3 cm rechts der Stirnmitte. Beide Elektroden sollten auf gleicher Höhe sitzen – nutze die Haarlinie als Orientierung.
- Kein Haarspray, keine Creme auf der Stirn
- Elektrode nicht auf behaarter Haut kleben
- Der Traumschreiber hat keine separate Referenzelektrode – die Messung ist rein differentiell zwischen den zwei angeklemmten Elektroden
- Stirn nicht runzeln oder Augenbrauen hochziehen während der Aufnahme – das erzeugt Muskelartefakte
Aufnahme durchführen
-
1Elektroden kleben, Kabel prüfen
F3 und F4 wie oben beschrieben anbringen. Kabel so verlegen, dass keine Zugspannung entsteht.
-
2SD-Karte einlegen, einschalten
Aufzeichnung beginnt sofort nach dem Start.
-
3Ruhig sitzen, Augen schließen – 30 s warten
Das EEG-Signal braucht etwas Zeit, um sich zu stabilisieren. Erste 30 Sekunden als Eingewöhnung nutzen.
-
4Experiment-Sequenz durchführen
Exakt nach dem Quest-Plan unten – Timing ist wichtig für die Analyse.
-
5Ausschalten, analysieren
Mit
plot_eeg_timefreq.pyden Kanal wählen, auf dem F3 oder F4 liegt. Das Script zeigt per Standard das Beta-Band (13–30 Hz) über 120 s und glättet das Spektrogramm automatisch mit einem Medianfilter.
Quest
- 120 s Entspannung
Augen geschlossen. An nichts Bestimmtes denken. Atmen. → Beta-Band ist schwach, Spektrogramm bleibt kühl (blau-lila).
- 220 s Kognitive Belastung
Von 700 in 7er-Schritten rückwärts zählen: 700 → 693 → 686 → 679 … Augen können offen oder geschlossen sein. Konzentriert arbeiten – nicht aufhören! → Beta-Power steigt, Spektrogramm wird wärmer.
- 320 s Entspannung
Wieder loslassen, Augen zu, nicht mehr zählen.
- 420 s Kognitive Belastung
Weiterzählen, wo du aufgehört hast – oder von vorne.
- 520 s Entspannung
Abschluss-Entspannungsphase.
Das Script plot_eeg_timefreq.py kann hier heruntergeladen werden. In denselben Ordner legen wie die EDF-Datei.
python plot_eeg_timefreq.py DATEI.EDF --channel 0 --duration 120Das Script zeigt per Standard das Beta-Band (13–30 Hz). In den Entspannungsphasen bleiben die Farben kühl (blau-lila); in den Zählphasen hellen sie sich auf (gelb-orange) – das ist der Beta-Anstieg. Klappt es auf F3 nicht, versuche F4 (
--channel 1 oder welcher Kanal F4 ist).
| Parameter | Standard | Bedeutung |
|---|---|---|
--channel / -c | 0 | Kanal-Index (0 = Kanal 1) |
--start / -s | 0.0 | Startzeit in Sekunden |
--duration / -d | 120 | Analysefenster in Sekunden |
--median / -m | 11 | Horizontal-Medianfilter in Sekunden (0 = deaktiviert) |
--median-freq | 1.0 | Vertikal-Medianfilter in Hz (0 = deaktiviert) |
Beispiel: einen anderen Startpunkt und längeres Fenster wählen:
python plot_eeg_timefreq.py DATEI.EDF --channel 0 --start 60 --duration 180
Aufnahme mit dem Traumschreiber – 100 s Entspannung gefolgt von 100 s Online-Schach auf Zeit (aktive Denkbelastung). Channel 5 (Ch6), F3–F4-Position.
Was ist zu sehen?
Das Spektrogramm (unteres Panel, 13–30 Hz) zeigt das Beta-Band über die Zeit.
In der ersten Hälfte (~100–200 s, Entspannung) ist die Farbe überwiegend kühl (blau-lila) – wenig Beta-Aktivität, das Gehirn ist im Ruhemodus.
Ab ~200 s beginnt die Schach-Phase: Die Farben wechseln zu warm (gelb-orange-rot), was eine deutlich erhöhte Beta-Power signalisiert – das frontale Netz arbeitet unter Zeitdruck auf Hochtouren.
Das obere Panel zeigt das gefilterte EEG-Rohsignal; die Amplitude allein verrät wenig – der Frequenzinhalt im Spektrogramm ist das eigentlich Interessante.
Im Gegensatz zu EKG oder EEG besteht das EMG nicht aus einzelnen, regelmäßigen Ausschlägen, sondern aus einem hochfrequenten, unregelmäßigen Rauschen, das stärker wird, wenn der Muskel aktiv ist – und fast auf Null sinkt, wenn er entspannt. Im Zeitbereich sieht man dickere, dichtere Pakete bei Aktivität, und eine fast flache Linie bei Ruhe.
Elektroden anbringen
Zwei Elektroden horizontal nebeneinander auf dem Kinn, ca. 2 cm voneinander entfernt. Die Mitte des Kinns (leichte Wölbung, Kinngrübchen-Region). Haut vorher gründlich abreiben – das Kinn hat oft etwas Fett/Creme.
- Unterarm-Beuger: Elektroden auf dem Unterarm (Mitte Innenseite) – bei Faustballen klares EMG-Burst-Muster
- Schläfenmuskel: Elektroden über der Schläfe – reagiert beim Kauen und Kieferklemmen
- Stirn (Frontalis): Über der Stirn – reagiert beim Runzeln
Aufnahme durchführen
-
1Elektroden kleben
Zwei Elektroden wie oben auf das Kinn – sauber und trocken. Kabel nach oben führen, nicht am Kiefer ziehen.
-
2SD-Karte einlegen, einschalten
Aufzeichnung beginnt sofort.
-
3Experiment-Sequenz durchführen
Ruhig sitzen. Kiefer locker lassen. Bewegungsartefakte durch Kopfbewegungen vermeiden.
-
4Ausschalten, analysieren
plot_exg_timedomain.py --type emg– der Bandpass (20–120 Hz) filtert alles außer dem eigentlichen Muskel-Signal.
Quest
- 110 s Kiefer komplett entspannen
Mund leicht geöffnet, kein Zähnepressen. → flaches Signal.
- 25 s Kiefer fest zusammenpressen
So fest wie möglich. → starkes, dichtes EMG-Burst-Muster.
- 310 s entspannen
- 45 s klemmen
- 510 s entspannen
- 63× schnell kauen (wie beim Essen)
Kurze, rhythmische EMG-Bursts – jeder Kauzyklus als eigener Ausschlag sichtbar.
- 710 s Entspannung, dann ausschalten
Das Script plot_exg_timedomain.py kann hier heruntergeladen werden (auch für EOG und EKG verwendbar, einfach --type anpassen).
python plot_exg_timedomain.py DATEI.EDF --type emg --channel 0Im Zoom-Panel siehst du, wie das Signal bei Kieferklemmen deutlich breiter und dichter wird (mehr Motoreinheiten feuern). Bei Entspannung ist die Kurve fast flach. Die Kauzyklen erscheinen als gleichmäßig wiederkehrende Aktivitätspakete.
Was ist HRV?
| Metrik | Was wird gemessen? | Typischer Bereich (Ruhe) |
|---|---|---|
| Herzrate | Mittlere Schläge pro Minute aus allen RR-Intervallen | 55–80 bpm |
| SDNN | Standardabweichung aller RR-Intervalle – Gesamtvariabilität über das Zeitfenster | 30–100 ms |
| RMSSD | Quadratisches Mittel aufeinanderfolgender RR-Differenzen – kurzfristige Variabilität, Parasympathikus-Index | 20–80 ms |
| pNN50 | Anteil benachbarter RR-Intervalle, die sich um mehr als 50 ms unterscheiden | 5–40 % |
Das RR-Intervall (auch R-R oder NN) ist der zeitliche Abstand zwischen zwei aufeinanderfolgenden R-Zacken im EKG – also zwischen zwei Herzschlägen. Ein gesundes Herz schlägt nicht mit konstant gleichem Abstand, sondern mit messbarer Variabilität: Diese Variabilität ist ein Zeichen aktiver nervöser Regulation und hat in Studien Vorhersagekraft für Erholungszustand, Stressniveau und kardiovaskuläre Gesundheit.
So sieht ein gutes EKG aus dem Traumschreiber aus – aufgenommen in Ruheposition (sitzend, Luft anhalten für eine sauberere Baseline). R-Zacken werden automatisch erkannt (rote Punkte), die HRV-Metriken rechts unten werden direkt aus den RR-Abständen berechnet.
Kanal 7 (Ch8), 30 s, sitzend, Luft angehalten – 48 Herzschläge erkannt, HR 95 bpm, SDNN 80,8 ms
Quest
Das Script plot_ecg_hrv.py kann hier heruntergeladen werden. In denselben Ordner legen wie die EDF-Datei.
-
1Terminal öffnen und in den Ordner wechseln
Wie in Level 4 beschrieben. Den Ordner mit der EDF-Datei und dem Script aufrufen.
-
2Script ausführen
python plot_ecg_hrv.py ADC/AD0041.EDF(Dateiname anpassen). Das Script gibt im Terminal sofort Herzrate, SDNN, RMSSD und pNN50 aus – noch bevor das Fenster öffnet. -
3Plot prüfen: Sind die roten Punkte auf den R-Zacken?
Panel 1 zeigt das EKG mit jedem erkannten Herzschlag als roten Punkt. Wenn Punkte falsch liegen oder fehlen: anderen Kanal probieren (
--channel 5oder--channel 7), oder--startanpassen um ruhigere Signalabschnitte zu treffen. -
4RR-Tachogramm lesen
Panel 3 zeigt, wie sich der Herzschlag-Abstand über die 30 Sekunden verändert. Ist die Kurve ruhig und gleichmäßig? Oder gibt es Sprünge? Sprünge entstehen durch Artefakte oder echte Herzrhythmusveränderungen (z.B. Atemvariation).
-
1Code in die Zwischenablage kopieren
Klicke den Button unten. Das Script
plot_ecg_hrv.pywird zusammen mit einem vorbereiteten Erklär-Prompt in deine Zwischenablage geladen. -
2ChatGPT oder Gemini öffnen
Im Browser: chatgpt.com oder gemini.google.com – beide sind kostenlos nutzbar ohne Anmeldung (ChatGPT) bzw. mit Google-Konto (Gemini).
-
3Einfügen und abschicken
Neuen Chat starten. In das Eingabefeld klicken, Strg+V (Windows/Linux) oder Cmd+V (macOS) drücken. Dann Enter / Senden.
Der Button kopiert diesen Prompt + den vollständigen Code:
Das Script enthält am Anfang einige Variablen, die leicht zu ändern sind. Zwei gute Einstiegsmodifikationen:
Farbe der EKG-Linie ändern. Im Script gibt es eine Zeile ORANGE = '#ff9151'. Der Code daneben ist ein Hexadezimal-Farbwert. Ändere ihn auf eine andere Farbe – z.B. Hellblau ('#00ccff') oder Weiß ('#ffffff').
Analysefenster verlängern. Die Zeile WINDOW_S = 30 legt fest, wie viele Sekunden analysiert werden. Ändere 30 auf 60 – dann werden 60 Sekunden ausgewertet und du bekommst mehr Herzschläge und stabilere HRV-Werte.
Schritt-für-Schritt: Änderung mit KI-Hilfe
-
1KI fragen, was zu ändern ist
Im bereits offenen KI-Chat (aus Quest 2) schreibe: „Ich möchte die Farbe der EKG-Linie auf Hellblau (
#00ccff) ändern. Zeige mir nur die eine Zeile, die ich ändern muss, und wie sie danach aussieht."
Die KI zeigt dir genau die Zeile – z.B.ORANGE = '#00ccff'. -
2Texteditor öffnen – je nach Betriebssystem
Wichtig: Kein Word, Pages oder ähnliche Office-Programme – diese fügen unsichtbare Formatierungen ein, die den Code zerstören. Nur reine Texteditoren verwenden:
🪟 Windows- Windows-Taste drücken
- „Notepad" tippen → Enter
- In Notepad: Datei → Öffnen
- Unten rechts bei Dateityp: „Alle Dateien (*.*)" auswählen
- Zur Datei
plot_ecg_hrv.pynavigieren, öffnen
🍎 macOS- Cmd+Leertaste → „TextEdit" → Enter
- In TextEdit: oben im Menü Format → Nur Text umwandeln (Cmd+Shift+T)
- Datei → Öffnen
- Zur Datei
plot_ecg_hrv.pynavigieren, öffnen
🐧 Linux- Dateimanager öffnen
- Rechtsklick auf
plot_ecg_hrv.py - „Mit Texteditor öffnen" oder „Mit Anwendung öffnen"
- gedit / Mousepad / Kate wählen
-
3Die Zeile finden
Strg+F (Windows/Linux) oder Cmd+F (macOS) öffnet die Suche im Texteditor. Tippe
ORANGE→ Enter. Der Editor springt zur entsprechenden Zeile. Du siehst:ORANGE = '#ff9151' -
4Änderung vornehmen
Den Farbwert
'#ff9151'markieren und durch den neuen ersetzen – z.B.'#00ccff'. Nur den Wert innerhalb der Anführungszeichen ändern, nicht die Anführungszeichen selbst entfernen. -
5Speichern
Strg+S (Windows/Linux) oder Cmd+S (macOS). Der Texteditor sollte die Datei als
.pyspeichern – nicht als.py.txt. Falls Windows ein.txtanhängt: Datei → Speichern unter → Dateityp auf „Alle Dateien" setzen und explizitplot_ecg_hrv.pyals Namen eingeben. -
6Script erneut ausführen
Zurück ins Terminal. Gleicher Befehl wie zuvor – das Fenster öffnet sich neu, diesmal mit der EKG-Linie in der neuen Farbe. Herzlichen Glückwunsch: du hast deinen ersten Python-Code erfolgreich modifiziert.
Schlafphasen und ihre Merkmale
| Schlafphase | EEG-Muster | Bedeutung |
|---|---|---|
| Wake | schnell, rhythmisch (8–13 Hz, Alpha) | Wach, Ruhe mit geschlossenen Augen |
| N1 | langsamer, Theta (4–8 Hz) | Einschlafphase, leichter Schlaf |
| N2 | Spindeln, K-Komplexe (12–15 Hz) | Leichter bis mittlerer Schlaf |
| N3 | langsam, Delta (0,5–4 Hz), hochamplitudig | Tiefschlaf, Erholung und Regeneration |
| REM | schnell, ähnlich Wake, Augenbewegungen | Paradoxer Schlaf, "typische" Träume |
Voraussetzungen
Python 3.7+ mit PyTorch (CPU-Version reicht aus). Installiere die nötigen Pakete:
Dann lade zwei Python-Dateien herunter:
- plot_sleep_scoring.py — Hauptscript für Sleep-Staging
- anysleep_no_hydra.py — AnySleep-Modellarchitektur
Hinweis: Das KI-Modell (~12 MB) wird beim ersten Start automatisch heruntergeladen und gespeichert.
Aufnahme durchführen
Anbringung wie in Level 6 (Gehirnwellen – EEG) beschrieben: F3 und F4 an der Haarlinie. Für eine aussagekräftige Schlafanalyse solltest du mindestens 6–8 Stunden (eine ganze Nacht) aufnehmen.
- Elektroden kleben (F3–F4 wie Level 6)
- SD-Karte einlegen, Gerät einschalten
- Schlafen gehen und schlafen
- Gerät ausschalten, SD-Karte entnehmen
Quest
Grundbefehl:
Das Script liest die EDF-Datei, führt die KI-basierte Klassifikation durch und zeigt ein Plot mit 3 Panels: Wahrscheinlichkeiten, Hypnogramm und Spektrogramm.
| Parameter | Standard | Bedeutung |
|---|---|---|
--channel / -c | 0 | EEG-Kanal (0–7) |
--model | auto | Pfad zu anysleep-run1.pth (optional) |
--start / -s | 0.0 | Startzeit in Sekunden (zum Debuggen) |
--duration / -d | -1 | Analysedauer in Sekunden (-1 = ganzes File) |
Beispiel: Analysiere ab Sekunde 3600 (1h) für 14400 Sekunden (4h):
python plot_sleep_scoring.py NACHT.EDF --channel 0 --start 3600 --duration 14400
Beispiel-Output
Eine reale Traumschreiber-Aufnahme: 9.1 Stunden Nacht, 1095 Epochen à 30 s, Kanal 5 (F3–F4 frontal). Klicke auf das Bild zum Vergrößern. Der Plot besteht aus 4 zeitlich synchronisierten Panels:
| Panel | Was zu sehen ist |
|---|---|
| Wahrscheinlichkeiten | Die gestapelten Farbflächen summieren sich pro Epoche auf 1.0 — sie zeigen, wie sicher das Modell sich für jede Schlafphase ist. Bei klarem N3-Tiefschlaf sieht man fast nur orange; bei REM überwiegt magenta. Im Beispiel sind die ersten ~6 Stunden klar strukturiert mit wechselnden NREM- und REM-Blöcken; ab Stunde 6 mehr Wake (hellblau) und Mikro-Wechsel — typische Fragmentierung gegen Morgen. |
| Hypnogramm | Die finale Klassifikation (argmax über die Wahrscheinlichkeiten) als Stufenplot. Y-Achse von unten nach oben: N3 → N2 → N1 → REM → WAKE. Im Beispiel sieht man die klassische Schlafarchitektur: 4–5 NREM-REM-Zyklen mit ~90 Minuten Periode, N3 konzentriert in der ersten Nachthälfte, REM-Phasen werden gegen Morgen länger. |
| EEG-Spektrogramm (0–60 Hz) | Frequenzgehalt des EEG-Rohsignals über die Zeit. X = Zeit (h), Y = Frequenz (Hz), Farbe = log10(Power). Warme Farben unten (0,5–4 Hz) = Delta-Wellen sind charakteristisch für N3-Tiefschlaf. Die dunkle horizontale Linie bei 50 Hz ist der Notch-Filter (Netzbrummen entfernt). Über 30 Hz sieht man oft EMG-Muskelaktivität, besonders während Wake. |
| Sleep Statistics & Stage Breakdown | Klassische Schlaf-Metriken (TIB, TST, SOL, WASO, SE, RL, AW) und die Aufteilung in Schlafstadien. Mini-Boxplots vergleichen den eigenen Wert mit Normwerten gesunder Erwachsener (25–45 J., Meta-Analysen): grün = innerhalb ±1σ (typischer Bereich), gelb = innerhalb ±2.5σ (noch normal), rot = außerhalb (auffällig). |
| Metrik | Wert | Bewertung |
|---|---|---|
| Total sleep time (TST) | 7:36 h | ● Normal (Norm 7±1 h) |
| Sleep efficiency (SE) | 83.3 % | ● Im Bereich (Norm 87±8 %) |
| WASO | 1:22 h | ● Erhöht (Norm 30±25 min) |
| REM latency (RL) | 0:48 h | ● Etwas kurz (Norm 85±35 min) |
| N2 Anteil | 49.7 % | ● Trifft die Norm-Mean perfekt (50±7 %) |
| N3 Anteil | 14.1 % | ● Normal (17±8 %) |
| REM Anteil | 23.4 % | ● Normal (22±5 %) |
| Awakenings (AW) | 30 | ● Stark erhöht (Norm 8±5) |
Fazit: Die Schlafarchitektur ist insgesamt gesund — Tiefschlaf und REM in normalen Anteilen, regelmäßige NREM-REM-Zyklen mit ~90 Min Periode. Die hohe Aufwach-Zahl und das erhöhte WASO zeigen eine deutliche Fragmentierung, besonders in der zweiten Nachthälfte ab Stunde 6 — gut im Hypnogramm sichtbar.