FIR-filter

Viktigt

Stödet för Machine Learning Studio (klassisk) upphör den 31 augusti 2024. Vi rekommenderar att du byter till Azure Machine Learning innan dess.

Från och med den 1 december 2021 kan du inte längre skapa nya Machine Learning Studio-resurser (klassisk). Du kan fortsätta att använda befintliga Machine Learning Studio-resurser (klassisk) till och med den 31 augusti 2024.

Dokumentationen om ML Studio (klassisk) håller på att dras tillbaka och kanske inte uppdateras i framtiden.

Skapar ett begränsat svarsfilter för respons för signalbearbetning

Kategori: Datatransformering/filter

Anteckning

Gäller endast för: Machine Learning Studio (klassisk)

Liknande dra och släpp-moduler är tillgängliga i Azure Machine Learning designer.

Modulöversikt

I den här artikeln beskrivs hur du använder FIR-filtermodulen i Machine Learning Studio (klassisk) för att definiera en typ av filter som kallas FIR-filter (Finite Response Response). FIR-filter har många program för signalbearbetning och används oftast i program som kräver ett linjärt fassvar. Ett filter kan till exempel tillämpas på bilder som används inom hälsovården för att göra bilden bättre, eliminera brus eller fokusera på ett avbildat objekt.

Anteckning

Ett filter är en överföringsfunktion som tar en indatasignal och skapar en utdatasignal baserat på filteregenskaperna. Mer allmän information om användaren av filter i digital signalbearbetning finns i Filter.

När du har definierat ett filter för digital signalbearbetning kan du tillämpa filtret på data genom att ansluta en datauppsättning och filtret till modulen Tillämpa filter. Du kan också spara filtret för vidare användning med liknande datamängder.

Tips

Behöver du filtrera data från en datauppsättning eller ta bort värden som saknas? Använd de här modulerna i stället:

  • Rensa data som saknas: Använd den här modulen för att ta bort saknade värden eller ersätta saknade värden med platshållare.
  • Partition och exempel: Använd den här modulen för att dela upp eller filtrera datauppsättningen efter kriterier, till exempel ett datumintervall, ett specifikt värde eller reguljära uttryck.
  • Clip Values (Klipp ut värden): Använd den här modulen för att ange ett intervall och endast behålla värdena inom det intervallet.

Så här konfigurerar du FIR-filter

  1. Lägg till FIR-filtermodulen i experimentet. Du hittar den här modulen under Datatransformering i kategorin Filter.

  2. I Order anger du ett heltalsvärde som definierar antalet aktiva element som används för att påverka filtrets svar. Filtrets ordning representerar filterfönstrets längd.

    För ett FIR-filter är den minsta ordningen 4.

  3. I Fönstret väljer du formen på de data som filtret ska tillämpas på. Machine Learning har stöd för följande typer av fönsterfunktioner för användning i begränsade filter för svarssvar:

    Hamming: Det generaliserade Hamming-fönstret ger en typ av viktat medelvärde, som ofta används för bildbearbetning och datorseende.

    Blackman: Ett Blackman-fönster använder en smidigt avsmalnande kurva för signalen. Blackman-fönstret har bättre stopband-attenuation än andra fönstertyper.

    Rektangulär: Ett rektangulärt fönster tillämpar ett konsekvent värde inom det angivna intervallet och tillämpar inget värde någon annanstans. Det enklaste rektangulära fönstret kan ersätta n värden i en datasekvens med nollor, vilket gör att det ser ut som om signalen plötsligt slås på och av.

    Ett rektangulärt fönster kallas även för en boxcar- ellerDirichlet-fönster.

    Triangular: Ett triangularfönster tillämpar filterkoefficienter steg för steg. Det aktuella värdet visas vid toppen av triangeln och sedan minskar det med föregående eller efterföljande värden.

    Ingen: I vissa program är det bättre att inte använda fönsterfunktioner. Om den signal som du analyserar till exempel redan representerar ett fönster eller en burst kan tillämpning av en fönsterfunktion försämra förhållandet mellan signal och brus.

  4. För Filtertyp väljer du ett alternativ som definierar hur filtret tillämpas. Du kan ange att filtret exkluderar målvärdena, ändrar värdena, avvisar värdena eller skickar dem vidare.

    Lowpass: "Låg pass" innebär att filtret passerar genom lägre värden och tar bort de högre värdena. Du kan till exempel använda detta för att ta bort brus med hög frekvens och datatoppar från en signal.

    Den här filtertypen har en utjämnande effekt på data.

    Highpass: "High pass" innebär att filtret passerar genom högre värden och tar bort lägre värden. Du kan använda detta för att ta bort data med låg frekvens, till exempel en bias eller offset, från en signal.

    Den här filtertypen bevarar plötsliga ändringar och toppar i en signal.

    Bandpass: "Band pass" innebär att den skickar ett angivet värdeband och tar bort andra. Du kan använda det här filtret för att bevara data från en signal med frekvensegenskaper i skärningspunkten mellan filtren highpass och lowpass.

    Bandpass-filter skapas genom att kombinera ett highpass- och ett lowpass-filter. Frekvensen för högpassfilters cutoff representerar den lägre cutoff-frekvensen och filterfrekvensen för lowpass representerar den högre klippningen.

    Den här filtertypen är bra på att ta bort en bias och jämna ut en signal.

    Bandtop: "Band stop" innebär att den blockerar angivna sigaler. Med andra ord tar den bort data från en signal med frekvensegenskaper som avvisas av filtren low pass och highpass.

    Den här filtertypen är bra för att bevara signalfördomar och plötsliga ändringar.

  5. Beroende på vilken typ av filter du har valt måste du ange ett eller flera cutoff-värden.

    Använd alternativen Hög gräns ochLåg gräns för att definiera ett övre och/eller ett lägre tröskelvärde för värden. Ett eller båda av dessa alternativ krävs för att ange vilka värden som avvisas eller skickas. Ett bandtop - eller bandpass-filter kräver att du anger både höga och låga cutoff-värden. Andra filtertyper, till exempel lowpass-filtret , kräver att du endast anger det låga cutoff-värdet.

  6. Välj alternativet Skala om skalning ska tillämpas på koefficienter. lämna annars tomt.

  7. Anslut filtret för att tillämpa filtret och ansluta en datauppsättning.

    Använd kolumnväljaren för att ange vilka kolumner som filtret ska tillämpas på. Som standard använder modulen Använd filter filtret för alla valda numeriska kolumner.

  8. Kör experimentet.

    Inga beräkningar utförs förrän du ansluter en datauppsättning till modulen Tillämpa filter och kör experimentet. Då tillämpas den angivna transformeringen på de valda numeriska kolumnerna.

Anteckning

FIR-filtermodulen ger inte möjlighet att skapa en indikatorkolumn. Kolumnvärden transformeras alltid på plats.

Exempel

Exempel på hur filter används i maskininlärning finns i det här experimentet i Azure AI Gallery:

  • Filter: Det här experimentet visar alla filtertyper med hjälp av en utformad vågformsdatamängd.

Teknisk information

Det här avsnittet innehåller implementeringsinformation, tips och svar på vanliga frågor.

Implementeringsdetaljer

FIR-filter har följande egenskaper:

  • FIR-filter har ingen feedback; Det innebär att de använder föregående filterutdata.
  • FIR-filter är mer stabila eftersom svarssvaret alltid återgår till 0.
  • FIR-filter kräver en högre ordning för att uppnå samma selektivitet som IIR-filter (Infinite Infinite Response).
  • Precis som andra filter kan FIR-filtret utformas med en specifik cutoff-frekvens som bevarar eller avvisar frekvenser som utgör signalen.

Beräkna koefficienter över filterfönstret

Fönstertypen avgör avvägningen mellan selektivitet (bredden på övergångsband där frekvenserna varken godkänns helt eller avvisas) och undertryckning (den totala attenuationen av frekvenser som ska avvisas). Fönsterfunktionen tillämpas på det perfekta filtersvaret för att tvinga frekvenssvaret till noll utanför fönstret. Koefficienter väljs genom att sampling av frekvenssvaret i fönstret.

Antalet koefficienter som returneras av FIR-filtermodulen är lika med filterordningen plus en. Koefficientvärdena bestäms av filterparametrar och fönstermetoden och är symmetriska för att garantera ett linjär fassvar

Skalning av koefficienter

MODULEN FIR-filter returnerar filterkoefficienter, eller tryckvikter, för det skapade filtret.

Koefficienterna bestäms av filtret, baserat på de parametrar som du anger (till exempel ordningen). Om du vill ange anpassade koefficienter använder du modulen Användardefinierat filter.

När Skala är inställt på Sant normaliseras filterkoefficienterna, så att filtrets storlekssvar vid mittenfrekvensen för passband är 0. Implementeringen av normalisering i Machine Learning Studio (klassisk) är samma som i funktionen fir1 i MATLAB.

I fönsterdesignmetoden utformar du vanligtvis ett perfekt IIR-filter (Infinite Infinite Response). Fönsterfunktionen tillämpas på vågformen i tidsdomänen och multiplicerar det oändliga svarssvaret med fönsterfunktionen. Detta resulterar i att frekvenssvaret för IIR-filtret konvolved med frekvenssvaret för fönsterfunktionen. Men när det gäller FIR-filter, konvolveras indata- och filterkoefficienterna (eller tryckvikterna) när filtret tillämpas.

Väljar- och stoppbands attenuation

I följande tabell jämförs selektivitet med stop band-attenuation för ett FIR-filter med längden n med hjälp av olika fönstermetoder:

Fönstertyp Övergångsregion Minsta Stopband-attenuation
Rektangulärt klipp 0.041n 21 dB
Triangel 0.11n 26 dB
Hann 0,12n 44 dB
Hamming 0,23n 53 dB
Blackman 0.2n 75 dB

Modulparametrar

Name Intervall Typ Standardvärde Description
Beställning >= 4 Integer 5 Ange filterordningen
Fönster Valfri WindowType Ange vilken typ av fönster som ska användas
Filtertyp Valfri FilterType LowPass Välj typ av filter som ska skapas
Låg klippning [double. Epsilon;. 9999999] Float 0.3 Ange låg cutoff-frekvens
Hög cutoff [double. Epsilon;. 9999999] Float 0.7 Ange den höga cutoff-frekvensen
Skala Valfri Boolesk Sant Om sant normaliseras filterkoefficienterna

Utdata

Namn Typ Description
Filtrera IFilter-gränssnitt Filterimplementering

Undantag

Undantag Description
NotInRangeValue Undantaget inträffar om parametern inte är inom intervallet.

En lista över fel som är specifika för Studio-moduler (klassisk) finns i Machine Learning felkoder.

En lista över API-undantag finns i Machine Learning REST API felkoder.

Se även

Filter
Använd filter
A-Z-modullista