FlexPro
HistoryBase
Engineering
Training
Downloads
FlexPro-Support
Wissen
Community
Über Uns
Referenzen
Jobs
Allgemeiner Kontakt
Händlerverzeichnis
FlexPro-Support
DE
EN
FR
Placeholder

FlexPro Dokumentation 2025

BlockCompress

Vermindert die Werteanzahl eines Datensatzes durch blockweise Operationen oder zerlegt diesen in eine Liste von Segmenten.

Syntax

BlockCompress(DataSet, XInterval, [ Output = BC_OUTPUT_MEAN ] [ , Options = BC_OPTION_RESIDUAL ])

 

Die Syntax der BlockCompress-Funktion besteht aus folgenden Teilen:

Teil

Beschreibung

DataSet

Der zu komprimierende Datensatz.

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

Für die X-Komponente gelten zusätzliche Beschränkungen.Die Werte müssen monoton wachsend sein.

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.

XInterval

Gibt die Blockgröße als X-Intervall in der Einheit der X-Komponente von DataSet an.

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

Der Wert muss größer 0 sein.

Ungültige Werte sind in diesem Argument nicht zulässig.

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

Output

Gibt an, welche Ergebnisse ausgegeben werden sollen. Wenn Sie mehrere Ergebnisse wählen, erfolgt die Ausgabe als Liste.

Das Argument Output kann folgende Werte haben:

Konstante

Bedeutung

+ BC_OUTPUT_ALL

Alle verfügbaren Ergebnisse, außer den Ergebnissen Indizes und Liste.

+ BC_OUTPUT_FIRSTVAL

Der erste Y-Wert jedes Blockes wird ins Ergebnis übernommen.

+ BC_OUTPUT_MEAN

Der arithmetische Mittelwert der Y-Werte jedes Blockes wird ins Ergebnis übernommen.

+ BC_OUTPUT_MINIMUM

Das Minimum der Y-Werte jedes Blockes wird ins Ergebnis übernommen.

+ BC_OUTPUT_MAXIMUM

Das Maximum der Y-Werte jedes Blockes wird ins Ergebnis übernommen.

+ BC_OUTPUT_RANGE

Der Bereich (Maximum minus Minimum) der Y-Werte jedes Blockes wird ins Ergebnis übernommen.

+ BC_OUTPUT_INTEGRAL

Das mit der Trapezregel gebildete Integral jedes Blockes wird ins Ergebnis übernommen.

+ BC_OUTPUT_RMS

Der quadratische Mittelwert der Y-Werte jedes Blockes wird ins Ergebnis übernommen.

+ BC_OUTPUT_INDEX

Die Indizes der Blockgrenzen werden als Datenreihe ins Ergebnis übernommen.

+ BC_OUTPUT_LIST

Das Ergebnis ist eine Liste mit je einem Element pro Block, das die Y- und X-Daten des Blockes enthält. Die Elementnamen werden aus dem Namen von DataSet durch Anhängen eines Index gebildet. In diesem Fall erfolgt keine Datenreduktion. Lediglich die ungültigen Datenpunkte werden herausgefiltert. Wenden Sie im nächsten Schritt eine beliebige Funktion von FPScript an, die Listenverarbeitung unterstützt.

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

Options

Wählt Optionen für den Algorithmus.

Das Argument Options kann folgende Werte haben:

Konstante

Bedeutung

+ BC_OPTION_RESIDUAL

Diese Option gibt auch für den unvollständigen Block am Ende des Datensatzes einen Wert aus.

+ BC_OPTION_ALIGNLIMITS

Die erste Blockgrenze wird aus dem ersten X-Wert plus der Blockgröße berechnet. Diese Option justiert (verkleinert) die Blockgrenze auf ein ganzzahliges Vielfaches der Blockgröße. Die Option wirkt sich auch auf die ausgegebenen X-Werte aus. Ist sie aktiv, werden die berechneten Blockgrenzen statt der jeweils ersten X-Werte der Blöcke ausgegeben.

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

Anmerkungen

Die Blockkompression reduziert die Daten eines Datensatzes durch blockweise Bildung eines Ergebniswertes pro Block. Es werden nur Datenpunkte in DataSet verarbeitet, deren Y- und X-Komponente gültig ist. Die Blockgröße wird hierbei als X-Intervall in einer zur Einheit der X-Komponente von DataSet kompatiblen Einheit angegeben. Ein X-Wert, der genau auf einer Blockgrenze liegt, wird dem jeweils nächsten Block zugerechnet. Die Werte in DataSet müssen nicht äquidistant abgetastet sein. Enthält ein Block keine Werte, wird der Wert des vorigen Blocks nochmals ausgegeben. Das Ergebnis ist ein Signal mit einem Wert pro Block. In die X-Komponente des Ergebnisses wird der jeweils erste X-Wert im Block übernommen.

Verfügbarkeit

FlexPro Basic, Professional, Developer Suite

Beispiele

BlockCompress(DataSet, 5 min)

Liefert die 5 Minuten Mittelwerte von DataSet.

BlockCompress(DataSet, 5 min, BC_OUTPUT_FIRSTVAL)

Reduziert die Daten von DataSet auf einen Wert pro 5 Minuten.

Signal(ListToSeries(Quantile(BlockCompress(DataSet, 5 min, BC_OUTPUT_LIST), 0.5)), BlockCompress(DataSet, 5, BC_OUTPUT_FIRSTVAL).X)

Reduziert die Daten von DataSet auf einen Medianwert pro 5 Minuten. ListToSeries(Quantile(BlockCompress(DataSet, 5 min, BC_OUTPUT_LIST), 0.5)) zerlegt die Daten in eine Liste mit Abschnitten, berechnet für jeden Abschnitt den Median und wandelt die Liste mit Einzelwerten in eine Datenreihe um. BlockCompress(DataSet, 5, BC_OUTPUT_FIRSTVAL).X liefert die ersten X-Werte der Abschnitte als Datenreihe. Mit der Funktion Signal werden die Y- und X-Datenreihen zu einem Signal zusammengefasst.

Siehe auch

Maximum-Funktion

Minimum-Funktion

Mean-Funktion

DeltaCompress-Funktion

Reduce-Funktion

LinearInterpolation-Funktion

Sample-Funktion

Resample-Funktion

Analyseobjekt Signalabtastung