Capitolo 14 )                      Filtri  numerici

 

 

 

L’acquisizione di un segnale in forma numerica, cioè di  N  campionamenti nel periodo di osservazione P [1]), è la base di qualsiasi elaborazione che si voglia compiere sul segnale stesso.

 

Nel caso di effettiva conversione da segnale analogico in digitale, questa può essere influenzata da disturbi o da errori di approssimazione, sia dei sensori di rilevazione, sia dei convertitori  A/D, che tendono a falsare i singoli valori acquisiti.

 

Una delle più semplici forme di elaborazione di questi dati è certamente la media temporale, che tende all’appiattimento (smoothing) delle brusche variazioni che possono essere presenti nei campionamenti contigui.

 

Un esempio molto intuitivo è la rilevazione giornaliera del peso corporeo durante una dieta:  più che ogni singolo valore  ha importanza l’andamento medio su un certo periodo prefissato, diciamo una settimana.

 

Questo valore medio è dato, giorno per giorno, dalla somma degli ultimi 7 valori, ovviamente divisa per 7.

 

All’ n-esimo giorno (per n>7) si ha :    yn = (xn+xn-1+.........+xn-6) / 7 , dove gli  x sono i singoli valori rilevati rispettivamente il giorno  n, il giorno precedente n-1, e così via.

La   yn  è anche chiamata  media mobile  (moving average) proprio perchè varia ad ogni campionamento in funzione dei valori precedenti.

 

Generalizzando il calcolo possiamo scrivere:     per   m = 0.....(M-1)

 

m

 
                                 yn =  S hm· x(n-m)

 

Il fattore  hm  è il  peso nella media [2])  assegnato a ciascun  valore x acquisito.

 

In generale però potremmo assegnare ad  hm  valori diversi in funzione di  m, purchè si rispetti il vincolo  Shm=1 , per non falsare il valor medio.   Si ha allora una  media pesata.

 

Nell’esempio precedente si è posto  M=7   e   hm = 1/M,  cioè un fattore costante.

La  Fig. 14.1  illustra  graficamente  l’esempio nell’ipotesi di un peso iniziale di 76.5  Kg con un andamento in diminuizione di  0.015 Kg/giorno ed una incertezza di misura entro  0.5 Kg.

 

La  figura riporta anche  il caso di  M=28, cioè una media mobile su  4  settimane, da cui risulta più evidente la linearità della diminuizione nonostante il ‘disturbo’ nelle misure.

 

Fig. 14.1   -    Esempio di media mobile su dati di peso corporeo

 

 

La struttura di calcolo richiesta dalla media mobile si può rappresentare come in  Fig.14.2, dove ciascun blocco rappresenta un ritardo equivalente al tempo di campionamento DT e ciascun cerchietto rappresenta la moltiplicazione del campionamento  x  con il corrispondente coefficiente  h.

 

 

Fig. 14.2   -   Struttura di calcolo della media mobile

 

L’espressione di calcolo della media mobile è la stessa vista alla fine del capitolo 6, dove è stato definito il prodotto di convoluzione di due segnali  a(t)  e  b(t) , con la sola sostituzione della sommatoria all’integrale.

 

Quindi la media mobile può essere vista come un caso particolarmente semplice di convoluzione in cui tutti i coefficienti  h sono non solo costanti, ma anche uguali tra loro (=1/M, dove M è il numero di  termini della media).

 

Nel caso più generale della media pesata,  i coefficienti  h  sono costanti diverse tra loro, ed attribuendo a queste i valori ricavati dall’antitrasformazione di Fourier di una funzione di trasferimeno H si può simulare il comportamento di tale funzione.

 

La  Fig. 14.3 illustra questo concetto, considerando come funzione  H  una semplice costante di tempo. 

Il segnale d’ingresso  x  è un impulso di ampiezza 1 fra  P/2  e  3P/2, essendo  P=0.1 sec.  L’elevato numero di campionamenti, N=128, consente anche un elevato numero di coefficienti (fino a 64), in modo da poter considerare praticamente continui i grafici dei due segnali rispettivamente x  d’ingresso  e  y   d’uscita.

 

Fig. 14.3   -    Media pesata con coefficienti ricavati dall’antitrasformazione di una funzione di trasferimento ad una costante di tempo.

 

 

Si osservi che si è mantenuto a zero il segnale d’ingresso per un tempo necessario (P/2) ad iniziare la media con valori precedenti sicuramente nulli, e che i valori d’uscita devono essere divisi per la sommatoria dei coefficienti.

 

Con queste premesse è ora possibile dare un’interpretazione intuitiva del  prodotto di convoluzione: ciascun valore d’uscita è la somma di  M  prodotti  fra i campionamenti d’ingresso precedenti e dei coefficienti che esprimono il comportamento del circuito

Più precisamente, sapendo che la funzione di trasferimento rappresenta lo spettro dell’impulso unitario  d  (vedi fine capitolo 6), ciascun valore d’uscita può essere visto come la somma delle azioni di  M  impulsi.

 

Fig. 14.4   -   Segnale d’uscita corrispondente ad un impulso in ingresso di una funzione di trasferimento ad una costante di tempo.

 

 

La  Fig. 14.4 mostra l’andamento (amplificato) del segnale d’uscita corrispondente ad un singolo impulso d’ingresso nella stesse condizioni di  Fig. 14.3.

 

Se in istanti di tempo successivi si presentano altri impulsi, l’effetto totale non può essere che la somma dei valori, istante per istante, derivanti dalla sovrapposizione degli effetti di tutti gli impulsi precedenti.  Questo è il significato fisico del  prodotto di convoluzione, dove gli impulsi unitari sono moltiplicati per l’effettiva ampiezza dei singoli campionamenti del segnale d’ingresso.

 

Il numero di termini  M  da considerare in ciascuna somma dipende ovviamente dalla  rapidità con cui il transitorio di ciascun impulso si esaurisce. In pratica occorre stabilire quando diventa trascurabile il coefficiente h.  Negli esempi delle figure precedenti si è tenuto conto di tutti  gli   N/2  coefficienti ricavabili  direttamente dall’applicazione della  FFT. Ciò va a vantaggio della precisione ma a scapito del tempo di calcolo.

 

Si è già detto che una funzione di trasferimento costituita da una costante di tempo è una delle più semplici forme di filtraggio passa-basso, quindi l’esempio  della  Fig. 14.3 può essere visto come il calcolo di un filtro che lascia passare quasi inalterate le frequenze basse ed attenua quelle alte, riducendone l’ampiezza in funzione del valore della frequenza stessa.

 

Poichè nell’esempio la costante di tempo è  T=0.005  sec, la cosiddetta  frequenza di taglio, cioè quella che convenzionalmente divide le frequenze basse dalle alte è ft = 1/2·p·T @ 32 Hz.

 

 

La  Fig. 14.5 rappresenta l’andamento del modulo della funzione di trasferimento  H  prima nella forma più usuale di diagramma logaritmico di Bode e poi in forma di spettro di frequenze, cioè come un diagramma lineare.

 

 

Fig. 14.5   -    Confronto di rappresentazioni della funzione di trasferimento      utilizzata

nella Fig. 14.3.

 

 

 

Nel diagramma di Bode la frequenza di taglio corrisponde a quella che presenta un’attenuazione di  3 dB (linea tratteggiata), che equivale nello spettro ad un’attenuazione di  0.708  (linea tratteggiata nel secondo diagramma).

Tutte le frequenze la cui ampiezza sta al disopra di questi valori si considerano non-attenuate (frequenze passanti o banda passante), le altre viceversa si considerano attenuate (frequenze bloccate).

 

Risulta evidente che un filtro di questo tipo è piuttosto grossolano e molto distante dalle caratteristiche di un filtro passa-basso ideale.

 

Ricordando l’esempio della  Fig. 6.2, si può vedere il filtro ideale come una funzione di trasferimento H  a forma rettangolare, calcolare  con  FFT lo spettro X del  segnale d’ingresso, ricavare  Y = H·X  ed infine  antitrasformare con  IFFT, per ottenere l’andamento nel tempo del segnale d’uscita  y.

 

Quindi ad ogni periodo di osservazione P si dovrebbe procedere alla trasformazione del segnale d’ingresso in spettro, al prodotto di ciascuna frequenza di questo con i corrispondenti  valori di frequenza del filtro, ed infine all’antitrasformazione dalle frequenze al tempo.

 

La  Fig. 14.6a   esemplifica questa procedura con un filtro passa-basso  avente frequenza di taglio  ft = 10 Hz, considerando un segnale d’ingresso a  5 Hz con terza armonica.

 

Limitando lo spettro di frequenza a  K = 64  Hz (cioè assumendo che il segnale non  abbia in pratica componenti superiori alla ventina di Hz perchè sarebbero campionati troppo scarsamente e comunqe necessariamente inferiori ai  32 Hz della frequenza di Nyquist) e scegliendo un periodo d’osservazione P = 1 sec ( che comporta uno spettro di frequenze  discrete distanziate di 1 Hz) è facile seguire il calcolo ed è intuitivo il risultato rappresentato dall’ultimo grafico della figura nel quale il segnale d’ingresso x  è a tratti  e quello d’uscita  y a gradini.

 

 

Ovviamente il filtro azzera la terza armonica lasciando inalterata in ampiezza la sola fondamentale.

 

Si noti che la caratteristica del filtro risulta trapezia anzichè rettangolare, e che la pendenza della transizione fra frequenze passanti e quelle bloccate dipende dalla scelta del periodo P. Si può allora dire che il filtro è ‘quasi-ideale’.

 

 

 

 

Fig. 14.6a  -   Studio di un filtro passa-basso ideale con procedura di calcolo nel campo delle frequenze. [commento audio]

 

 

 

Fig. 14.6b   -   Studio di un filtro passa-basso utilizzando la convoluzione  

(continuazione della Fig.14.6a). [commento audio]

 

 

 

L’alternativa  a questo procedimento di moltiplicazione nel dominio delle frequenze è, come accennato alla fine del capitolo 6, la convoluzione dei corrispondenti segnali nel tempo.

 

Quindi  antitrasformando  la  funzione di  trasferimento  di  un  filtro  ideale  si ottengono i valori   h = IFFT(H) da utilizzare nella convoluzione con i campionamenti del segnale d’ingresso. Poichè si suppone la caratteristica  del filtro invariabile nel tempo, è sufficiente una sola antitrasformazione eseguita in sede di progetto, per ricavare i  coefficienti  h del filtro.

 

Una volta ricavati gli  N coefficienti (dove  N è come al solito il numero di campionamenti nel periodo d’osservazione  P), questi devono essere moltiplicati per i corrispondenti campionamenti del segnale d’ingresso ed infine sommati questi prodotti per ottenere un singolo valore d’uscita.

 

In altre parole, ciascun valore  yn  all’istante  tn  è ricavato dalla sommatoria di  N prodotti fra i coefficienti  hm ed i campionamenti  xn-m  precedenti all’istante tn , il che è esattamente la struttura di calcolo riportata nella  Fig. 14.2, con la sola osservazione che il numero M  degli stadi coincide con il numero N  dei campionamenti nel periodo d’osservazione.

.

La  Fig. 14.6b  rappresenta il calcolo con l’utilizzo della convoluzione dello stesso filtro passa-basso ideale e dello stesso segnale, in alternativa al procedimento della  Fig. 14.6a e naturalmente i risultati coincidono.

 

L’osservazione importante è che pur con uno spettro così limitato in frequenza (K=64) si hanno N=128  coefficienti, quindi una somma di  128 moltiplicazioni per ogni valore d’uscita.  Per poter realizzare questo filtro  in modo che operi in tempo reale su un segnale d’ingresso fisico, occorre prevedere un dispositivo che esegua tutte le operazioni in un tempo inferiore all’intervallo di campionamento, cioè nel caso in esame inferiore a  Dt = P/N @ 7.8  ms.

 

Risulta chiaro che  questo metodo non può essere applicato praticamente ove lo spettro di  frequenze debba essere allargato: già per  frequenze industriali (50 Hz  e sue armoniche) il numero di coefficienti e quindi di moltiplicazioni  sarebbe dell’ordine di migliaia , mentre gli intervalli di campionamento si ridurrebbero a decimi di millisecondo. Nel prossimo capitolo verranno esaminati i criteri di progetto che consentono un compromesso fra  limitazioni nel numero di coefficienti e prestazioni del filtro.

 

I circuiti basati sul criterio della media pesata ora visti, sono noti nella letteratura tecnica come filtri non-ricorsivi, in contrapposizione ai filtri ricorsivi che verranno illustrati nel capitolo 16.  Data la loro caratteristica di  ‘risposta’  che tende a zero nel tempo se eccitati con un singolo impulso (si veda  la  Fig. 14.4), questi filtri sono anche indicati con la sigla  FIR  (Finite Impulse-Response).

 

Fra le particolarità di questo tipo di filtri vanno sottolineate le seguenti :

 

- non esistono esatti equivalenti analogici

-sono intrinsecamente stabili, nel senso di non possono produrre auto-oscillazioni

-presentano uno sfasamento lineare con la frequenza, quindi compensabile

 

 

 

 



[1])   D’ora in poi  con  P  verrà denotato il periodo d’osservazione , anzichè il  periodo di ripetizione                del segnale elaborato.

[2])  Non si confonda questo ‘peso’, che è un puro coefficiente, con i valori  x  di ‘peso corporeo’    dell’esempio precedente