FIR-filter

Belangrijk

De ondersteuning voor Azure Machine Learning-studio (klassiek) eindigt op 31 augustus 2024. U wordt aangeraden om vóór die datum over te stappen naar Azure Machine Learning.

Vanaf 1 december 2021 kunt u geen nieuwe resources voor Azure Machine Learning-studio (klassiek) meer maken. Tot en met 31 augustus 2024 kunt u de bestaande resources van Azure Machine Learning-studio (klassiek) blijven gebruiken.

De documentatie van ML-studio (klassiek) wordt buiten gebruik gesteld en wordt in de toekomst mogelijk niet meer bijgewerkt.

Hiermee maakt u een eindig filter voor reactiereacties voor signaalverwerking

Categorie: Gegevenstransformatie/-filter

Notitie

Van toepassing op: Machine Learning Studio (klassiek)

Vergelijkbare modules met slepen en neerzetten zijn beschikbaar in Azure Machine Learning designer.

Moduleoverzicht

In dit artikel wordt beschreven hoe u de fir-filtermodule in Machine Learning Studio (klassiek) gebruikt om een soort filter te definiëren dat een fir-filter (finite response) wordt genoemd. FIR-filters hebben veel toepassingen voor signaalverwerking en worden het meest gebruikt in toepassingen waarvoor een lineaire-faserespons is vereist. Een filter kan bijvoorbeeld worden toegepast op afbeeldingen die in de gezondheidszorg worden gebruikt om de algehele afbeelding te slepen, ruis te elimineren of om te focussen op een afbeeldingsobject.

Notitie

Een filter is een overdrachtsfunctie die een invoersignaal gebruikt en een uitvoersignaal maakt op basis van de filterkenmerken. Zie Filter voor meer algemene informatie over de gebruiker van filters in digitale signaalverwerking.

Nadat u een filter voor digitale signaalverwerking hebt gedefinieerd, kunt u het filter toepassen op gegevens door een gegevensset en het filter te verbinden met de module Filter toepassen. U kunt het filter ook opslaan voor opnieuw gebruik met vergelijkbare gegevenssets.

Tip

Moet u gegevens uit een gegevensset filteren of ontbrekende waarden verwijderen? Gebruik in plaats daarvan deze modules:

  • Ontbrekende gegevens ops schonen: gebruik deze module om ontbrekende waarden te verwijderen of ontbrekende waarden te vervangen door tijdelijke aanduidingen.
  • Partitie en voorbeeld: gebruik deze module om uw gegevensset te delen of te filteren op criteria zoals een bereik van datums, een specifieke waarde of reguliere expressies.
  • Waarden vastborden: gebruik deze module om een bereik in te stellen en alleen de waarden binnen dat bereik te houden.

FIR-filter configureren

  1. Voeg de module FIR Filter toe aan uw experiment. U vindt deze module onder Gegevenstransformatie in de categorie Filter.

  2. Bij Volgorde typt u een geheel getal dat het aantal actieve elementen definieert dat wordt gebruikt om het antwoord van het filter te beïnvloeden. De volgorde van het filter geeft de lengte van het filtervenster aan.

    Voor een FIR-filter is de minimale volgorde 4.

  3. Selecteer bij Venster de vorm van de gegevens waarop het filter wordt toegepast. Machine Learning biedt ondersteuning voor de volgende typen vensterfuncties voor gebruik in eindige filterreacties:

    Hamming: Het ge generaliseerde Hamming-venster biedt een type gewogen gemiddelde, dat vaak wordt gebruikt in beeldverwerking en Computer Vision.

    Blackman: In een Blackman-venster wordt een soepel tapered curvefunctie toegepast op het signaal. Het Blackman-venster heeft een betere stopband-attenuatie dan andere venstertypen.

    Rechthoekig: in een rechthoekig venster wordt een consistente waarde binnen het opgegeven interval toegepast en wordt elders geen waarde toegepast. Het eenvoudigste rechthoekige venster kan n waarden in een gegevensreeks vervangen door nullen, waardoor het lijkt alsof het signaal plotseling wordt in- en uitgeschakeld.

    Een rechthoekig venster wordt ook wel een boxcar- of Dihoklet-venster genoemd.

    Triangular: in een triangular venster worden filtercoëfficiënten stap voor stap toegepast. De huidige waarde wordt weergegeven op de piek van de driehoek en vervolgens afneemt met de voorgaande of volgende waarden.

    Geen: In sommige toepassingen is het beter om geen vensterfuncties te gebruiken. Als het signaal dat u analyseert bijvoorbeeld al een venster of burst vertegenwoordigt, kan het toepassen van een vensterfunctie de verhouding van signaal naar ruis verminderen.

  4. Selecteer bij Filtertype een optie die definieert hoe het filter wordt toegepast. U kunt opgeven dat het filter de doelwaarden uitsluit, de waarden wijzigt, de waarden weigert of doorgeeft.

    Lowpass: 'Lage pass' betekent dat het filter lagere waarden doorstaat en de hogere waarden verwijdert. U kunt dit bijvoorbeeld gebruiken om ruis met hoge frequentie en gegevenspieken uit een signaal te verwijderen.

    Dit filtertype heeft een vloeiend effect op de gegevens.

    Highpass: 'High pass' betekent dat het filter hogere waarden doorstaat en lagere waarden verwijdert. U kunt dit gebruiken om gegevens met een lage frequentie, zoals een bias of offset, uit een signaal te verwijderen.

    Dit filtertype behoudt plotselinge wijzigingen en pieken in een signaal.

    Bandpass: 'Band pass' betekent dat deze door de opgegeven band met waarden wordt slaagt en andere waarden verwijdert. U kunt dit filter gebruiken om de gegevens van een signaal met frequentiekenmerken op het snijpunt tussen de highpass- en lowpass-filters te behouden.

    Bandpass-filters worden gemaakt door een highpass-filter en een lowpass-filter te combineren. De highpass filter cutoff frequentie vertegenwoordigt de lagere cutoff en de lagepass filterfrequentie vertegenwoordigt de hogere cutoff.

    Dit filtertype is goed in het verwijderen van vooroordelen en het vloeiend maken van een signaal.

    Bandstop: "Band stop" betekent dat opgegeven sigals worden blokkeert. Met andere woorden, hiermee verwijdert u gegevens uit een signaal met frequentiekenmerken die worden geweigerd door de filters voor lage pass en highpass.

    Dit filtertype is goed in het behouden van de signaalvooroordelen en plotselinge wijzigingen.

  5. Afhankelijk van het type filter dat u hebt gekozen, moet u een of meer grenswaarden instellen.

    Gebruik de opties Hoge grens enLage grens om een boven- en/of een lagere drempelwaarde voor waarden te definiëren. Een of beide van deze opties zijn vereist om op te geven welke waarden worden afgewezen of doorgegeven. Voor een bandstop - of bandpass-filter moet u zowel hoge als lage grenswaarden instellen. Voor andere filtertypen, zoals het filter lowpass , moet u alleen de lage cutoff-waarde instellen.

  6. Selecteer de optie Schalen als schalen moet worden toegepast op coëfficiënten; laat anders leeg.

  7. Verbinding maken filter op Filter toepassen en verbinding maken met een gegevensset.

    Gebruik de kolom selector om op te geven op welke kolommen het filter moet worden toegepast. De module Filter toepassen gebruikt standaard het filter voor alle geselecteerde numerieke kolommen.

  8. Voer het experiment uit.

    Er worden geen berekeningen uitgevoerd totdat u een gegevensset verbindt met de module Filter toepassen en het experiment hebt uitgevoerd. Op dat moment wordt de opgegeven transformatie toegepast op de geselecteerde numerieke kolommen.

Notitie

De FIR-filtermodule biedt niet de optie om een indicatorkolom te maken. Kolomwaarden worden altijd op hun plaats getransformeerd.

Voorbeelden

Voor voorbeelden van hoe filters worden gebruikt in machine learning, zie dit experiment in de Azure AI Gallery:

  • Filters: In dit experiment worden alle filtertypen gedemonstreerd, met behulp van een ontworpen Waveform-gegevensset.

Technische opmerkingen

Deze sectie bevat implementatiedetails, tips en antwoorden op veelgestelde vragen.

Implementatiegegevens

FIR-filters hebben de volgende kenmerken:

  • FIR-filters hebben geen feedback; Dat wil zeggen dat ze de vorige filteruitvoer gebruiken.
  • FIR-filters zijn stabieler, omdat het reactievermogen altijd terugkeert naar 0.
  • Voor FIR-filters is een hogere volgorde vereist om dezelfde selectiviteit te bereiken als filters voor een oneindig antwoord (IIR).
  • Net als andere filters kan het FIR-filter worden ontworpen met een specifieke cutoff-frequentie die frequenties behoudt of weigert die het signaal vormen.

Coëfficiënten berekenen in het filtervenster

Het venstertype bepaalt de balans tussen selectiviteit (breedte van de overgangsband waarin frequenties niet volledig worden geaccepteerd of afgewezen) en onderdrukking (de totale verdrukking van frequenties die moeten worden geweigerd). De vensterfunctie wordt toegepast op het ideale filterreactie om de frequentierespons buiten het venster naar nul af te dwingen. Coëfficiënten worden geselecteerd door een steekproef te nemen van de frequentierespons binnen het venster.

Het aantal coëfficiënten dat door de FIR-filtermodule wordt geretourneerd, is gelijk aan de filterorder plus één. De coëfficiëntwaarden worden bepaald door filterparameters en door de windowing-methode en zijn symmetrisch om een lineaire fasereactie te garanderen

Schalen van coëfficiënten

De MODULE FIR-filter retourneert filtercoëfficiënten of tikgewichten voor het gemaakte filter.

De coëfficiënten worden bepaald door het filter, op basis van de parameters die u opstelt (zoals de volgorde). Als u aangepaste coëfficiënten wilt opgeven, gebruikt u de module Door de gebruiker gedefinieerd filter .

Wanneer Schaal is ingesteld op Waar, worden filtercoëfficiënten genormaliseerd, zodat de magnitudereactie van het filter bij de middelste frequentie van de passband 0 is. De implementatie van normalisatie in Machine Learning Studio (klassiek) is hetzelfde als in de functie fir1 in MATLAB.

Normaal gesproken ontwerpt u in de ontwerpmethode voor vensters een ideaal IIR-filter (Infinite Infinite Infinite Response). De vensterfunctie wordt toegepast op de golfvorm in het tijddomein en vermenigvuldigt het oneindige antwoord met de vensterfunctie. Dit resulteert in de frequentiereactie van het IIR-filter die is geconvolveerd met de frequentie-respons van de vensterfunctie. In het geval van FIR-filters zijn de invoer- en filtercoëfficiënten (of tikgewichten) echter convolved bij het toepassen van het filter.

Selectivity and stop band attenuation

De volgende tabel vergelijkt selectiviteit met stop-band-attenuatie voor een FIR-filter met lengte n met behulp van verschillende venstermethoden:

Venstertype Overgangsregio Minimale stopband-attenuatie
Rechthoekig knipsel 0.041n 21 dB
Driehoek 0.11n 26 dB
Hann 0,12n 44 dB
Hamming 0,23n 53 dB
Blackman 0,2n 75 dB

Moduleparameters

Name Bereik Type Standaard Beschrijving
Volgorde >= 4 Geheel getal 5 De filterorder opgeven
Venster Alle WindowType Geef het type venster op dat moet worden toegepast
Filtertype Alle Filtertype LowPass Selecteer het type filter dat u wilt maken
Lage cutoff [dubbel. Epsilon;. 9999999] Float 0,3 De frequentie van een lage cutoff instellen
Hoge cutoff [dubbel. Epsilon;. 9999999] Float 0,7 De hoge cutofffrequentie instellen
Schalen Alle Boolean-waarde True Indien waar, worden filtercoëfficiënten genormaliseerd

Uitvoer

Naam Type Description
Filter Interface IFilter Implementatie van filters

Uitzonderingen

Uitzondering Description
NotInRangeValue Uitzondering treedt op als parameter zich niet binnen het bereik.

Zie Foutcodes voor een lijst met fouten die specifiek zijn Machine Learning voor Studio-modules (klassiek).

Zie Foutcodes voor een lijst Machine Learning REST API API-uitzonderingen.

Zie ook

Filter
Filter toepassen
Lijst met A-Z-modules