Indice |
Premessa
Scopo di questa serie di articoli è l’illustrazione, nel modo più elementare possibile, dei concetti che stanno alla base dei filtri digitali.
Compito non facile dato che questi concetti sono tutt’altro che elementari.
Sarò pertanto grato a tutti coloro che con osservazioni e consigli, potranno migliorare la trattazione stessa, trattazione destinata a tutti coloro che non hanno avuto occasione di affrontare tali tecnologie, ma che desiderano capirne almeno le basi concettuali.
Il concetto di “filtro” credo sia abbastanza diffuso e nella sua forma più semplice può essere esemplificato da questa figura:
Una forma d’onda sinusoidale a 50Hz , “distorta” da una terza armonica (quindi a 150Hz), è applicata all’ingresso di 2 filtri, di cui il primo lascia inalterate tutte le frequenze <100Hz e blocca tutte quelle superiori (filtro passa-basso), mentre il secondo (filtro passa-alto) si comporta nel modo opposto.
E’ evidente che, seguendo le definizioni date, all’uscita del primo rimarrà solo il segnale a 50Hz (non distorto) e all’uscita del secondo apparirà solo la componente distorcente a 150Hz.
Viene quindi evidenziata la prerogativa dei filtri che è quella di modificare, secondo criteri prefissati, la forma di un segnale variabile nel tempo applicato al suo ingresso.
Per un approfondimento sulle varie tipologie dei filtri, si rimanda alle definizioni di Wikipedia, evidenziando solo l’esistenza di filtri passivi (costituiti da soli elementi R,L e C) e di filtri attivi (comprendenti amplificatori operazionali). Come esempi significativi di questi ultimi, vale la pena di citare quelli universali.
Le basi
Richiamate quindi le nozioni basilari sui filtri tradizionali, va sottolineato che per capire davvero l’azione dei filtri si devono avere ben chiari 2 concetti fondamentali:
- il primo è che (seguendo Fourier) qualsiasi segnale periodico (cioè che si ripete invariato nel tempo con un certo periodo) può essere scomposto in una serie (infinita) di componenti sinusoidali (armoniche), che costituiscono quindi il contenuto armonico o spettro di frequenze del segnale.
- il secondo è che il comportamento di qualsiasi quadripolo (cioè un circuito con un ingresso ed una uscita, come sono appunto i filtri) è caratterizzato da una risposta in frequenza, cioè da come ogni frequenza in ingresso viene modificata (in ampiezza e fase) all'uscita.
Dovrebbe essere infatti chiaro che se di un segnale conosco lo spettro e so come ogni frequenza di questo viene modificata dal filtro, sarò in grado di ricavare quale sarà lo spettro del segnale d'uscita, quindi in definitiva ricostruire la sua forma rispetto al tempo.
Chi fosse interessato all'approfondimento dei concetti citati, può consultare Analisi di Fourier, per la trasformazione del segnale nello spettro corrispondente, e F.d.T., per quanto riguarda il comportamento del filtro.
Un semplice esempio
In un recente articolo è stato trattato il caso di un filtro associato ad un raddrizzatore monofase, con una simulazione MicroCap per determinare la forma d'onda effettiva della tensione al carico.
Possiamo qui riprenderlo per mostrare l'applicazione pratica di quanto finora detto.
Si considera una serie di semisinusoidi a 50Hz per un intervallo temporale di 100ms .
Questa forma d'onda verrà applicata ad un semplice filtro RC (+ una resistenza di carico) e si vuole ottenere l'ondulazione residua (ripple) che si ha sul carico.
Ottenuto lo spettro del segnale entrante (con fondamentale a 100Hz ed una serie di suoi multipli), dobbiamo ricavare la risposta in frequenza del filtro.
Analizzando prima il circuito con il metodo di Laplace si ottiene la funzione di trasferimento (in s) ed infine, sostituendo in questa jω ad s, la risposta in frequenza (G(jω)).
Abbiamo ora gli elementi per ricavare lo spettro che il segnale avrà in uscita, moltiplicando ciascuna frequenza del segnale entrante per la corrispondente del fitro:
Il risultato è che la tensione d'uscita ha una componente continua (X0) con un'ondulazione costituita praticamente dal solo 100Hz, attenuato però (circa 1/4) rispetto al contenuto originale.
Si noti per inciso che il metodo considera solo il contenuto armonico del segnale e non è una simulazione di ciò che effettivamente avviene nel circuito raddrizzatore.
Altra osservazione è che le trasformazioni di Fourier (dal tempo alle frequenze e viceversa) sono enormemente facilitate dalla possibilità offerta dai principali programmi matematici di eseguire tali trasformazioni semplicemente richiamando una funzione di libreria (ad es. FFT() per la diretta e IFFT() per l'inversa, nel MathCad qui utilizzato).
Il passaggio al digitale
La figura illustra la fondamentale differenza tra i segnali del mondo analogico (caso a, con una x = f(t) continua nel tempo) e di quello digitale (caso b, con xn valori numerici, definiti negli istanti ), dove ΔT è l'intervallo di campionamento.
Nel mondo digitale il segnale non è nient'altro che una serie di numeri, che quindi possono essere elaborati a piacimento (ed è questa la grande potenzialità intrinseca della nuova tecnologia).
Potremmo per esempio pensare di "filtrare" un segnale semplicemente facendone una media mobile (cioè in modo che ogni valore in uscita sia la media degli ultimi m valori entrati).
Ecco un rapido esempio: dato un segnale a forma di semisinusoide, fortemente disturbato (30%), si applica un filtro a media mobile su 3 elementi (m=3).
x è il segnale (nella prima figura, limitato a 20ms, con 32 compionamenti):
La seconda figura mostra l'effetto di "spianamento" sul segnale d'uscita (y)
E' inoltre illustrato graficamente che ogni valore di uscita è la media degli ultimi 3 valori corrispondenti dell'ingresso.
L'esempio ci suggerisce che allora potremmo cercare di riprodurre per questa via il comportamento dei filtri analogici, ad es. cominciando dal classico RC ed applicandolo all'esempio illustrato nella prima figura di questo articolo.
Digitale vs Analogico
Si tratta quindi di considerare un filtro passa-basso a 100Hz a cui applicheremo il segnale a 50Hz, disturbato da una terza armonica.
Ecco il comportamento del filtro (descritto dal suo diagramma di Bode):
Costruiamo ora il segnale (xn) da applicare all'ingresso del filtro ed elaboriamolo in modo da ottenere la forma d'onda in uscita (yn), nello stesso modo fatto in precedenza:
La traccia rossa rappresenta xn, quella blu yn e si vede che l'effetto del filtro è piuttosto scarso (ma da un semplice RC non si può pretendere di più!).
In ambito numerico, possiamo invece fare molto di più, ad es. imporre al filtro un comportamento "quasi ideale".
La cosa è semplice, eccola:
(la si confronti con lo stesso diagramma dell' RC: la terza armonica è attenuata di 40dB, cioè 100 volte!)
Non fa quindi meraviglia che il risultato del filtraggio sia questo:
Si deve tuttavia precisare che tale risultato si è ottenuto "a posteriori", cioè dopo aver analizzato la forma d'onda entrante (e togliendole tutte le sue frequenze > di 100Hz).
Per ottenere un vero filtraggio in tempo reale dobbiamo invece ricorrere a quanto prima accennato sulla media mobile, cioè agire direttamente sui campionamenti.
Questo è possibile richiamando una proprietà matematica delle trasformazioni di Fourier:
il prodotto delle frequenze equivale alla convoluzione nel tempo: in pratica l'antitrasformazione del filtro ci dà i coefficienti da moltiplicare per i campionamenti del segnale per ottenere quello che abbiamo appena visto nel dominio delle frequenze.
Come si vede, qui le cose si complicano concettualmente: cos'è la convoluzione?
Rimando chi volesse approfondire l'argomento alle definizioni, mentre qui vorrei esemplificarne l'utilizzazione nel caso specifico che stiamo esaminando.
Dunque torniamo al nostro "superfiltro" (HLP) e vediamo di farne l'antitrasformazione
I coefficienti così ricavati devono essere moltiplicati per i campionamenti del segnale precedenti all'istante considerato, e ciò va fatto per ricavare ciascun singolo valore del segnale in uscita.
Per far questo dobbiamo nel nostro calcolo duplicare l'intervallo d'osservazione (per applicare il metodo ai valori dell'onda precedente), e fare una totalizzazione dei coefficienti (S, per ricavare poi la media pesata) ed eseguire infine la convoluzione.
Come si vede, il risultato ycn coincide con ydn del metodo precedente (moltiplicazione nel dominio delle frequenze).
Direi che come primo passo nella comprensione dei filtri digitali per il momento potrebbe bastare...