LevelCrossings (FPScript)

21.09.2021

Sucht nach Pegeldurchgängen in einem Datensatz.

Syntax

LevelCrossings(DataSet, Level, Hysteresis, [ Orientation = EVENT_BOTH ] [ , Operation = EVENT_DEFAULT ])

 

Die Syntax der LevelCrossings-Funktion besteht aus folgenden Teilen:

Teil

Beschreibung

DataSet

Der zu durchsuchende 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.

Level

Gibt den Pegel an, dessen Durchgänge gesucht werden.

Erlaubte Datenstrukturen sind Einzelwert. Es sind alle numerischen Datentypen erlaubt. Die Einheit muss mit der von Parameter DataSet kompatibel 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.

Hysteresis

Die Hysterese bildet ein symmetrisches Band [Pegel - Hysterese, Pegel + Hysterese] um den angegeben Pegel. Ein Pegeldurchgang wird nur dann akzeptiert, wenn der Kurvenverlauf von einer Seite in das Band eintritt und auf der anderen Seite wieder austritt.

Erlaubte Datenstrukturen sind Einzelwert. Es sind alle numerischen Datentypen erlaubt. Die Einheit muss mit der von Parameter DataSet kompatibel 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.

Orientation

Gibt die Orientierung der zu suchenden Pegeldurchgänge an.

Das Argument Orientation kann folgende Werte haben:

Konstante

Bedeutung

EVENT_POSITIVE

Nur nach steigenden Pegeldurchgängen suchen.

EVENT_NEGATIVE

Nur nach fallenden Pegeldurchgängen suchen.

EVENT_BOTH

Nach fallenden und steigenden Pegeldurchgängen suchen.

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_BOTH 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_DEFAULT gesetzt.

Anmerkungen

Die Hysterese verhindert, dass bei verrauschten Signalen eine Mehrfachdetektion von Pegelübergängen stattfindet. Falls der Kurvenverlauf vor Verlassen des Hysteresebandes mehrfach um den Pegel oszilliert, dann wird als Index der Mittelwert des ersten und des letzten Durchgangs durch den Pegel übergeben.

Verfügbarkeit

FlexPro Basic, Professional, Developer Suite

Beispiele

LevelCrossings({1, 5, 7, 4, 3}, 5, 0)

Ergibt {1L, 2L}. Das Ergebnis sind die Indizes der Stellen, an denen der Pegel durchlaufen worden ist.

Siehe auch

NextLevelCrossing-Funktion

ValuesAboveLevel-Funktion

ValuesBelowLevel-Funktion

ValuesInInterval-Funktion

Intersections-Funktion

Analyseobjekt Ereignisisolation

Artikel teilen oder als Email versenden:

Diese Beiträge könnten Sie ebenfalls interessieren