Share via


User-Defined Filter

Erstellt ein benutzerdefiniertes FIR- oder IIR-Filter

Kategorie: Datentransformation / Filter

Hinweis

Giltnur für: Machine Learning Studio (klassisch)

Ähnliche Drag & Drop-Module sind im Azure Machine Learning-Designer verfügbar.

Modulübersicht

In diesem Artikel wird beschrieben, wie Sie das Benutzerdefinierte Filtermodul in Machine Learning Studio (klassisch) verwenden, um einen benutzerdefinierten Filter mithilfe eines finiten Impulsantwortfilters (FIR) oder eines unendlichen Impulsantwortfilters (IIR) mit Koeffizienten zu definieren, die Sie angeben.

Ein Filter ist eine Übertragungsfunktion, die ein Eingabesignal übernimmt und ein Ausgabesignal basierend auf den Filtereigenschaften erstellt. Weitere allgemeine Informationen zum Benutzer von Filtern in der digitalen Signalverarbeitung finden Sie unter Filter. Dieses Modul eignet sich besonders für die Anwendung einer Reihe zuvor abgeleiteter Filterkoeffizienten auf Ihre Daten.

Nachdem Sie einen Filter definiert haben, der Ihren Anforderungen entspricht, können Sie den Filter auf Daten anwenden, indem Sie ein Dataset und den Filter mit dem Anwenden des Filtermoduls verbinden.

Tipp

Müssen Sie Daten aus einem Dataset filtern oder fehlende Werte entfernen? Verwenden Sie stattdessen diese Module:

  • Löschen Sie fehlende Daten: Verwenden Sie dieses Modul, um fehlende Werte zu entfernen oder fehlende Werte durch Platzhalter zu ersetzen.
  • Partition und Beispiel: Verwenden Sie dieses Modul, um Das Dataset nach Kriterien wie einem Datumsbereich, einem bestimmten Wert oder regulären Ausdrücken zu trennen oder zu filtern.
  • Clip-Werte: Verwenden Sie dieses Modul, um einen Bereich festzulegen und nur die Werte innerhalb dieses Bereichs beizubehalten.

So konfigurieren Sie User-Defined Filter

  1. Fügen Sie das Modul "Benutzerdefinierter Filter " zu Ihrem Experiment in Studio (klassisch) hinzu. Dieses Modul finden Sie unter "Datentransformation" in der Kategorie "Filter ".

  2. Wählen Sie im Eigenschaftenbereich einen Filtertyp aus: FIR-Filter oder IIR-Filter.

  3. Stellen Sie die Koeffizienten bereit, die im Filter angewendet werden sollen. Die Anforderungen für die Koeffizienten unterscheiden sich je nachdem, ob Sie einen FIR-Filter oder einen IIR-Filter auswählen.

    • Bei einem FIR-Filter geben Sie einen Vektor mit Feedforward-Koeffizienten (Vorwärtskopplung) an. Die Länge des Vektors bestimmt die Ordnung des Filters. Ein FIR-Filter ist faktisch ein gleitender Durchschnitt, sodass durch die Konfigurationswerte ein gleitender Durchschnitt angewendet wird, um eine Datensequenz zu filtern.

    • Bei einem IIR-Filter wenden Sie benutzerdefinierte Feedforward- und Feedbackward-Koeffizienten an. Weitere Informationen finden Sie im Abschnitt "Beispiele " für einige Tipps.

  4. Verbinden den Filter zum Anwenden von Filtern und verbinden Sie ein Dataset.

    Verwenden Sie die Spaltenauswahl, um anzugeben, auf welche Spalten des Datasets der Filter angewendet werden soll. Standardmäßig wird das Modul "Filter anwenden " den Filter für alle ausgewählten numerischen Spalten verwenden.

  5. Führen Sie das Experiment aus.

    Die angegebenen Transformationen werden nur auf die ausgewählten numerischen Spalten angewendet, wenn Sie das Experiment mithilfe von Apply Filter ausführen.

Beispiele

Weitere Beispiele für die Verwendung von Filtern in maschinellem Lernen finden Sie im Azure AI Gallery:

  • Filter: Zeigt alle Filtertypen an. Im Beispiel wird ein konstruiertes Wellenformdataset verwendet, um die Effekte der unterschiedlichen Filter leichter veranschaulichen zu können.

FIR-Filterbeispiel: Exponentielles gewichtetes gleitendes Mittelwert

Bei einem exponentiell gewichteten, gleitenden Durchschnitt sind alle Koeffizienten kleiner als 1, und die Summe aller Koeffizienten ist gleich 1. Deshalb wird die Varianz des gewichteten Durchschnitts immer kleiner als die Eingabewerte sein.

Um mit einem FIR-Filter einen exponentiell gewichteten gleitenden Durchschnitt zu approximieren, würden Sie beispielsweise eine durch Trennzeichen getrennte Liste mit Koeffizienten als Wert für den Feedforward-Parameter angeben:

0.01818182, 0.03636364, 0.05454545, 0.07272727, 0.09090909, 0.10909091, 0.12727273, 0.14545455, 0.16363636, 0.18181818

FIR-Filterbeispiel: Exponentielles gewichtetes gleitendes Mittelwert (Deslauriers-Dubuc Interpolation)

Dieser FIR-Filter ungefährt einen triangular gewichteten Gleitwert (WMA). Sie definieren die Koeffizienten, indem Sie eine durch Komma getrennte Wertereihe für die Feed-Forward-Parameter angeben, z. B. folgende:

0.0625, 0.0625, 0.2500, 0.3750, 0.2500, 0.0625

Die in diesem benutzerdefinierten FIR-Filter verwendeten Werte stellen einen Vektor von Feed-Forward-Koeffizienten dar, die mithilfe der Deslauriers-Dubuc-Methode der endlichen Sequenzierung abgerufen werden. Weitere Informationen finden Sie unter Dubuc-Deslauriers Subdivision für finite Sequenzen und Interpolation Wavelets in einem Intervall.

IIR-Filterbeispiel: Notchfilter

Ein gutes Beispiel für eine Anwendung für einen benutzerdefinierten IIR-Filter besteht darin, einen Notchfilter zu definieren, auch als Bandtopfilter bezeichnet. Der gewünschte Notchfilter ziert ein -3dB-Ablehnungsband, fb, zentriert auf einer Notchfrequenz, fnmit einer Stichprobenfrequenz fs.

In diesem Fall kann der digitale Notchfilter durch die folgende Formel dargestellt werden:

custom notch filter example 1

Diese Formel geht davon aus:

custom notch filter

Aus dieser Formel können wir den Feed-Forward-Koeffizienten abrufen:

feed forward coefficient for custom notch filter

Die Feed-Rückwärts-Koeffizienten wären wie folgt:

feed back coefficient for custom notch filter

Beispiel für IIR-Filter: Notchfilter 2

Im folgenden Beispiel wird ein Notchfilter mit einer Notchfrequenz und einer -3 dB Ablehnungsband fb =100 Hzvon , mit der Stichprobenfrequenz fn =1250 Hzfs=10 kHzvon .

formula for notch filter example 2-1

Mit der folgenden Formel erhalten a2 = 0.93906244 Sie und a1 = 1.3711242:

formulas 2 for notch filter example 2

In diesem Fall können Sie die folgenden Feed-Forward-Koeffizienten (b) und Feed-abwärts (a) abrufen:

b= 1.9390624, -2.7422484, 1.9390624

a= 1, -1.3711242, 0.9390624

Modulparameter

Name Range type Standard BESCHREIBUNG
Filtertyp any ImpulseResponse Angeben des anzupassenden Filtertyps.
Weiter any String "1.0" Eingeben einer Reihe von Feedforward-Koeffizienten.
hinten any String "1.0" Eingeben einer Reihe von Feedbackward-Filterkoeffizienten.

Output

Name type BESCHREIBUNG
Filtern IFilter-Schnittstelle Filterimplementierung

Ausnahmen

Ausnahme Beschreibung
ParameterParsing Eine Ausnahme tritt auf, wenn mindestens ein Parameter nicht analysiert oder aus einem angegebenen Typ in den für die Zielmethode erforderlichen Typ konvertiert werden konnte.

Eine Liste der Fehler, die für Studio-Module (klassische) spezifisch sind, finden Sie unter Machine Learning Fehlercodes.

Eine Liste der API-Ausnahmen finden Sie unter Machine Learning REST-API-Fehlercodes.

Siehe auch

Anwenden eines Filters
Modulliste von A bis Z