FIR Filter
Importante
Il supporto dello studio di Azure Machine Learning (versione classica) terminerà il 31 agosto 2024. È consigliabile passare ad Azure Machine Learning entro tale data.
A partire dal 1° dicembre 2021 non sarà possibile creare nuove risorse dello studio di Azure Machine Learning (versione classica). Fino al 31 agosto 2024 sarà possibile continuare a usare le risorse dello studio di Azure Machine Learning (versione classica).
- Vedere leinformazioni sullo spostamento di progetti di Machine Learning da ML Studio (versione classica) ad Azure Machine Learning.
- Altre informazioni sulle Azure Machine Learning.
La documentazione relativa allo studio di Machine Learning (versione classica) è in fase di ritiro e potrebbe non essere aggiornata in futuro.
Crea un filtro FIR (Finite Impulse Response) per l'elaborazione dei segnali
Categoria: Trasformazione/Filtro dei dati
Nota
Si applica a: Machine Learning Studio (versione classica)
Moduli di trascinamento della selezione simili sono disponibili nella finestra Azure Machine Learning progettazione.
Panoramica del modulo
Questo articolo descrive come usare il modulo Filtro FIR in Machine Learning Studio (versione classica) per definire un tipo di filtro denominato filtro FIR (FiniteAstoreasto). I filtri FIR hanno molte applicazioni nell'elaborazione dei segnali e sono più comunemente usati in applicazioni che richiedono una risposta di fase lineare. Ad esempio, un filtro può essere applicato alle immagini usate nel settore sanitario per affilare l'immagine complessiva, eliminare il disturbo o concentrarsi su un oggetto immagine.
Nota
Un filtro è una funzione di trasferimento che accetta un segnale di input e crea un segnale di output in base alle caratteristiche del filtro. Per informazioni più generali sull'utente dei filtri nell'elaborazione del segnale digitale, vedere Filtro.
Dopo aver definito un filtro di elaborazione del segnale digitale, è possibile applicare il filtro ai dati connettendo un set di dati e il filtro al modulo Applica filtro. È anche possibile salvare il filtro per usarlo di nuovo con set di dati simili.
Suggerimento
È necessario filtrare i dati da un set di dati o rimuovere i valori mancanti? Usare invece questi moduli:
- Pulisci dati mancanti: usare questo modulo per rimuovere i valori mancanti o sostituire i valori mancanti con segnaposto.
- Partizione ed esempio: usare questo modulo per dividere o filtrare il set di dati in base a criteri quali un intervallo di date, un valore specifico o espressioni regolari.
- Clip Values (Valori clip): usare questo modulo per impostare un intervallo e mantenere solo i valori all'interno di tale intervallo.
Come configurare il filtro FIR
Aggiungere il modulo Filtro FIR all'esperimento. È possibile trovare questo modulo in Trasformazione dati, nella categoria Filtro.
Per Order digitare un valore intero che definisce il numero di elementi attivi usati per influire sulla risposta del filtro. L'ordine del filtro rappresenta la lunghezza della finestra del filtro.
Per un filtro FIR, l'ordine minimo è 4.
In Finestra selezionare la forma dei dati a cui verrà applicato il filtro. Machine Learning supporta i tipi seguenti di funzioni di windowing da usare nei filtri di risposta dell'impulso finito:
Hamming: la finestra di Hamming generalizzata fornisce un tipo di media ponderata, comunemente usata nell'elaborazione delle immagini e nella visione computerizzata.
Blackman: una finestra di Blackman applica una funzione curva conico uniforme al segnale. La finestra Blackman consente una migliore attenuazione della banda d'arresto rispetto ad altri tipi di finestra.
Rettangolare: una finestra rettangolare applica un valore coerente all'interno dell'intervallo specificato e non applica alcun valore altrove. La finestra rettangolare più semplice può sostituire con zero n valori in una sequenza di dati, facendo apparire il segnale come se venisse improvvisamente attivato e disattivato.
Una finestra rettangolare è nota anche come finestra boxcar o Dirichlet.
Triangolare: una finestra triangolare applica i coefficienti di filtro in modo step-wise. Il valore corrente si trova sul vertice del triangolo e quindi diminuisce con i valori precedenti o seguenti.
Nessuna: in alcune applicazioni è preferibile non usare funzioni di windowing. Se ad esempio il segnale da analizzare rappresenta già una finestra o burst, l'applicazione di una funzione finestra potrebbe deteriorare il rapporto segnale/rumore.
Per Tipo di filtro selezionare un'opzione che definisce la modalità di applicazione del filtro. È possibile indicare che il filtro deve escludere i valori di destinazione, modificare i valori, rifiutarli o passarli.
Lowpass: "Passaggio basso" indica che il filtro passa attraverso valori inferiori e rimuove i valori più alti. Ad esempio, è possibile usarlo per rimuovere picchi di dati e disturbo ad alta frequenza da un segnale.
Questo tipo di filtro ha un effetto di smoothing (attenuazione) sui dati.
Highpass: "High pass" indica che il filtro passa attraverso valori più elevati e rimuove i valori inferiori. È possibile usarlo per rimuovere i dati a bassa frequenza, ad esempio una distorsione o un offset, da un segnale.
Questo tipo di filtro consente di mantenere modifiche improvvise e picchi in un segnale.
Bandpass: "Band pass" indica che passa la banda di valori specificata e ne rimuove altri. È possibile usare questo filtro per mantenere i dati di un segnale con caratteristiche di frequenza all'intersezione tra i filtri highpass e lowpass.
I filtri passa banda vengono creati dalla combinazione di un filtro passa basso e un filtro passa alto. La frequenza di taglio di un filtro passa alto rappresenta il taglio inferiore, mentre la frequenza del filtro passa basso rappresenta il taglio superiore.
Questo tipo di filtro consente la rimozione della distorsione da un segnale e ha un effetto di smoothing.
Bandstop: "Band stop" significa che blocca i sigal specificati. In altre parole, rimuove i dati da un segnale con caratteristiche di frequenza rifiutate dal pass basso e dai filtri highpass.
Questo tipo di filtro consente di mantenere la distorsione del segnale e le modifiche improvvise.
A seconda del tipo di filtro scelto, è necessario impostare uno o più valori di cutoff.
Usare le opzioni High cutoff e Low cutoff per definire una soglia superiore e/o inferiore per i valori. Una o entrambe queste opzioni sono necessarie per specificare quali valori vengono rifiutati o passati. Un filtro bandstop o bandpass richiede l'impostazione di valori di cutoff sia alti che bassi. Per altri tipi di filtro, ad esempio il filtro lowpass , è necessario impostare solo il valore di cutoff basso.
Selezionare l'opzione Scala se il ridimensionamento deve essere applicato ai coefficienti; in caso contrario, lasciare vuoto.
Connessione il filtro per applicare il filtro e connettere un set di dati.
Usare il selettore di colonna per specificare le colonne a cui applicare il filtro. Per impostazione predefinita, il modulo Applica filtro userà il filtro per tutte le colonne numeriche selezionate.
Eseguire l'esperimento.
Non vengono eseguiti calcoli fino a quando non si connette un set di dati al modulo Applica filtro ed esegue l'esperimento. A questo punto, la trasformazione specificata viene applicata alle colonne numeriche selezionate.
Nota
Il modulo Filtro FIR non offre l'opzione per creare una colonna indicatore. I valori delle colonne vengono sempre trasformati sul posto.
Esempio
Per esempi di come vengono usati i filtri in Machine Learning, vedere questo esperimento nel Azure AI Gallery:
- Filtri: questo esperimento illustra tutti i tipi di filtro, usando un set di dati forma d'onda progettato.
Note tecniche
Questa sezione contiene informazioni dettagliate sull'implementazione, suggerimenti e risposte alle domande frequenti.
Dettagli dell'implementazione
Di seguito sono illustrate le caratteristiche dei filtri FIR:
- I filtri FIR non hanno retroazione, ovvero usano gli output del filtro precedente.
- I filtri FIR sono più stabili, perché la risposta all'impulso restituisce sempre 0.
- I filtri FIR richiedono un ordine più elevato per ottenere la stessa selettività dei filtri IIR (Infinite Impulse Response).
- Come altri filtri, il filtro FIR può essere progettato con una frequenza di taglio specifica che mantiene o rifiuta le frequenze che compongono il segnale.
Calcolo dei coefficienti nella finestra del filtro
Il tipo di finestra determina il compromesso tra selettività (larghezza della banda di transizione in cui le frequenze non sono completamente accettate né rifiutate) e soppressione (attenuazione totale delle frequenze da rifiutare). La funzione finestra viene applicata alla risposta ideale del filtro per forzare la risposta in frequenza su zero all'esterno della finestra. I coefficienti sono selezionati mediante campionamento della risposta in frequenza all'interno della finestra.
Il numero di coefficienti restituiti dal modulo FIR Filter è uguale all'ordine di filtro più uno. I valori dei coefficienti sono determinati dai parametri di filtro e dal metodo per la definizione di finestre e sono simmetrici per garantire una risposta di fase lineare.
Ridimensionamento dei coefficienti
Il modulo FILTRO FIR restituisce coefficienti di filtro, o pesi di tocco, per il filtro creato.
I coefficienti sono determinati dal filtro in base ai parametri immessi, ad esempio l'ordine. Se si desidera specificare coefficienti personalizzati, usare il modulo Filtro definito dall'utente .
Quando l'opzione Scala è impostata su True, i coefficienti di filtro verranno normalizzati, in modo che la risposta di grandezza del filtro alla frequenza centrale della passband sia 0. L'implementazione della normalizzazione in Machine Learning Studio (versione classica) è la stessa della funzione fir1 in MATLAB.
In genere, nel metodo di progettazione finestra si progetta un filtro IIR. La funzione finestra viene applicata alla forma d'onda nel dominio di tempo e moltiplica la risposta di impulso infinito per la funzione finestra. Ne deriva la convoluzione della risposta in frequenza del filtro IIR con la risposta in frequenza della funzione finestra. Tuttavia, nel caso dei filtri FIR, i coefficienti di input e filtro (o pesi del tocco) vengono convolti quando si applica il filtro.
Selettività e attenuazione della banda di arresto
La seguente tabella confronta la selettività con l'attenuazione della banda di arresto per un filtro FIR con lunghezza n usando metodi diversi per la definizione di finestre:
Tipo di finestra | Area di transizione | Attenuazione della banda di arresto minima |
---|---|---|
Rettangolare | 0.041n | 21 dB |
Triangle | 0.11n | 26 dB |
Hann | 0.12n | 44 dB |
Hamming | 0.23n | 53 dB |
Blackman | 0.2n | 75 dB |
Parametri del modulo
Nome | Intervallo | Type | Predefinito | Descrizione |
---|---|---|---|---|
Ordine | >=4 | Integer | 5 | Specificare l'ordine del filtro |
Finestra | Qualsiasi | WindowType | Specificare il tipo di finestra da applicare | |
Tipo di filtro | Qualsiasi | FilterType | LowPass | Selezionare il tipo di filtro da creare |
Low cutoff | [double.Epsilon;.9999999] | Float | 0,3 | Impostare la frequenza di taglio bassa |
High cutoff | [double.Epsilon;.9999999] | Float | 0,7 | Impostare la frequenza di taglio alta |
Scalabilità | Qualsiasi | Boolean | True | Se true, i coefficienti del filtro verranno normalizzati |
Output
Nome | Tipo | Descrizione |
---|---|---|
Filtro | Interfaccia IFilter | Implementazione del filtro |
Eccezioni
Eccezione | Descrizione |
---|---|
NotInRangeValue | L'eccezione si verifica se il parametro non rientra nell'intervallo. |
Per un elenco degli errori specifici dei moduli di Studio (versione classica), vedere Machine Learning codici di errore.
Per un elenco delle eccezioni API, vedere Machine Learning di errore dell'API REST.