Progettare filtri digitali con Labview

La progettazione di filtri digitali offre numerosi vantaggi rispetto agli equivalenti analogici. In particolare, possono essere implementati tramite microcontrollori o meglio DSP. In questo articolo sarà presentato lo strumento offerto da National Instruments, Digital Filter Design per la progettazione e simulazione dei filtri.

L’ambiente di sviluppo grafico LabVIEW è dotato di una comoda utility per la progettazione di filtri digitali: Digital Filter Design. Nell’articolo si descriverà come progettare, analizzare e implementare tali applicazioni. Questo strumento è indirizzato non solo a chi si avvicina per la prima volta alla progettazione di filtri digitali, ma anche ai dei professionisti che con essi ci lavorano. Tra le caratteristiche principali offerte da questo strumento si ricordano:

■  1-Strumenti interattivi che consento all’utente di esplorare la risposta del filtro.

2-Progettazione automatizzata del filtro, dati in ingresso i parametri  di progetto.

3-Supporto di oltre 30 tipi di filtri, con altrettanti tipi di algoritmi.

4-Progettazione ed implementazione fixed-point, con possibilità di generare codice per FPGA e DSP.

5-Rappresentazione grafica tramite risposta in frequenza, diagramma poli-zeri, ritardo di gruppo e di fase, risposta al gradino e all’impulso.

6-Oltre 75 esempi accessibili tramite NI Example Finder.

Esempio  di progettazione ed analisi  di un filtro

Come esempio di utilizzo del Digital Filter Design Toolkit si farà riferimento alla progettazione di un filtro FIR di tipo passa basso. In seguito si analizzerà  il filtro esaminando la sua risposta impulsiva, il ritardo di gruppo e le altre sue caratteri stiche. Dopo aver lanciato LabVIEW, nella finestra di dialogo mostrata in figura 1, selezionare il pulsante  New per visualizzare la relativa finestra di dialogo (figura 2).

Figura 1: finestra di dialogo di LabVIEW.

Figura 1: finestra di dialogo di LabVIEW.

 

Figura 2: finestra di dialogo di LabVIEW da cui è possibile selezionare il tipo di progetto da creare.

Figura 2: finestra di dialogo di LabVIEW da cui è possibile selezionare il tipo di progetto da creare.

Selezionare l’opzione Blank VI dalla lista presente nella parte sinistra della finestra e fare click sul pulsante OK. Saranno visualizzate  due finestre: l’interfaccia utente con tutte le funzioni ed il  diagramma a blocchi. Se quest’ultima finestra non fosse visualizzata, selezionare Window→Show Block Diagram. Inoltre, se la finestra mostrata in figura 3 non dovesse risultare visibile, selezionare Window→Show Function Palette.

Figura 3: finestra di dialogo di LabVIEW da cui è possibile selezionare il tipo di progetto da creare.

Figura 3: finestra di dialogo di LabVIEW da cui è possibile selezionare il tipo di progetto da creare.

Fare click sull’icona All Function per accedere a tutte le funzioni e selezionare il pulsante Digital Filter Design, presente nella parte bassa della finestra (vedere figura 4).

Figura 4: il Digital Filter Design Toolkit è accessibile dall’icona DFD della finestra All Function.

Figura 4: il Digital Filter Design Toolkit è accessibile dall’icona DFD della finestra All Function.

In questo modo lo strumento per la progettazione di filtri digitali è avviato. Per accedere alla sezione di progettazione fare click su pulsante Filter Design e quindi su DFD Classical Filter Design. Nella finestra Configure Classical Filter Design che compare, impostare i parametri cosi come riportato nella tabella 1.

Tabella 1: esempio di parametri di progetto di un filtro passa basso.

Tabella 1: esempio di parametri di progetto di un filtro passa basso.

Tale filtro prevede una banda di blocco in corrispondenza degi 800Hz, con un ripple uguale sia nella stopband che nella passband. Come si nota utilizzando la finestra di Configure Classical Filter Design, l’immissione dei parametri di progetto può avvenire oltre che in maniera manuale (nella parte sinistra della finestra), anche in modalità grafica, utilizzando invece la sezione destra. In quest’ultimo caso sarà necessario selezionare la checkbox Magnitude e quindi spostare la linea che rappresenta la banda passante (passband) e la banda di blocco (stopband); automaticamente,  i valori numerici, nella parte destra della finestra, si aggior neranno. Nella sezione Design Feedback è indicato l’ordine del filtro necessario per soddisfare le specifiche inserite (nell’esempio l’ordine è pari a 44). Quest’ultimo valore è dipendente dal tipo di metodo di progetto (Design Method); altri metodi possono fornire ordini del filtro differenti.

Figura 7: finestra Classical Filter Design in cui è possibile inserire i parametri di progetto del filtro.

Figura 7: finestra Classical Filter Design in cui è possibile inserire i parametri di progetto del filtro.

Dopo aver terminato l’inserimento dei parametri, fare click su OK e chiudere la finestra Configure Classical Filter Design.  Il blocco relativo al filtro comparirà con un’icona simile a quella di figura 8.

Figura 8: blocco funzionale del filtro secondo le impostazioni di tabella1.

Figura 8: blocco funzionale del filtro secondo le impostazioni di tabella1.

Fare click sulla freccia su nella schermata Filter Design per tornare alla visualizzazione di Digital Filter Design. A questo punto fare click sull’icona Filter Analysis. Tale blocco funzionale ha lo scopo di consentire la visualizzazione del segnale in uscita dal filtro. Per renderlo operativo tracciare, con lo strumento wire, un collegamento tra filter out e filter in, come rappresentato in figura 9.

Figura 9: collegamento tra il blocco filtro e il blocco di analisi.

Figura 9: collegamento tra il blocco filtro e il blocco di analisi.

In questo modo l’utente avrà la possibilità di utilizzare lo strumento di analisi grafico messo a disposizione da LabVIEW. Terminato il collegamento,  fare click sul pulsante Run, mostrato sulla sinistra, per avviare la simulazione. Facendo click sul blocco DFD Filter Analysis è possibile modificare le impostazioni di visualizzazione della simulazione. In essa è possibile selezionare differenti tipi di grafici, come risposta all’impulso o al gradino, il diagramma poli-zeri ed altri. Fare click su OK quando si sono terminate le impostazioni. Prima di avviare la simulazione è però necessario  creare il relativo visualizzatore del grafico che si vuole analizzare. Fare click con il tasto destro del mouse su magnitude nel blocco DFD Filter Analysis e selezionare Create→Graph Indicator. Una nuova icona compare sulla destra del blocco DFD che visualizzerà  il modulo della funzione di trasferimento del filtro. Fare click sul nuovo blocco aggiunto per visualizzare il grafico. Fare click su Run per aggiornarne la sua visualizzazione (vedere figura 10).

Figura 12: Visualizzazione del modulo della funzione di trasferimento del filtro.

Figura 10: Visualizzazione del modulo della funzione di
trasferimento del filtro.

Per ritornare alla visualizzazione  dello schema a blocchi è sufficiente fare click sul grafico. A questo punto è possibile modificare le impostazione del filtro e verificare le variazione ottenute. Con lo stesso procedimento è possibile aggiungere indicatori anche per altri tipi di grafici.

Imparare da NI Example  Finder

Quello proposto nel precedente paragrafo è soltanto un esempio base di ciò che si può realizzare con questo strumento completo ed efficiente. Ovviamente per iniziare è fondamentale disporre di molti esempi per le diverse tipologie di filtri che possono essere simulati. Per venire incontro a questa esigenza, NI ha reso disponibili una ampia gamma di esempi (75 per essere esatti). Per la ricerca tra tutti gli esempi disponibili, deve essere utilizzato NI Example Finder, la cui finestra è mostrata in figura 11.

Figura 13: NI Example Finder consente di selezionare l’esempio che più si avvicina alla propria applicazione

Figura 11: NI Example Finder consente di selezionare l’esempio che più si avvicina alla propria applicazione

Tutti gli esempi sono suddivisi nelle seguenti categorie:

➤ Case study

➤ Filtri convenzionali

➤ Filtri Fixed-Pojnt

➤ Getting Started

➤ Filtri multirate

Selezionare, ad esempio, la sottocategoria Case Study. Aprire l’esempio Lowpass_Step2_Perform Lowpass Filtering.vi. Questo esempio genera un segnale di test multi-tono, applicato ad un filtro floating-point e visualizza su di un grafico il segnale filtrato e quello non filtrato.Dopo aver aperto l’esempio, fare click sul pulsante Run. Il grafico visualizza due differenti segnali. La traccia bianca mostra il segnale non filtrato (quello di ingresso). La traccia in rosso rappresenta, invece, il segnale filtrato (vedere figura 12).

Figura 14: risultati dell’esempio Lowpass_Step2_Perform Lowpass Filtering.vi.

Figura 12: risultati dell’esempio Lowpass_Step2_Perform Lowpass Filtering.vi.

Conclusioni

I filtri digitali presentano  numerosi vantaggi rispetto a quelli analogici. I  primi consentono di implementare funzioni di trasferimento impensabili con quelli analogici. Inoltre, lo sviluppo dei circuiti integrati ed in particolare dei DSP (Digital Signal Processor) è stato un volano per la diffusione di strumenti di analisi dei filtri digitali. In questo articolo è stato presentato uno degli strumenti presenti sul mercato che consentono di analizzare tutte le varie fasi: dalla progettazione all’implementazione, passando per la simulazione.

 

 

Scrivi un commento

EOS-Academy
EOS-Academy