Filter (FPScript)

21.09.2021

Filtert einen Datensatz mit einem Finite Impulse Response (FIR) oder Infinite Impulse Response (IIR) Filter.

Syntax

Filter(DataSet, b, [ a ] [ , PhaseCorrection = FALSE ])
oder
Filter(DataSet, FilterCoefficients [ , PhaseCorrection = FALSE ])

 

Die Syntax der Filter-Funktion besteht aus folgenden Teilen:

Teil

Beschreibung

DataSet

Der zu filternde Datensatz.

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

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

b

Eine Datenreihe mit den Zählerkoeffizienten der Übertragungsfunktion des Filters. Im Falle eines IIR-Filters kann alternativ eine dreizeilige Matrix mit den Koeffizienten der Zähler einer Kaskade von Filtern 2. Ordnung angegeben werden.

Erlaubte Datenstrukturen sind Datenreihe, Datenmatrix und Liste. Es sind alle numerischen Datentypen erlaubt außer Kalenderzeit und Zeitspanne.

a

Eine Datenreihe mit den Nennerkoeffizienten der Übertragungsfunktion des Filters. Alternativ kann eine dreizeilige Matrix mit den Koeffizienten der Nenner einer Kaskade von Filtern 2. Ordnung verwendet werden.

Erlaubte Datenstrukturen sind Datenreihe, Datenmatrix und Liste. Es sind alle numerischen Datentypen erlaubt außer Kalenderzeit und Zeitspanne.

FilterCoefficients

Eine Liste mit den Zähler- und Nennerkoeffizienten der Übertragungsfunktion des Filters. Die Listenelemente sollten Sie mit "b" und "a" benennen. Diese können als Datenreihe oder als dreizeilige Datenmatrix für die Koeffizienten einer Kaskade von Filtern 2. Ordnung vorliegen. Wenn Sie keine Namen angeben, wird das erste Listenelement als "b" und das zweite als "a" verwendet. Wenn DataSet eine Liste ist, dann kann dieses Argument optional als Liste von Listen übergeben werden.

Erlaubte Datenstrukturen sind Liste. Es sind alle numerischen Datentypen erlaubt außer Kalenderzeit und Zeitspanne.

PhaseCorrection

Der Wert TRUE gibt an, dass nach der Filterung eine Phasenkorrektur erfolgt. Dazu wird bei Infinite-Impulse-Response (IIR) Filtern zweimal gefiltert, einmal vorwärts und einmal rückwärts. Bei Finite-Impulse-Response (FIR) Filtern erfolgt eine Phasenkorrektur über die Formel t = T/2 (L - 1), falls das Filter ungerade bzw. t = LT/2, falls das Filter gerade (L = Filterlänge) ist. Die Phasenkorrektur steht nur zur Verfügung, wenn die Option Digitale Filter lizensiert wurde.

Erlaubte Datenstrukturen sind Einzelwert. Unterstützte Datentypen sind Wahrheitswert.

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

Anmerkungen

Das Ergebnis hat die gleiche Struktur und Einheit wie das Argument DataSet.

Vor der Filterung werden die Werte in reelle bzw. komplexe 64-Bit Fließkommazahlen gewandelt. Das Ergebnis hat immer den Datentyp reelle oder komplexe 64-Bit Fließkommazahl. Wenn Nennerkoeffizienten a angegeben werden, sollte der erste Wert dieser Datenreihe oder jeweils die erste Zeile der dreizeiligen Matrix im Falle einer kaskadierten Darstellung gleich Eins sein. Ist dies nicht der Fall, dann werden die Filterkoeffizienten mit dem angegebenen Wert normiert. Der erste Wert von a darf nicht Null sein. Im Falle einer kaskadierten Darstellung darf die erste Zeile aller Spalten der dreizeiligen Matrix keine Null enthalten. Die Funktion implementiert den Filter als LTI-System mit "transposed direct form II" gemäß folgendem Blockschaltbild:

Diese Struktur entspricht folgendem Differenzengleichungssystem:

Verfügbarkeit

FlexPro Basic, Professional, Developer Suite

Beispiele

Filter(Signal, 0.25 # 4)

Glättet ein Signal mit einem gleitenden Mittelwert mit Glättungsbreite 4.

Filter(Signal, [<b> {-0.245, -0.245}, <a> {-1, 0.509} ])

Führt eine Tiefpassfilterung mit einem ein-poligen IIR-Filter durch.

Siehe auch

Filter-Funktion

FIRFilterEquiripple-Funktion

FIRFilterWindow-Funktion

IIRFilter-Funktion

Clip-Funktion

Analyseobjekt IIRFilter

Analyseobjekt FIR-Filter (Equiripple-Methode)

Analyseobjekt FIR-Filter (Fenster-Methode)

Tutorial Filter

Literatur

[1] "Oppenheim, A. V. and Schafer, R. W.": "Discrete-Time Signal Processing, 2nd Edition". "Prentice Hall, New Jersey",1999.ISBN 0-13-754920-2.

Artikel teilen oder als Email versenden:

Diese Beiträge könnten Sie ebenfalls interessieren