Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
10.11.2008, 18:48 (Dieser Beitrag wurde zuletzt bearbeitet: 11.11.2008 09:52 von jg.)
Ich areite an einem Diplomarbeitsprojekt mit dem Titel portables EKG. Meine Aufgabe ist es , die gespeicherten Daten (CSV) einzulesen, dass Signal darzustellen und Auszuwerten.
Mein Primärziel ist zurzeit die Bestimmung der Herzrate anhand der anstehenden Daten, welche bereits in einem Array gespeichert sind.
Um die Herzrate zu bestimmen habe ich bereits das Signal differenziert und quadriert, um den Peak zu dedektieren und den negativen Bereich in das positive zu spiegeln.
Doch mein Problem ist es , einen geeigneten Algorythmus zu entwickeln, der mir die Zeit zwischen den beiden Peaks bestimmt.
Ich hoffe jemand kann mir helfen, würde mich auf eine baldige Rückmeldung freuen.
Bitte:
- von links nach rechts coden...möglichst nicht von oben nach unten
- gerade Drähte ziehen
- bei den Controls/Indicators "view as icon" deaktivieren (das geht global unter Tools...Options...Block diagram...
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
So ich habe meine Vi jetzt noch überarbeitet, vielleicht ist sie jetzt deutlicher zu Lesen.
Das Problem ist eigentlich leicht erklärt:
Wenn ich über einen Schwellwert bin(also der Peak), dann soll ein Timer gestartet werden. Sobald der nächste kommt soll der Timer zu zählen aufhören. Dann berechne ich die Differenz und ich habe die vergangene Zeit. Oder nicht?
Ich weis jedoch nicht wie ich das realisieren soll.
Hier noch mal die anschaulichere VI( Version 8.0 ):
Es gibt in der timing-Palette das VI "Timer-Wert" (In Englisch Glaube ich Get ms value), dass Dir die Systemzeit in ms Angibt. Wenn Du das mit der Peakdetection zweimal triggerst, kannst Du entsprechend die Werte voneinander abziehen und hast die verstrichene Zeit.
Bin mir relativ sicher, dass es dazu auch diverse Examples gibt...
Das ist eiene gute Idee, habe ich auch schon versucht zu realisieren, aber ich stehe immer wieder vor der einen Wand.
Und zwar.
Ich dedektiere den ersten Peak und kann ihn auch speichern. Dann kommt der nächste , überspeichert jedoch den ersten. Somit kann ich keine Differenz bilden, und auch keine Herzrate bestimmen.
Auch eine Überlegung wäre es , in einem Schieberegister zu speichern. Also einfach speichern und weiterschieben. Gibt es sowas in LabVIEW?
mfg. Mike
13.11.2008, 23:31 (Dieser Beitrag wurde zuletzt bearbeitet: 13.11.2008 23:31 von jg.)