Dela via


IIR-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 oändligt impulssvarsfilter för signalbearbetning

Kategori: Datatransformering/filter

Anteckning

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

Liknande dra och släpp-moduler finns i Azure Machine Learning designer.

Modulöversikt

Den här artikeln beskriver hur du använder IIR-filtermodulen i Machine Learning Studio (klassisk) för att skapa ett IIR-filter (Infinite Impulse Response).

Filter är ett viktigt verktyg i digital signalbearbetning och används för att förbättra resultatet av bild- eller röstigenkänning. I allmänhet är ett filter en överföringsfunktion som tar en indatasignal och skapar en utdatasignal baserat på filteregenskaperna. Mer allmän information om användare av filter i digital signalbearbetning finns i Filter.

Ett IIR-filter är en viss typ av filter. typisk användning av ett IIR-filter skulle vara att förenkla cykliska data som innehåller slumpmässigt brus över en stadigt ökande eller minskande trend. IIR-filtret som du skapar med den här modulen definierar en uppsättning konstanter (eller koefficienter) som ändrar den signal som skickas. Ordet infinite i namnet refererar till feedbacken mellan utdata och serievärden.

När du har definierat ett filter som uppfyller dina behov kan du tillämpa filtret på data genom att ansluta en datauppsättning och filtret till modulen Använd filter .

Tips

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

När du har definierat ett filter som uppfyller dina behov kan du tillämpa filtret på data genom att ansluta en datauppsättning och filtret till modulen Använd filter .

Tips

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

  • Rensa saknade data: 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 villkor, till exempel ett datumintervall, ett specifikt värde eller reguljära uttryck.
  • 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 IIR-filter

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

  2. För Order skriver 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 IIR-filter är minimiordningen 4.

  3. För Filtertyp väljer du den algoritm som används för att beräkna filterkoefficienter. Filtertypen anger den matematiska överföringsfunktion som styr frekvenssvar och frekvensundertryckning. Machine Learning stöder den här typen av filter som ofta används vid digital signalbearbetning:

    Butterworth: Ett Butterworth-filter kallas också för ett maximalt platt magnitudfilter eftersom det begränsar svaret (signaländring) i passbandet och stoppbandet.

    Chebyshev Typ 1: Chebyshev-filter är avsedda att minimera felen mellan de idealiserade och de faktiska filteregenskaperna över filtrets intervall. Typ 1 Chebyshev-filter lämnar mer krusning i passbandet.

    Chebyshev Typ 2: Typ 2 Chebyshev-filter har samma allmänna egenskaper som Chebyshev-filter av typ 1, men de lämnar mer krusning i stoppbandet.

  4. För Filtertyp väljer du ett alternativ som definierar hur filtret påverkar värdena i indatasignalen. Du kan ange att filtret exkluderar värden ovanför eller under en brytpunkt, eller ange att filtret antingen avvisar eller skickar genom värden i ett angivet frekvensintervall.

    LowPass: Tillåter att lågfrekvensvärden (under gränsvärdet) passerar och dämpar andra värden.

    HighPass: Tillåter att höga frekvensvärden (ovanför gränsvärdet) passerar och dämpar andra värden.

    Bandpass: Tillåter att signaler i intervallet som anges av de låga och höga brytvärdena passerar och dämpar andra värden.

    BandStop: Tillåter att signaler utanför intervallet som anges av de låga och höga brytvärdena passerar och dämpar värden inom intervallet.

  5. Ange höga eller låga brytvärden, eller båda, som ett värde mellan 0 och 1 som representerar en normaliserad frekvens. För Hög cutoff skriver du ett värde som representerar den övre frekvensgränsen. För Låg cutoff skriver du ett värde som representerar den lägre frekvensgränsen.

  6. För Ripple anger du hur mycket krusning som ska tolereras när du definierar filtret. Krusning refererar till en liten variant som inträffar regelbundet. Krusning anses vanligtvis vara en oönskad effekt, men du kan kompensera för krusning genom att justera andra filterparametrar, till exempel filterlängden. Alla filter producerar inte krusning.

  7. Lägg till modulen Använd filter i experimentet och anslut filtret som du har utformat och datauppsättningen innehåller de värden som du vill ändra.

    Använd kolumnväljaren för att ange vilka kolumner i datauppsättningen 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 för att tillämpa omvandlingen.

Anteckning

IIR-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-galleriet:

  • Filter: Det här experimentet visar alla filtertyper med hjälp av en konstruerad vågformsdatauppsättning.

Tekniska anteckningar

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

Implementeringsdetaljer

Ett IIR-filter returnerar feed framåt och matar bakåtkoefficienter, som representeras av en överföringsfunktion. Här är en exempelrepresentation:

transfer function for IIR filters

Plats:

  • N: filterordning

  • bi: vidarebefordra filterkoefficienter för feed

  • ai: mata bakåtfilterkoefficienter

  • x[n]: indatasignalen

  • y[n]: utdatasignalen

Modulparametrar

Name Intervall Typ Standardvärde Description
Beställning [4;13] Integer 5 Ange filterordningen
Filtertyp Valfri IIRFilterKind Välj den typ av IIR-filter som ska skapas
Filtertyp Valfri FilterType Välj filterbandstyp
Låg gräns [dubbel. Epsilon;. 9999999] Float 0.3 Ange det låga cutoff-värdet
Hög gräns [dubbel. Epsilon;. 9999999] Float 0.7 Ange högt cutoff-värde
Rippel >=0,0 Float 0,5 Ange mängden krusning i filtret

Utdata

Namn Typ Description
Filtrera IFilter-gränssnitt Filterimplementering

Undantag

Undantag Description
NotInRangeValue Ett undantag inträffar om parametern inte ligger inom intervallet.

En lista över fel som är specifika för Studio-moduler (klassiska) 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