LabVIEWForum.de - Periodendauer bestimmen

LabVIEWForum.de

Normale Version: Periodendauer bestimmen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,
einige Zeit bin ich ohne eine Anmeldung in diesem Forum klar gekommen, doch nun ergab sich ein Problem, welches eine direkte Frage an euch erforderlich machte:

Ich möchte ein VI erstellen, welches mir die Periodendauer eines Signals bestimmt. Das Problem ist hier, dass das Signal (sinusförmig) zwar periodisch ist, aber die Perioden nicht gleich sind (siehe Anhang). Deswegen ist die Erfassung jeder Dauer jeder Periode des ganzen Signals notwendig um mit den Ergebnissen weiter arbeiten zu können. Ziel ist es also die Zeit jeder Periode zu ermitteln und ausgeben zu lassen. Nun hatte ich schon einige Überlegungen wie ich daran gehen kann.
  • Eine Idee war die Zeit zwischen zwei steigenden Flanken oder zwei Minima/bzw. Maxima zu bestimmen, was mir nicht gelungen ist.
  • Ein zweiter Ansatz war über die einzelnen Elemente zu gehen und hier die Anzahl der Elemente zwischen einem positiven Übergang (von minus nach plus) und dem darauffolgenden positiven Übergang zu bestimmen. Über die Anzahl kann ich durch Bekanntheit der Dauer zwischen zwei Elementen so die Periodendauer einer Periode bestimmen.
    Hier hatte ich schon einige Ideen das mit Schleifen, Schieberegistern und sonstigem zu realisieren, allerdings hat das nicht geklappt.

Das Signal wird nicht mit Messkarten oder sonstigem erfasst, also sind intergrierte "Messelemente" in Karten hier natürlich nicht nutzbar.
Hat jemand eine Idee, wie ich eine meiner Ideen realisieren kann? Oder weiß jemand wie man anders daran gehen kann?


Gruß,
Enemy
Hi Enemy

Siehe mal hier.

Gruß Holger
Wow, dass das so einfach geht hätte ich nicht gedacht. Und wie kann ich die Anzahl-Differenzen zwischen den Peaks bestimmen? Da könnte ich natürlich jeden Wert einzeln aus dem entstandenen Array ziehen, allerdings soll das Programm für viele verschiedene Signale verwendet werden, die unterschiedlich "lang" sind.
Das geht mit einfachen Array-Operatonen. Das überlasse ich Deiner Kreativität.

Tip: Polymorphimus, dann wird es auch ganz übersichtlich.

Gruß Holger
Ich kenne und finde keinerlei Operatoren, die diese Funktion übernehmen könnten. Mit Polymorphismus im Labview-Sinne kann ich nichts anfangen.
Hi Enemy
I will mal nicht so sein. Ich hoffe, dass ich richtig erraten habe, was Du planst.

Gruß Holger

[attachment=42682]
Mit dieser Array-Rotation hatte ich bisher noch nicht gearbeitet. Hatte das ganze jetzt über eine Schleife und die Inkrementierung gemacht, allerdings ist deine Variante wesentlich eleganter und kürzer. Danke Top1
Referenz-URLs