Schwingungszähler/ Schwinungsdauer

  • Hallo Community,

    1) hätten Sie eine Idee wie man am besten die Schwingungen einer Funktion zählt?

    ich habe die Funktion Pulse() probiert nachdem ich dem Signal einen Offset subtrahiete. allerdings stimmen die Erebnisse nicht.

    Beispiel:

    Anhang ist eine Kurve die aus mehrere Schwingungen besteht, die Funktion Pulse() ergibt den Wert: 2


    2) Gibt es eine Funktion in Famos die die Zeitdauer einer Schwingung direkt berechnet ?

  • Ich denke, solange du keine konkrete Beschreibung hast, was du als eine Schwingung ansiehst, wird es schwer.

    Du kannst natürlich das Signal glätten und nach Vorzeichenwechsel in der ersten Ableitung suchen.

    Sicherlich kann hier das Entfernen des Drifts/Trends auch behilflich sein.


    Ansonsten denke ich, dass die Funktion "Pulse/Peaks" schon vernünftig ist.


    Hast du einen Offset (Einzelwert) subtrahiert oder ein Driftsignal?

    Sprich: Wie sieht das Signal nach dem Entfernen aus?

  • Der Offset (Y-Achse) subtrahiert:

    GRoStückVersch_ = "GRoStückVersch_" + tform(indexGrS+1,"")<br><code> <GRoStückVersch_>= <GRoStück_>- wert(<GRoStück_>,StückStart)

    <code>

    <code> PulseAnzahl_= "PulseAnzahl_"+ tform(indexGrS+1,"")<br> <PulseAnzahl_>= Pulse(<GRoStückVersch_>) <br>

    <code> PulseDuration_= "PulseDuration_"+ tform(indexGrS+1,"")<br> <PulseDuration_>= PulseDuration(<GRoStückVersch_>=0-1)<br><br> <br><br>

    <code><br><br>

  • Wie funktioniert denn die Funktion "Pulse"? --> Diese zählt die Schwingungen um die y-Achse.


    Durch Abziehen des y-Offsets (Startwert) erreichst du das nicht.

    Da kann ich verstehen, wenn die Funktion zwei Wechsel findet.

    Der Mittelwert würde schon mehr Sinn ergeben. Aber auch hier erreichst du dein Ziel nicht.


    Du müsstest einen Drift/Trend oder gleitenden Mittelwert abziehen, bei dem die Fensterbreite größer als die Schwingungsbreite ist.

    So stell ich mir das gerade im Kopf vor.


    Wenn du dein Signal als "grob" glättest, erhälst du eine Trendlinie ohne große Schwingungen.

    Wenn du diese dann abziehst, hast du ein Schwingungssignal um die 0-Linie herum.


    Darauf kannst du dann die Funktion Pulse anwenden.