LabVIEWForum.de - Mehrere Spitzenwerte aus einer Messreihe erkennen

LabVIEWForum.de

Normale Version: Mehrere Spitzenwerte aus einer Messreihe erkennen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich habe folgendes Problem, welches ich nicht gelöst bekomme: Ich habe eine Reihe von Messwerten, die von einem DMS, welcher an einem Flachstahl montiert ist, erfasst werden. In der vorliegenden Messung habe ich zwei maximale Biegemomente, also zwei Spitzenwerte(siehe Bild). Beide Spitzenwerte möchte ich während einer Messung erfassen und mir ausgeben lassen.

Zur Zeit werden die Biegemomente noch ohne LabView und nur manuell erfasst und in einer Excel-Datei gespeichert. Die Messungen sollen im späteren Projektverlauf aber durch LabView automatisiert werden. Das nur als Hintergrund.

Leider bekomme ich es bei LabView nur soweit programmiert, dass ich mir die Messwerte aus der Excel-Datei nach LabView importiere. Anschließend versuche ich die 2 Spitzenwerte aus der Messreihe zu entnehmen. Hier schaffe ich es nur soweit, dass ich den größten Spitzenwert erhalte (Punkt 2 im Bild), der weitere Spitzenwert (Punkt 1 im Bild) geht mir verloren.

Vielleicht hat einer von Euch eine Idee und kann mir bei der Programmierung weiter helfen.
Hallo Niklas,

erst einmal herzlich Willkommen im Forum.

Bei meiner Betrachtungsweise hast du da ziemlich viele Spitzen ind den Messdaten und nicht nur zwei. So sehen das auch die Kandidaten an VIs zur Signalverarbeitung :-)

Ich habe jetzt nur einen Datensatz und weis leider nicht, wie die anderen aussehen. Im Detail musst du also selber gucken, was über viele Messdaten hinweg ein geeigneter Algorithmus ist.

Mal eine Ideen dazu:
Teile deine Messdaten n der Mitte, also dort, wo üblicherweise (und ganz grob) das Tal ist. Also so etwa bei Sample 1400.
Von jedem der beiden Teile ermittelst du nun einfach den Maximalwert (Funktion "Array Max & Min").
Ich würde es in drei Schritten probieren.
1. Mit dem Peak-Finder alle Maxima suchen.
2. Von den gefundenen Maxima mit dem Peak-Finder das Minimum in der Mitte suchen. Damit solltest Du recht zuverlässig die gefunden Maxima in die zwei relevanten Bereiche aufteilen können.
3. Das größte Maximum in den zwei Bereichen bestimmen. Fertig.

Gruß Holger
Guten Morgen,
"Peak Detector" gibts schon fertig, mit dem angehängten Aufbau bekomme ich zumindest ein Ergebnis.
Habe das jetzt aber nciht kontrolliert!

Grüße Timo
Hallo Timo,

(15.02.2021 07:56 )TpunktN schrieb: [ -> ]Habe das jetzt aber nciht kontrolliert!

Ob das für die Anwendung ausreicht, das muss Niklas entscheiden.

Der Peak Detektor hat eine Eigenschaft, die nicht immer angenehm ist. Er findet nicht den Spitzenwert in den Messdaten. Die Abweichung wird bei manchen Messdaten besonders krass. Bei deinem Vorschlag wird der Effekt zusätzlich verstärkt, weil du als "width" einen ziemlich hohen Wert einträgst (1/4 der Messwerte).
Beiliegend ein Bild von den beiden Peaks. Darin zeigt der rote Cursor den Spitzenwert und der gelbe Cursor zeigt das Ergebnis des Peak Detektors. Über den Graphen stehen die Positionen und Amplituden sowie die Abweichungen (diff amplitude,diff locations).
[attachment=61641]
Solch Abweichungen sind ja zu erwarten, weil der Peak-Detektor eine Parabel in die Datenpunkte legt und diese zur Bestimmung der Peak-Höhe und Position benutzt. Deshalb schrieb ich ja auch:

3. Das größte Maximum in den zwei Bereichen bestimmen. Fertig.

Und habe es dem Anwender überlassen zu entscheiden, ob die Peaks oder die Maxima für alles Weitere benutzt werden sollen.

Gruß Holger
Hallo Holger,

nur zur Klarstellung: Ich hatte mich nicht auf deinen Beitrag bezogen.
Mein Beitrag bezog sich auf den Vorschlag von Timo (TpunktN).
(15.02.2021 09:13 )Martin.Henz schrieb: [ -> ]Beiliegend ein Bild von den beiden Peaks. Darin zeigt der rote Cursor den Spitzenwert und der gelbe Cursor zeigt das Ergebnis des Peak Detektors. Über den Graphen stehen die Positionen und Amplituden sowie die Abweichungen (diff amplitude,diff locations).

Crazy, habe das VI per Zufall gefunden und an den Forenbeitrag denken müssen. Hätte nie gedacht, dass man da so viel Abweichung erzeugen kann Blink
So ist das sicherlich nicht sinnvoll.

Danke für den Hinweis!
Ob das sinnvoll ist oder nicht hängt von dem Zweck und dem Signal und der Parametrierung des Peak-Detektors ab.

Oft ist ein Signal verrauscht und das Maximum der einzelnen Datenpunkte gar nicht erwünscht, sondern das Maximum der Regressionsparabel. Und wie groß die Abweichung ist hängt auch von der gewünschten minimalen Breite der zu findenden Peaks ab.

Steht aber auch in der Hilfe.

Gruß Holger
Referenz-URLs