DeltaCompress (FPScript)

21.09.2021

Vermindert die Werteanzahl eines Datensatzes durch Deltakompression.

Syntax

DeltaCompress(DataSet, DeltaY, [ Predecessors = 0 ] [ , Operation = EVENT_EXTRACT ])

 

Die Syntax der DeltaCompress-Funktion besteht aus folgenden Teilen:

Teil

Beschreibung

DataSet

Der zu komprimierende Datensatz.

Erlaubte Datenstrukturen sind Datenreihe, Datenmatrix, Signal und Signalreihe. Es sind alle numerischen Datentypen erlaubt.

Bei komplexen Datentypen erfolgt eine Betragsbildung.

Ist das Argument eine Liste, dann wird die Funktion für jedes Element der Liste ausgeführt und das Ergebnis ist ebenfalls eine Liste.

DeltaY

Gibt das Y-Intervall an, um das die Amplitude mindestens steigen bzw. fallen muss, damit ein Wert übernommen wird.

Erlaubte Datenstrukturen sind Einzelwert. Es sind alle numerischen Datentypen erlaubt. Die Einheit muss mit der von Parameter DataSet kompatibel sein.

Ist das Argument eine Liste, dann wird deren erstes Element entnommen. Ist dies wieder eine Liste, dann wird der Vorgang wiederholt.

Predecessors

Gibt die Anzahl der Vorgänger an, die für jeden akzeptierten Wert mit übernommen werden sollen. Verbessert die Abbildung von Flanken im komprimierten Datensatz.

Erlaubte Datenstrukturen sind Einzelwert. Es sind alle numerischen Datentypen erlaubt.

Ist das Argument eine Liste, dann wird deren erstes Element entnommen. Ist dies wieder eine Liste, dann wird der Vorgang wiederholt.

Wenn das Argument nicht angegeben wird, wird es auf den Vorgabewert 0 gesetzt.

Operation

Legt die Arbeitsweise der Funktion fest.

Das Argument Operation kann folgende Werte haben:

Konstante

Bedeutung

EVENT_INDEX

Im Ergebnis-Datensatz werden die Indizes der Werte bzw. Punkte abgelegt, die der Bedingung entsprechen.

EVENT_EXTRACT

Nur die Punkte bzw. Werte, die der Bedingung entsprechen, werden in den Ergebnis-Datensatz übertragen.

EVENT_SETVOID

Punkte bzw. Werte, die der Bedingung nicht entsprechen, werden zwar mit in den Ergebnis-Datensatz übernommen, dort aber ungültig markiert.

EVENT_DEFAULT

Entspricht EVENT_SETVOID, wenn eine Datenmatrix oder Signalreihe vorliegt, und ansonsten EVENT_INDEX.

+ EVENT_COMPLEMENT

Diese Konstante kann optional hinzu addiert werden und kehrt dann die gewählte Operation um. Es werden dann z. B. bei EVENT_EXTRACT die Punkte übernommen, die der Bedingung nicht entsprechen.

Ist das Argument eine Liste, dann wird deren erstes Element entnommen. Ist dies wieder eine Liste, dann wird der Vorgang wiederholt.

Wenn das Argument nicht angegeben wird, wird es auf den Vorgabewert EVENT_EXTRACT gesetzt.

Anmerkungen

Die Deltakompression reduziert die Daten eines Datensatzes durch Entfernen aller Werte, deren Betrag der Abweichung vom Vorgängerwert kleiner als ein vorgegebener Schwellenwert ist. Für Signale, die über weite Strecken einen konstanten Wert aufweisen, kann dies zu einer erheblichen Datenreduktion ohne großen Informationsverlust führen. Der Algorithmus verwendet zunächst den ersten Wert in DataSet, der kein ungültiger Fließkommawert ist, als ersten Stützpunkt des komprimierten Datensatzes. Für nachfolgende Werte wird der Betrag der Differenz mit dem angegebenen DeltaY verglichen. Ist diese größer als DeltaY, dann ist dieser Wert der nächste Referenzwert und er selbst und die angegebene Anzahl von Vorgängerwerten werden Bestandteil des komprimierten Datensatzes.

Verfügbarkeit

FlexPro Basic, Professional, Developer Suite

Beispiele

DeltaCompress({3, 5, 4, 2, 7, 6, 8, 1}, 1.5)

Ergibt {3, 5, 2, 7, 1}.

DeltaCompress({3, 5, 4, 2, 7, 6, 8, 1}, 1.5, 1)

Ergibt {3, 5, 4, 2, 7, 8, 1}.

Siehe auch

Reduce-Funktion

LinearInterpolation-Funktion

Sample-Funktion

Resample-Funktion

Analyseobjekt Signalabtastung

Artikel teilen oder als Email versenden:

Diese Beiträge könnten Sie ebenfalls interessieren