www.mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP algorithmen zur R Zacken Detektion gesucht!


Autor: Asif Goshee (Firma: fh) (asif)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich muss in meiner Diplomarbeit einen algorithmus
zur R Zacken Detektion mit Matlab integrieren. um die EKG-Signale 
darzustellen habe ich ein GUI geschrieben aber wie man denn die R-Zacken 
detektieren kann, da habe ich null Ahnung.soweit ich weiss, es gebe 
dafür viele Algorithmen.
Wäre echt super wenn mir jemand weiterhelfen könnte!

Autor: Floh (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wiki liefert:
"Der erste positive Ausschlag des QRS-Komplexes wird R-Zacke genannt. 
Sie ist meist schlank und groß und variiert je nach elektrischer 
Herzachse. Vebreiterte und gekerbte R-Zacken weisen auf eine Störung der 
Erregungsleitung im Herzen hin und werden beim Rechtsschenkelblock und 
Linksschenkelblock beobachtet. Eine reduzierte R-Amplitude kann Hinweis 
für einen alten Herzinfarkt sein. Tritt nach der S-Zacke ein weiterer 
positiver Ausschlag auf, so wird dieser je nach Größe als r' oder R' 
bezeichnet."

also legt sich das Programm auf die Lauer, um den ersten positiven Peak 
zu erfassen.

Autor: Nils (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> also legt sich das Programm auf die Lauer, um den ersten positiven Peak
> zu erfassen.
Naja - aber nicht in der Realität.
Die EKG-Erfassung liefert ja eine Reihe von Problemkreisen:
- Unterschiedliche Pegel bei verschiedenen Messungen (Schweiß, Schmutz 
(beim Rettungseinsatz), ...). Was wäre dann also der Schwellpegel bei 
Differentation des Signals?
- Individuelle Schwankungen: 'Normaler' Herzschlag, 
Herz-Rhythmus-Störungen, die aber medizinisch unbedenklich sind, ...

Die R-Zacken-Erfassung ist in der Realität also nicht trivial (wie die 
zahlreichen Fehlalarme auf den Intensivstationen zeigen).

Nach meinem Wissenstand würde ich also eher auf Korrelationsverfahren 
setzen.
In jedem Fall sollte man das Signal vorher filtern.

Weiteres Stichwort zur Vorgehensweise: Segmentierung
Zur Segmentierung im Zusammenhang mit EKG sollte Google einiges liefern 
- und die Uni-Bibliothek auch.

Autor: Asif Goshee (Firma: fh) (asif)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
es ist aber kein Alogarithmus zur R-Detektion oder..!!!

Autor: Moi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Asif Goshee schrieb:
> es ist aber kein Alogarithmus zur R-Detektion oder..!!!

... du bist am Ende deine Studiums und beherrschst selbstständiges 
Recherchieren nicht, dass ist irgendwie traurig. Deiner oberflaechlichen 
Frage unterstell ich einfach, dass du dich nichtmal mit der 
grundlegenden Problematik beschaeftigt hast - sonst hättest du die Frage 
präziser gestellt.

Meine Ausgangsbasis wäre:
Es gibt seit langer Zeit EKGs, ergo muss es auch wissenschaftliche 
Veröffentlichungen (Ableitungen am Körper, Filter / Umgang mit 
Störungen, Detektion bekannter Muster) hierzu geben, welche dieses 
Themengebiet untermauern.

Stichworte kannst du bei http://scholar.google.de bzw. 
http://www.springerlink.com (Hochschulintern, viele medizinische 
Veröffentlichungen) einwerfen und dir einen Einstieg suchen.

Autor: Nils (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> es ist aber kein Alogarithmus zur R-Detektion oder..!!!

Asif, ich will Dir nichts unterstellen und gehe deshalb einfach mal 
davon aus, dass Du den Wald vor lauter Bäumen nicht siehst.
Wie Du selbst schreibst, gibt es viele Algorithmen.
Das hängt aber von Deinen Anforderungen ab - dazu schreibst Du nichts.
- Willst Du die R-Zacken einfach nur zählen, um beispielsweise die 
Herzfrequenz zu ermitteln?
- Willst Du eine qualitative Analyse des Signals durchführen?
- Musst Du Echtzeitfähig sein? (Da Du in Matlab arbeitest, gehe ich 
davon aus, eher nicht.)

All das verrätst Du uns nicht. Du sagst auch nicht, ob Du einfach eine 
ideale Modellkurve oder reale EKG-Daten hast.

Zunächst mal: Wenn es sich um ein reales EKG-Signal handelt, hast Du es 
mit einer Hintereinanderschaltung mehrerer Algorithmen zu tun:

1) Filterung: In jedem Fall Tiefpass (Artefakte: andere 
Muskelpotentiale, EMV-Einflüsse, ...). Bei Langzeit-EKG, evt. Hochpass 
(?)
2) Signalanalyse: Die einfache Differentation hat Floh ja angedeutet - 
sie hat aber den Nachteil, die Artefakte zu verstärken. Daher wird man 
eher auf Integrationsverfahren setzen - konkret: Spektralanalyse (FFT, 
dem Problem angepasste Waveleless, ...).
3) Erkennung: Das Spektrum einer idealen R-Zacke ist Dein Fingerprint. 
Diesen Fingerprint suchst Du in jedem Zeitfenster der  Spektralanalyse. 
Allgemein gesprochen suchst Du also nach Korrelationen.

Letztlich suchst Du ein Muster (die R-Zacke) in einer parametrisierten 
Funktion (f(t)=EGK-Spannung(Zeit)).
Das Muster selbst ist t-skaliert, da die Pulsfrequenz variabel ist.
So etwas nennen die Informatiker Segmentierung - und damit wirst Du bei 
Google auch fündig - ich habe nur mal kurz geschaut - unter anderem 
findest Du auch Praktikumsanleitungen.

Wie bereits gesagt - kaum Input Deinerseits. Nur soviel: Wenn Du über 
die R-Zacken-Detektion hinaus auf qualitative Analysen aus sein 
solltest, wirst Du um eine Recherche in der aktuellen Fachliteratur 
(Medizininformatik) nicht herumkommen. Geräte, die EKGs qualitativ 
analysieren, sind zwar seit etwa 20 Jahren Standard, allerdings tut sich 
da immer noch einiges. Das würde dann auf eine intensive Beschäftigung 
mit Korrelationsverfahren hinauslaufen.

So, angesichts der Tatsache, dass es um eine Diplomarbeit geht, waren 
das recht viele Hinweise - meine ich zumindest.

Autor: adfix (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>So, angesichts der Tatsache, dass es um eine Diplomarbeit geht, waren
>das recht viele Hinweise - meine ich zumindest.

Ja - eine gute Antwort !
Müsste im Quellenverzeichnis erwähnt werden !

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.