Resample (FPScript)

21.09.2021

Erhöht oder vermindert die Abtastrate eines Datensatzes.

Syntax

Resample(DataSet, Factor [ , Method = RESAMPLE_FFT ])

 

Die Syntax der Resample-Funktion besteht aus folgenden Teilen:

Teil

Beschreibung

DataSet

Der Datensatz, dessen Werteanzahl vermindert werden soll.

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

Für die X-Komponente gelten zusätzliche Beschränkungen.Die Werte müssen einen konstanten Abstand haben.

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

Factor

Gibt den Faktor an, um den die Abtastrate und damit die Werteanzahl im Ergebnis verändert werden soll. Werte kleiner als Eins vermindern die Abtastrate und Werte größer als Eins erhöhen diese.

Erlaubte Datenstrukturen sind Einzelwert. Es sind alle reellen Datentypen erlaubt außer Kalenderzeit und Zeitspanne.

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.

Method

Bestimmt die zum Umabtasten zu verwendende Methode.

Das Argument Method kann folgende Werte haben:

Konstante

Bedeutung

RESAMPLE_LINEAR

Die Umabtastung erfolgt mittels linearer Interpolation.

RESAMPLE_FFT

Die Umabtastung erfolgt mittels Exact-n FFT.

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 RESAMPLE_FFT gesetzt.

Anmerkungen

Wenn DataSet keine X-Komponente enthält, dann werden automatisch X-Werte mit Null beginnend und mit Schrittweite Eins erzeugt. Enthält er eine X-Komponente, dann muss diese ein konstantes Inkrement aufweisen, d. h. die Daten müssen mit konstanter Rate abgetastet sein. Das Ergebnis ist immer ein Signal oder eine Signalreihe.

Bei der Umabtastung mittels FFT wird das Zeitsignal zunächst in den Frequenzbereich transformiert. Zur Erhöhung der Abtastrate werden dann Nullen an das Spektrum angehängt und zur Verminderung wird entsprechend ein Teil vom Spektrum abgeschnitten. Anschließend wird wieder in den Zeitbereich rücktransformiert. Die Umabtastung mittels Fourier-Transformation führt zu einem nahezu idealen Ergebnis, da bei der Erhöhung der Abtastrate keine hochfrequenten Signalanteile hinzugefügt werden und bei der Verminderung alle Spektralanteile bis zur neuen Nyquist-Frequenz erhalten bleiben. Eine exakte Rekonstruktion des ursprünglichen Zeitsignals ist jedoch wegen des Leckeffekts der FFT nicht immer möglich.

Im Idealfall ist die neue Werteanzahl (NumberOfRows(DataSet)-1) * Factor + 1, auf die nächste Ganzzahl gerundet. Bei der FFT-Methode ist dies jedoch nicht immer möglich (für nicht-ganzzahlige Werte von Factor).

Verfügbarkeit

FlexPro Basic, Professional, Developer Suite

Beispiele

Resample(Signal, 2)

Verdoppelt die Abtastrate eines Signals mittels der FFT-Methode.

Resample(Signal, 0.5, RESAMPLE_LINEAR)

Halbiert die Abtastrate eines Signals mittels linearer Interpolation.

Siehe auch

LinearInterpolation-Funktion

DeltaCompress-Funktion

Sample-Funktion

Expand-Funktion

Reduce-Funktion

Analyseobjekt Signalabtastung

Artikel teilen oder als Email versenden:

Diese Beiträge könnten Sie ebenfalls interessieren