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