FIR Filter

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

Kategorie: Daten Transformation/-Filter

Hinweis

Gilt für: Machine Learning Studio (klassisch)

Dieser Inhalt bezieht sich nur auf Studio (klassisch). Ähnliche Drag & Drop-Module wurden Azure Machine Learning-Designer hinzugefügt. Weitere Informationen finden Sie in diesem Artikel zum Vergleich der beiden Versionen.

Modulübersicht

In diesem Artikel wird beschrieben, wie Sie das FIR Filter -Modul in Azure Machine Learning Studio (klassisch) verwenden, um eine Art von Filter zu definieren, die als FIR-Filter ( Finite Impulse Response ) 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. Ein Filter kann z. b. auf Bilder angewendet werden, die im Gesundheitswesen verwendet werden, um das Gesamtbild zu schärfen, Rauschen auszuschließen oder sich auf ein Abbild Objekt zu konzentrieren.

Hinweis

Ein Filter ist eine Übertragungsfunktion, die ein Eingabe Signal annimmt und basierend auf den Filter Merkmalen 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 Apply Filter verbinden. Sie können auch den Filter 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 Sample: Verwenden Sie dieses Modul, um das Dataset nach Kriterien (z. b. einem Datumsbereich, einem bestimmten Wert oder regulären Ausdrücken) aufzuteilen oder zu filtern.
  • Clip Werte: Verwenden Sie dieses Modul, um einen Bereich festzulegen, und behalten Sie nur die Werte in diesem Bereich.

Konfigurieren des FIR-Filters

  1. Fügen Sie dem Experiment das FIR-Filter Modul hinzu. Sie finden dieses Modul unter Daten Transformation in der Kategorie Filter .

  2. Geben Sie für die Reihenfolge einen ganzzahligen Wert ein, der die Anzahl aktiver Elemente definiert, die zum beeinflussen der filterantwort verwendet werden. Die Reihenfolge des Filters stellt die Länge des Filter Fensters dar.

    Bei einem FIR-Filter ist die minimale Reihenfolge 4.

  3. Wählen Sie für Fenster die Form der Daten aus, auf die der Filter angewendet werden soll. Azure Machine Learning unterstützt die folgenden Arten von Fensterfunktionen (Windowing) für die Verwendung in FIR-Filtern:

    Hamming: das generalisierte ermittelungsfenster bietet einen Typ Gewichteter Mittelwert, der häufig bei der Bildverarbeitung und Maschinelles Sehen verwendet wird.

    Blackman: ein Blackman-Fenster wendet eine reibungslos schkurfreie 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 in das angegebene Intervall an und wendet 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.

    None: 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 für Filtertyp eine Option aus, mit der definiert wird, 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 übergibt und die höheren Werte entfernt. Beispielsweise können Sie diesen verwenden, um hochfrequentes Rauschen und Daten Spitzen aus einem Signal zu entfernen.

    Dieser Filtertyp hat einen Glättungseffekt auf die Daten.

    Highpass: "High Pass" bedeutet, dass der Filter höhere Werte durchläuft und niedrigere Werte entfernt. Sie können dies verwenden, um Daten mit geringer Frequenz, z. b. eine Abweichung oder einen Offset, von einem Signal zu entfernen.

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

    Bandpass: "Band Pass" bedeutet, dass der angegebene Bereich von Werten als durch übergeben und andere entfernt werden. Sie können diesen Filter verwenden, um die Daten aus einem Signal mit Häufigkeits Merkmalen an der Schnittmenge zwischen den hoch Pass-und tief Pass-Filtern 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.

    Bandpause: "Band Ende" bedeutet, dass die angegebenen Signatur Blöcke blockiert werden. Das heißt, dass Daten aus einem Signal mit Häufigkeits Merkmalen entfernt werden, die durch die Tiefpass-und hoch Pass-Filter abgelehnt werden.

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

  5. Abhängig vom gewählten Filtertyp müssen Sie einen oder mehrere Umstellungs Werte festlegen.

    Verwenden Sie die Optionen hohe und niedrige Umstellungs Optionen, um einen oberen und/oder einen niedrigeren Schwellenwert für Werte zu definieren. Eine oder beide dieser Optionen sind erforderlich, um anzugeben, welche Werte zurückgewiesen oder durchlaufen werden. Ein bandstopps -oder Band Pass -Filter erfordert, dass Sie sowohl hohe als auch niedrige Schwellenwerte festlegen. Bei anderen Filtertypen, wie z. b. dem tief Pass -Filter, muss nur der niedrige Schwellenwert festgelegt werden.

  6. Wählen Sie die Option Skalierung aus, wenn die Skalierung auf Koeffizienten angewendet werden soll. Andernfalls lassen Sie das Feld leer.

  7. Verbinden Sie den Filter mit 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 Apply Filter 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 Apply Filter 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 Indikator Spalte. Spaltenwerte werden immer direkt transformiert.

Beispiele

Beispiele für die Verwendung von Filtern in Machine Learning finden Sie in diesem Experiment in der Azure AI Gallery:

  • Filter: dieses Experiment veranschaulicht alle Filtertypen unter Verwendung eines konstruierten Wellenform Datasets.

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 Filter Fenster

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 zurück oder tippt auf Gewichtungen für den erstellten Filter.

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 benutzerdefinierte Filter Modul.

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 Azure Machine Learning Studio (klassisch) ist die gleiche wie in der fir1 -Funktion 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. Im Fall von FIR-Filtern werden jedoch die Eingabe-und Filterkoeffizienten (oder Tap-Gewichtungen) beim Anwenden des Filters nicht geändert.

Auswahl der Selektivität und Beendigung des Bands

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 Typ 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-Fehler Codes.

Weitere Informationen

Filter
Filter anwenden
Modulliste von A bis Z