Effiziente Datenanalyse

23.08.2021

Die Datenanalyse von FlexPro basiert auf der leistungsfähigen Analysesprache FPScript. Neben der optimalen Einstellung der FPScript-Laufzeitumgebung und der FlexPro-Objektdatenbank spielt die richtige Anwendung von FPScript eine entscheidende Rolle für die Effizienz der Analyse. Die Vermeidung von Schleifen ist hierbei das wichtigste Kriterium beim Entwurf von Analysealgorithmen mit FPScript. Um dies zu erreichen, stehen Ihnen folgende Leistungsmerkmale von FPScript zur Verfügung:

FPScript bietet die Möglichkeit, komplette Datensätze in einfachen arithmetischen Ausdrucken zu verrechnen.

Für alle gängigen Analysen bietet FPScript eine Vielzahl eingebauter Funktionen.

Die Funktionen zur Ereignisisolation lokalisieren Ereignisse wie z. B. Extremwerte, Flanken und Pegeldurchgänge.

Der Index-Operator extrahiert einzelne Werte oder Datenausschnitte.

Mit den obigen Hilfsmitteln lassen sich Schleifen, insbesondere über alle Werte eines Datensatzes, fast immer vermeiden. Wenn sich eine Schleife über einzelne Werte in FPScript nicht vermeiden lässt, dann sollten Sie die For Each Value...End-Anweisung bevorzugen, welche von allen FPScript-Schleifen die schnellste ist.

Beispiel

Für einzelne Wellen eines Leistungssignals soll der RMS-Wert berechnet und als Datenreihe ausgegeben werden. Diese Aufgabe kann wie folgt gelöst werden:

1.Mit der LevelCrossings-Funktion die Positionen (Indizes) aller positiven Nulldurchgänge im Signal als Datenreihe ermitteln.

2.Mittels einer For-Schleife über alle Werte dieser Datenreihe laufen.

3.Für je zwei benachbarte Positionen mit dem Index-Operator den Bereich zwischen diesen beiden Indizes aus dem Signal entnehmen.

4.Für jeden so gebildeten Signalausschnitt den quadratischen Mittelwert (RMS) berechnen.

5.Mit dem Anhängen-Operator die so berechneten RMS-Werte in einer Datenreihe sammeln.

Obiges Beispiel verwendet zwar eine Schleife aber nicht über die einzelnen Werte des Datensatzes, sondern nur für die darin vorkommenden Perioden. Die Schleife ist nötig, da auch bei konstanter Abtastrate und Frequenz des Signals die Länge der einzelnen Datenausschnitte leicht variieren kann.

1.Für den Sonderfall, dass das Signal phasensynchron abgetastet wurde, z. B. mit 1000 Werten pro Periode, lässt sich die Berechnung erheblich vereinfachen:

2.Mit der NextLevelCrossing-Funktion den ersten positiven Nulldurchgang suchen und mit dem Indexoperator den Teil des Signals ab dieser Position entnehmen, um die unvollständige Welle am Anfang zu entfernen.

3.Mit der Reshape-Funktion die Datenreihe mit den N Amplitudenwerten in eine Datenmatrix mit N / 1000 Spalten und je 1000 Zeilen umwandeln. Eine eventuell am Ende des Signals vorkommende unvollständige Welle wird hierbei verworfen.

4.Für diese Datenmatrix die RMS-Werte mit der Mean-Funktion spaltenweise berechnen.

Beide Beispiele finden Sie in der FPScript-Beispieldatenbank im Ordner Wellenanalyse.

Siehe auch

FlexPro für große Datenmengen optimieren

Artikel teilen oder als Email versenden:

Diese Beiträge könnten Sie ebenfalls interessieren