Share via


FIR Filter

Wichtig

Der Support für Machine Learning Studio (klassisch) endet am 31. August 2024. Es wird empfohlen, bis zu diesem Datum auf Azure Machine Learning umzustellen.

Ab dem 1. Dezember 2021 können Sie keine neuen Ressourcen in Machine Learning Studio (klassisch) mehr erstellen. Bis zum 31. August 2024 können Sie die vorhandenen Ressourcen in Machine Learning Studio (klassisch) weiterhin verwenden.

Die Dokumentation zu ML Studio (klassisch) wird nicht mehr fortgeführt und kann künftig nicht mehr aktualisiert werden.

Erstellt ein FIR-Filter (Finite Impulse Response) für die Signalverarbeitung

Kategorie: Datentransformation/Filter

Hinweis

Gilt nur 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 FIR Filter-Modul in Machine Learning Studio (klassisch) verwenden, um eine Art von Filter zu definieren, der als FIR-Filter bezeichnet wird. Für FIR-Filter gibt es viele Anwendungsmöglichkeiten in der Signalverarbeitung, und sie werden am häufigsten bei Anwendungen eingesetzt, die einen linearen Phasengang erfordern. Beispielsweise kann ein Filter auf Bilder angewendet werden, die im Gesundheitswesen verwendet werden, um das Gesamtbild zu schärfen, Rauschen zu vermeiden oder sich auf ein abgebildetes Objekt zu konzentrieren.

Hinweis

Ein Filter ist eine Übertragungsfunktion, die ein Eingabesignal annimmt und basierend auf den Filtermerkmalen ein Ausgabesignal erstellt. Weitere allgemeine Informationen zum Benutzer von Filtern bei der digitalen Signalverarbeitung finden Sie unter Filter.

Nachdem Sie einen Filter für die digitale Signalverarbeitung definiert haben, können Sie den Filter auf Daten anwenden, indem Sie ein Dataset und den Filter mit dem Modul Filter anwenden verbinden. Sie können den Filter auch für die Wiederverwendung mit ähnlichen Datasets speichern.

Tipp

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

  • Fehlende Daten bereinigen: Verwenden Sie dieses Modul, um fehlende Werte zu entfernen oder fehlende Werte durch Platzhalter zu ersetzen.
  • Partition und Beispiel: Verwenden Sie dieses Modul, um Ihr Dataset nach Kriterien wie einem Datumsbereich, einem bestimmten Wert oder regulären Ausdrücken zu unterteilen oder zu filtern.
  • Clip Values (Clipwerte): Verwenden Sie dieses Modul, um einen Bereich festzulegen und nur die Werte innerhalb dieses Bereichs beizubehalten.

Konfigurieren des FIR-Filters

  1. Fügen Sie ihrem Experiment das Modul FIR Filter hinzu. Sie finden dieses Modul unter Datentransformation in der Kategorie Filter .

  2. Geben Sie unter Reihenfolge einen ganzzahligen Wert ein, der die Anzahl der aktiven Elemente definiert, die verwendet werden, um die Antwort des Filters zu beeinflussen. Die Reihenfolge des Filters stellt die Länge des Filterfensters dar.

    Bei einem FIR-Filter beträgt die Mindestreihenfolge 4.

  3. Wählen Sie unter Fenster die Form der Daten aus, auf die der Filter angewendet wird. Machine Learning unterstützt die folgenden Arten von Windowingfunktionen für die Verwendung in finiten Filtern für Dienungsantworten:

    Diesesgeneralisierte Fenster stellt eine Art gewichteter Mittelwerte bereit, die häufig in der Bildverarbeitung und beim Sehen von Computern verwendet wird.

    Blackman: Ein Blackman-Fenster wendet eine reibungslos konterierte Kurvenfunktion auf das Signal an. Das Blackman-Fenster verfügt über eine bessere Sperrdämpfung als andere Fensterarten.

    Rechteckig: Ein rechteckiges Fenster wendet einen konsistenten Wert innerhalb des angegebenen Intervalls und keinen Wert an anderer Stelle an. Das einfachste Rechteckfenster ersetzt n Werte in einer Datenfolge durch Nullen, wodurch der Eindruck entsteht, dass das Signal plötzlich ein- bzw. ausgeschaltet wird.

    Ein Rechteckfenster wird auch als Boxcar oder Dirichlet-Fenster bezeichnet.

    Dreieckig: Ein dreieckiges Fenster wendet Filterkoeffizienten schrittweise an. Der aktuelle Wert wird an der Spitze des Dreiecks angezeigt und nimmt dann mit den vorhergehenden oder nachfolgenden Werten ab.

    Keine: In einigen Anwendungen ist es vorzuziehen, keine Windowingfunktionen zu verwenden. Wenn beispielsweise das Signal, das Sie analysieren, bereits ein Fenster oder einen Burst darstellt, könnte die Anwendung einer Fensterfunktion den Signal-Rausch-Abstand (SNR) verschlechtern.

  4. Wählen Sie unter Filtertyp eine Option aus, die definiert, wie der Filter angewendet wird. Sie können angeben, dass das Filter die Zielwerte ausschließen, die Werte ändern, die Werte ablehnen oder sie durchlassen soll.

    Lowpass: "Low pass" bedeutet, dass der Filter niedrigere Werte durchläuft und die höheren Werte entfernt. Sie können dies beispielsweise verwenden, um hochfrequentes Rauschen und Datenspitzen aus einem Signal zu entfernen.

    Dieser Filtertyp hat einen Glättungseffekt auf die Daten.

    Highpass: "Hoher Durchlauf" bedeutet, dass der Filter höhere Werte durchläuft und niedrigere Werte entfernt. Sie können dies verwenden, um Daten mit niedriger Frequenz, z. B. einen Voreingenommenheits- oder Offsetwert, aus einem Signal zu entfernen.

    Dieser Filtertyp erhält dabei plötzliche Änderungen sowie Spitzen (Peaks) in einem Signal.

    Bandpass: "Bandpass" bedeutet, dass er das angegebene Werteband übergibt und andere entfernt. Sie können diesen Filter verwenden, um die Daten aus einem Signal mit Frequenzmerkmalen an der Schnittmenge zwischen den Filtern highpass und lowpass beizubehalten.

    Bandpassfilter werden durch Kombination eines Hochpassfilters mit einem Tiefpassfilter erstellt. Die Grenzfrequenz des Hochpassfilters stellt den unteren Grenzwert und die Frequenz des Tiefpassfilters den oberen Grenzwert dar.

    Dieser Filtertyp eignet sich gut zum Entfernen von Verzerrungen (Bias) sowie zum Glätten eines Signals.

    Bandstop: "Band stop" bedeutet, dass angegebene Sigale blockiert werden. Anders ausgedrückt: Daten werden aus einem Signal mit Frequenzmerkmalen entfernt, die durch die Filter "Low Pass" und "highpass" abgelehnt werden.

    Dieser Filtertyp eignet sich gut für die Erhaltung der Signalverzerrung (Bias) und plötzlicher Signaländerungen.

  5. Abhängig vom ausgewählten Filtertyp müssen Sie mindestens einen Cutoff-Wert festlegen.

    Verwenden Sie die Optionen High cutoff und Low cutoff , um einen oberen und/oder einen niedrigeren Schwellenwert für Werte zu definieren. Eine oder beide dieser Optionen sind erforderlich, um anzugeben, welche Werte abgelehnt oder übergeben werden. Ein Bandtop - oder Bandpassfilter erfordert, dass Sie sowohl hohe als auch niedrige Cutoffwerte festlegen. Andere Filtertypen, z. B. der Lowpass-Filter , erfordern, dass Sie nur den niedrigen Cutoffwert festlegen.

  6. Wählen Sie die Option Skalieren aus, wenn die Skalierung auf Koeffizienten angewendet werden soll. Lassen Sie andernfalls leer.

  7. Verbinden den Filter auf Filter anwenden, und verbinden Sie ein Dataset.

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

  8. Führen Sie das Experiment aus.

    Es werden keine Berechnungen ausgeführt, bis Sie ein Dataset mit dem Modul Filter anwenden verbinden und das Experiment ausführen. An diesem Punkt wird die angegebene Transformation auf die ausgewählten numerischen Spalten angewendet.

Hinweis

Das FIR Filter-Modul bietet keine Option zum Erstellen einer Indikatorspalte. Spaltenwerte werden immer an Ort und Stelle transformiert.

Beispiele

Beispiele für die Verwendung von Filtern beim maschinellen Lernen finden Sie in diesem Experiment im Azure KI-Katalog:

  • Filter: In diesem Experiment werden alle Filtertypen mithilfe eines entwickelten Wellenformdatasets veranschaulicht.

Technische Hinweise

Dieser Abschnitt enthält Implementierungsdetails, Tipps und Antworten auf häufig gestellte Fragen.

Details zur Implementierung

FIR-Filter haben folgende Eigenschaften:

  • FIR-Filter besitzen kein Feedback, d. h., sie verwenden die Ausgaben des vorherigen Filters.
  • FIR-Filter sind stabiler, weil die Impulsantwort immer zu 0 zurückkehrt.
  • FIR-Filter müssen von höherer Ordnung sein, um dieselbe Selektivität wie IIR-Filter (Infinite Impulse Response, endliche Impulsantwort) zu erzielen.
  • Wie andere Filter auch kann das FIR-Filter mit einer bestimmten Grenzfrequenz entworfen werden, die Frequenzen, aus denen das Signal besteht, passieren lässt oder blockiert.

Berechnen von Koeffizienten über das Filterfenster

Der Fenstertyp bestimmt den Ausgleich zwischen Selektivität (Breite des Übergangsbands, innerhalb dessen Frequenzen weder vollständig passieren dürfen noch vollständig gesperrt werden) und Unterdrückung (die vollständige Dämpfung von zu sperrenden Frequenzen). Die Fensterfunktion wird auf die ideale Filterantwort angewendet, um außerhalb des Fensters einen Frequenzgang von 0 zu erzwingen. Koeffizienten werden durch Abtasten des Frequenzgangs innerhalb des Fensters ausgewählt.

Die Anzahl der vom FIR Filter-Modul zurückgegebenen Koeffizienten ist gleich der Ordnung des Filters plus eins. Die Werte der Koeffizienten werden durch Filterparameter und die Fenstermethode bestimmt und sind symmetrisch, um einen linearen Phasengang zu garantieren.

Skalieren von Koeffizienten

Das FIR Filter-Modul gibt Filterkoeffizienten oder Tippgewichtungen für den erstellten Filter zurück.

Die Koeffizienten werden durch den Filter auf Grundlage der von Ihnen eingegebenen Parameter bestimmt (z. B. die Ordnungszahl). Wenn Sie benutzerdefinierte Koeffizienten angeben möchten, verwenden Sie das Modul Benutzerdefinierter Filter .

Wenn Scale auf True festgelegt ist, werden Filterkoeffizienten so normalisiert, dass der Amplitudengang des Filters bei der Mittenfrequenz des Passbands 0 ist. Die Implementierung der Normalisierung in Machine Learning Studio (klassisch) ist die gleiche wie in der funktion fir1 in MATLAB.

In der Regel entwerfen Sie in der Fensterdesignmethode einen idealen IIR-Filter (Infinite Impulse Response). Die Fensterfunktion wird auf die Wellenform im Zeitbereich angewendet, wobei die endliche Impulsantwort mit der Fensterfunktion multipliziert wird. Dies resultiert im Frequenzgang des IIR-Filters, der mit dem Frequenzgang der Fensterfunktion gefaltet wird. Bei FIR-Filtern sind die Eingabe- und Filterkoeffizienten (oder Tippgewichtungen) beim Anwenden des Filters jedoch konvolviert.

Selektivität und Beendigung der Banddämpfung

In der folgenden Tabelle wird die Selektivität mit der Sperrdämpfung für ein FIR-Filter der Länge n unter Verwendung verschiedener Fenstermethoden verglichen:

Fenstertyp Übergangsbereich Minimale Sperrdämpfung
Rechteck 0,041n 21 dB
Triangle 0,11n 26 dB
Hann 0,12n 44 dB
Hamming 0,23n 53 dB
Blackman 0,2n 75 dB

Modulparameter

Name Range type Standard Beschreibung
Auftrag >=4 Integer 5 Angeben der Ordnungszahl des Filters.
Fenster Any WindowType Angeben des anzuwendenden Fenstertyps.
Filtertyp Any FilterType LowPass Auswählen des zu erstellenden Filtertyps.
Low cutoff [double.Epsilon;.9999999] Float 0,3 Festlegen der unteren Grenzfrequenz.
High cutoff [double.Epsilon;.9999999] Float 0.7 Festlegen der oberen Grenzfrequenz.
Skalieren Any Boolean True Bei "true" werden die Filterkoeffizienten normalisiert.

Output

Name Type BESCHREIBUNG
Filtern IFilter-Schnittstelle Filterimplementierung

Ausnahmen

Ausnahme Beschreibung
NotInRangeValue Eine Ausnahme tritt auf, wenn der Parameter nicht im Bereich liegt.

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

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

Siehe auch

Filter
Anwenden eines Filters
Modulliste von A bis Z