ImpulseToFrequency (FPScript)
Wandelt ein Impulssignal oder ein Stufensignal in ein Frequenzsignal um.
Syntax
ImpulseToFrequency(Signal, [ N = 1 ] [ , SignalType = TYPE_IMPULSE ])
Die Syntax der ImpulseToFrequency-Funktion besteht aus folgenden Teilen:
Teil |
Beschreibung |
||||||
---|---|---|---|---|---|---|---|
Signal |
Das zu wandelnde Impulssignal oder Stufensignal. Bei einer Datenreihe wird dX gleich Eins angenommen. Erlaubte Datenstrukturen sind Datenreihe und Signal. 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. |
||||||
N |
Die Anzahl der Impulse pro Umdrehung. Erlaubte Datenstrukturen sind Einzelwert. Es sind alle numerischen Datentypen erlaubt. Der Wert muss größer 0 sein. 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 1 gesetzt. |
||||||
SignalType |
Der Typ des Eingangsdatensatzes. Das Argument SignalType kann folgende Werte haben:
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 TYPE_IMPULSE gesetzt. |
Anmerkungen
Der Datentyp des Ergebnisses ist immer 64-Bit Fließkomma.
Die Struktur des Ergebnisses entspricht der des Arguments Signal.
Die Einheit des Ergebnisses ist gleich dem Kehrwert der Einheit der X-Komponente von Signal. Im Modus TYPE_INCREMENT wird ein vorliegendes Stufensignal zuerst in ein Impulssignal umgewandelt.
Die Funktion sucht nun im Impulssignal nach den positiven Flanken der Impulse. Die Schaltschwelle wird genau in die Mitte zwischen maximalem und minimalem Wert des Impulssignals gelegt. Es wird mit einer Hysterese von 20 % gearbeitet. Die Momentanfrequenz ergibt sich als X-Differenz benachbarter Flanken dividiert durch N. Um die Anzahl der Werte im Ergebnis gleich der von Signal zu halten, wird die jeweils berechnete Frequenz solange wiederholt, bis eine neue berechnet werden kann.
Folgende Grafik zeigt ein Wobbelsignal (mit quadratisch konvexer Frequenzzunahme) und den Verlauf der Momentanfrequenz, berechnet mit Hilfe des beschriebenen Algorithmus:
Verfügbarkeit
FlexPro Basic, Professional, Developer Suite
Beispiele
ImpulseToFrequency(Signal, 6)
Wandelt ein Impulssignal in ein Frequenzsignal um. Es werden 6 Impulse pro Umdrehung angenommen.
ChangeUnit(ImpulseToFrequency(Signal, 4), "1/min")
Wandelt ein Impulssignal mit Einheit in ein Drehzahlsignal mit Einheit [1/min] um. Es werden 4 Impulse pro Umdrehung angenommen.
ImpulseToFrequency(Signal, , TYPE_INCREMENT)
Wandelt ein Stufensignal in ein Frequenzsignal um (ein Impuls pro Umdrehung angenommen). Dazu wird das Stufensignal zuerst in ein Impulssignal umgewandelt, wofür intern die Diff-Funktion verwendet wird.