Appunti del corso di. ELABORAZIONE NUMERICA dei SEGNALI (9 CFU) Ciro Cafforio

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Appunti del corso di. ELABORAZIONE NUMERICA dei SEGNALI (9 CFU) Ciro Cafforio"

Transcript

1 Politecnico di Bari Corso di Laurea in Ingegneria Elettronica e delle Telecomunicazioni Appunti del corso di ELABORAZIONE NUMERICA dei SEGNALI (9 CFU) Ciro Cafforio Anno Accademico

2

3 CAPITOLO 1 Rappresentazione numerica di un segnale Teorema del campionamento. Una macchina digitale può maneggiare numeri (normalmente si usa una rappresentazione binaria) di precisione finita (con un numero finito di bit) ed ha bisogno di un tempo magari piccolo, ma certamente non infinitesimo, per poter produrre il risultato richiesto dopo l inserimento di un nuovo numero. Un segnale può essere rappresentato matematicamente come una funzione, cioè una successione ordinata di valori assunti in corrispondenza di ogni valore della variabile indipendente (normalmente considereremo il tempo, ma niente impedisce che essa sia altro, ad esempio la posizione lungo una retta o altro ancora). I segnali normalmente variano con continuità, cioè sono una successione di valori, rappresentabili mediante numeri reali, assunti in istanti di tempo infinitamente vicini tra loro. È evidente che tali segnali continui non sono gestibili da una macchina digitale o, come diremo sempre d ora in poi, numericamente: è necessario poter descrivere il segnale mediante valori da esso assunti ad intervalli di tempo finiti, cioè bisogna campionarlo. Il problema del campionamento consiste nel dare di un segnale s(t), continuo nel tempo, una descrizione in termini dei valori che esso assume in istanti di tempo equispaziati, a distanza di T secondi uno dall altro. T T T T T T T T T T T T T T T T T t Figura Campionamento di un segnale continuo. Il campionamento, perché possa essere utile, deve essere reversibile, cioè i campioni devono costituire una descrizione completa del segnale e devono consentire di ricostruirlo nella sua interezza (in ogni istante). Deve essere possibile desumere dai campioni anche i valori in istanti diversi dagli istanti di campionamento: questa operazione va sotto il nome di interpolazione. È intuitivo come ciò sia sicuramente possibile, a patto di fare sufficientemente piccolo il passo di campionamento T : se T 0 si torna alla descrizione continua! Il problema consiste nel determinare il più grande intervallo di campionamento T che ancora consenta, 3

4 4 1. RAPPRESENTAZIONE NUMERICA DI UN SEGNALE. mediante un opportuno interpolatore, di ritornare dai campioni alla funzione di partenza s(t). Enunciato così il problema appare di una difficoltà proibitiva, ma basta affrontarlo nel dominio della frequenza perché la difficoltà scompaia. Un segnale campionato può essere visto come una serie ordinata di valori numerici la cui collocazione temporale, però, non è evidente. Per collocare temporalmente i campioni e poter applicare anche ad un segnale campionato (discretizzato nel tempo) le tecniche della teoria dei segnali (vedremo in seguito come l operazione di interpolazione possa essere descritta come una operazione di filtraggio), è utile ricorrere agli impulsi. Un segnale campionato può essere schematizzato matematicamente come: (1.1.1) s c (t) = s(kt ) δ(t kt ) = s(t) δ(t kt ). Lo spettro del segnale campionato, cioè la sua trasformata di Fourier, è calcolabile semplicemente osservando nella (1.1.1) che s c (t) può considerarsi come il prodotto tra il segnale tempo continuo s(t) ed una successione di impulsi equispaziati di area unitaria. La trasformata di s(t) sia S(f). Per calcolare la trasformata della sequenza degli impulsi di campionamento (che nel seguito verrà indicata, con termine poco formale, come pettine di campionamento) basta osservare che si tratta di un segnale periodico i cui coefficienti dello sviluppo in serie di Fourier valgono, per la (A.2.2): c k = 1 T T/2 T/2 δ(t)e j2πkt/t dt = 1 T Il pettine di impulsi è equivalente alla sovrapposizione di sinusoidi complesse di frequenze 1/T e multipli, tutte di ampiezza 1/T (vedi figura 1.1.2). Tornando alla (1.1.1), siccome ad un prodotto nel tempo corrisponde una convoluzione nelle frequenze, lo spettro del segnale campionato è dato dalla convoluzione tra lo spettro del segnale s(t) e lo spettro degli impulsi di campionamento. Cioè (1.1.2) S c (f) = S(f) 1 T k= δ(f k T ). Bisogna ora interpretare la (1.1.2). Poiché la convoluzione è un operatore lineare, si può valutare prima la convoluzione con un singolo impulso e poi usare il principio di sovrapposizione degli effetti. Vediamo allora quanto vale S(f) δ(f f k ). Per definizione: perciò a(f) b(f) = S(f) δ(f f k ) = a(α)b(f α) dα. S(α)δ(f f k α) dα = S(f f k )

5 1.1. TEOREMA DEL CAMPIONAMENTO. 5 1 T T T T T T t (a) 1/T 3 T 2 T 1 T 1 T 2 T 3 T (b) f Figura Pettine di campionamento (a) e suo spettro (b). derivando l ultima uguaglianza dalla nota proprietà dell impulso secondo la quale l integrale del prodotto di una funzione per un impulso è uguale al valore che la funzione assume quando la variabile di integrazione assume il valore che azzera l argomento dell impulso. Risulta, quindi, che il risultato della convoluzione tra S(f) e l impulso in k/t è la stessa funzione centrata in k/t invece che in 0. Poiché nel caso dello spettro di un segnale campionato si ha la convoluzione con infiniti impulsi, ogni convoluzione con un impulso produce una replica dello spettro del segnale tempo continuo, traslata intorno ad una frequenza multipla della frequenza di campionamento f c = 1/T. Se prima del campionamento si ha la situazione rappresentata in figura a, dopo il campionamento si avrà la situazione rappresentata in figura b. Lo spettro del segnale campionato è una versione periodicizzata dello spettro del segnale tempo continuo. A questo punto è evidente anche come si possa ricostruire il segnale di partenza: se lo spettro S(f) è tale che dopo il campionamento le sue repliche non si sovrappongono, è sufficiente isolare, tra tutte, quella intorno alla frequenza zero, che è quella rappresentativa del segnale originario. In altre parole, perché un segnale sia ricostruibile dopo campionamento è necessario che le repliche spettrali che si originano con il campionamento non si sovrappongano: in questo caso è possibile isolare la replica in banda base mediante un filtraggio passa-basso. Teorema. Affinché un segnale sia ricostruibile dai suoi campioni, è necessario che esso sia a banda limitata (S(f) = 0 per f > B) e che venga campionato con frequenza pari almeno al doppio della sua banda (monolatera).

6 6 1. RAPPRESENTAZIONE NUMERICA DI UN SEGNALE. S(f) B B (a) S c(f) f 2/T 1/T 1/T 2/T (b) Figura Spettro di un segnale prima (a) e dopo (b) il campionamento Alias Vediamo ora l effetto di una frequenza di campionamento non corretta, ovvero non rispondente alle limitazioni del teorema del campionamento. Come esempio consideriamo il campionamento di una funzione sinusoidale. f Figura Sinusoide e campioni ottenuti da un suo campionamento. La figura rappresenta una sinusoide di frequenza 20 Hz ed i campioni ottenuti campionandola ad una f c = 19 Hz. Evidentemente, se uno dovesse interpretare i campioni senza sapere niente del processo che a quei campioni ha portato, non potrebbe che supporre che quelli sono i campioni risultanti dall aver campionato, a 19 Hz una sinusoide di frequenza 1 Hz Campionamento di una sinusoide. Analizziamo adesso in dettaglio il campionamento di una funzione cos(2πf t), il cui spettro è rappresentato in figura Si campioni questo segnale con frequenze di campionamento f c via via più basse, iniziando con una f c elevata. In base a quanto detto si ha la ripetizione dello spettro intorno ad f c e multipli.

7 1.2. ALIAS 7 S(f) 1/2 1/2 f f f Figura Spettro di una sinusoide. S c(f) f f c f c Figura Spettro di una sinusoide campionata con f c > 2f o. Per la ricostruzione basta filtrare passa-basso tra f c /2 ed f c /2, cancellando così tutte le repliche spettrali ad alta frequenza. Al diminuire della frequenza di campionamento, le repliche spettrali si avvicinano ma, finché f c è superiore al doppio di f, è sempre possibile, filtrando passa-basso, isolare i termini spettrali giusti a cavallo dello zero. S c(f) f f c f c Figura Spettro di una sinusoide campionata con f c 2f o. Se, però, f c è minore di 2f, ci si trova nella situazione di figura S c(f) f f c f c Figura Spettro di una sinusoide campionata con f c < 2f o. È chiaro che ora, filtrando tra f c /2 ed f c /2, si ottengono termini spettrali che non sono relativi al termine spettrale centrato a frequenza zero (quelli relativi al segnale di partenza), ma quelli relativi alle repliche spettrali centrate in f c ed in f c. All uscita del filtro non si ritrova più la sinusoide a frequenza f (come nei primi due casi), ma una sinusoide a frequenza minore, pari a f c f. In altre parole, se non si rispetta il teorema del campionamento, all uscita del filtro di ricostruzione si trova una sinusoide la cui frequenza è funzione della frequenza di campionamento usata oltre che della frequenza della sinusoide in ingresso.

8 8 1. RAPPRESENTAZIONE NUMERICA DI UN SEGNALE. Nel caso di un segnale generico, con spettro che occupa una banda continua di frequenze, il discorso è lo stesso: se si campiona almeno al doppio della banda del segnale, i termini spettrali sono separati; in caso contrario i termini spettrali si sovrappongono. f c > 2B f c f c < 2B S c(f) (a) S c(f) f c f c (b) f c f f Figura Spettro di un segnale campionato correttamente (a) e campionato con una frequenza troppo bassa (b). In teoria sarebbe possibile anche campionare con f c = 2B. In realtà questo non è possibile, in quanto in questa condizione le repliche spettrali sarebbero perfettamente adiacenti, e la separazione della replica a cavallo dello zero richiederebbe l uso di un filtro con funzione di trasferimento esattamente rettangolare, cosa irrealizzabile in pratica. È quindi sempre necessario considerare che i filtri realizzabili non sono ideali. Per un filtro reale distinguiamo: la banda passante, che è la banda all interno della quale il filtro deve lasciar passare pressoché intatto il segnale (o comunque con una attenuazione massima fissata); la banda arrestata, che è la banda al cui interno le componenti devono essere attenuate almeno di una quantità minima preassegnata; la banda di transizione che è l intervallo di frequenze che separa la banda arrestata dalla banda passante. filtro ideale f f filtro reale Figura Funzione di trasferimento di un filtro passa-basso ideale e di un filtro passa-basso reale. Fino ad ora si sono considerati segnali a banda limitata. Una proprietà della trasformata di Fourier è quella secondo la quale se la funzione nel dominio del tempo è di durata limitata, la sua trasformata ha banda infinita. Viceversa se la banda del segnale è limitata, il segnale

9 1.2. ALIAS 9 deve essere di durata infinita. Quindi ciò che abbiamo supposto fino ad ora è che il segnale sia di durata infinita. Nella realtà non è pensabile di avere a che fare con segnali di durata infinita. Quanto detto finora, però, resta comunque valido in quanto, pur essendo teoricamente infinita la banda di un segnale reale, si possono considerare trascurabili componenti spettrali al di sopra di una certa frequenza, se la loro ampiezza è tanto piccola da rendere impossibile distinguerle dal rumore con il quale un segnale reale deve sempre confrontarsi Campionamento di un segnale passa-basso. Se il segnale da campionare è una sinusoide e se non si rispetta il teorema del campionamento, si ottiene in uscita dal filtro di ricostruzione una sinusoide con frequenza diversa da quella di ingresso. Campionando la stessa sinusoide con due diverse frequenze di campionamento, però, può essere possibile identificare la sua vera frequenza. Se si campiona un segnale qualunque, con uno spettro che non sia costituito solo da impulsi, effettuare più misure per riconoscere il segnale di partenza diventa, sempre che sia possibile, più complicato.. Non sempre è possibile campionare a frequenza f c > 2B. In questo caso, fare finta di niente e campionare a frequenza f c significa perdere informazione, anche oltre quella che già si perde a causa del fatto che la banda utile del sistema è inferiore a quella del segnale. Infatti, le repliche adiacenti si sovrappongono allo spettro del segnale, rendendo inutilizzabile l informazione nella banda segnata in figura. S(f) fc 2 fc 2 spettro del segnale f S c(f) fc 2 fc 2 spettro del segnale campionato f Figura Conseguenze di un campionamento con frequenza f c < 2B. Se prima di campionare si effettua un filtraggio passa-basso tra f c /2 e f c /2, invece, l informazione utile è tutta quella compresa tra f c /2 e f c /2. Si perde comunque informazione rispetto al segnale originario, ma meno di quanto se ne perde se si campiona senza prefiltraggio (vedi figura 1.2.9). In questo modo si riesce a estrarre la massima informazione che il sistema permette. In un sistema reale di campionamento è sempre necessario anteporre al campionatore un filtro anti-alias, anche se ci si attende che la banda occupata dal segnale non possa eccedere quella consentita. Anche se il segnale rispettasse questo vincolo, non così può fare l immancabile rumore ad esso sovrapposto. Poiché dopo il campionamento non è più

10 10 1. RAPPRESENTAZIONE NUMERICA DI UN SEGNALE. S(f) fc fc 2 2 spettro del segnale filtrato f S c(f) f c f c fc 2 fc 2 spettro del segnale filtrato e campionato f Figura Campionamento con frequenza f c < 2B previo prefiltraggio. possibile in alcun modo ovviare ai guasti di un mancato prefiltraggio, è sempre necessario filtrare passa-basso prima di effettuare un campionamento. Nella realtà non si ha mai a che fare con un segnale rigorosamente passa-basso, poiché un segnale a banda limitata avrebbe, a rigore, durata infinita e non avrebbe senso fisico. Infatti, anche se tale segnale esistesse, non avremmo vita sufficientemente lunga per poter apprezzare tale sua proprietà (e normalmente non si può dedicare l intera vita ad un solo segnale). D altro canto anche un filtro con funzione di trasferimento rigorosamente a banda limitata ha senso solo matematicamente: anche se esistesse produrrebbe il segnale filtrato in uscita solo dopo un ritardo infinito! È chiaro, allora, che nel definire frequenza di campionamento e frequenza di taglio del filtro passa-basso anti-alias, è necessario essere pronti a qualche compromesso. Non essendo possibile avere a che fare con un segnale rigorosamente passa-basso, non si potranno evitare effetti di aliasing dovuto allo code dello spettro che si sovrappongono dopo il campionamento. La soluzione ingegneristica al problema consiste nel fare in modo che tale sovrapposizione provochi un disturbo tollerabile. Prefiltraggio e frequenza di campionamento vengono fissati in modo che le repliche spettrali abbiano, nella banda utile del segnale, livello tale da garantire un preassegnato rapporto segnale/disturbo da aliasing Multiplo sotto-campionamento. Non sempre l alias è deleterio. È il caso di osservare che una corretta traduzione in italiano del termine tecnico aliasing è equivocazione. Tutte le volte che, per conoscenze a priori od altro motivo, l utilizzatore è in grado di evitare tale equivocazione, il disturbo dovuto alla sovrapposizione delle repliche spettrali non è più tale perché può essere sbrogliato e, quindi, rimosso. Si consideri un segnale con lo spettro di figura Si campioni questo segnale con frequenza B f c 2B, invece di campionarlo correttamente con f c 2B: lo spettro risultante sarà affetto da sensibile sovrapposizione spettrale. Lo spettro del segnale campionato, valutato alla frequenza ˆf, sarà costituito dalla somma dello spettro del segnale valutato in ˆf e dello stesso spettro valutato alla frequenza ˆf f c : (1.2.1) S c ( ˆf) = S( ˆf) S( ˆf f c ).

11 1.2. ALIAS 11 B S(f) B S(f) ˆf f f Figura Campionamento con aliasing da repliche adiacenti. S( ˆf f c ) rappresenta il disturbo da aliasing. È chiaro che la soluzione ovvia sarebbe quella di raddoppiare la frequenza di campionamento, ma non sempre questo è possibile o conveniente. Si consideri, allora, lo stesso segnale s(t) e lo si filtri con due filtri diversi, con funzioni di trasferimento rispettivamente H 1 (f) ed H 2 (f). Le uscite dei due filtri vengono campionate negli stessi istanti temporali, con un passo di campionamento più grande di quello teorico massimo. H 1 (f) S (1) (f) c S(f) H 2 (f) S (2) (f) c (1.2.2) Figura Schema di campionamento multicanale. Gli spettri S c (1) (f) e S c (2) (f) dei segnali campionati risultanti saranno certamente affetti da disturbo di aliasing. Si avrà, per 0 f < f c (gli spettri sono periodici di periodo f c e, quindi, è lo stesso considerare il periodo come f c /2 f f c /2 o come 0 f < f c ): S c (1) (f) = S(f)H 1 (f) S(f f c )H 1 (f f c ) S (2) c (f) = S(f)H 2 (f) S(f f c )H 2 (f f c ) I termini S(f f c )H 1 (f f c ) ed S(f f c )H 2 (f f c ) sono i termini dovuti all aliasing. Effettuando due misure si ottiene un sistema di due equazioni nelle due incognite S(f) ed S(f f c ). Se il sistema ammette soluzione (diversa dalla banale S(f) 0), noti S(f) ed S(f f c ) per 0 f f c, è possibile ricostruire lo spettro del segnale s(t) sull intero intervallo f c f < f c.

12 12 1. RAPPRESENTAZIONE NUMERICA DI UN SEGNALE. Il sistema ammette soluzione diversa dalla banale quando il determinante della matrice dei coefficienti è non nullo, cioè, se H 1 (f) H 1 (f f c ) (1.2.3) H 2 (f) H 2 (f f c ) 0 per f c/2 f f c /2. Se si dimensionano opportunamente i filtri H 1 (f) ed H 2 (f), con il doppio contemporaneo sotto-campionamento si ottiene lo stesso risultato che si otterrebbe con un solo campionamento a frequenza doppia. Nel discorso precedente si è supposto che l aliasing fosse dovuto alla sola componente spettrale adiacente, tant è che nella (1.2.1) si sono considerati solo due termini. È chiaro che, nel caso in cui si sovrappongano n componenti (campionando a frequenza 2B/n), sarà necessario effettuare n misure, cioè progettare n filtri, ottenendo così un sistema di n equazioni in n incognite, in cui il determinante della matrice dei coefficienti dovrà essere non nullo a tutte le frequenze di interesse. Il determinante della matrice dei coefficienti non basta che sia non nullo, deve essere anche sufficientemente grande in modulo. In caso contrario ne risulterebbe un sistema mal condizionato, con i relativi problemi indotti dalla immancabile rumorosità delle misure. Esempio. Si consideri il caso H 1 (f) = 1 ed H 2 (f) = j2πf (derivatore). Il determinante (1.2.3) vale: j2π(f f c ) j2πf = j2πf c 0, f. Naturalmente il derivatore non potrà essere ideale, perché, se così fosse, il modulo della sua funzione di trasferimento avrebbe un andamento monotonamente crescente con la frequenza e ne risulterebbe un amplificazione tanto più grande quanto maggiore è la frequenza. Alle alte frequenze si finirebbe con l esaltare il solo rumore che sovrasterebbe il segnale utile (di ampiezza minima perché allocato più in bassa frequenza). La funzione di trasferimento di un derivatore reale dovrà subire dei ritocchi, combinando il teorico andamento del derivatore con un filtraggio passa basso che limiti la banda a quella effettivamente occupata dal segnale, come schematizzato in figura S(f) f S(f) f Figura Funzione di trasferimento (modulo) del derivatore e sua approssimazione pratica.

13 1.2. ALIAS 13 Un altra possibilità è quella di effettuare due campionamenti ripetuti a distanza di tempo τ molto breve. In tal caso H 1 (f) = 1 ed H 2 (f) = e j2πfτ (ritardatore). Il determinante in questo caso vale: e j2π(f fc)τ e j2πfτ. Poiché τ si è supposto piccolo rispetto all intervallo di campionamento, si trova che il determinante non è nullo, ma è molto piccolo, e ciò può creare problemi. Esercizio. Si consideri un segnale passa-basso di banda B e lo si campioni a frequenza f c = B = 1/T. Per quanto già detto, lo spettro sarà replicato attorno alle frequenze f c e multipli: si avrà, perciò, una situazione del tipo indicato in figura S(f) f 2/T 1/T 1/T 2/T Figura Campionamento con f c = B. Si ripeta ora l operazione, campionando con la stessa frequenza di campionamento, ma sfalsando i campioni rispetto ai campioni precedenti esattamente di T/2. 2/f c t 2/f c = PRIMO CAMPIONAMENTO = SECONDO CAMPIONAMENTO Figura Sotto-campionamento con pattern sfalsati. Anche questa nuova sequenza, considerata da sola, non riesce a descrivere compiutamente il segnale di partenza, in quanto anch essa non deriva da un campionamento "corretto" a frequenza 2B. Se, però, si considerano le due sequenze intercalate come in figura, si riottiene una descrizione del segnale di partenza priva di alias. Quanto affermato è verificabile facilmente nel dominio delle trasformate. Fissato l istante iniziale si ottiene per il primo campionamento lo spettro: (1.2.4) k= Per il secondo campionamento si ha lo spettro: (1.2.5) k= S(f k T ). S(f k T )e jπ(f k/t )T.

14 14 1. RAPPRESENTAZIONE NUMERICA DI UN SEGNALE. supponendo di ottenere la seconda sequenza utilizzando gli stessi istanti di campionamento della prima, ma dopo aver ritardato il segnale di T/2 (si poteva anche pensare di anticiparlo). Gli spettri ottenuti sono relativi alle due sequenze di campioni, ordinati nel tempo a passo T a partire dall istante 0. Ci si aspetta che, sommando i campioni della prima sequenza con quelli della seconda, opportunamente posizionata, si ottenga una descrizione campionata del segnale in cui l aliasing è cancellato. Nella (1.2.4) l aliasing è determinato dai termini spettrali con k dispari. Ne consegue che dalla composizione di cui si è parlato ci si attende che risulti una cancellazione di questi termini. Se s (1) c (t) è il risultato del primo campionamento e s (2) c (t) è quello relativo al secondo, il segnale correttamente campionato si otterrà come s c (t) = s (1) c (t) s (2) c (t T/2), sovrapponendo s (2) c (t) anticipato di T/2 ad s (1) c (t). In termini di spettri si avrà: 1 T k= S(f k T ) 1 T n= S(f n T )e jπ(f n/t )T e jπft = = 1 T k= S(f k T ) 1 T n= S(f n T )ejπn = = 1 T k= S(f k T ) 1 T n= S(f n T )( 1)n = 2 T k= S(f 2k T ). Per k ed n pari i termini hanno lo stesso segno e si sommano; per k ed n dispari i termini hanno segno opposto e si annullano, come ci si aspettava. È il caso di osservare che questo esercizio è un caso particolare dell esempio precedente, con τ = T/ Campionamento di segnali passa-banda. I segnali passa banda sono segnali le cui componenti spettrali sono distribuite su un intervallo di frequenze che non parte dalla continua. Normalmente questo intervallo è relativamente piccolo rispetto al valore della frequenza intorno alla quale è centrato. S(f) f 2 f 1 f f 1 f 2 Figura Spettro di un segnale passa-banda. Volendo procedere come fatto finora, si dovrebbe campionare a frequenza doppia rispetto ad f 2. Questo procedimento, tuttavia, ha avuto senso fino ad ora perché si voleva

15 1.3. CAMPIONAMENTO DI SEGNALI PASSA-BANDA. 15 essere in grado di descrivere qualunque componente spettrale del segnale compresa tra 0 ed f 2. La frequenza di campionamento è legata al contenuto informativo del segnale e questo è legato alla larghezza di banda occupata dal segnale. Usare il teorema del campionamento nella sua versione passa-basso in questo caso significa sprecare risorse, in quanto si prendono in considerazione anche zone in cui si sa già che l informazione è nulla Campionamento dopo conversione in frequenza. Visto che il contenuto informativo del segnale passa-banda è limitato alla banda di frequenza compresa tra f 1 ed f 2 (per le frequenze negative tra f 2 e f 1 ), una possibilità è quella di spostare tale banda a frequenze più basse, in modo da poter usare le metodiche già note per i segnali passabasso. Con questa operazione (che viene chiamata conversione di frequenza) il contenuto informativo del segnale resta invariato, semplicemente se ne fornisce una rappresentazione spettralmente più compatta. Lo spostamento dello spettro si effettua mediante prodotto del segnale con una sinusoide e successivo filtraggio passa-basso, secondo lo schema di figura. s(t) s m (t) cos(ω t) Figura Schema di principio di un convertitore di frequenza. A titolo di esempio, se si considera il caso in cui s(t) = cos(ω s t), si ha: cos(ω s t) cos(ω t) = 1/2 cos[(ω s ω )t] 1/2 cos[(ω s ω )t]. Si ottiene, cioè, una componente a frequenza differenza ed una a frequenza somma. Poiché lo scopo è quello di spostare il segnale a frequenza più bassa, si deve cancellare la componente a frequenza somma: è questa la funzione del filtro passa-basso che segue il moltiplicatore. La stessa operazione si può analizzare nel dominio delle frequenze. Lo spettro della cosinusoide è costituito da due impulsi di area 1/2 a frequenze ±f. Al prodotto nei tempi corrisponde la convoluzione in frequenza. La convoluzione tra lo spettro del segnale ed un impulso trasla lo spettro di una quantità pari alla frequenza alla quale è posto l impulso. Il prodotto con la sinusoide produce, quindi, uno spostamento a sinistra ed uno a destra di entità pari ad f, producendo l effetto desiderato, a patto di eliminare i termini a frequenza somma. L operazione di conversione in frequenza è reversibile, ovvero si può ricostruire il segnale di partenza: basta rimoltiplicare per la stessa sinusoide cos(ω t) ed isolare, questa volta, le componenti a frequenza somma. Il vantaggio della conversione sta nel fatto che, una volta spostata la banda del segnale (B = f 2 f 1 ) a frequenza più bassa, non è più necessario campionare a frequenza maggiore di 2f 2, ma basta campionare a frequenza più bassa, fino ad un limite inferiore di 2B. Vale la pena di osservare che ad essere spostata a frequenza f dopo la moltiplicazione per la sinusoide a frequenza f o non è solo la componente a frequenza f o f, ma anche

16 16 1. RAPPRESENTAZIONE NUMERICA DI UN SEGNALE. S(f) f 2 f 1 f f 1 f 2 f S m (f) f f f Figura Risultato della convoluzione tra lo spettro del segnale passabanda e quello della cosinusoide di frequenza f o. quella a frequenza f o f. Nell esempio considerato, a frequenze più basse di f o non c era niente, ma nella realtà è necessario garantirsi che questo sia vero e l unico modo per farlo è anteporre al moltiplicatore un filtro che lasci passare solo le frequenze comprese nella banda del segnale o, quantomeno, abbia funzione di trasferimento nulla per frequenze inferiori ad f o Campionamento diretto. Allo stesso risultato si può giungere in altro modo, semplicemente scegliendo opportunamente la frequenza di campionamento. Si noti, infatti, che il campionamento consiste sostanzialmente in una moltiplicazione del segnale s(t) con un segnale periodico (pettine di campionamento). Se si sceglie opportunamente la frequenza di campionamento, si può fare in modo che nello spettro del pettine di campionamento ci sia anche una sinusoide a frequenza f. L importante è che le altre sinusoidi che sono contemporaneamente presenti non diano luogo a termini che si mischiano tra loro. Si consideri un sistema che campiona a frequenza f c un segnale passa-banda allocato nell intervallo di frequenze compreso tra f c e 3/2f c. Effettuando la convoluzione fra lo spettro del segnale e quello del pettine di impulsi, si ottiene il risultato rappresentato in figura Si noti che non esiste alcun intervallo di frequenza in cui ci siano contemporaneamente più termini spettrali, cioè a nessuna frequenza c è la mescolanza di termini spettrali distinti: non c è aliasing. Campionando il segnale passa-banda in questione (che ha uno spettro con frequenza massima pari a 1.5f c ) a frequenza f c, non si creano problemi di sorta, nel senso che si è in grado di ricostruire esattamente il segnale dai suoi campioni. La ricostruzione non può certo avvenire mediante un filtraggio passa-basso: nota la banda in cui è allocato il segnale originario, bisogna utilizzare un filtro passa-banda, come indicato nella figura

17 1.3. CAMPIONAMENTO DI SEGNALI PASSA-BANDA. 17 S(f) f f f c c c 2 f c spettro del segnale S(f) f 2f c f c f c 2f c spettro del pettine di campionamento S(f) f f f f c c c 2 f c risultato della convoluzione f Figura Convoluzione tra lo spettro (compreso tra f c e 3f c /2) del segnale passa-banda e quello del pettine di campionamento. Si noti che in questo caso non ci sono stati problemi perché lo spettro del segnale di partenza era allocato tra f c e 3f c /2. In genere, se lo spettro è allocato tra nf c /2 e (n 1)f c /2, la periodicizzazione dello spettro non crea sovrapposizioni delle repliche. In caso diverso, i termini spettrali si mescolano tra loro e questo secondo modo di procedere non è più applicabile. I due procedimenti sono rigorosamente equivalenti da un punto di vista matematico, mentre da un punto di vista reale esiste una sostanziale differenza Campionatore reale. Finora si è descritto il campionamento come prodotto del segnale da campionare con un pettine di impulsi matematici. In questo discorso si è ipotizzato implicitamente di essere in grado di eseguire la misura istantanea del valore del segnale. È ovvio che una operazione di questo tipo è puramente teorica. Nella realtà ogni misura richiederà un tempo piccolo, ma non infinitesimo. Se durante questo tempo il segnale cambia, il valore campionato non sarà quello del segnale, ma un valore mediato sull intervallo di misura. τ T t Figura Principio di funzionamento di un campionatore reale.

18 18 1. RAPPRESENTAZIONE NUMERICA DI UN SEGNALE. In uscita dal campionatore si avrà, cioè, non più s(kt ), ma approssimativamente kt s(α) dα, cosa che può essere interpretata dicendo che il risultato del campionamento kt τ reale può essere visto come un campionamento ideale del segnale s(t) dopo che sia passato attraverso un filtro con risposta all impulso rettangolare di durata τ. s(t) τ s u (t) s u (kt ) Figura Schema a blocchi equivalente di un campionatore reale. Un campionatore reale può, perciò, essere schematizzato (vedi figura 1.3.6) come un campionatore ideale preceduto da un filtro con funzione di trasferimento di tipo sin(πf τ)/πf τ, con il primo zero in f = 1/τ. Se il tempo di misura è sufficientemente piccolo, in modo che 1/τ sia molto grande rispetto alla banda B del segnale da campionare, l effetto del campionamento non ideale è trascurabile. Risulta ora facile comprendere in cosa sostanzialmente differiscano i due procedimenti proposti per il campionamento di un segnale passa-banda. Nel primo caso si effettua prima una conversione in frequenza che trasforma il segnale passa-banda in uno passabasso e poi si campiona il segnale passa-basso così ottenuto. In questo caso il segnale da campionare risentirà poco del passaggio attraverso il filtro con funzione di trasferimento del tipo sin(f)/f, risultandone solo una attenuazione delle alte frequenze tanto più contenuta quanto più stretta è la banda del segnale. Nel secondo caso il segnale che si campiona è il segnale passa-banda di partenza che può risultare fortemente attenuato, se non affetto da pesante distorsione spettrale (questo dipende dalla posizione degli zeri k/τ rispetto alla banda del segnale) a causa del passaggio attraverso il filtro con funzione di trasferimento di tipo sin(f)/f. Riassumendo, l effetto di un campionamento non ideale può essere schematizzato mediante un filtraggio passa-basso del segnale prima del campionamento: tale effetto ha poca rilevanza quando il segnale da campionare ha lo spettro collocato interamente a frequenze basse, ma ha rilevanza notevole nel caso in cui si campioni direttamente un segnale, magari con banda stretta, ma allocata ad alta frequenza Campionamento dopo conversione con due canali in quadratura. Quando si è parlato della trasformata di Fourier si è detto di voler scomporre una forma d onda reale in somma di funzioni sinusoidali reali di frequenza, ampiezza e fase opportune. Per descrivere delle funzioni sinusoidali come cos(ωt ϕ) o sin(ωt ϕ) è possibile ricorrere ad esponenziali complessi, giacché con gli esponenziali complessi è più facile trattare le fasi, perché exp[j(ωtϕ)] = exp[jωt] exp[jϕ]. L esponenziale complesso è l analogo matematico di un vettore rotante, concetto molto utile quando si ha a che fare con sinusoidi. L uso di esponenziali complessi per rappresentare una funzione reale, però, richiede che si consideri sempre la somma di due: uno il complesso coniugato dell altro. Nella

19 1.3. CAMPIONAMENTO DI SEGNALI PASSA-BANDA. 19 trasformata di Fourier i termini a frequenza negativa, che in sé non sono altro che un artificio matematico, sono indispensabili per la descrizione di una forma d onda reale, per il motivo appena esposto. È evidente, allora, che il contenuto informativo di un segnale reale è interamente descritto dalle sole frequenze positive, dato che i valori della trasformata per le frequenze negative sono vincolati dalla richiesta simmetria complessa coniugata: H( f) = H (f). Si noti che questo discorso vale solo se si considerano segnali reali. Tornando alla descrizione di una funzione sinusoidale mediante esponenziali complessi, si dovrebbe ricorrere alle formule del tipo: e j(ωtϕ) e j(ωtϕ) = 2 cos(ωt ϕ). In effetti, mantenendo memoria del fatto che si sta lavorando con un segnale reale, è possibile usare un solo esponenziale complesso, a patto di considerarne la sola parte reale: Re[e j(ωtϕ) ] = cos(ωt ϕ). In questo modo si può dare una rappresentazione di Fourier, cioè una schematizzazione del segnale come sovrapposizione di sinusoidi, limitandosi a considerare solo esponenziali complessi con frequenze positive. Quando si opera la trasformazione inversa, però, è necessario estrarre la parte reale: tale operazione è in genere sottintesa. L antitrasformata diventa: [ ] s(t) = Re S(f)e j2πft df. 0 Questo tipo di trasformata di Fourier, definita solo per f 0 è detta trasformata monolatera. La relazione con la trasformata bilatera è la seguente: 2S(f) per f > 0 S(f) = S(f) per f = 0 0 per f < 0 Con la trasformata monolatera si tiene conto delle sole frequenze positive. Per le frequenze negative si presuppone che valga la relazione S( f) = S (f). Dato che il segnale è completamente descritto dalle sole frequenze positive, è lecito pensare di traslare a bassa frequenza solo i termini a frequenze positive, centrandoli attorno alla frequenza zero. In questo modo si otterrebbe un segnale passa-basso con banda metà, ma complesso. Traslare intorno allo zero la sola banda positiva, significa convolvere lo spettro del segnale con un impulso, come in figura. La funzione del tempo corrispondente all impulso in frequenza è exp( jωt) = cos(ωt) j sin(ωt). Nel tempo, quindi, si deve moltiplicare il segnale per questa funzione complessa. Effettuare una moltiplicazione con una funzione complessa significa semplicemente tener conto di due diversi segnali contemporaneamente (si ricordi che un numero complesso non è altro che una coppia ordinata di numeri reali). Lo schema a blocchi che descrive l implementazione della moltiplicazione per l esponenziale complesso è quello riportato in figura

20 20 1. RAPPRESENTAZIONE NUMERICA DI UN SEGNALE. Lo spettro del segnale S(f) f convoluto con: I(f) f fornisce: S m(f) f Figura Conversione con sinusoide complessa , avendo indicato con r(t) e i(t) rispettivamente la parte reale e la parte immaginaria della componente passa-basso di s(t) moltiplicato per l esponenziale complesso. cos(ωt) s(t) sin(ωt) f r(t) f i(t) Figura Convertitore I-Q. Nelle frequenze la moltiplicazione per il coseno corrisponde alla convoluzione con lo spettro del coseno; la moltiplicazione per il seno corrisponde alla convoluzione con lo spettro del seno. Se lo spettro del segnale è quello già indicato in precedenza, ricordando gli spettri del coseno e del seno e tenendo conto che bisogna moltiplicare per sin(ωt), si ottiene che R(f) ed I(f), rispettivamente spettri di r(t) e di i(t), sono come indicato in figura. Quello che si ottiene è in pratica un sistema di due equazioni in due incognite. I termini spettrali a frequenza negativa e positiva, infatti, si sommano nel canale coseno e si sottraggono nel canale seno. L operazione inversa si effettua semplicemente moltiplicando per exp(jωt), cioè effettuando le moltiplicazioni r(t) cos(ωt) e i(t) sin(ωt). In totale le operazioni effettuate si possono riassumere come segue: s(t) = Re {[ s(t)e jωt h(t) ] e jωt}

21 1.4. QUANTIZZAZIONE 21 SPETTRO COSENO SPETTRO -SENO 1/2 1/2 j/2 f f -j/2 R(f) f I(f) f Figura Spettri di parte reale e parte immaginaria dell inviluppo complesso. avendo indicato con h(t) la funzione di trasferimento del filtro passa-basso (il tutto a meno di fattori 2 e 1/2). In questo modo si guadagna un fattore 2 nella frequenza di campionamento. Infatti, se si effettua la conversione in bassa frequenza del segnale passabanda, bisogna campionare a f c = 2(f 2 f 1 ). Se si sposta la sola banda a frequenza positive (o negative) e la si centra a frequenza zero (cioè si ricorre a quello che si chiama inviluppo complesso di un segnale passa-banda), basta campionare a f c = f 2 f 1, ma la quantità complessiva dell informazione è la stessa (ovviamente) perché ad ogni campionamento si ottengono due campioni (reale e immaginario). Si è visto che, in alcuni casi, convertire il segnale passa-banda in un segnale reale passabasso prima di campionare, oppure campionare direttamente il segnale passa-banda con una frequenza di campionamento f c tale che nf c /2 f 1 e f 2 (n1)f c /2 porta allo stesso risultato. Un discorso analogo vale anche quando si ricorre all inviluppo complesso. Lo spostamento in frequenza del segnale viene effettuato mediante l uso dei due canali seno e coseno. Qualcosa di simile si può fare campionando due volte direttamente il segnale passa-banda con due pettini di campionamento di stessa frequenza f c (sub-armonica della frequenza f ), sfalsati nel tempo di un t che alla frequenza f delle due sinusoidi corrisponda ad uno sfasamento di 90. In questo caso le armoniche n-me dei due pettini saranno sinusoidi in quadratura fra loro (esattamente come il seno ed il coseno). Anche in questo caso, però, bisogna rispettare delle limitazioni sul valore della frequenza di campionamento, il cui valore deve essere in stretta relazione con gli estremi di banda del segnale. Invece che convertire e campionare (sempre sui due canali), si può effettuare direttamente il campionamento (su due canali) con due pettini di campionamento sfalsati, a patto che sia verificata le seguente condizione nf c f 1 < f 2 (n 1)f c. Si guadagna sempre un fattore 2 nella frequenza di campionamento Quantizzazione Per la rappresentazione numerica di un segnale analogico non è sufficiente il suo campionamento, cioè non basta discretizzarlo rispetto al tempo: bisogna anche discretizzarne

22 22 1. RAPPRESENTAZIONE NUMERICA DI UN SEGNALE. le ampiezze. Un segnale analogico può assumere un qualunque valore compreso tra il suo valore minimo ed il suo valore massimo (quella che si chiama dinamica del segnale). Tali valori sono una infinità continua e sono rappresentabili mediante numeri reali. In un calcolatore numerico, invece, i numeri possono essere rappresentati con una precisione finita, cioè con un numero finito di cifre binarie. Ciò vuol dire che, per la rappresentazione del valore di ogni campione, si può scegliere una tra 2 n diverse configurazioni binarie che, a loro volta, possono essere utilizzate per identificare uno tra 2 n valori distribuiti all interno della dinamica del segnale. soglie s k1 x (valore da quantizzare) v k valori restituiti s k e q = x v k Figura Livelli di soglia, livelli di restituzione ed errore di quantizzazione in uno schema di quantizzazione. Con riferimento alla figura 1.4.1, la totale dinamica del segnale da quantizzare viene, disponendo opportunamente dei valori di soglia, suddivisa in un opportuno numero (di solito una potenza di 2) di intervalli di quantizzazione, ognuno identificato mediante un diverso numero binario e per il quale è definito un corrispondente valore di restituzione. Con riferimento alla stessa figura, supponiamo che il valore x da quantizzare sia compreso nell intervallo delimitato dai valori di soglia successivi s k ed s k1 : invece che con il suo valore reale x al campione del segnale verrà assegnato il valore v k. Questo modo di procedere consente di identificare il valore di ogni campione mediante una configurazione binaria di n bit ma, in compenso, il valore del campione verrà descritto con un errore di quantizzazione non nullo e pari ad e q = x v k. Descrivere l effetto di questo errore in termini deterministici non ha senso: le conseguenze di tale approssimazione sul segnale che da tali campioni quantizzati si potrà ricostruire si possono quantificare in termini statistici. Per calcolare il valor medio ed il valore quadratico medio dell errore di quantizzazione è sufficiente conoscere la densità di probabilità delle ampiezze del segnale da quantizzare. Supponiamo che p(x) sia tale densità di probabilità: valor medio e valore quadratico medio dell errore di quantizzazione possono scriversi come:

23 1.4. QUANTIZZAZIONE 23 (1.4.1) E [e q ] = k sk1 s k (x v k ) p(x) dx (1.4.2) E [ e 2 q ] = k sk1 s k (x v k ) 2 p(x) dx dove le sommatorie rispetto a k servono a tener conto che se x assume un valore maggiore di s k1 salta nell intervallo successivo e viene descritto con il valore rappresentativo v k1 che all intervallo successivo si riferisce. Progettare un quantizzatore ad n bit significa identificare i 2 n valori rappresentativi per tutti gli intervalli di quantizzazione individuati da 2 n 1 livelli di soglia. L ottimizzazione, ad esempio in termini di valore quadratico medio dell errore di quantizzazione, potrebbe portare ad intervalli di quantizzazione di ampiezze diverse. Siccome una quantizzazione non uniforme di questo tipo non si armonizza con il tipo di elaborazioni trattate in questo corso, si considererà esclusivamente la quantizzazione uniforme che prevede che la totale dinamica del segnale venga suddivisa in intervalli tutti di pari ampiezza, che indicheremo d ora innanzi con il simbolo a. Una prima condizione da richiedere alla legge di quantizzazione è che E [e q ] = 0 perché diversamente il segnale quantizzato risulterebbe affetto da un polarizzazione. Perché ciò sia possibile basta che il valore v k sia il baricentro della distribuzione di massa p(x) all interno dell intervallo s k < x < s k1 : sk1 (x v k ) p(x) dx = 0 s k L equazione (1.4.2) può essere interpretata in modo leggermente diverso, come la media degli errori quadratici medi calcolati per i diversi intervalli di quantizzazione. Infatti, osserviamo che P k = s k1 s k p(x) dx è la probabilità che il valore da quantizzare sia compreso nell intervallo k-esimo. La densità di probabilità dell errore di quantizzazione, una volta che si sia all interno dell intervallo k-esimo, vale: p(e q v k )/P k per s k v k < e q < s k1 v k p (e q s k < x < s k1 ) = 0 altrove Con queste posizioni, l equazione (1.4.2) può essere riscritta come: E [ ] sk1 v k e 2 q = P k e 2 q p(e q s k < x < s k1 ) de q = k s k v k k P k E 2 k dove Ek 2 è l errore quadratico medio condizionato al fatto che il valore da quantizzare sia compreso nell intervallo k-esimo. p(e q s k < x < s k1 ) non è che una fettina di p(x), centrata su v k e larga s k1 s k, traslata in modo che v k corrisponda allo zero e normalizzata rispetto a P k (vedi figura 1.4.2).

24 24 1. RAPPRESENTAZIONE NUMERICA DI UN SEGNALE. p(e s <x <s ) q k k1 p(x) s k s k1 v k x s v k k s v k1 k e q Figura Densità di probabilità del segnale e densità di probabilità dell errore di quantizzazione, condizionata all appartenenza all intervallo k esimo. Dalla figura si può dedurre (cosa peraltro già ben nota dai corsi di matematica) che, se l ampiezza dell intervallo di quantizzazione è piccolo, p(e q s k < x < s k1 ) si può approssimare con una costante. Nel caso di quantizzazione uniforme, con l ampiezza dell intervallo pari ad a, la densità di probabilità costante dell errore di quantizzazione all interno dell intervallo è di valore pari ad 1/a. La condizione di errore medio nullo implica che il valore di restituzione sia a metà tra le due soglie e, perciò, la d.d.p. dell errore di quantizzazione è come indicato in figura p(e) 1/a a/2 a/2 e Figura Densità di probabilità dell errore di quantizzazione con quantizzazione uniforme con passo a. Valor medio e varianza dell errore di quantizzazione nel caso di quantizzazione uniforme valgono, perciò: E [e q ] = 0 E [ ] e 2 q = P k k a/2 a/2 e 2 q 1 a de q = k P k a2 12 = a2 12 L operazione di quantizzazione è un operazione (non lineare) istantanea e, perciò, essa può teoricamente precedere o seguire il campionamento, senza che il risultato complessivo muti. Nella realtà, però, va tenuto presente che il campionamento, con mantenimento del valore (sample and hold), precede sempre la quantizzazione perché la circuiteria del quantizzatore ha bisogno di un po di tempo (che deve essere inferiore al periodo di campionamento) per calcolare il valore quantizzato corrispondente al valore presentatogli in ingresso. La figura rappresenta un segnale analogico e la sua versione quantizzata. Ovviamente la versione quantizzata ha un andamento a scalinata, in quanto solo i valori

25 1.4. QUANTIZZAZIONE 25 0 Figura Errore di quantizzazione. corrispondenti ai valori di restituzione sono possibili e si salta da un valore all altro appena si varca una soglia del quantizzatore. La stessa figura mostra la differenza tra il segnale analogico e la sua versione quantizzata, cioè quello che abbiamo chiamato errore di quantizzazione. È evidente come l errore di quantizzazione sia un segnale a banda larga che, una volta campionato, dà luogo ad uno spettro in cui le repliche spettrali si sovrappongono pesantemente: tanto che non è difficile accettare l idea che lo si possa modellare come un disturbo a spettro bianco (nell intervallo f c /2 < f < f c /2). Tale disturbo, sommato al segnale originario, dà luogo alla sua versione quantizzata: è, quindi, un disturbo additivo. Spesso lo si modella come statisticamente indipendente dal segnale, ma questa è un approssimazione non altrettanto ovvia e può ritenersi ragionevolmente vera solo in presenza di una quantizzazione molto fine, soprattutto se l intervallo di quantizzazione diventa di ampiezza comparabile con il valore efficace del rumore inevitabilmente sommato al segnale da quantizzare.

26

27 CAPITOLO 2 Interpolazione 2.1. Ricostruzione del segnale tempo continuo Fino ad ora si è visto come poter descrivere un segnale analogico a banda limitata con una sequenza di campioni. Il campionamento ha senso se permette di ricostruire l andamento del segnale di partenza in tutti gli istanti intermedi tra quelli di campionamento. Si tratta, come già visto, di effettuare un filtraggio che elimini tutte le repliche spettrali, tranne quella relativa al segnale di partenza. Il progetto di un filtro ricostruttore analogico esula dagli scopi di questo documento. Ci si limiterà ad un semplice esempio. Supponiamo di mandare i campioni in un filtro RC, cioè un filtro passa basso con frequenza di taglio a 3 db in f = 1/(2πRC). H(f) 1 2πRC f Figura Funzione di trasferimento di un filtro RC. Questo filtro ha un attenuazione con una pendenza di 20 db/decade e, quindi, una banda di transizione molto larga: non può eliminare efficacemente le repliche spettrali. La forma d onda alla sua uscita, quando in ingresso gli vengono inviati i campioni del segnale, è del tipo in figura t Figura Segnale all uscita del filtro RC. L andamento frastagliato del segnale in uscita è indice del fatto che i termini spettrali di alta frequenza non sono adeguatamente attenuati. Questo ricostruttore, quindi, non solo non è in grado di ricostruire la forma d onda di partenza, ma può anche (dipende dal modo 27

28 28 2. INTERPOLAZIONE in cui è realizzato) non rispettare i valori esatti dei campioni. Il filtro di ricostruzione non può, quindi, essere un normale RC e dovrà essere un filtro più complicato. Nella realtà, peraltro, non si può avere a che fare con impulsi. In un sistema di ricostruzione reale, i numeri binari rappresentativi dei valori dei campioni sono mantenuti all ingresso del convertitore D/A per l intero periodo di campionamento. Il segnale x q (t) all uscita del convertitore è costituito, perciò, da rettangoli di durata T e di altezza pari ai valori dei campioni del segnale. n campioni registro n D/A CK Figura Schema di conversione digitale/analogica. Tale segnale si può considerare come ottenuto dal segnale campionato descritto con impulsi x c (t) = x(kt ) δ(t kt ) k mediante un filtro che trasforma un impulso in un rettangolo di durata T ( ) t x q (t) = x c (t) rect = ( ) t kt x(kt ) rect T T k h(t) t t t Figura Rappresentazione del segnale all uscita del D/A come segnale campionato ideale passato attraverso un filtro con risposta all impulso rettangolare. La funzione di trasferimento corrispondente è un sin(f)/f i cui zeri si trovano in corrispondenza dei multipli della frequenza di campionamento (1/T e multipli). Il filtro mantenitore lascia passare pressoché inalterate le componenti a bassa frequenza; le repliche vengono attenuate ma non annullate (se non in corrispondenza delle armoniche della frequenza di campionamento). Un interpolatore di questo tipo (mantenitore) è certamente migliore del semplice RC, dato che almeno rispetta i valori dei campioni negli istanti di campionamento. Inoltre, la risposta dell interpolatore ad un particolare campione non interferisce con la risposta dell interpolatore ad altri campioni.

29 2.2. RICAMPIONAMENTO 29 1/ 2T 0 1/ 2T f Figura Filtro di ricostruzione da mettere in cascata al mantenitore. Un successivo filtro analogico di ricostruzione dovrà essere ancora un filtro passa-basso, ma dovrà compensare le componenti del segnale a frequenze via via più alte per bilanciare l effetto attenuativo del sin(f)/f Ricampionamento Per quanto a questo punto possa sembrare strano, può essere necessario effettuare l interpolazione del segnale rimanendo nell ambito numerico. A volte è necessario ricampionare il segnale ad una frequenza diversa. In un compact disk il segnale musicale è memorizzato in forma numerica: la sua banda è di 15 khz e la frequenza di campionamento è 44,1 khz (per mantenere la compatibilità con un sistema preesistente). La prima replica spettrale parte, quindi, da 29,1 khz; ne consegue che la distanza tra le repliche è percentualmente piccola e per attenuarle sufficientemente sarebbe necessario usare dei filtri con banda di transizione molto stretta. È ben noto che la caratteristica di fase di un filtro analogico può approssimare quella di un ritardatore di gruppo ideale soltanto nell intervallo di frequenze in cui il modulo della funzione di trasferimento ha un andamento abbastanza regolare. Quando il modulo varia bruscamente la fase varia molto velocemente. Di conseguenza alle alte frequenze la fase del filtro di ricostruzione varierebbe molto più velocemente di quanto non faccia alle basse frequenze. Questo creerebbe problemi già in un sistema monofonico, ma può crearne di gravi in un sistema stereofonico. L idea è allora quella di mandare nel filtro analogico un segnale campionato con frequenza sufficientemente più alta, in modo che la prima replica sia più distante: in questo modo non è più necessario usare un filtro con banda di transizione molto stretta. Per ottenere una frequenza di campionamento più alta bisogna cercare di calcolare, con tecniche numeriche, i campioni mancanti (è ovvio che non si può usare una frequenza di campionamento molto più alta di quella richiesta dal teorema di campionamento, se non altro perché un CD potrebbe memorizzare brani musicali di durata molto breve). Un qualsiasi schema di ricampionamento è riconducibile al modello di figura 2.2.1: ritornare al segnale tempo-continuo che viene poi ricampionato alla nuova frequenza. È ovvio che tale schema è puramente teorico e non ha senso pensare di implementarlo alla lettera.

30 30 2. INTERPOLAZIONE h(t) x(nt i ) u(kt u ) filtro di ricostruzione Figura Schema di sovra-campionamento. Con riferimento alla figura 2.2.1, è abbastanza semplice ricavare il legame ingressouscita: u(kt u ) = x(nt i ) h(kt u nt i ) n dove h(t) è la risposta all impulso del filtro di ricostruzione, T i è il passo di campionamento in ingresso e T u il passo di campionamento in uscita. Se la nuova frequenza di campionamento è più bassa e se il filtro di ricostruzione è il filtro con frequenza di taglio a 1/2T i, se non si limita opportunamente la banda del segnale ricostruito, si rischia di aliasare. Ovviamente, però, la cascata dei due filtri identifica un unico filtro la cui frequenza di taglio (teorica) deve essere la più bassa tra 1/2T i e 1/2T u. x(nt ) i filtro di ricostruzione filtro anti alias u(kt u ) Figura Schema di sotto-campionamento Interpolatori numerici Una caratteristica cui la risposta all impulso dell interpolatore (ricostruttore) deve soddisfare, affinché poi il segnale interpolato rispetti almeno i valori dei campioni negli istanti di campionamento, è che non ci sia interferenza tra campioni adiacenti. In altre parole la risposta all impulso del filtro interpolante deve essere diversa da zero nell origine e valere zero in tutti gli altri punti di campionamento, ovvero deve essere nulla ogni T secondi (se T è il periodo di campionamento). t Figura Funzione interpolante a zeri equispaziati. Quindi, per garantire la mancanza di interferenza tra campioni adiacenti negli istanti di campionamento, la risposta all impulso deve essere a zeri equidistanti e come tale, il suo

31 spettro periodicizzato dovrà essere una costante, cioè: 2.3. INTERPOLATORI NUMERICI 31 k= S(f k T ) = cost. Nelle frequenze ci si attende che l interpolatore lasci immutato lo spettro nel periodo non ambiguo di frequenze comprese tra f c /2 e f c /2 e attenui il più possibile le repliche spettrali centrate attorno alle armoniche della frequenza di campionamento. I diversi tipi di interpolatore si differenziano per la risposta all impulso del filtro anteposto al ricampionatore nello schema di figura Il più semplice è l interpolatore di ordine zero o mantenitore, che mantiene il valore del campione fino all arrivo del successivo. Un interpolatore di questo tipo è certamente migliore del semplice RC, dato che almeno rispetta i valori dei campioni negli istanti di campionamento. Un tale interpolatore può essere schematizzato come un filtro che, sollecitato con un impulso (di area pari al valore del campione), restituisce un rettangolo di altezza pari all area dell impulso e di durata T (periodo di campionamento). La funzione di trasferimento corrispondente è un sin(f)/f i cui zeri si trovano in corrispondenza dei multipli della frequenza di campionamento (1/T e multipli). Il filtro mantenitore lascia passare pressoché inalterate le componenti a bassa frequenza; le repliche vengono attenuate ma non annullate (tranne che in corrispondenza delle armoniche della frequenza di campionamento). Figura Funzione di trasferimento del mantenitore. Il difetto principale del mantenitore sta nel fatto che non cancella adeguatamente le repliche spettrali, se non per frequenze esattamente pari a 1/T e multipli. Se in tali punti la funzione di trasferimento si annullasse non solo in valore, ma anche in derivata prima (meglio ancora se si annullassero anche la derivata seconda e le successive), l attenuazione delle repliche risulterebbe migliore perché il modulo della funzione di trasferimento rimarrebbe vicino allo zero per un intorno più grande delle frequenze multiple di 1/T. Se invece della risposta all impulso rettangolare (interpolatore di ordine zero o mantenitore), si considera la convoluzione della risposta all impulso rettangolare per se stessa, si ottiene una risposta all impulso triangolare. L interpolatore di ordine uno o lineare rispetta i valori negli istanti di campionamento (c è disaccoppiamento tra i campioni) ed in un generico punto intermedio il valore interpolato dipende solo dal campione precedente e da quello seguente.

32 32 2. INTERPOLAZIONE h (t) h 1(t) t t INTERPOLATORE ORDINE ZERO INTERPOLATORE ORDINE UNO Figura Risposte all impulso di mantenitore ed interpolatore lineare. Figura Modo di operare di un interpolatore lineare o di ordine 1. L interpolatore lineare ricostruisce il segnale senza discontinuità di valore (come il mantenitore), ma con discontinuità della derivata prima nei punti di giunzione. La funzione di trasferimento corrispondente è data dal prodotto degli spettri dei rettangoli ed è del tipo [sin(f)/f] 2 : in corrispondenza degli zeri (frequenze 1/T e multipli) non si avranno più punti di flesso, ma minimi. sinc sinc 2 2/T 1/T 1/T 2/T Figura Funzione di trasferimento dell interpolatore lineare confrontata con quella del mantenitore. In questo modo la funzione di trasferimento risulta più piatta in corrispondenza delle frequenze k/t ed attenua maggiormente le repliche spettrali di quanto non succedesse con il mantenitore. Si potrebbe procedere ancora su questa strada, imponendo l annullarsi delle derivate di ordine superiore: si otterrebbe il risultato di allargare la zona a cavallo delle frequenze 1/T e multipli in cui la funzione di trasferimento ha modulo nullo o molto piccolo. Purtroppo, però, contemporaneamente l andamento della funzione di trasferimento dell interpolatore diverrebbe sempre più stretto attorno alla continua, con conseguente indesiderato filtraggio passa-basso del segnale interpolato. È pur vero, quindi, che imponendo l annullarsi di derivate di ordine via via crescente si eliminano sempre meglio le repliche spettrali, ma contemporaneamente si filtra sempre più passa-basso il segnale. In ogni caso, se si passa ad interpolatori di ordine superiore il valore interpolato nel generico punto non dipende solo dal campione precedente e da quello seguente, ma anche da un certo numero di campioni precedenti e seguenti più lontani. Questo implica che f

33 2.3. INTERPOLATORI NUMERICI 33 l interpolazione che è pur sempre una media pesata dei campioni che precedono e che seguono si estende su un tempo più lungo e questo rende possibile un filtraggio passabasso più efficiente (non si dimentichi che un interpolatore deve essere in ogni caso un filtro passa-basso, in modo da attenuare al meglio possibile le repliche spettrali). Un problema degli interpolatori, dovuto al fatto che essi necessariamente possono solo approssimare il comportamento dell interpolatore ideale, è che il loro comportamento da filtri passa-basso non si limita ad eliminare le repliche spettrali, ma finisce con il limitare la banda del segnale ricostruito anche all interno dell intervallo f c /2 f c /2. L interpolatore che non presenta questi problemi è, ovviamente, quello ideale, cioè il filtro ideale passa basso che, però, ha risposta all impulso di durata illimitata e non è utilizzabile in pratica. Se ne possono usare, però, approssimazioni in cui la durata della risposta viene troncata. t NT/2 NT/2 a b Figura Interpolatore reale ottenuto mediante troncamento della risposta all impulso dell interpolatore ideale (a) e corrispondente funzione di trasferimento (b). L operazione di taglio delle code del sin t/t nel tempo è schematizzabile come il prodotto per una finestra rettangolare. Al prodotto nel tempo corrisponde la convoluzione nelle frequenze: la risposta in frequenza del filtro con la risposta all impulso troncata è la convoluzione della f.d.t. del filtro ideale con la trasformata della finestra di troncamento che è ancora un sin (πfnt ) /πf con la distanza tra gli zeri pari all inverso della durata complessiva della finestra. Questo induce la presenza di oscillazioni sia in banda sia fuori banda. Quando il lobo principale del sin (πfnt ) /πf attraversa il margine del rettangolo dà luogo ad una banda di transizione che è larga tanto quanto è largo il lobo principale, e cioè 2/(NT ). Il modulo della f.d.t. del filtro interpolatore approssimato, riportato in un diagramma con scala logaritmica è raffigurato in figura In esso si identificano: f

34 34 2. INTERPOLAZIONE 20 log H f banda di transizione Figura Funzione di trasferimento, in scala logaritmica, del ricostruttore ideale troncato. una banda passante, al cui interno il modulo è circa costante, con piccoli scostamenti; una frequenza al di là della quale l attenuazione garantita dal filtro è sicuramente superiore ad un valore minimo prestabilito; una banda di transizione, causata dal troncamento della risposta all impulso dell interpolatore ideale, che richiede una distanza tra le repliche spettrali maggiore di quella teorica minima, cioè una frequenza di campionamento maggiore di quella teorica. All aumentare della dimensione della finestra gli zeri diventano via via più fitti, le oscillazioni si addensano verso i bordi del rettangolo e la banda di transizione diventa più stretta. L andamento delle oscillazioni è sempre lo stesso, ma è compresso in un intorno sempre più piccolo della frequenza di taglio. È chiaro che questo diventa un modo, sicuramente non il modo più efficiente, di progettare un filtro passa basso Spline Nel tentativo di estendere, ai confini degli intervalli di campionamento, la continuità alle derivate di ordine superiore, un modello che ha avuto molto successo è quello dello spline: si suppone di far passare un filo di acciaio armonico per i punti, nel piano x y, che rappresentano i campioni disponibili del segnale e la forma assunta dal filo viene usata per ottenere i valori mancanti. Questo modello è utilizzabile comunque siano disposti i campioni, che non devono essere necessariamente equidistanti. Il filo si disporrà secondo la curva di minima energia, il cui calcolo è abbastanza semplice. dx dθ R l θ Rθ= l Figura Raggio di curvatura.

35 2.4. SPLINE 35 Si considerino due punti, lungo la curva, di ascisse x e x dx; la lunghezza del tratto di curva relativo, trascurando gli infinitesimi di ordine superiore, vale: dx2 dy 2 = dx 2 (1 y 2 ) = dl. Considerando la tangente nei due punti si ha: dθ dx = d dx arctg(y ) = y /(1 y 2 ) Il raggio di curvatura (raggio del cerchio osculatore) vale r = dl/dθ. Si ha che: (2.4.1) 1 r = M(x) EJ = y (1 y 2 ) 3 dove r è il raggio di curvatura, M(x) il momento flettente, E il modulo di Young (fa riferimento alle proprietà elastiche del materiale), J il momento di inerzia (esprime la dipendenza del comportamento del filo dalla sua sezione). È possibile semplificare l equazione ottenuta: se si ipotizza che la deformazione sia piccola, si può supporre che il momento flettente vari linearmente tra un punto fisso e l altro. In questo caso y 1 e y è direttamente proporzionale al momento. Se il momento varia linearmente con x, anche y varia linearmente con x: si ha, quindi, che la curva che descrive il filo armonico può essere approssimata con un equazione del tipo: y(x) = ax 3 bx 2 cx d. Una volta identificati i quattro coefficienti, è possibile determinare il valore della funzione per ogni valore di x. Si consideri l i-esimo intervallo e si normalizzi la coordinata x rispetto alla durata di detto intervallo (in modo che se x = 0 è il primo estremo, x = 1 è il secondo). x = x x i x i1 x i 0 1 x x i x i1 Ridefinendo il significato dei simboli a, b, c e d, si può scrivere y( x) = a x 3 b x 2 c x d y ( x) = 3a x 2 2b x c y ( x) = 6a x 2b y ( x) = 6a Le condizioni da imporre per onorare il dato sono: y(0) = d = y i y(1) = a b c d = y i1 Dal modello fisico si possono trarre altre condizioni da imporre: se, infatti, quello che si considera è un filo armonico al quale non si applicano momenti flettenti nei punti di

36 36 2. INTERPOLAZIONE campionamento, esso si disporrà nel modo più regolare possibile e ciò implica che nei punti di campionamento ci sia continuità della derivata prima. Si pone allora y (0) = c = y i y (1) = 3a 2b c = y i1 Si ottiene così un sistema di quattro equazioni nelle sei incognite a, b, c, d, y i, y i1. Ci sono altri due gradi di libertà. All interfaccia tra due intervalli consecutivi è logico ci sia continuità non solo di valore e di derivata prima, ma anche di derivata seconda, quindi: y i (1) = y i1(0) Questa condizione si propaga da un intervallo a quelli contigui, finché non si arriva agli estremi del filo. Qui bisogna imporre delle condizioni che possono essere: y (x 0 ) = y (x N ) = 0. Tale condizione discende semplicemente dal non voler imporre vincoli sulla pendenza della curva in questi punti per darle la possibilità di disporsi secondo la curva di minima energia. Quello che si ottiene alla fine è un sistema di equazioni lineari di dimensione pari al numero dei campioni. Per valutare la risposta all impulso e la funzione di trasferimento dell interpolatore ci si mette nella condizione in cui un solo campione è diverso da zero e tutti gli altri, equispaziati, sono nulli. Naturalmente c è il problema delle condizioni al contorno. Se il filo è sufficientemente lungo ed i campioni sono molti, si possono ritenere i punti di contorno all infinito e non ci sono più problemi. Per quanto detto finora, nella curva si avrà continuità di derivate prima e seconda in tutti i punti. La derivata terza sarà discontinua e la derivata quarta conterrà degli impulsi. Si può allora dire che la trasformata di Fourier della derivata quarta G(f) = F{y IV }, è una funzione periodica perché la derivata ha al suo interno impulsi equispaziati di T. Lo spettro di y sarà: Y (f) = G(f) f 4 Imponendo che y sia a zeri equidistanti, cioè imponendo che si ha k= Y (f k T ) = k= k= G(f) (f k/t ) 4 = 1 G(f k/t ) (f k/t ) 4 = 1 da cui si calcola G(f) e, quindi, Y (f). Si verifica che la derivata nell origine è nulla fino al quarto ordine e si hanno zeri del quarto ordine in corrispondenza di tutte le frequenze f c e multiple.

37 2.5. INTERPOLATORE BICUBICO Interpolatore bicubico. Il problema principale di questo interpolatore è che l eventuale perturbazione introdotta da un dato rumoroso od erroneo si propaga per tutta la lunghezza dello spline. Si preferisce, allora, rilassare l aderenza al modello fisico. Invece di considerare un interpolatore la cui risposta all impulso è di tipo oscillante fino a tempo infinito, si fa in modo che il comportamento sia quello di un filo armonico sottoposto a vincoli tali da limitarne l estensione della risposta all impulso ad un numero limitato di campioni. Si considera sempre un interpolatore cubico, ma tagliato dopo due campioni imponendo la condizione che sia nulla anche la derivata prima negli estremi. Quello che si ottiene è l interpolatore bicubico: a=3/2 a=5/4 2T T T 2T t Figura Risposta all impulso dell interpolatore bicubico per due valori del parametro a. Le condizioni da imporre per il calcolo dei coefficienti sono (si vuole che nell origine la funzione sia massimamente piatta e la sua derivata prima sia continua): Inoltre: y(0) = d = 1 y (0) = c = 0 y(1) = a b c d = 0 b = (1 a) Il polinomio interpolante nell intervallo (0, 1) è y 01 (x) = ax 3 (1 a)x 2 1 Nell intervallo (1, 2) si ha y(x) = Ax 3 Bx 2 Cx D e le condizioni da imporre sono: y(1) = A B C D = 0 y(2) = 8A 4B 2C D = 0 y (2) = 12A 4B C = 0 Si ricava, quindi, y 12 (x) in funzione di uno dei parametri, ad esempio A. Imponendo y 01(1) = y 12(1) i polinomi interpolatori restano determinati in funzione di A oppure a. Per quanto riguarda i valori negativi di x non occorre fare i conti in quanto la risposta all impulso di un interpolatore non può non essere una funzione pari, perché ciò implicherebbe un comportamento diverso per il campione di destra rispetto a quello di sinistra.

38 38 2. INTERPOLAZIONE Resta un grado di libertà: esso viene speso facendo in modo che la funzione di trasferimento abbia una proprietà che ci interessa di più. Si può forzare uno zero di ordine più alto possibile in corrispondenza della frequenza di campionamento e dei suoi multipli. In questo caso si trova a = 5/4, ma si ha un andamento irregolare della funzione di trasferimento: nella banda da 0 a f c si ha una sovraelongazione. Se, invece, si impone l annullarsi della derivata fino all ordine più elevato possibile nell origine, si ottiene un comportamento accettabile, con a = 3/2 che è il valore normalmente usato. a=5/4 a=3/2 1/ T Figura Funzione di trasferimento dell interpolatore bicubico per i due valori del parametro a. f 2.6. Campionamento irregolare. Fino ad ora si è imposto che l interpolatore onori i dati, chiedendo che la risposta all impulso sia a zeri equidistanti. Siccome si è ipotizzato campionamento regolare, cioè con i campioni presi a distanza costante, quando si piazza la risposta dell interpolatore sul campione non si ha interazione con gli altri campioni. È chiaro che se i campioni sono presi a distanze irregolari, tutto quanto detto non è più valido. È necessario rinunciare al vantaggio principale dell uso delle funzioni a zeri equidistanti, cioè il disaccoppiamento dell effetto di un campione da quello di tutti gli altri. Questo implica che l ampiezza da assegnare alle risposte all impulso non può più coincidere con il valore del campione, perché nello stesso istante di campionamento bisogna tener conto dei contributi provenienti dalle risposte all impulso centrate sui campioni che precedono e che seguono. La soluzione può essere ricercata considerando l interpolazione dei campioni come un tutt uno: decidere quale funzione interpolante usare e poi determinare i valori che la funzione deve assumere nei singoli punti di campionamento, in modo che quando si considerano anche le code dei campioni vicini, si ottenga un valore che quadri col valore del campione.

39 CAPITOLO 3 Sistemi discreti 3.1. Ritardo frazionario Si supponga di dover effettuare sul segnale campionato una traslazione di una frazione del passo di campionamento. Siano x(n) = x(nt ) i campioni ottenuti dal campionamento del segnale tempo continuo x(t) ed u(n) = x(nt τ) i campioni ottenuti dal campionamento del segnale traslato. Se la traslazione fosse pari ad un numero intero di periodi di campionamento τ = kt, non ci sarebbero problemi perché u(n) = x(n k) e la versione traslata del segnale campionato richiederebbe solo una diversa etichettatura temporale dei campioni. Si voglia, invece, calcolare quali sarebbero dovuti essere i campioni dello stesso segnale se prima di essere campionato fosse stato traslato di un tempo τ pari ad una frazione del passo di campionamento T. I campioni u(n) fanno riferimento, in questo caso, ad istanti di tempo per i quali i valori del segnale non sono noti e vanno calcolati sfruttando quelli (i campioni in t = nt ) che ci sono, cioè interpolando. Non ha senso considerare l interpolazione di ordine zero perché ciò equivarrebbe a lasciare il segnale invariato finché τ < T/2, a traslarlo di un campione se T/2 τ < 3T/2 e così via. La figura esemplifica l operazione dell interpolazione lineare. Si considerino i x(n 1) T τ (n 1)T u(n) τ nt x(n) Figura Calcolo di x (nt τ) mediante interpolazione lineare. campioni x(n 1) ed x(n) agli estremi di un intervallo di campionamento T. L uscita u(n) = x(nt τ) sarà il valore che assume nell istante nt τ la retta congiungente i due campioni agli estremi: questo equivale a calcolare la media, pesata inversamente alla distanza, dei due campioni. Si ottiene: u(n) = T τ x(n) τ x(n 1) T T Si osservi che il sistema che accetta in ingresso i campioni x(n) e produce i campioni u(n) è un sistema che stabilisce un legame tra due segnali campionati alla stessa frequenza e, poiché questo legame è lineare (ogni campione in uscita è una media pesata di due 39

40 40 3. SISTEMI DISCRETI campioni adiacenti in ingresso) ed invariante (i pesi sono sempre gli stessi), tale sistema è lineare ed invariante Sistemi discreti Nell elaborazione numerica dei segnali l informazione è espressa in forma di serie numerica. Nel capitolo precedente si è visto come una tale rappresentazione si possa ottenere per una funzione continua del tempo mediante il campionamento e come di tale serie numerica si possa dare una descrizione come funzione continua del tempo usando gli impulsi: (3.2.1) s c (t) = s(nt )δ(t nt ) n Gli impulsi sono serviti per descrivere l operazione di ricostruzione del segnale tempo continuo come l azione di un filtro su un segnale. La ricostruzione del segnale tempo continuo richiedeva il passaggio del segnale campionato (3.2.1) attraverso un sistema tempo continuo. Per poter effettuare delle elaborazioni con un computer non potremo fare a meno di avere in qualsiasi punto della catena elaborativa dei segnali tempo discreti, cioè delle sequenze di numeri. Per questo motivo il sistema attraverso cui passa il segnale dovrà essere discreto, cioè dovrà evolvere per istanti discreti di tempo. Questo vuol dire che se si inserisce una sequenza numerica nel sistema, esso risponderà con un segnale tempo discreto, cioè con un altra sequenza numerica, ed il suo stato evolverà per istanti discreti. Se si invia in ingresso ad un sistema tempo discreto l equivalente nel discreto di un impulso nel continuo, cioè una sequenza di numeri che sono tutti nulli tranne uno, che è unitario, quello che otteniamo in uscita è la risposta impulsiva del sistema. Tale risposta sarà tempo discreta, cioè una sequenza di numeri. S δ (n) h(n) Figura Schematizzazione di un sistema lineare tempo discreto. Possiamo descrivere un qualsiasi segnale tempo discreto mediante sovrapposizione di impulsi δ(n): x(n) = m x(m)δ(n m) Questo è l equivalente della scomposizione di una funzione continua in somma di impulsi di Dirac: nel continuo c è l integrale e nel discreto la sommatoria. Se il sistema discreto è lineare vale il principio di sovrapposizione degli effetti ed in più, se è anche tempo invariante, la sua risposta è la stessa qualunque sia l istante in cui arriva il campione non nullo. Si può, perciò, descrivere l uscita come la convoluzione discreta fra la sequenza dei campioni in ingresso e la risposta all impulso del sistema:

41 3.2. SISTEMI DISCRETI 41 u(n) = m x(m)h(n m) = m x(n m)h(m) Perché questo abbia senso, è necessario che il passo di campionamento del segnale di ingresso sia uguale al passo di campionamento della risposta all impulso del sistema. La discretizzazione del sistema oltre che del segnale permette di interpretare l operazione dell interpolatore lineare nel paragrafo precedente come la convoluzione tra la sequenza di ingresso e la risposta all impulso di un filtro che ha due campioni di ampiezza (T τ)/t e τ/t rispettivamente in 0 ed in T. Per i sistemi lineari tempo invarianti si può ricorrere ad una descrizione in termini di funzione di trasferimento. Nel continuo abbiamo introdotto il dominio di Fourier perché trasforma la convoluzione in un prodotto; anche nel discreto si può fare lo stesso. La trasformata di Fourier di u c (t) = n [(T τ)/t x(t) τ/t x(t T )] δ (t nt ) è U c (f) = k U (f k/t ) con: U(f) = T τ X(f) τ X(f) exp( jωt ) T T Sviluppando exp( jωt ) si ottiene parte reale e parte immaginaria della funzione di trasferimento: (3.2.2) U(f) = X(f)( T τ τ T T cos ωt j τ sin ωt ) = X(f)H(f) T Se si considera il quadrato del modulo della funzione di trasferimento si ottene un termine costante e, sovrapposto ad esso, un termine sinusoidale le cui entità dipendono da τ/t (la radice quadrata distorce l andamento sinusoidale quando, come in figura 3.2.2, si diagramma il modulo). H Figura Modulo della funzione di trasferimento (3.2.2) per τ/t = 0.2 e per τ/t = 0.5. Ovviamente è una funzione di trasferimento periodica, in quanto trasformata di una risposta all impulso campionata. Si vede che, al variare di τ/t, le ampiezze relative del f. T

42 42 3. SISTEMI DISCRETI termine costante e del termine sinusoidale cambiano ed il modulo ha un minimo nullo, in corrispondenza di f = 1/2T, quando τ = T/2. Se si considera il periodo fondamentale della trasformata, si nota che il sistema ha un comportamento passa basso e che questo comportamento cambia al cambiare di τ. L effetto di massimo filtraggio passa basso si ha quando alla frequenza di Nyquist (1/2T ) il modulo si annulla, quando si interpolano i valori al centro degli intervalli tra due campioni. Questo vuol dire che se si usa l interpolatore lineare per valutare i campioni del segnale in istanti intermedi tra quelli di campionamento, non si riescono ad ottenere esattamente i valori del segnale originario in quegli istanti, ma i valori dello stesso segnale passato attraverso un filtro passa basso. Questo vale per qualunque interpolatore: l unico interpolatore che permetterebbe di ricostruire esattamente i campioni in tutti i punti sarebbe il ricostruttore ideale, con risposta all impulso di tipo sin(t)/t di durata infinita DTFT (Discrete Time Fourier Transform) Si è già considerata la trasformata di Fourier di un segnale campionato: s c (t) = n= s(nt )δ(t nt ) Dato che la trasformata è un operatore lineare, si può calcolare la trasformata di s c (t) come somma delle trasformate dei singoli termini della somma. La trasformata del singolo termine vale: s(nt ) exp( j2πfnt ) essendo l esponenziale la trasformata dell impulso traslato. Si ottiene perciò: (3.3.1) S c (f) = n= s(nt ) exp( j2πfnt ) Attenzione perché questa non è un approssimazione della trasformata di s(t)! Infatti, S(f) = s(t) exp ( jωt) dt e si può pensare di approssimarla utilizzando l integrazione numerica S(f) s(nt ) exp( j2πfnt )T. Alla (3.3.1) manca il fattore T. Infatti, quando si campiona un segnale si dà all area dell impulso il valore che la funzione assume in un istante e non il valore integrato nell intervallo di campionamento. La formula (3.3.1) non è implementabile su calcolatore, perché la somma è estesa su infiniti termini. Poiché l osservazione non può che durare un tempo finito, ha senso considerare solo N termini, ma questo crea dei problemi. S c (f) = N 1 n=0 s(nt ) exp( j2πfnt ) Si supponga di voler usare la (3.3.1) per approssimare l integrale della trasformata di Fourier. Per avere un approssimazione ragionevole dell integrale dobbiamo campionare a

43 3.3. DTFT (DISCRETE TIME FOURIER TRANSFORM) 43 passo opportuno. Il teorema del campionamento dice come calcolare il passo di campionamento, ma dice anche che, per poter avere una descrizione completa del segnale, questo deve essere a banda finita. Però banda finita implica, almeno matematicamente, una durata infinita. Nel momento in cui si prende un numero finito di campioni si forza una semplificazione. In questo modo non si calcola più la trasformata del segnale s(t) campionato, ma quella del segnale s(t) finestrato con una finestra larga NT e poi campionato. Per questo motivo nelle frequenze non avremo più lo spettro periodicizzato di s(t), ma lo spettro, che sarà ancora periodico perché il segnale è campionato, del segnale s(t) moltiplicato per una finestra di durata NT. Nelle frequenze questo equivale a periodicizzare lo spettro di s(t) convoluto con il seno cardinale trasformata della finestra lunga NT. Con s(t) di durata infinita si ha: s(t) S c (f) = n= s(nt ) exp( j2πfnt ) = 1 T n= S(f n T ) S(f) S (f) c f f Finestrando con w(t), rettangolo di durata NT, si ottiene, a meno di un termine di fase eventualmente legato al fatto che la finestra non sia centrata in zero: s(t) S c (f) = F { s(t) w(t) n= δ (t nt )} = { [ = 1 sin(πnt ν) T n= S(ν) πν exp ( j2πν N T )]} ν=f 2 n T ma anche s(t) S c (f) = F { s(t) N 1 n=0 δ (t nt ) } = = S(f) N 1 n=0 exp( j2πfnt ) = S(f) [ sin(πnt f) sin (πt f) exp ( j2πf N 2 T )]

44 44 3. SISTEMI DISCRETI * La convoluzione produce una funzione di larghezza pari alla somma delle larghezze delle due funzioni convolute: ne consegue che la convoluzione tra lo spettro del segnale passa basso ed il sin(f)/f ha banda infinita. Per questo motivo, quando si campiona il segnale finestrato, nel periodo fondamentale (tra f c /2 e f c /2) dello spettro risulteranno sommate, come termini di disturbo, le code di tutte le altre repliche spettrali. Perché il risultato possa essere utile, si deve ridurre l entità di tale disturbo al disotto della precisione di misura richiesta. La trasformata del rettangolo di base NT vale sin(πfnt )/πf. Si consideri adesso questo seno cardinale normalizzato ad 1 (diviso per NT ): le code sono dovute all andamento sinusoidale diviso per πfnt. I massimi/minimi della funzione seno si ripeteranno in k/nt e risulteranno divisi per kπ: stesso valore per uguale valore di k, anche se al variare della durata del rettangolo quel valore si otterrà per una frequenza più piccola. All aumentare della durata della finestra la sua trasformata risulterà di valore sempre maggiore e sempre più concentrata intorno a frequenza zero, in accordo con la considerazione che, se N la trasformata deve tendere all impulso di Dirac δ (f). Da quanto osservato si conclude che, a patto di allungare opportunamente la durata della finestra, l entità delle code dello spettro che si sovrappongono a causa della periodicizzazione si può ridurre a volontà. Con la DTFT si è passati da una descrizione discreta nel tempo ad una descrizione continua nelle frequenze. La formula relativa permette di calcolare numericamente il valore della trasformata per un qualsiasi valore di frequenza. Gli effetti delle code del sin(x)/x possono essere ridotti a piacere aumentando il numero dei campioni, fino a quando si osservano solo variazioni abbastanza piccole (ad es. sulla quarta o quinta cifra decimale, non ha senso andare oltre). Normalmente, però, non serve calcolare la trasformata di Fourier per un solo valore di frequenza, ma per un intervallo di frequenze. Inoltre, per rendere la trasformata di Fourier per sistemi discreti uno strumento computazionale completo, occorre poter tornare indietro dalle frequenze ai tempi. Questo implica la necessità di discretizzare anche le frequenze.

45 3.4. DFT (DISCRETE FOURIER TRANSFORM) DFT (Discrete Fourier Transform) In questo caso non si può accettare la formula S c (f) = N 1 n=0 s(nt ) exp( j2πfnt ) ma si devono assegnare valori discreti alla frequenza: si deve determinare il passo di campionamento in frequenza. Ad un campionamento nei tempi corrisponde una periodicizzazione nelle frequenze; per dualità, ad un campionamento nelle frequenze deve corrispondere una periodicizzazione nei tempi. Come si può passare dallo spettro di una funzione s(t) allo spettro della stessa funzione periodicizzata? Si prende il periodo fondamentale e se ne calcola la trasformata. S p (f) = T/2 T/2 s p (t) exp( j2πft)dt Il coefficiente k-esimo della rappresentazione frequenziale della funzione periodica (serie di Fourier) è c k = 1 T T/2 T/2 s p (t) exp( j2π k T t)dt Si può, perciò, passare dallo spettro di un periodo della funzione allo spettro della funzione periodica campionando S(f) a passo 1/T e normalizzando per 1/T. Questo vale sia se la funzione di partenza è limitata tra T/2 e T/2, sia se la funzione si estende oltre tale intervallo. Nel primo caso nell integrale è presente la s(t) originaria, nel secondo caso nell integrale è presente il periodo base della funzione periodica che si ottiene ripetendo s(t) a passo T. Questo conferma il fatto che se si campiona nelle frequenze ci si ritrova con un segnale periodico nei tempi. Si è partiti da una serie di campioni nel tempo, con spettro periodico che si deve campionare. Bisogna determinare il numero di campioni che consenta di descrivere in modo completo un periodo dello spettro. Sia f il passo di campionamento in frequenza: ad un campionamento nei tempi con passo T corrisponde una periodicizzazione con passo 1/T in frequenza; ad un campionamento con passo f in frequenza corrisponde una periodicizzazione con passo 1/ f nei tempi. La periodicizzazione nei tempi crea problemi solo se la funzione s(t) non va a zero al di fuori di un certo intervallo, perché in questo caso le code si sommano. Se la durata temporale della funzione è finita, il campionamento in frequenza non crea problemi purché si faccia il passo di campionamento sufficientemente piccolo, in modo che il periodo di ripetizione nei tempi sia maggiore o uguale alla durata del segnale.

46 46 3. SISTEMI DISCRETI Se il passo di campionamento è troppo piccolo, le repliche nel tempo sono molto lontane e fra una e l altra ci saranno degli intervalli in cui la funzione periodica è nulla. Campionando in questo modo la trasformata si sprecano campioni per descrivere la funzione dove è nulla: si sta usando un numero di campioni eccessivo. Se f è troppo grande, il periodo di ripetizione nel tempo sarà minore della durata della sequenza di campioni, per cui ci sarà sovrapposizione delle repliche e non si potrà più ricostruire il segnale. La cosa più sensata è fare in modo che la prima replica si presenti subito dopo la fine della sequenza di partenza. Dato che la sequenza è lunga N campioni che partono da zero ed arrivano ad (N 1)T, è sufficiente porre f = 1/NT perché la prima replica nel tempo cominci in NT e si estenda fino a (2N 1)T. Inoltre, ritornando dalle frequenze al tempo si riotterrebbe lo stesso numero di campioni. Se si parte dal tempo, si trasforma e poi, una volta nelle frequenze, si ritrasforma, si ottiene esattamente la stessa sequenza di campioni da cui si è partiti: non c è alcun alias temporale. Non è detto, però, che questo accada anche se nel dominio delle frequenze si effettuano delle operazioni sui campioni della trasformata. Il valore k-esimo della trasformata di Fourier discreta è pari a S k = N 1 n=0 x n exp( j2π k N 1 NT nt ) = n=0 x n exp( j2π nk N ) Dato che è una quantità costante, si pone exp(j2π/n) = W N ; esso non è altro che un versore che forma con l asse reale un angolo pari a 2π/N, cioè 1/N dell angolo giro. Il pedice N indica in quante parti dividere l angolo giro, ovvero su quanti campioni si sta calcolando la DFT. La trasformata diventa perciò S k = N 1 n=0 x n W nk N La trasformata inversa nel continuo era come quella diretta, a meno del segno dell esponente. Nel discreto è la stessa cosa, con in più un fattore 1/N e, quindi: x n = 1 N N 1 k=0 S k W nk N La formula può essere verificata sostituendo ad S k la sua espressione. Si ottiene: x n = 1 N N 1 k=0 N 1 h=0 x h exp( j2π hk nk ) exp(j2π N N ) Per h n il prodotto dei due esponenziali è ancora un esponenziale dello stesso tipo che, al variare di k, rappresenta nel piano complesso dei vettori di lunghezza unitaria distribuiti uniformemente sull angolo giro, con distanza angolare relativa pari a 2π (h n) /N: nella somma rispetto a k si annullano a coppie. Per h = n il prodotto degli esponenziali è pari

47 3.4. DFT (DISCRETE FOURIER TRANSFORM) 47 all unità e la somma rispetto a k dà Nx n che, moltiplicato per 1/N, restituisce il valore x n di partenza Filtraggio in frequenza. Si supponga di voler effettuare un operazione di filtraggio nel dominio delle frequenze, si voglia cioè implementare in frequenza l operazione che si è già scritta come convoluzione della sequenza di ingresso con la risposta all impulso del sistema: u(n) = x(m)h(n m) U(f) = X(f)H(f) m Se si usa la DTFT X(f) ed H(f) sono funzioni continue, anche se periodiche: basta moltiplicarle ed antitrasformare per trovare la sequenza di campioni all uscita del sistema discreto, e non ci sono problemi. Se si usa la DFT le cose si complicano: perché l operazione abbia senso, bisogna che i campioni dell una trasformata e dell altra, da moltiplicare tra loro, si riferiscano alla stessa frequenza. Questo implica che i due vettori siano della stessa lunghezza e che il passo di campionamento in frequenza sia lo stesso e che, quindi, non solo le frequenze di campionamento, ma anche il numero di campioni del segnale e della risposta all impulso siano identici. Niente vieta, però, che la sequenza di ingresso sia di lunghezza diversa dalla risposta all impulso. Se si usa la DTFT questo non crea problemi perché il dominio delle frequenze è continuo, ma se si usa una rappresentazione campionata anche nelle frequenze, il campionamento deve essere lo stesso non solo nei tempi ma anche nelle frequenze. Questo implica che la periodicità temporale debba essere la stessa sia per il segnale che per la risposta all impulso del sistema: se si ha una sequenza x n di N campioni ed un sistema con una risposta all impulso che si estende solo per M campioni, con M < N, prima di calcolare le due DFT bisogna forzare le due sequenze ad avere la stessa lunghezza, e questo lo si fa aggiungendo degli zeri alla sequenza di durata minore, che in genere è la risposta all impulso Convoluzione circolare. A questo punto sembra che ogni problema sia risolto: si prende la sequenza di ingresso e la risposta all impulso, si aggiungono zeri alla più corta, si calcolano le DFT, si moltiplichiamo termine a termine le due sequenze trasformate e, finalmente, si antitrasforma. In realtà, avendo campionato nelle frequenze si è operata una periodicizzazione nei tempi e la moltiplicazione delle trasformate non equivale alla convoluzione delle due sequenze, ma alla convoluzione delle sequenze periodicizzate. x(n) * h(n) Figura Sequenza di ingresso x(n) e risposta all impulso h(n) da convolvere.

48 48 3. SISTEMI DISCRETI Non si convolvono gli x(n) ed h(n) indicati in figura ma le loro versioni periodicizzate rappresentate in figura NT * 0 NT Figura Versioni periodicizzate di x(n) e di h(n). La convoluzione prevede il ribaltamento di una delle due sequenze, lo shift relativo, la moltiplicazione termine a termine e la somma dei prodotti all interno di un periodo. Con 0 NT Figura Esempio di calcolo della convoluzione y(n) = x p (n) h p (n) per n = 2. riferimento alla figura 3.4.3, si consideri come esempio il calcolo della convoluzione per n = 2. In questo caso si avrà: y (2) = h (0) x (2) h (1) x (1) h (2) x (0) h (3) x (N 1) h (4) x (N 2) cioè h (0), h (1), h (2) sono moltiplicati per campioni contigui di x, mentre gli altri campioni di h, che avrebbero bisogno di campioni di x a sinistra di x (0) risultano moltiplicati per x (N 1), x (N 2)... che, nella periodicità, surrogano i campioni per n < 0 mancanti. In realtà si sta effettuando quella che può chiamarsi a giusto titolo una convoluzione circolare, perché è come se le due sequenze di campioni fossero disposte lungo cerchi concentrici e si stesse calcolando la convoluzione facendo ruotare un cerchio rispetto all altro, invece di disporre le sequenze lungo rette che poi traslano una rispetto all altra.

49 3.4. DFT (DISCRETE FOURIER TRANSFORM) Convoluzione a blocchi. Per calcolare la risposta di un sistema lineare invariante tempo discreto è necessario calcolare la convoluzione discreta: (3.4.1) u(n) = m x(m)h(n m) Le sequenze x (n) ed h (n) possono avere lunghezze diverse e si vedrà in seguito che la risposta all impulso può essere anche lei, almeno teoricamente, di lunghezza infinita. Qui consideriamo solo risposte all impulso di lunghezza finita pari ad M. La lunghezza della sequenza dei campioni del segnale, però, normalmente non è nota, perché il segnale inizia e finisce dopo un tempo imprecisato (si consideri una telefonata, un brano musicale o simili). Volendo calcolare la convoluzione (3.4.1) con un calcolatore digitale in cui si possono memorizzare un numero elevato, ma non infinito di campioni, è evidente come possa diventare necessario calcolare la convoluzione dopo aver segmentato la sequenza di campioni del segnale in più blocchi. L operatore di convoluzione è un operatore con memoria (risente dell ingresso per un numero di campioni passati pari alla lunghezza di h (n)): la segmentazione del segnale pone problemi ai bordi dei segmenti. Si consideri un segmento che comprenda i campioni compresi fra t = 0 e t = (N 1) T, con T passo di campionamento: fuori da questo intervallo si dovranno considerare i campioni del segnale di ampiezza pari a zero. Se l ingresso dura da 0 ad (N 1) T, si vorrà calcolare l uscita a partire dall istante 0: u (0) = M 1 m=0 x(m)h(0 m) ma è evidente (si faccia riferimento alla figura per un esempio con M = 3) che il valore calcolato sarà falsato dalla mancanza dei campioni di segnale per m < 0. Non ci saranno problemi per M 1 n N 1; per n N ci saranno ancora M 1 risultati non nulli, ma ancora falsati per la mancanza dei campioni di segnale compresi tra N ed N M 1. È facile rendersi conto che, convolvendo una sequenza lunga N campioni con una lunga M campioni, si ottiene una sequenza lunga N M 1 campioni di cui N M 1 completi e 2 (M 1) parziali perché hanno dovuto utilizzare campioni forzatamente nulli. x( 2)x( 1) x(0) h(0) h(1) h(2) Figura Esemplificazione del calcolo di u (0) quando M = 3.

50 50 3. SISTEMI DISCRETI x(0) x(1)... x(0) x(1)... h(2) h(1) h(0) Overlap and save ed overlap and add. Si consideri ora il problema di applicare l operatore di convoluzione ad un segnale campionato che giunge in modo continuo. Si prende il primo blocco di dati, si effettua la convoluzione e si scartano i primi M 1 campioni non validi. Nel procedere con l elaborazione di un nuovo blocco di campioni, se si prendessero semplicemente gli N successivi e si effettuasse la convoluzione come prima, si riproporrebbe il problema dei primi M 1 campioni del blocco da scartare. Mentre per l inizio del primo blocco di dati non c è niente da fare perché il problema è legato alla indisponibilità di campioni prima dell inizio del segnale, adesso si creerebbe un ingiustificabile vuoto di M 1 campioni nella sequenza elaborata. Per ovviare a questo inconveniente si può retrocedere l inizio del blocco successivo di campioni in ingresso di M 1 posizioni, in modo che gli ultimi M 1 campioni del blocco già elaborato si ripresentino all inizio del blocco successivo. In questo modo, quando si calcola la convoluzione e si scartando i primi M 1 risultati non validi, si scartano campioni in posizioni per le quali si era già ottenuto in precedenza un risultato valido ed i nuovi campioni buoni sono esattamente in sequenza con quelli già ottenuti. Per operare correttamente bisogna sovrapporre in M 1 posizioni i blocchi di campioni estratti dalla sequenza di ingresso e giuntare i risultati parziali dopo aver scartato i primi M 1 campioni di ognuno. Questa tecnica va sotto il nome di overlap and save. Si può, però, operare anche in altro modo. I primi M 1 campioni di x all inizio della stringa hanno il problema di non ricevere il contributo di campioni con indice negativo. Nella situazione ipotizzata di una elaborazione a blocchi, si può immaginare il blocco di campioni come inserito in una serie infinita di campioni nulli, in modo da avere degli zeri a monte ed a valle di ogni blocco di dati e di effettuare la convoluzione sulla sequenza con gli zeri inseriti. Quando i campioni non nulli della risposta all impulso sono completamente sovrapposti agli zeri della sequenza relativa al blocco del segnale, il risultato è zero. È evidente che i campioni della convoluzione che ha senso calcolare sono quegli N M 1 non deterministicamente nulli. Si cominciano ad avere risultati diversi da zero solo quando la parte non sicuramente nulla della risposta all impulso si sovrappone almeno parzialmente alla parte non deterministicamente nulla dei dati (vedi figura 3.4.5). Si continuano ad ottenere risulh(2) h(1) h(0) Figura Primi campioni non nulli nella convoluzione tra due sequenze di lunghezza finita. tati non deterministicamente nulli (il deterministicamente è giustificato dal fatto che, in funzione dei valori dei campioni di segnale e risposta all impulso, qualche campione della convoluzione potrebbe anche casualmente risultare nullo come somma di contributi non

51 3.4. DFT (DISCRETE FOURIER TRANSFORM) 51 nulli di segni diversi) anche quando, alla fine del blocco di campioni non nulli del segnale, si inizia di nuovo a trovare degli zeri (vedi figura 3.4.6). x(0) x(1)... x(0) x(1)... h(2) h(1) h(0) h(2) h(1) h(0) Figura Ultimi campioni non nulli nella convoluzione tra due sequenze di lunghezza finita. Con riferimento alla figura 3.4.6, in cui si ipotizza una risposta all impulso con 3 campioni non nulli ed un blocco di N campioni del segnale, nella prima situazione nella sommatoria sono presenti i termini relativi ad h (1) ed h (2), ma manca quello relativo ad h (0); nel secondo caso il risultato parziale è costituito dal termine relativo ad h (2) ma mancano quelli relativi ad h (0) e ad h (1). Si conservino questi risultati parziali: u (1) p (N) = h (1) x(n 1) h (2) x(n 2) e u (1) p (N 1) = h (2) x(n 1) Quando si considera il secondo blocco di dati (quello che parte con x (N) e finisce con x (2N 1)), all inizio la situazione sarà quella schematizzata in figura Nel primo caso ci sarà solo il contributo relativo ad h(0) e nel secondo caso quelli relativi ad h(0) e ad h(1): u (2) p (N) = h (0) x(n) e u (2) (N 1) = h (0) x(n 1) h (1) n(n) p All inizio del nuovo blocco elaborato si avranno, quindi, esattamente i contributi che mancavano per completare i campioni elaborati alla fine del blocco precedente. Basta sommarli per ottenere il risultato esatto: u (N) = u (1) p (N) u (2) p (N) e u (N 1) = u (1) p (N 1) u (2) p (N 1) Di zeri prima e dopo il blocco di campioni del segnale non ne servono infiniti: ne bastano M 1 prima ed M 1 dopo il blocco di dati. Effettuati i calcoli, i risultati parziali alle interfacce non vanno scartati, ma sommati. Questa tecnica prende il nome di overlap and add Overlap and save ed overlap and add con la DFT. Calcolare un campione della convoluzione costa un numero di moltiplicazioni e somme pari al numero di campioni di h. Le tecniche considerate permettono di calcolare la convoluzione anche in presenza di una limitata disponibilità di memoria e possono essere vantaggiose se il numero di campioni della risposta all impulso del filtro è piccolo. Quando, però, la lunghezza della risposta all impulso del filtro diventa lunga questo modo di procedere può diventare troppo oneroso.

52 52 3. SISTEMI DISCRETI Si ha la possibilità di implementare numericamente le tecniche di Fourier che, è noto, trasformano la convoluzione in prodotto. Se il costo di trasformata ed antitrasformata fosse nullo, ogni campione dell uscita costerebbe una moltiplicazione complessa. In effetti si deve tener conto del costo, in operazioni per campione in uscita, delle trasformazioni, ma questa tecnica può risultare vantaggiosa per sequenze del filtro lunghe. La DFT implica l elaborazione a blocchi, ma modifica la situazione considerata nella sezione precedente. Si è già osservato che il campionamento della trasformata implica nei tempi una periodicizzazione della sequenza di ingresso e che la lunghezza del blocco di campioni della risposta all impulso del filtro deve essere uguale a quella del blocco di campioni del segnale per cui, se il filtro ha una risposta all impulso di M campioni, bisogna aggiungere N M zeri. Queste considerazioni implicano che, tramite la DFT, si possono applicare filtri con risposta all impulso finita e che la lunghezza del blocco di elaborazione non può essere inferiore al numero di campioni della risposta all impulso (che deve essere contenuta interamente all interno del blocco). Se si usa la DFT, quindi, ci si trova ad operare la convoluzione tra sequenze periodiche, come esemplificato in figura x(n) h(n) Figura Convoluzione tra sequenze rese periodiche dall uso della DFT. La convoluzione si esegue al solito modo: si prende una sequenza, la si ribalta rispetto all origine, la si sposta, si moltiplicano le due sequenze tra loro e si sommano i risultati dei prodotti. Essendo le sequenze periodiche, la somma dei prodotti si estende solo su un periodo. Se si calcola l M-esimo campione od i successivi fino all N-esimo, tutti i campioni di h(n) trovano campioni di x(n) in sequenza temporale corretta all interno del blocco di dati. Se però, si tenta di calcolare un campione dell uscita di posizione tra 0 ed M 2, nella sommatoria della convoluzione i termini che si riferiscono a campioni di h di indici più piccoli saranno esatti, mentre quelli relativi ad indici maggiori non lo saranno, perché utilizzeranno campioni del segnale in sequenza temporale sbagliata, posti a sinistra del primo a causa della periodicità indotta dal campionamento in frequenza. Con riferimento alla figura 3.4.7, in cui si considera una risposta all impulso lunga M = 3 campioni, nel calcolare il primo campione della sequenza d uscita, si avrà: u (0) = h (0) x (0) h (1) x (N 1) h (2) x (N 2) Nel calcolare il campione u (1) si avrà: u (1) = h (0) x (1) h (1) x (0) h (2) x (N 1)

53 3.4. DFT (DISCRETE FOURIER TRANSFORM) 53 Sarà solo a partire da u (2) e fino ad u (N 1) che i tre campioni di h troveranno tre campioni di x correttamente contigui nel tempo. Anche utilizzando la DFT, che allunga le sequenze di campioni non con zeri, ma con ripetizioni dei blocchi di campioni, i primi M 1 campioni della sequenza di uscita (per intendersi quella che si ottiene come la DFT inversa del prodotto tra DFT del blocco di campioni del segnale e DFT della risposta all impulso allungata di zeri) sono sbagliati, questa volta perché i campioni mancanti a sinistra del primo vengono artificiosamente presi dalla fine della sequenza. Quindi, nell effettuare la convoluzione mediante DFT tra un blocco lungo N ed una risposta all impulso lunga M < N, si ottengono ancora N M 1 campioni corretti, in quanto i primi M 1 campioni della sequenza d uscita lunga N sono il risultato di un miscuglio fra i primi e gli ultimi campioni del blocco di ingresso e vanno scartati. Se si vuole applicare a blocchi il filtraggio ad un segnale di lunghezza indefinita (teoricamente infinita) bisognerà ricorrere al metodo dell overlap and save già considerato: bisognerà scartare i primi M 1 campioni di ogni blocco elaborato e ripetere in ingresso, all inizio del blocco di dati successivo, gli ultimi M 1 campioni del blocco precedente (secondo lo schema esemplificato in figura 3.4.8). È il caso di osservare che, per avere una buona efficienza computazionale, è bene scegliere la lunghezza del blocco molto grande rispetto alla lunghezza della risposta all impulso (N M, cioè almeno N 10 M, in modo che M 1 N). Figura Schema di principio dell algoritmo di overlap and save. Va, infine, osservato che la posizione dei campioni da scartare dipende dal come si aggiungono gli zeri alla risposta all impulso (la cui continuità temporale va in ogni caso mantenuta!). Spostare gli zeri, però, equivale a ruotare il vettore rappresentativo della risposta all impulso e questo produrrà un equivalente rotazione dei valori all interno del vettore d uscita (cosa che rende un tale esercizio di scarsa utilità). Poiché la DFT implica una elaborazione a blocchi, è possibile utilizzare anche la tecnica dell overlap and add: basta garantirsi che nella periodicizzazione della sequenza si riesca ad inserire M 1 zeri tra ogni replica. Per questo basta aggiungere M 1 zeri dopo il blocco di campioni del segnale; la DFT periodicizza anche questi, come schematizzato in figura

54 54 3. SISTEMI DISCRETI Figura Periodicizzazione a valle dell inserimento di M 1 zeri. In questo modo i primi M 1 campioni in uscita mancheranno dei contributi dei campioni di segnale a sinistra del primo e gli ultimi M 1 mancheranno dei contributi dei campioni di segnale a destra dell ultimo. Per il primo blocco di dati non c è possibilità di integrare i contributi mancanti, ma per quelli successivi ciò che manca ai primi M 1 campioni del blocco elaborato è presente negli ultimi M 1 campioni del blocco elaborato precedente: basta sommarli. Se si vuole applicare a blocchi il filtraggio ad un segnale di lunghezza indefinita si dovrà utilizzare la procedura schematizzata in figura Figura Schema di principio dell algoritmo di overlap and add Simmetrie della DFT. Si considerino ora le proprietà di simmetria della DFT, attese come traduzioni di quelle che sono le proprietà della trasformata di Fourier. Se il segnale è reale, la sua trasformata di Fourier è a simmetria complessa coniugata: s(t) reale S( f) = S (f) Quando si usa la DFT bisogna sempre tener presente che si considerano sequenze periodiche di campioni sia nel tempo, sia nelle frequenze. La DFT, infatti, non è altro che la trasformata della ripetizione periodica, a passo NT, del segnale di partenza s (t) moltiplicato per un pettine di campionamento costituito da un numero finito N di campioni a passo T, con uno spettro ottenuto per campionamento, a passo 1/NT, della convoluzione tra S(f) e la trasformata della finestra rettangolare campionata.

55 3.4. DFT (DISCRETE FOURIER TRANSFORM) 55 Nel descrivere una sequenza periodica si può iniziare da un campione qualsiasi, purché se ne continui la descrizione per un intero periodo. Con la DFT, nel vettore x (n) nel tempo e nel corrispondente vettore trasformato X (k) in frequenza sono riportati i campioni nel periodo che va, per il tempo da t = 0 a t = (N 1) T e, per la frequenza, da f = 0 ad f = (N 1) /NT. Le formule diretta ed inversa della DFT si ripetono qui per comodità,: (3.4.2) S (k) = N 1 n=0 x (n) W nk N, x (n) = 1 N N 1 k=0 S (k) W nk N con n, k = 0,, N 1 I valori di n e k limitati tra 0 ed N 1 servono a descrivere il periodo principale, ma le (3.4.2) possono benissimo assegnare un valore sia ad S () che ad x () per un indice pari o maggiore ad N: S (mn k) = N 1 n=0 N 1 x (n) W n(mnk) N = n=0 N 1 x (n) W nk N W nmn N = n=0 x (n) W nk N = S (k) poiché exp (j2πnmn/n) = (1) nm = 1. Nell utilizzare la trasformata di Fourier bilatera, però, si è abituati a considerare intervalli in frequenza simmetrici rispetto alla frequenza zero, tant è vero che nell esporre il teorema del campionamento si è considerato come periodo fondamentale in frequenza quello compreso tra f c /2 ed f c /2. Nell uso della DFT bisogna sempre stare attenti a considerare che nei tempi il primo campione si riferisce all istante t = 0, quelli successivi ad istanti successivi t = nt fino ad n = (N 1) /2, ma che, superato il semi-periodo, vengono proposti i campioni relativi agli istanti t = ((N 1) /2) T e successivi fino a t = T. Il valore per t = 0 non può essere incluso alla fine perché già presente nel primo campione. La stessa cosa vale nelle frequenze: ci sarà prima la continua, poi le frequenze positive k/nt ed infine le frequenze negative, prima quelle di modulo maggiore e poi via via quelle di modulo minore. L esempio fatto presuppone un N dispari. Se N è pari, tolto il campione relativo allo 0, rimangono un numero dispari di campioni da ripartire tra valori positivi e negativi. In particolare si pone il problema di assegnare il campione N/2 al massimo valore positivo o al minimo valore negativo (con riferimento alle frequenze ad f = (N/2)/NT = 1/2T o ad f = (N/2)/NT = 1/2T. Se si riflette sul fatto che la sequenza che si sta considerando è periodica di periodo 1/T, ci si rende conto che i due valori sono esattamente a distanza di un periodo e devono assumere lo stesso valore! Si voglia, a questo punto, verificare la simmetria complessa coniugata per sequenze reali, cioè X ( k) = X (k). Se: X(k) = N 1 n=0 x(n) exp( j2π nk N ) L indice negativo non esiste, essendo 0 k < N. È banale rendersi conto, però, che:

56 56 3. SISTEMI DISCRETI = N 1 n=0 X(N k) = x(n) exp( j2π nn N N 1 n=0 x(n) exp( j2π n=0 n[n k] ) = N N 1 nk ) exp(j2π N ) = x(n) exp(j2π nk N ) = X ( k) Se x(n) è reale, i singoli addendi dell ultima sommatoria sono i complessi coniugati di quelli della sommatoria che dà X(k). Si deduce perciò che X(N k) = X( k) = X (k) La simmetria complessa coniugata tra i campioni della DFT di una sequenza reale sussiste tra i campioni di posizione k ed N k. Il primo campione a frequenza positiva deve essere uguale al complesso coniugato del primo campione a frequenza negativa e questo corrisponde all ultimo della sequenza, il secondo campione deve essere il complesso coniugato del penultimo, e così via. Ne consegue che, se N è pari, il campione di posizione N/2 deve essere il complesso coniugato di se stesso ed essere, quindi, reale. Esempio. Come bisogna disporre nel vettore in ingresso i campioni di un rettangolo affinché la DFT risultante sia reale? Consideriamo M campioni unitari ed i rimanenti N M nulli. La DFT di un tale blocco di campioni vale: M 1 ( exp j 2π ) N kn = 1 exp ( j 2πkM) ( N 1 exp ( = exp jπ M 1 ) ( sin π M j 2π k) N k k) N sin ( π 1 k) N N n=0 La trasformata è complessa ed il termine complesso è l operatore corrispondente ad un ritardo di (M 1) T/2, corrispondente al fatto che il rettangolo che ha potuto generare quei campioni inizia in t = 0 e finisce in t = (M 1) T. Per avere trasformata reale i campioni dovrebbero essere disposti con simmetria pari intorno all istante t = 0: un 1 in n = 0 e poi delle coppie di 1 rispettivamente in n ed in N n. È evidente che, perché la simmetria pari sia possibile, il totale numero di campioni deve essere dispari. In questo caso la DFT può scriversi: (M 1)/2 n=0 exp ( j 2π N kn ) (M 1)/2 n=0 giacché exp [ j 2π N k (N n)] = exp ( j 2π N kn). f. ( exp j 2π ) N kn 1 = sin ( π M k) N sin ( π 1 k) N Esempio. Si voglia calcolare, mediante la DFT, lo spettro di una sinusoide di frequenza Per prima cosa bisogna stabilire il passo di campionamento e poi decidere il numero di campioni da utilizzare. Il vettore trasformato degli N campioni della sinusoide sarà

57 3.4. DFT (DISCRETE FOURIER TRANSFORM) 57 INPUT INPUT DFT a Figura Campionamento di una sinusoide (sopra) e modulo della relativa DFT (sotto): a sinistra (N 1) T = 3/ f con N = 31, a destra NT = 3/ f con N = 30. DFT b costituito da due soli campioni immaginari e di segno opposto (come ci si aspetterebbe dallo spettro di una sinusoide) solo se NT = m/ f. Diversamente il vettore trasformato sarà costituito da campioni tutti diversi da zero, come mostrato in figura Figura Sequenze ottenute ripetendo i campioni nel blocco. Il motivo è facilmente identificabile: se il vettore in ingresso è x (n) = sin (2πnm/N), con n = 0,, N 1, la ripetizione periodica di questo blocco di campioni corrisponde al campionamento di una sinusoide di frequenza m/n T il cui spettro campionato a passo

58 58 3. SISTEMI DISCRETI 1/NT darà campioni non nulli solo per k = ±m (o meglio, per la simmetria già descritta, per k = m e per k = N m), come mostra la figura b. Diversamente (la figura a mostra il caso di una sinusoide di frequenza m/ (N 1) T ), ripetendo periodicamente il blocco di campioni non si ottiene una sinusoide campionata, ma una sequenza di spezzoni di sinusoide che non si giuntano perfettamente, (come mostra la figura ) il cui spettro non può essere quello di una sinusoide. a b Figura Giustificazione delle DFT di figura Il discorso può risultare sorprendente, visto che sempre di una sinusoide finestrata si tratta, il cui spettro non può che essere la convoluzione dello spettro di una sinusoide (i due impulsi) con lo spettro della finestra campionata (un seno cardinale periodicizzato vedi esercizio precedente con zeri a passo 1/NT ). Quando si campiona a passo 1/NT la somma dei due seni cardinali centrati in multipli di 1/NT si ottengono due soli campioni non nulli. Le cose vanno diversamente se i due seni cardinali sommati sono centrati a frequenze diverse: in questo caso campionando in k/n T si ottengono tutti campioni non nulli Fast Fourier Transform Se la DFT si dovesse calcolare implementando la formula base, sarebbero necessarie N moltiplicazioni e somme per ogni campione trasformato e altrettante per il calcolo della DFT inversa (o IDFT). Perché la DFT possa diventare un algoritmo utile, il suo costo implementativo deve risultare molto più contenuto. Si riporta ancora una volta la formula della DFT: (3.5.1) X(k) = N 1 n=0 x(n) exp ( j2πnk/n) = N 1 n=0 x(n)w nk N Se i campioni sono N, la (3.5.1) rappresenta un sistema di N equazioni in N incognite, che in forma matriciale è del tipo [N 1] = [N N] [N 1]

59 3.5. FAST FOURIER TRANSFORM 59 Per calcolare la DFT di una sequenza di N campioni servono N 2 moltiplicazioni (generalmente complesse). Per ogni campione della trasformata servono N moltiplicazioni ed il calcolo della convoluzione mediante DFT risulta più costoso dell implementazione diretta. D altra parte, le potenze di W N godono di regolarità molto forti, dato che esse rappresentano dei vettori di modulo unitario disposti regolarmente sul cerchio. Si ha, ad esempio, che W kn N = WN k kn/2, che WN = W k N e simili Decimazione nel tempo. Per rendere il calcolo più efficiente, si può separare, nella sequenza di N campioni, i campioni di posizione pari da quelli di posizione dispari. La (3.5.1) si può scrivere (3.5.2) X(k) = N/2 1 i=0 N/2 1 x(2i)w 2ki N i=0 x(2i 1)W k(2i1) N Si badi che nessuna delle due sommatorie, presa singolarmente, rappresenta una DFT. Infatti, essendo le sommatorie estese su N/2 termini, dovrebbero usare come pesi potenze di W N/2. Si ponga: La (3.5.2) si può riscrivere come: (3.5.3) X(k) = x p (i) = x(2i) = sequenza dei campioni pari x d (i) = x(2i 1) = sequenza dei campioni dispari N/2 1 i=0 x p (i)w 2ki N N/2 1 W k N x d (i)w 2ki N La prima sommatoria, a questo punto, è riconoscibile come la DFT della sequenza x p lunga N/2 campioni, giacché W 2ki N = W ki N/2 : In definitiva la (3.5.3) diventa X p (k) = N/2 1 i=0 i=0 x p (i)w ki N/2 (3.5.4) X(k) = X p (k) W k N X d(k) Si noti che X p ed X d sono periodiche di periodo metà (N/2) rispetto ad X, ma il coefficiente di pesatura è periodico di periodo N. La somma nella (3.5.4) è perciò periodica di periodo N, come deve essere. In sostanza si è diviso il calcolo di una DFT di lunghezza N in due DFT di lunghezza N/2. Per il calcolo della DFT lunga N servivano N 2 moltiplicazioni. Per calcolare due DFT di lunghezza N/2 servono 2N 2 /4 moltiplicazioni. Si è guadagnato un fattore 2, anche se in realtà si potrebbe dover tener conto delle addizioni. Il discorso si può naturalmente iterare, dividendo ciascuna delle sequenze lunghe N/2 in due sequenze lunghe N/4 e così via. La struttura iterativa che così si viene a costruire si chiude quando si giunge alla trasformata di un solo campione (che è una costante pari all ampiezza del campione stesso). In realtà basta fermarsi alla trasformata di una coppia di campioni, perché anche questa è facile da

60 60 3. SISTEMI DISCRETI calcolare: i campioni della trasformata sono rispettivamente la somma e la differenza dei due campioni del vettore da trasformare. Il discorso è applicabile nella sua interezza solo se la lunghezza del blocco da trasformare è pari ad una potenza di 2. In questo caso si arriva alle trasformate di 2 in log 2 (N) 1 = log 2 (N/2) passi. A titolo esemplificativo, si x(0) x(2) x(4) x(6) x(1) x(3) x(5) x(7) X p(0) X (1) p X p(2) X p(3) X (0) d X (1) d X (2) d X (3) d WN 0 1 W N 2 W N 3 4 W W N N 5 WN 6 WN 7 WN X(0) X(1) X(2) X(3) X(4) X(5) X(6) X(7) Figura DFT di un vettore lungo 8 campioni ottenuta come combinazione di due DFT da 4. consideri la DFT di un vettore costituito da 8 campioni: x(0)x(1) x(7). La sequenza dei campioni pari sarà x(0) x(2) x(4) x(6) e quella dei campioni dispari x(1) x(3) x(5) x(7). La figura rappresenta lo schema a blocchi delle operazioni necessarie a calcolare la formula x(0) x(2) x(4) x(6) x(1) x(3) x(5) x(7) X p(0) X (1) p X p(2) X p(3) X (0) d X (1) d X (2) d X (3) d 0 W N 1 W N Figura DFT di un vettore lungo 8 campioni suddivisa in due DFT da 4 con riduzione delle moltiplicazioni necessarie. Dalla (3.5.4) si deduce che per ottenere X(0) bisogna sommare X p (0) con X d (0) moltiplicato per W8 0. Analogamente per gli altri campioni fino ad X(3). Per X(4) e seguenti bisogna ricordare che X p ed X d sono periodiche di periodo N/2 e quindi per ottenere X(4) si dovrà sommare X p (0) con X d (0) moltiplicato per W8 4. Analogamente per i campioni seguenti. Sembrerebbero necessarie 8 moltiplicazioni complesse. In realtà, notando che W (kn/2) N = W k N W N/2 N = W k k N, le moltiplicazioni per i pesi WN si possono ridurre di un fattore 2 (N/2, anzi ancora meno, perché tra queste ci sono delle moltiplicazioni per WN 0 = 1). Il valore X d(0), infatti, può essere moltiplicato solo per W8 0, salvo poi sommarlo con X p (0) per ottenere X(0) e sottrarlo per trovare X(4). Analogamente per gli altri. Si ha cioè lo schema modificato riportato in figura W N 3 W N X(0) X(1) X(2) X(3) X(4) X(5) X(6) X(7)

61 3.5. FAST FOURIER TRANSFORM 61 La struttura elementare che risulta ripetuta nello schema globale è del tipo riportato in figura e prende il nome di "farfalla". X(k) W k N X(kN/2) Figura Struttura a farfalla per il calcolo della DFT. Con 8 campioni, come nel caso precedente, si sono ottenute quattro farfalle di questo tipo sovrapposte. L operazione si può ripetere: per calcolare la DFT della sequenza pari si otterrà ancora una struttura a farfalle all interno dei blocchi. x(0) X (0) x(4) x(2) x(6) p X (1) p X (2) p X (3) p Figura Analogamente per la sequenza dispari. È poi necessario calcolare le DFT della coppie x(2)x(6); x(0)x(4); x(3)x(7) e x(1)x(5), utilizzando la formula 1 kn n=0 s(n)w2. Lo schema di flusso del complessivo algoritmo per il calcolo della DFT di un blocco di 8 campioni è riportato in figura x(0) x(4) x(2) x(6) x(1) x(5) x(3) x(7) W 1 4 W 1 4 W 1 8 W 2 8 W 3 8 X(0) X(1) X(2) X(3) X(4) X(5) X(6) X(7) Figura Schema di flusso dell algoritmo di decimazione nel tempo per un blocco di 8 campioni. Si osservi che, se si vuole poter scrivere i risultati intermedi nelle stesse locazioni di memoria in cui erano inseriti i dati di ingresso al singolo stadio di calcolo, i campioni della sequenza di ingresso devono essere inseriti nell algoritmo secondo uno strano ordinamento. Osservando con un po d attenzione gli indici si nota che si tratta di un reverse bit order, cioè l ordinamento che si ottiene ribaltando le cifre binarie del numero che scandisce

62 62 3. SISTEMI DISCRETI l ordinamento naturale. Con riferimento all esempio relativo alla DFT su 8 campioni, essi devono apparire secondo l ordine: cioè il primo campione deve essere quello in posizione 0, il secondo quello in posizione 4 ecc... Questo algoritmo prende il nome di algoritmo di decimazione nel tempo. Il calcolo della trasformata di Fourier discreta di una sequenza lunga N = 2 n campioni costa (N/2) log 2 (N/2) moltiplicazioni complesse, cioè (1/2) log 2 (N/2) moltiplicazioni complesse per campione. Si noti che, in funzione del tipo di implementazione adottata, non ci si può limitare a contare esclusivamente il numero delle moltiplicazioni: può essere necessario tener conto anche delle addizioni e dell indirizzamento, che può essere decisivo nel caso si voglia implementare l algoritmo all interno di una struttura hardware programmabile preesistente Decimazione in frequenza. Si può ottenere la stessa efficienza computazionale sfruttando le simmetrie del nocciolo della DFT in altro modo. Si può tagliare la sequenza in una prima ed una seconda metà: si ottiene: X(k) = N 1 n=0 N/2 1 x(n)w kn N = n=0 x(n)w kn N N 1 n=n/2 x(n)w n N = = N/2 1 n=0 N/2 1 x 1m (n)w kn N n=0 x 2m (n)w k(nn/2) N Perché le sommatorie possano diventare delle DFT di lunghezza N/2 è necessario distinguere le posizioni in uscita di indice pari e di indice dispari. Per k pari, cioè k = 2p si ottiene: (3.5.5) X(2p) = = N/2 1 n=0 x 1m (n)w 2pn N N/2 1 n=0 x 1m (n)w pn N/2 1 W 2pN/2 N x 2m (n)w 2pn N = N/2 N/2 1 i=0 n=0 x 2m (n)w pn N/2

63 3.5. FAST FOURIER TRANSFORM 63 essendo W kn/2 N = ( 1) k che, per k pari, vale 1. Adesso le sommatorie sono delle DFT di sequenze di lunghezza metà. Per k dispari si ha: (3.5.6) X(2p 1) = N/2 1 n=0 x 1m (n)w pn N/2 W n N N/2 1 Il segno tra le due sommatorie è dovuto al termine W kn/2 N vale 1. La (3.5.5) si può scrivere: X(2p 1) = N/2 1 n=0 n=0 [x 1m (n) x 2m (n)] W n N x 2m (n)w pn N/2 W n N = ( 1) k che, per k dispari, W pn N/2 x(0) x(1) x(2) x(3) x(4) x(5) x(6) x(7) 0 W N 1 W N 2 W N 3 W N X(0) X(2) X(4) X(6) X(1) X(3) X(5) X(7) Figura DFT di un vettore lungo 8 campioni come due DFT da 4 di combinazioni di sotto-sequenze ottenute dai dati originali. Quindi, per calcolare i campioni di posizione dispari nella DFT complessiva si deve calcolare la DFT della differenza tra gli N/2 campioni x(n) ed x(n N/2) della sequenza di partenza, moltiplicando la sequenza così ottenuta per W n N prima di trasformarla. Si delinea un algoritmo diverso da quello visto nella sezione precedente: prima si dovevano calcolare le trasformate di due sequenze lunghe metà e poi combinarne le trasformate; ora si devono combinare opportunamente la prima metà e la seconda metà della sequenza originale e poi trasformare le due sotto-sequenze così ottenute, secondo lo schema di flusso indicato in figura. Nonostante l apparente diversità, il discorso è analogo a quello già fatto: la trasformazione di 8 campioni richiede due stadi di trasformazione su 4 campioni. La procedura si può iterare, fino ad ottenere trasformate di sequenze elementari (2 campioni). In questo caso si parte dai campioni ordinati in numerazione naturale e si ottengono i campioni della trasformata ordinati secondo la numerazione bit reversed. Questa procedura prende il nome di algoritmo di decimazione in frequenza. Il costo è assolutamente identico al costo dell algoritmo di decimazione nel tempo, come è evidente se si considera che gli schemi di flusso dei due algoritmi sono uno speculare dell altro.

64 64 3. SISTEMI DISCRETI x(0) x(1) x(2) x(3) x(4) x(5) x(6) x(7) W 8 0 W 1 8 W 2 8 W 3 8 W 0 4 W 1 4 W 0 4 W 1 4 X(0) X(4) X(2) X(6) X(1) X(5) X(3) X(7) Figura Schema di flusso dell algoritmo di decimazione in frequenza per un blocco di 8 campioni Lunghezze diverse da potenze di 2. A questo punto è banale osservare che non è necessario che la sequenza sia lunga una potenza di due. Se, per esempio, è lunga una potenza di 3, si può ancora operare una decimazione nel tempo, non più in base 2, ma in base 3: si ottengono tre sequenze x 0 (l), x 1 (l), x 2 (l), costruite secondo lo schema in figura: x(0) x(1) x(2) x(3) x(4) x(5) x(6) x(7) x(8) x (0) x (1) x (2) x (0) x (1) x (2) x (0) x (1) x (2) x o (i) = x(3i); x 1 (i) = x(3i 1); x 2 (i) = x(3i 2) Si può scrivere la DFT nel modo seguente: X(k) = N 1 kn n=0 x(n)wn = = N/3 1 l=0 x(3l)w k3l N N/3 1 l=0 x(3l 1)W k(3l1) N N/3 1 l=0 x(3l 2)W k(3l2) N = = N/3 1 m=0 x 0 (m)w k3m N W k N/3 1 N m=0 x 1 (m)w k3m N W 2k N/3 1 N m=0 x 2 (m)w k3m N = = N/3 1 m=0 x 0 (m)w km N/3 W k N/3 1 N m=0 x 1 (m)w km N/3 W 2k N/3 1 N m=0 x 2 (m)w km N/3 Per ottenere, in conclusione: X(k) = X 0 (k) W k N 1 2 X 1(k) W 2k N X 2(k) Naturalmente si può operare una decimazione a passo qualsiasi, purché porti a sottosequenze tutte di uguali lunghezze e si possono operare successivamente decimazioni a passi diversi, stando attenti al corretto ordinamento dei campioni, se si vuole poter memorizzare i risultati intermedi nelle stesse locazioni di memoria in cui erano originariamente memorizzati i dati in ingresso. 2 2

65 3.5. FAST FOURIER TRANSFORM 65 Il concetto base dell FFT è quello di scomporre il calcolo di una DFT di una sequenza molto lunga nella combinazione di DFT di lunghezza minore. Questo ovviamente richiede di saper calcolare efficientemente la DFT di sequenze elementari. In altre parole, data una sequenza lunga N, con N qualsiasi, è possibile scomporla in sequenze più corte, fino a giungere a sequenze lunghe un numero primo di campioni, ad esempio 2, 3, 5, 7,. È necessario saper calcolare le DFT di queste sequenze. Non sempre conviene calcolare una convoluzione con la DFT (prodotto delle DFT delle sequenze da convolvere), soprattutto quando una delle sequenze è sufficientemente corta. Ci sono cioè dei casi, per sequenze non molto lunghe, in cui è più efficiente calcolare una convoluzione piuttosto che una DFT. Come una convoluzione può trasformarsi nel calcolo di DFT, così una DFT può essere trasformata in una convoluzione. Poiché: si può scrivere: Posto x(n)w n2 /2 N X(k) = N 1 n=0 X(k) = N 1 n=0 N 1 x(n)w kn N = = ˆx(n), si ottiene: n=0 x(n)w kn N N 1 X(k) = W k2 /2 N ˆx(n) W (k n)2 /2 N = W k2 /2 N n=0 x(n) W n2 /2 N W k2 /2 N W (k n)2 /2 N N 1 n=0 ˆx(n) w(k n) In questo modo il calcolo della trasformata si trasforma nel calcolo della convoluzione tra le sequenze ˆx(n) e w(k n). È chiaro che questo risultato non può essere presentato come una soluzione più efficiente per calcolare la DFT di lunghezza qualsiasi, soprattutto se elevata. Se, però, la DFT ha lunghezza strana, per esempio è lunga un numero primo, e quindi non è possibile fare alcuna fattorizzazione, può convenire scambiare il calcolo della DFT col calcolo della convoluzione, soprattutto se si è in possesso di un algoritmo efficiente per la convoluzione Sequenze reali. Passando dal calcolo diretto della DFT alla FFT si è passati da N ad (1/2) log 2 (N/2) moltiplicazioni per campione. Per calcolare la convoluzione nel dominio delle frequenze servono log 2 (N/2) 1 moltiplicazioni complesse per ogni campione in uscita. Questo numero va ora confrontato con il numero M di moltiplicazioni reali richieste dall implementazione diretta della convoluzione: al crescere di M diventa conveniente calcolare la convoluzione con la FFT. Se x(n) ed h(n) sono reali, anche u(n) = x(n) h(n) è reale: questo vuol dire che nel primo passo della FFT e nell ultimo della IFFT è possibile risparmiare ancora, in termini di moltiplicazioni. Gli algoritmi considerati non hanno distinto il primo stadio dai successivi e questo implica che anche il vettore in ingresso è stato considerato genericamente complesso. Operando con segnali reali, però, si è sicuri che la parte immaginaria di tale vettore è nulla:

66 66 3. SISTEMI DISCRETI è possibile fondere due vettori reali di pari lunghezza (x 1 (n) e x 2 (n)) in un solo vettore complesso (u (n)) del quale la parte reale rappresenta il primo e la parte immaginaria il secondo vettore reale: (3.5.7) u (n) = x 1 (n) jx 2 (n) Se si convolve il vettore complesso u con un vettore reale h, il risultato, per la linearità dell operazione di convoluzione, sarà: c (n) = u (n) h (n) = x 1 (n) h (n) jx 2 (n) h (n) = Re {c (n)} jim {c (n)} Utilizzando il prodotto di DFT si applica la convoluzione circolare, ma il ragionamento rimane ugualmente valido: con una sola DFT ed una IDFT si sono calcolate le convoluzioni di due blocchi di dati invece di uno. Questo è rigorosamente vero in teoria: nella realtà bisogna tener conto della precisione finita con cui si rappresentano i coefficienti e si eseguono i calcoli. Anche lasciando nulla la parte immaginaria del vettore in ingresso, la sequenza in uscita non avrà la parte immaginaria rigorosamente nulla a causa del rumore di calcolo che contribuirà termini più o meno piccoli rispetto ai valori della parte reale a seconda della precisione (numero di bit) dell hardware utilizzato per implementare i calcoli. Con floating point a 32 bit ci si può aspettare un fattore Se si calcolano le convoluzioni di due sequenze contemporaneamente, bisognerà attendersi la presenza di disturbo maggiore di quello che si otterrebbe elaborando separatamente le due sequenze. Considerazioni analoghe a quelle già svolte si possono usare semplicemente per calcolare le DFT di due sequenze contemporaneamente e, quindi, al costo di una. Si consideri il blocco complesso della (3.5.7) e la sua DFT U (k). Per la linearità della DFT: U (k) = X 1 (k) jx 2 (k) dove X 1 (k) è la trasformata di x 1 (n) e X 2 (k) è la trasformata di x 2 (n). Entrambe sono complesse e non possono, quindi, essere separate banalmente. Entrambe sono, però, DFT di sequenze reali e godono della simmetria complessa coniugata (3.5.8) perciò e X 1 (N k) = X 1 (k) X 2 (N k) = X 2 (k) U (N k) = [X 1 (k) jx 2 (k)] = X 1 (k) jx 2 (k) X 1 (k) = U (k) U (N k) 2, 0 k < N U (k) U (N k) 2 X 2 (k) = 2j con le (3.5.8) che consentono di ricavare i campioni restanti.

67 CAPITOLO 4 TRASFORMATA ZETA 4.1. Definizione Data una sequenza x(n), la sua trasformata di Fourier è: X(ω) = x(n) exp ( jωnt ) Si può osservare che tale espressione è sostanzialmente un polinomio di variabile exp ( jωt ) con coefficienti x(n). Se si pone z = exp (jωt ), si può scrivere: X(ω) = x(n) z n z=exp(jωt ) Le proprietà di un polinomio sono descritte in modo molto compatto dalle sue radici (cioé dai valori della variabile che lo annullano), a patto di poterle calcolare tutte. Le radici di un polinomio con coefficienti reali sono in numero pari al grado del polinomio, ma sono genericamente complesse. Se ci si vincola ai valori z = exp (jωt ), si rischia di non trovarne neanche una. Se, però, si considera z una generica variabile complessa, senza l imposizione z = exp (jωt ), è possibile trovare tutte le radici del polinomio. Qualcosa di simile succede nel continuo nel passaggio dalla trasformata di Fourier alla trasformata di Laplace: Si ha infatti trasformata di Fourier f(t) exp ( jωt) dt trasformata di Laplace f(t) exp ( pt) dt Alla variabile puramente immaginaria jω si sostituisce una variabile genericamente complessa p e ciò fa della trasformata di Laplace una generalizzazione della trasformata di Fourier. Mentre nel continuo, nella generalizzazione da trasformata di Fourier a trasformata di Laplace, si passa dall asse immaginario a tutto il piano complesso, nel discreto nella generalizzazione da DTFT a trasformata zeta si passa dal cerchio unitario a tutto il piano complesso. La trasformata zeta è, dunque, una serie di potenze X(z) = n= x(n) z n ed in quanto tale ha significato solo se converge. Il dominio di convergenza di una tal serie è una corona circolare ( z > R 1 per gli n > 0; z < R 2 per gli n < 0). 67

68 68 4. TRASFORMATA ZETA Re Im Re Im trasformata di Fourier Re Im Re Im trasformata di Laplace trasformata zeta DTFT Figura Domini di definizione delle varie trasformate. R 1 R 2 Figura Dominio di convergenza della trasformata zeta. Se il cerchio unitario è compreso nel dominio di convergenza, la DTFT della sequenza x(n) esiste. Nel caso discreto, per passare dalla trasformata zeta alla risposta in frequenza, bisogna calcolare la DTFT della risposta all impulso del sistema, cioé bisogna passare da H(z) = h(n)z n ad H(f) = h(n) exp( j2πfnt ), ovvero calcolare la trasformata zeta per z = exp(j2πft ), cioé sul cerchio unitario. 1 1 In generale non si scrive H(f) ma H(e jω ) con Ω = 2πfT = 2πf/f c per evidenziare la periodicità

69 4.1. DEFINIZIONE 69 j ωt e Im(z) ω= π T θ ω=0 Re(z) Figura Piano z e cerchio unitario. Il punto sul cerchio unitario corrispondente a frequenza zero è segnato in figura Per un punto generico vale θ = ωt = Ω. Ne segue che le frequenze positive corrispondono a punti sul cerchio compresi nel semipiano superiore e quelle negative a punti nel semipiano inferiore. Per θ = π si ha ω = π/t, che è la pulsazione corrispondente alla frequenza di Nyquist, cioé a metà della frequenza di campionamento. D altra parte, se ci si sposta per frequenze positive oltre f c /2 e per frequenze negative oltre f c /2, si riottengono valori già considerati. In questo modo si esprime graficamente ed in maniera evidente la natura periodica della trasformata di una funzione campionata (conseguenza del fatto che, se osservate solo in istanti kt, tutte le sinusoidi di frequenze f k/t sono indistinguibili). π/t π /T Figura Piano p di Laplace con periodo principale della trasformata di un segnale campionato. Vediamo ora il legame esistente tra il piano complesso di Laplace e quello della trasformata zeta. In base a quanto già detto, ci deve essere una relazione tra asse immaginario nel piano di Laplace e cerchio unitario nel piano z. Naturalmente, in un contesto campionato anche la trasformata di Laplace deve essere periodica in ω: S(p) = S(α jω) = s(nt )δ(t nt ) exp ( pt) dt = = s(nt ) exp ( αnt ) exp ( jωnt ) della funzione di trasferimento H.

70 70 4. TRASFORMATA ZETA e S(α j [ ω k 2π T ] ) = S(α jω) Il segmento di asse immaginario compreso tra π/t e π/t corrisponde al cerchio unitario. Ai punti del semipiano destro corrispondono i punti esterni al cerchio unitario ( exp (α jω) > 1 se α > 0). Ai punti del semipiano sinistro corrispondono i punti interni al cerchio. Im(p) Re(z) Im(z) Re(p) Figura Corrispondenza tra piano p e piano z. Il legame tra trasformata di Laplace e trasformata zeta è espressa dal cambiamento di variabile z = exp(pt ) in un senso e da p = (lg z j arg z) /T nell altro Proprietà della trasformata zeta. La trasformata zeta è utile perché lega alla sequenza x(n) un polinomio in z. Se si considera il prodotto di due polinomi di grado rispettivamente N ed M, i coefficienti del polinomio prodotto sono legati ai coefficienti dei due polinomi fattori da un operazione che è la convoluzione discreta. In altre parole, si trasforma l operazione di convoluzione discreta nel prodotto di due polinomi. È utile, come per le altre trasformate, considerare le proprietà principali della trasformata zeta: (1) Linearità y(n) = a x 1 (n) b x(n) Y (z) = a X 1 (z) b X 2 (z) (2) Traslazione nel tempo x(n) X(z) x(n m) z m X(z) (3) Inversione dell asse del tempo x(n) X(z) x( n) X(1/z) Questa relazione sul cerchio unitario porta alla simmetria complessa coniugata. (4) Coniugazione nel tempo x(n) X(z) x (n) X (z ) Infatti la trasformata di x (n) è x (n) z n, che si può anche scrivere x (n) z n = [[ x (n) z n ] ] = [ x(n) (z ) n] = X (z ) c.v.d.

71 4.1. DEFINIZIONE 71 (5) Derivazione in z Di conseguenza d dz X(z) = n x(n) z n 1 x(n) X(z) nx(n) z d dz X(z) (6) La convoluzione viene trasformata in prodotto delle trasformate. La convoluzione è u(k) = x(n) h(k n) n Si ha U(z) = u(k) z k = x(n) h(k n) z k k k n Ma k h(k n) z k è la trasformata di h(k) ritardata di n campioni, cioé k h(k n) z k = z n H(z) e, in definitiva: U(z) = n x(n) z n H(z) = X(z) H(z) Antitrasformata. La formula di antitrasformazione è x(m) = 1 z m 1 X(z) dz 2πj Γ Dove la curva di integrazione è tale da racchiudere tutti i poli della trasformata. In realtà questa formula non serve. Infatti, poiché la trasformata zeta è un polinomio, i coefficienti di tale polinomio rappresentano esattamente l antitrasformata. In altri termini, se abbiamo una sequenza di campioni x(n), per calcolarne la trasformata zeta dobbiamo semplicemente usare i valori numerici dei campioni come coefficienti dell opportuna potenza di z. A questo punto se la trasformata è posta sotto forma di polinomio in z, i coefficienti delle potenze di z 1 costituiscono i campioni della sequenza dell antitrasformata. Se la trasformata zeta è 1 2z 1 3z 2, la sequenza è 1, 2, 3. Se si ha H(z) = 1/(1pz 1 ) (rapporto di polinomi), si procede per successive divisioni, ottenendo una rappresentazione in forma di polinomio Scomposizione in sequenze elementari. Un polinomio di grado n può essere trasformato in uno di grado n 1 moltiplicandolo per un binomio. Ciò implica che un polinomio di grado n si può esprimere come prodotto di un polinomio di grado n 1 e di uno di grado 1 (più in generale nel prodotto di un polinomio di grado m ed uno di grado n m). Per esempio, il polinomio c 0 c 1 z 1 c 2 z 2 è ottenibile come prodotto di due binomi: b 0 b 1 z 1 e a 0 a 1 z 1 con a 0, a 1, b 0 e b 1 da determinare. Questa scomposizione non è univoca. Infatti: (b 0 b 1 z 1 )(a 0 a 1 z 1 ) = a 0 b 0 (a 1 b 0 a 0 b 1 ) z 1 a 1 b 1 z 2

72 72 4. TRASFORMATA ZETA e, imponendo l uguaglianza con c 0 c 1 z 1 c 2 z 2, si ottiene il sistema di 3 equazioni in 4 incognite c 0 = a 0 b 0 c 1 = a 1 b 0 a 0 b 1 c 2 = a 1 b 1 Resta un grado di libertà che si può spendere ponendo, per esempio, a 0 = 1 oppure b 0 = 1. Per le proprietà della trasformata zeta, il risultato ottenuto equivale a dire che la sequenza di tre campioni c 0, c 1, c 2 è ottenibile come convoluzione di due opportune sequenze di due campioni. Il teorema fondamentale dell algebra dice che un polinomio in una sola variabile è sempre scomponibile nel prodotto di binomi: N ( a ) k z 1 k = z N k=0 N ( a k z N k = a 0 1 rk z 1) k=0 dove gli r k sono le radici del polinomio in z. Applicato alla trasformata zeta di una sequenza di campioni, questo teorema implica che è sempre possibile rappresentare una sequenza lunga come convoluzione di un numero adeguato di sequenze di due campioni Sistemi discreti lineari invarianti In un sistema lineare tempo-invariante, l uscita è la convoluzione tra ingresso e risposta all impulso del sistema. Ciò vale anche nel discreto, quando sia il segnale, sia la risposta all impulso del sistema, sono campionati: u(n) = k h(k) s(n k) Poiché la trasformata zeta trasforma la convoluzione discreta in un prodotto di polinomi, è evidente la sua utilità nel trattare sistemi dinamici discreti, lineari e tempo-invarianti (LTI) Funzione di trasferimento. Un sistema discreto LTI è descritto dall equivalente discreto di una equazione differenziale, cioé da una equazione alle differenze finite. Per un sistema causale si può scrivere: (4.2.1) y(n) = M N a i x(n i) b j y(n j) i=0 j=1 L uscita all istante generico dipende dagli ingressi x(n) e, se il sistema è recursivo, dagli ultimi N campioni dell uscita. Calcolare l uscita richiede l uso di una struttura iterativa, a partire dalla conoscenza dello stato del sistema (conoscenza di N campioni dell uscita) e del termine forzante. Usando la trasformata zeta si può arrivare a definire l equivalente

73 4.2. SISTEMI DISCRETI LINEARI INVARIANTI 73 della funzione di trasferimento nel continuo. Per una proprietà della trasformata zeta x(n k) z k X(z). La trasformata della (4.2.1) allora è M N Y (z) = a i z i X(z) b j z j Y (z) da cui (4.2.2) i=0 j=1 Y (z) X(z) = a 0 a 1 z 1 a M z M 1 b 1 z 1 b N z N = M a i z i i=0 N ˆbj z j avendo posto ˆb 0 = 1 e ˆb j = b j. Il grado del polinomio a numeratore e quello del polinomio al denominatore rappresentano rispettivamente il numero dei campioni passati dell ingresso e dei campioni passati dell uscita che influiscono sull uscita all istante corrente. Per il teorema fondamentale dell algebra la (4.2.2) si può scrivere (4.2.3) Y (z) X(z) = M a 0 (1 z i z i ) i=1 N (1 p j z j ) j=1 con gli z i, radici del polinomio al numeratore, che sono detti zeri della funzione di trasferimento ed i p j, radici del polinomio al denominatore, che sono detti poli della funzione di trasferimento Stabilità. Se un sistema è stabile, le sue singolarità sono contenute all interno del cerchio di raggio unitario. Condizione necessaria e sufficiente perché un sistema LTI sia stabile è che la somma dei moduli dei campioni della sua risposta all impulso sia finita, cioé h n <. Dimostrazione: La condizione è necessaria. Si consideri come sequenza di campioni in ingresso la sequenza { 1 se h n > 0 1 se h n < 0 (La stabilità deve essere verificata qualunque sia la sequenza di ingresso, purché di ampiezza limitata). Questa particolare sequenza è tale che l uscita è pari a u(0) = h n. Se il sistema è stabile (a ingresso di ampiezza limitata deve corrispondere uscita di ampiezza limitata), necessariamente deve essere h n <. La condizione è sufficiente. Si ha u(n) = x(k) h(n k) u(n) = x(k) h(n k) x(k) h(n k) j=0

74 74 4. TRASFORMATA ZETA Se la sequenza di ingresso è limitata, cioé se x(k) < M, si ha u(n) x(k) h(n k) M h(k) Quindi, ad una sequenza di ampiezza limitata il sistema risponde con un uscita che è sicuramente di ampiezza limitata. Se un sistema discreto lineare e tempo-invariante è stabile, siccome la trasformata zeta della sua risposta all impulso è h(k) z k, sicuramente questa serie converge per z 1. In altre parole, se il sistema è stabile se ne può definire la funzione di trasferimento (trasformata di Fourier della risposta all impulso) poiché il cerchio unitario appartiene alla zona di convergenza della serie che rappresenta la trasformata zeta della sua risposta all impulso. Che la zona di stabilità, all interno della quale devono essere contenute tutte le singolarità (poli) della trasformata zeta della risposta all impulso di sistemi lineari tempo-invarianti stabili, debba corrispondere alla parte del piano z all interno del cerchio unitario si poteva anche dedurre da quanto già detto a proposito della corrispondenza fra trasformata di Laplace e trasformata zeta. Un sistema continuo LTI stabile deve avere poli nel semipiano sinistro: siccome questo si mappa nel cerchio unitario, un sistema discreto LTI stabile deve avere poli all interno del cerchio unitario Sistema con un polo. Poiché la funzione di trasferimento di un sistema discreto LTI può essere fattorizzata, il suo studio può essere scomposto nello studio di funzioni di trasferimento elementari, aventi un solo binomio al denominatore o al numeratore. Per un filtro discreto non vi è alcun vincolo tra grado del numeratore e grado del denominatore. Iniziamo con una f.d.t. con un solo binomio al denominatore: (4.2.4) H(z) = 1/(1 pz 1 ) Poiché H(z) = 1/(1pz 1 ) = z/(zp) si ha uno zero nell origine ed un polo in z = p. La costellazione poli-zeri è raffigurata in figura p Figura Costellazione poli-zeri per un sistema con un solo polo. Per calcolare la risposta all impulso del sistema si deve esprimere H(z) come un polinomio in z 1, cosa che si può ottenere effettuando la seguente divisione

75 4.2. SISTEMI DISCRETI LINEARI INVARIANTI p z 1 p z p z p z p 2 z p z p z 3 3 p z 1 p z p z p z... Ne risulta una sequenza di lunghezza infinita: 1, p, p 2, p 3,. Questa sequenza può rappresentare la risposta all impulso di un filtro stabile solo se la somma dei moduli converge, ovvero se p < 1. Se p 1 il sistema è instabile, essendo la sequenza divergente. Per p = 1 si ha una risposta che non si smorza, cioé un oscillatore digitale. Naturalmente la trasformata zeta della sequenza 1, p, p 2, p 3, vale k=0 ( p)k z k = 1/(1 pz 1 ), che è ciò da cui si è partiti. Una funzione di trasferimento con un polo non nell origine, perciò, configura un filtro con risposta all impulso di lunghezza infinita o filtro IIR (Infinite Impulse Response) Sistema con uno zero. Si consideri ora una f.d.t. con un solo binomio al numeratore. La trasformata zeta è del tipo: (4.2.5) H(z) = 1 ζz 1 = (z ζ)/z con uno zero in ζ ed un polo nell origine. La costellazione poli-zeri è quella in figura In questo caso non c è bisogno di alcuna operazione per individuare i campioni della risposta all impulso, poiché la f.d.t. è già un polinomio in z 1 : la risposta all impulso di un tal sistema è costituita da due soli campioni. ζ Figura Costellazione poli-zeri per un sistema con un solo zero. Un sistema con risposta all impulso costituita da due soli campioni sarà sempre stabile purché i campioni della sua risposta all impulso assumano valori finiti. La posizione dello zero è, di conseguenza, ininfluente ai fini della stabilità del sistema, ma influenza la fase della funzione di trasferimento. Lo zero può essere interno o esterno al cerchio unitario, a seconda che sia ζ < 1 o ζ > 1. La figura rappresenta le corrispondenti risposte all impulso. Vediamo cosa succede se ζ < 1 o se ζ > 1. Ricordiamo come si può calcolare modulo e fase della funzione di trasferimento di un sistema, nota la costellazione di poli e zeri.

76 76 4. TRASFORMATA ZETA 1 ζ 1 ζ zero interno al cerchio unitario zero esterno al cerchio unitario Figura Risposte all impulso di un sistema con un solo zero. Im(s) jω Re(s) Figura Calcolo della funzione di trasferimento (a meno di un fattore moltiplicativo), noti poli e zeri nel piano p. Consideriamo il punto generico sull asse immaginario: la funzione di trasferimento è data da ( ) (Π i ρ zi ) exp θ zi F (ω) = K ( ( ) Πj ρ pj exp j i θ pj ) con K costante, essendo ρ zi e ρ pi le lunghezze dei vettori che congiungono rispettivamente lo zero i -esimo ed il polo j -esimo al punto corrente. Nel caso della trasformata zeta si procede in modo analogo. Infatti si deve valutare il seguente rapporto di polinomi ( a 0 1 zi z 1) i (1 p j z 1 ) j quando z si trova sul cerchio unitario. Con riferimento alla configurazione poli-zeri di figura 4.2.5, la funzione di trasferimento è (ρ z /1) exp j (θ z θ p ). Al variare di Ω, il modulo e la fase della funzione di trasferimento variano. Si considerino le due sequenze raffigurate in figura 4.2.6, insieme alle configurazioni polo-zero delle corrispondenti trasformate zeta. Si vuole calcolare la risposta in frequenza dei due filtri.

77 4.2. SISTEMI DISCRETI LINEARI INVARIANTI 77 Im(z) ρ z θ z 1 θ p Re(z) Figura Calcolo della funzione di trasferimento (a meno di un fattore moltiplicativo), noti poli e zeri nel piano z. a < 1 1 a a 1 a 1/a Figura Risposta all impulso, sua versione ribaltata e rispettive costellazioni poli/zeri. Il modulo della funzione di trasferimento si può calcolare effettuando la sostituzione z = exp (jωt ). Nel primo caso si ha: H1 ( e jωt ) = 1 ae jωt = 1 a2 2a cos(ωt ) Nel secondo: H2 ( e jωt ) = a e jωt = a2 2a cos(ωt ) 1 Come è evidente, il modulo della funzione di trasferimento nei due casi è uguale. Il modulo al quadrato avrà un andamento come in figura a 2 2a 1/ 2T 1/ 2T f Figura Modulo al quadrato della risposta in frequenza dei due filtri di figura Entrambi i sistemi sono dei filtri passa basso se a > 0; il taglio alla frequenza di Nyquist è tanto più pronunciato quanto più a è prossimo ad 1. Infatti, se a = 1, cioé se la risposta

78 78 4. TRASFORMATA ZETA all impulso del filtro è del tipo rappresentato in figura 4.2.8, la trasformata zeta avrà un polo nell origine ed uno zero sul cerchio unitario alla frequenza 1/2T ed il modulo della funzione di trasferimento, rappresentato graficamente nella stessa figura, vale: H ( e jωt ) = 2 2 cos(ωt ) = 2 cos(ωt/2) Se a 1, si ha un andamento passa basso tanto meno evidente quanto più a è minore di 1. H T H f 1/ 2T 0 1/ 2T 1/ 2T 0 1/ 2T f Figura Risposta all impulso e modulo della funzione di trasferimento se a = 1. Nel primo caso lo zero si trova all interno del cerchio unitario, mentre nel secondo caso è all esterno, in posizione reciproca. Gli andamenti della fase della funzione di trasferimento nel primo e nel secondo caso sono rappresentati in figura H( ω) π H( ω) 1 1/ 2T f 1/ 2T 1 f 1/ 2T 1/ 2T a Figura Fase della funzione di trasferimento ad un solo zero: a) zero all interno e b) all esterno del cerchio unitario. Nel primo caso lo sfasamento è minore. Nel caso di funzioni di trasferimento di grado maggiore di 1, il discorso si può ripetere per ogni binomio in cui si possono scomporre. Se tutti i suoi zeri sono all interno del cerchio unitario la funzione di trasferimento si dice a fase minima, se sono tutti fuori del cerchio unitario si parla di f.d.t. a fase massima. Nel b π

79 4.2. SISTEMI DISCRETI LINEARI INVARIANTI 79 caso considerato, la sequenza (1 az 1 ) è a fase minima o a fase massima a seconda che a < 1 o a > Filtri a fase lineare. Effettuando il prodotto tra due f.d.t. con lo stesso modulo, una a fase minima ed una a fase massima, si ottiene una f.d.t. la cui fase varia rigorosamente in modo proporzionale alla frequenza. Si consideri il caso più semplice delle due sequenze di lunghezza due con uno zero rispettivamente in a ed in 1/a: (1 az 1 )(a z 1 ) = a (1 a 2 )z 1 az 2 a 2 1a 0 T 2T a a a 2 1a T 0 T b Figura Sequenza convoluzione delle sequenze elementari a fase minima ed a fase masima e sua versione traslata nel tempo. a La sequenza risultante è simmetrica rispetto al campione centrale che, però, è nell istante T (vedi figura a). Se si trasla la sequenza in modo che lo stesso campione si trovi in 0 (vedi figura b), si ottiene una sequenza pari, tale cioé che h( n) = h(n), la cui trasformata di Fourier è H(ω) = 1 a 2 2a cos(ωt ). Una sequenza pari, infatti, ha trasformata reale. La funzione di trasferimento del filtro con la risposta all impulso di figura a è: H(ω) = [ 1 a 2 2a cos(ωt ) ] exp( jωt ) Come volevasi dimostrare, la fase del filtro varia in modo rigorosamente lineare con la frequenza. È il caso di osservare che, a differenza di quanto accade nel continuo (con i filtri RLC), nel discreto si ha la possibilità di implementare filtri la cui caratteristica di fase sia esattamente lineare: basta che i coefficienti della risposta all impulso rispettino una simmetria pari o, corrispondentemente, che nella funzione di trasferimento gli zeri siano presenti a coppie (se c è uno zero in z i, ce ne deve essere un altro in 1/z i ) simmetriche rispetto al cerchio unitario. Qualcosa di simile si avrebbe piazzando i poli a coppie simmetriche rispetto al cerchio unitario, ma questo presupporrebbe l instabilità del filtro! Filtri a fase lineare comunque complessi. La simmetria a coppie degli zeri della f.d.t. non implica limitazioni di sorta sull andamento del modulo. Si consideri inizialmente il filtro che ha una risposta all impulso di due campioni di valore uguale (e, per semplicità, supponiamo che tale valore sia unitario). Si è già visto che questo filtro ha come funzione di trasferimento un semiperiodo di un coseno di periodo 2/T.

80 80 4. TRASFORMATA ZETA Se, invece di considerare due campioni unitari a distanza T, si considerano due campioni a distanza 2T (vedi figura ) la trasformata zeta vale 1z 2 perché si ha un campione unitario all istante zero, un campione nullo all istante 1 ed un campione unitario all istante 2. Questo filtro ha due poli nell origine e due zeri sul cerchio unitario in θ = ±π/2. A queste posizioni corrisponde ωt = π/2, da cui 2πf = π/(2t ) f = 1/(4T ). ωτ = π/2 1 1 T T t Figura Risposta all impulso pari con due campioni a distanza 2T. Questo filtro è in grado di azzerare delle sinusoidi di frequenza f c /4. Verificarlo è semplice: si sta campionando a frequenza f c una sinusoide di frequenza f = f c /4. La convoluzione tra sinusoide campionata e sequenza di due campioni a distanza 2T produrrà sempre la somma di due campioni di sinusoide a distanza 2T. La figura mostra che tali campioni assumono sempre valori opposti (o entrambi nulli) ed il risultato della convoluzione è una sequenza di campioni nulli. t t Figura Sinusoidi di frequenza f e fase diversa, campionate con f c = 4f. La funzione di trasferimento del filtro in figura vale: H(f) = 1 exp( jω2t ) = exp( jωt ) [exp (jωt ) exp ( jωt )] = 2 cos (ωt ) exp ( jωt ) ed è simile alla funzione di trasferimento della sequenza di figura 4.2.8, tranne per il fatto che il coseno è di periodo metà (la figura rappresenta il modulo ed evidenzia lo zero a frequenza f c /4). 1/ 2T 1/ 2T f Figura Modulo della funzione di trasferimento del filtro di figura

81 4.2. SISTEMI DISCRETI LINEARI INVARIANTI 81 Il calcolo della funzione di trasferimento risulta immediato se si osserva che la risposta all impulso di figura si può vedere come costituita da un campione in T ed uno in T, più un ritardo di T : [exp (jωt ) exp ( jωt )] exp ( jωt ) = 2 cos (ωt ) exp ( jωt ) In modo analogo si può calcolare la funzione di trasferimento di coppie di campioni a distanze via via crescenti. Ad esempio, due campioni unitari a distanza 4T nella risposta all impulso corrispondono, nella funzione di trasferimento, ad un coseno di periodo 1/2T (vedi figura ). 1 1 T T T T t f Figura Due campioni a distanza 4T e loro contributo alla funzione di trasferimento. Quindi se abbiamo una risposta all impulso a simmetria pari, ogni coppia di campioni simmetrici contribuisce alla funzione di trasferimento con un termine coseno di pulsazione multipla della fondamentale. Siccome sommando opportunamente coseni in rapporto armonico tra loro si può sintetizzare una qualsiasi funzione periodica, è evidente come si possa sintetizzare un filtro a fase perfettamente lineare con modulo della funzione di trasferimento qualsiasi: per calcolare le ampiezze delle coppie di campioni è sufficiente sviluppare la funzione di trasferimento (periodica e pari) in somma di coseni. h(n) t 1/2T 1/2T f Figura Risposta all impulso pari e contributi cosinusoidali alla funzione di trasferimento delle coppie di campioni. Un filtro passa basso molto semplice, ma molto usato, è il filtro ottenuto aggiungendo ai due campioni a distanza 2T un campione centrale di valore doppio. Normalizzando i valori dei campioni in modo che il guadagno in continua sia unitario ( n h(n) = 1), si ottiene la funzione di trasferimento a coseno rialzato riportata in figura.

82 82 4. TRASFORMATA ZETA 1/2 1/4 1/4 0 1/T 1/T f Figura Risposta all impulso e modulo della funzione di trasferimento del filtro La linearità di fase implica la presenza di zeri in posizione simmetrica rispetto al cerchio unitario. Unica eccezione ammissibile è costituita da zeri autosimmetrici, cioé giacenti sul cerchio unitario. Poiché ogni zero implica un nuovo fattore binomiale ed ogni fattore binomiale implica l aumento di una unità nel grado del polinomio in z 1, i filtri con coppie di zeri avranno risposte all impulso con un numero dispari di campioni. Un filtro a fase lineare con una risposta all impulso lunga un numero pari di campioni dovrà avere necessariamente uno zero sul cerchio unitario. h(n) Im(z) t Re(z) Figura Risposta all impulso e costellazione di zeri di un filtro a fase lineare con un numero pari di campioni Radici complesse. Il teorema fondamentale dell algebra permette di scomporre un polinomio in prodotto di binomi, ciò che consente di sintetizzare la risposta all impulso di un filtro come convoluzione di risposte all impulso più corte: per sintetizzare un filtro di complessità elevata si possono mettere in cascata tanti filtri elementari. Tuttavia ha senso, nella scomposizione del polinomio, arrivare a filtri elementari con due campioni solo in corrispondenza di radici reali. Qualora le radici siano complesse, una tale procedura produrrebbe filtri con risposta all impulso con campioni complessi. In questo caso è sempre meglio considerare insieme le due radici complesse coniugate, arrivando a termini (trinomi) del tipo: (4.2.6) [ 1 r exp( jθ)z 1 ] [ 1 r exp(jθ)z 1] = 1 2r cos θ z 1 r 2 z 2 La sequenza elementare corrispondente non è più costituita da due, ma da tre campioni reali, come in figura Calcolare la funzione di trasferimento corrispondente è banale.

83 4.3. FILTRO INVERSO r cosθ r 2 Figura Risposta all impulso corrispondente ad una coppia di radici complesse e coniugate Filtro inverso Si supponga di aver filtrato una sequenza x(n) mediante un filtro con risposta all impulso h 1 (n). Un problema che a volte si pone è quello di determinare un filtro h 2 (n) inverso del primo, tale cioé che all uscita della cascata dei due filtri si riottenga la sequenza x(n) originaria (eventualmente a meno di un ritardo) x(n) h (n) 1 2 h (n) x(n) filtro filtro inverso La cascata di h 1 ed h 2 deve corrispondere al filtro identità, nel senso che la sua uscita deve essere uguale all ingresso. Perché ciò accada, la sua risposta all impulso deve essere costituita da un unico campione non nullo (eventualmente piazzato in un istante diverso da 0). Tradotto in termini di trasformate zeta (funzioni di trasferimento), quanto detto implica che deve essere verificata la relazione H 1 (z) H 2 (z) = z k. Risulta evidente, quindi, che il filtro inverso di un filtro IIR con un polo è un filtro FIR con uno zero, poiché: 1 1 az 1 ( 1 az 1 ) = 1 Il filtro inverso di un filtro IIR con soli poli è sempre realizzabile (sempre a meno di un eventuale ritardo) perché uno zero può essere messo dovunque nel piano zeta, senza problemi di stabilità. I problemi possono insorgere se si vuole il filtro inverso di un filtro FIR, perché i suoi zeri possono essere dentro o fuori del cerchio unitario. Il filtro inverso dovrebbe piazzare un polo in coincidenza di ogni zero, ma questo si scontra con la instabilità di un filtro IIR con poli fuori dal cerchio unitario. Consideriamo con maggiore attenzione il filtro inverso di un filtro ad un solo zero e chiamiamo h 2 (n) i coefficienti del filtro inverso della sequenza elementare h 1 (n) = [1 a]. Si deve imporre che la convoluzione di h 1 (n) e h 2 (n) fornisca un solo campione unitario in zero. Si ha h 2 (n) ah 2 (n 1) = δ(n), ovvero h 2 ( 1) ah 2 ( 2) = 0 h 2 (0) ah 2 ( 1) = 1 h 2 (1) ah 2 (0) = 0 h 2 (2) ah 2 (1) = 0

84 84 4. TRASFORMATA ZETA Il sistema ha un grado di libertà che si può usare imponendo h 2 (0) = 1. In questo caso: h 2 ( 1) = (1 h 2 (0))/a = 0 h 2 ( 2) = h 2 ( 1) /a = 0 h 2 ( 3) = h 2 ( 2) /a = 0 h 2 (1) = a h 2 (0) = a h 2 (2) = a h 2 (1) = a 2 Si ottiene cioé che tutti i campioni di indice negativo sono nulli e quelli positivi sono (4.3.1) a, a 2, a 3, a 4, In altre parole la risposta all impulso del filtro inverso è costituita dalla sequenza i cui valori sono gli elementi di una serie geometrica di radice a. Tale sequenza sicuramente converge e quindi fornisce la risposta all impulso di un filtro stabile. Quella ottenuta è una sequenza inversa, ma non è unica, in quanto per determinarla si è posto h 2 (0) = 1. Si ponga ora h 2 (0) = 0. In questo caso risultano nulli tutti i campioni con n positivi e non nulli quelli con indici negativi. Si ha h 2 (0) = 0; h 2 ( 1) = 1 a ; h 2 ( 2) = 1 a 2 ; h 2 ( 3) = 1 a 3 ; Cambiando il valore di h 2 (0) si sono ottenute due sequenze di lunghezza infinita, rispettivamente di ragione a e 1/a. La prima fornisce, come già visto, un filtro causale, stabile se a < 1. La seconda, invece, fornisce una sequenza anticausale (campioni non nulli per indici negativi) e il filtro corrispondente è stabile solo se a > 1. Le trasformate zeta delle due sequenze sono rispettivamente (4.3.2) n=0 ( a)n z n = 1 per la sequenza 1 a, a 2, a 3, a 4, 1a z 1 (4.3.3) ( n=1 ( 1 a )n z n = ) 1 1 1z/a per la sequenza 1 a 1 a 2 1 a 3 Si ottiene in entrambi i casi lo stesso polo nel piano complesso in grado di cancellare esattamente lo zero della sequenza h Approssimazione di un polo medianze zeri. L esatta cancellazione degli effetti di uno zero richiede un polo, cioé un filtro con una risposta all impulso di lunghezza infinita. É intuitivo, però, che troncando la risposta all impulso il risultato, pur non potendo essere esatto, sarà sempre meglio approssimato quanto più campioni della sequenza originale si considerano. Il troncamento ad N campioni della sequenza 4.3.2, però, modifica la funzione di trasferimento ottenibile: N 1 ( a) n z n = 1 ( a z 1 ) N 1 a z 1 n=0 Si ha, cioé, la situazione rappresentata in figura : N 1 poli nell origine ed N 1 zeri equispaziati sul cerchio di raggio a perché il denominatore cancella un polo nell origine e lo zero in z = a.

85 4.5. STRUTTURE IMPLEMENTATIVE 85 a N 1 Troncando la sequenza si ottiene ovviamente un filtro FIR, cioé con una costellazione costituita da un numero finito di zeri. Si osserva, pertanto, come sia possibile approssimare un polo con un numero elevato di zeri opportunamente disposti. Da qui la corrispondenza 1 polo zeri e, dualmente, 1 zero poli (anche se può essere sensato approssimare un polo con molti zeri, lo è meno approssimare uno zero con un elevato numero di poli). I poli interni al cerchio unitario portano a sistemi causali; un polo esterno al cerchio unitario può essere approssimato anche lui mediante un filtro FIR, ma pur sempre anticausale e che, per essere implementato, richiede l introduzione di un ritardo sufficientemente lungo (tale da renderlo causale) Strutture implementative Filtri FIR (a soli zeri). Un filtro FIR è un sistema LTI la cui uscita è legata all ingresso dalla convoluzione discreta con la risposta all impulso costituita da un numero finito di campioni: N u(n) = h(k) x(n k) k=0 La struttura di una macchina sequenziale a stati finiti che possa realizzare la convoluzione discreta è rappresentata, per N = 3, in figura Essa è costituita da un registro a scorri- x(n) x(n 1) x(n 2) x(n 3) T T T h(0) h(1) h(2) u(n) h(3) Figura Struttura canonica di un filtro a soli zeri (FIR). mento (serie di elementi di ritardo unitario) e da un sommatore cui confluiscono gli ultimi N campioni più quello corrente del segnale in ingresso, ognuno pesato per l opportuno campione della risposta all impulso. Questa struttura si può semplificare, nel caso di filtri a fase lineare, osservando che lo stesso valore si ripete in due campioni della risposta all impulso. Si può ridurre fortemente il numero di moltiplicazioni (dimezzare o quasi), sommando prima i campioni dell ingresso che andrebbero moltiplicati per lo stesso valore, secondo la struttura di figura Questi schemi a blocchi si riferiscono ad una implementazione diretta del filtro nella sua interezza, ma si è già osservato che la trasformata zeta di un filtro FIR può essere scomposta in prodotto di funzioni elementari. Una implementazione alternativa, perciò, può essere

86 86 4. TRASFORMATA ZETA x(n) T T T T h 0 h 1 h2 y(n) Figura Struttura realizzativa di un filtro FIR a fase lineare. quella di figura 4.5.3, cioé la cascata di filtri elementari. Poiché la decomposizione in prodotto di binomi permette di scrivere H(z) = i (1 z iz 1 ), la cella elementare della cascata deve implementare la f.d.t 1 z i z 1, esattamente come la cella A di figura Se si ha a che fare con radici complesse, come già osservato, la cella elementare dovrà implementare una f.d.t. come in (4.2.6), cioé 1 2r cos θ z 1 r 2 z 2 (cella B in figura 4.5.3). T z i A T T 2r cosθ r 2 B Figura Realizzazione di un filtro FIR come cascata di filtri FIR elementari. È il caso di osservare che una implementazione come quella di figura può essere totalmente equivalente ad una del tipo di figura solo in teoria. In pratica bisogna tener presente la precisione finita con cui vengono effettuate le operazioni (moltiplicazioni e somme) e la precisione finita con cui possono essere rappresentati i campioni della risposta all impulso. Siccome le proprietà del filtro dipendono strettamente dalla posizione degli zeri e questi possono variare anche di molto anche solo in seguito a piccoli cambiamenti dei coefficienti h(n) (variazioni tanto più marcate quanto maggiore è il grado del polinomio in z 1 o quanto più addensate sono le sue radici), una implementazione del tipo di figura permette un controllo molto più accurato della posizione degli zeri ed è, quindi, intrinsicamente in grado di fornire una più accurata approssimazione della f.d.t. del filtro Filtri IIR (a soli poli). Un discorso analogo può essere fatto per le strutture da utilizzare per implementare dei filtri IIR a soli poli, cioé con una f.d.t. con un polinomio in z 1 solo al denominatore. Si voglia realizzare una funzione di trasferimento del tipo 1/(1 az 1 ). Si è già osservato che l antitrasformata di una tale trasformata zeta è calcolabile mediante una divisione ripetuta. Una volta nota la h(n) si potrebbero utilizzare i metodi della sezione precedente.

87 4.5. STRUTTURE IMPLEMENTATIVE 87 Tale soluzione non è, ovviamente, praticabile, in quanto la risposta all impulso risulterebbe di lunghezza infinita. Considerando le trasformate zeta e l equazione alle differenze finite corrispondente, il legame ingresso-uscita di un tal sistema può esprimersi come Y (z) = X(z) N b k=0 k z y(n) = x(n) N bk y(n k) k la cui implementazione può effettuarsi come indicato in figura La complessità è simile a quella necessaria per implementare N zeri: N elementi di ritardo in cascata, N moltiplicatori ed un sommatore, ma inseriti in una struttura recursiva. k=1 x(n) y(n 3) ~ b3 ~ b2 ~ b 1 T T T y(n 1) y(n 2) y(n) Figura Schema a blocchi implementativo di un sistema a soli poli. Come nel caso degli zeri, anche nel caso di poli è possibile scomporre il sistema in sistemi elementari, con un solo polo od al massimo due se sono complessi coniugati. Mentre per un sistema a soli zeri non c é alternativa ad una scomposizione in termini di prodotto di binomi e quindi alla connessione in cascata di filtri con risposte all impulso con due (o tre) campioni, nel caso di filtri con poli si può usare sia una scomposizione in cascata (serie) sia una scomposizione in parallelo: 1 N b k=0 k z = N k k=1 1 1 p k z = N 1 k=1 A k 1 p k z 1 La figura esemplifica i due tipi di interconnessione di sistemi elementari. x(n) 1 1 1/(1 p z ) 1/(1 p z ) 1/(1 p z ) y(n) x(n) A /(1 p z ) 1 A /(1 p z ) y(n) A /(1 p z ) Figura Scomposizione in cascata ed in parallelo.

88 88 4. TRASFORMATA ZETA Il singolo polo si può implementare con una complessità circuitale esattamente uguale a quella di uno zero. Infatti, se x(n) è la sequenza in ingresso ed y(n) la sequenza in uscita dal filtro con il polo singolo, deve essere: (4.5.1) Y (z) = X(z)/(1 az 1 ) Y (z) = X(z) a z 1 Y (z) La (4.5.1) è implementabile con una macchina sequenziale la cui struttura è rappresentata in figura 4.5.6A: x(n) y(n) x(n) y(n) Y(z) = 1 X(z) 1 az 1 a T A B T a Y(z) = 1 az 1 X(z) Figura Implementazione di un polo singolo (A). Per confronto si ripropone la struttura di calcolo necessaria per implementare uno zero singolo B). Y (z) a z 1 Y (z) = X(z) Y (z) = X(z) a z 1 Y (z) l uscita è ottenibile come somma dell ingresso X(z) e dell uscita, ritardata di un campione e moltiplicata per a. Serve solo un elemento di memoria che deve memorizzare l ultimo campione dell uscita, un moltiplicatore ed un sommatore, esattamente come per realizzare uno zero (figura 4.5.6B). La differenza, sostanziale, sta nella struttura che collega gli stessi elementi. Nel caso dello zero è necessario sommare, pesato, il segnale in ingresso dopo averlo ritardato: il sistema non ha anelli retroazionati ed è intrinsecamente stabile (struttura feed forward). Il sistema che implementa il polo, invece, è retroazionato (struttura feed back) e può porre problemi di stabilità: il guadagno d anello deve essere minore di 1 e si riottiene la condizione a < 1. La figura 4.5.6A si riferisce ad un singolo polo reale. Come per gli seri, anche per i poli se si è in presenza di un polo complesso è bene considerare la coppia complessa coniugata 1 1 (4.5.2) 1 r exp(jθ) z 1 1 r exp( jθ) z = r cos θ z 1 r 2 z 2 La cella elementare necessaria ad implementare una coppia di poli complessi e coniugati (per la stabilità deve essere r < 1) è rappresentata in figura x(n) y(n) r 2 θ θ r 2r cosθ r2 T T Figura IIR con 2 poli complessi coniugati: costellazione poli-zeri e struttura implementativa.

89 4.5. STRUTTURE IMPLEMENTATIVE Filtri IIR (con poli e zeri). Il generico sistema lineare tempo-invariante può essere caratterizzato (vedi sezione 4.2.1) da una funzione di trasferimento con poli e zeri. La presenza anche di un solo polo rende infinita la lunghezza della risposta all impulso. La struttura implementativa può essere, ovviamente, la cascata di un filtro FIR che implementa gli zeri e di un filtro IIR che implementa i poli. Trattandosi di sistemi LTI, l ordine con cui si susseguono nella cascata non cambia il risultato. Con riferimento al caso di due poli e due zeri la struttura implementativa può essere quella di figura T T T T sezione FIR (zeri) sezione IIR (poli) Figura Struttura implementativa di un filtro con poli e zeri. La struttura di figura è concettualmente equivalente, ma T T T T sezione IIR (poli) sezione FIR (zeri) a T T Figura Struttura alternativa per implementare un generico filtro IIR a) e struttura canonica b). b y(n) = M a i x(i) i=0 N b j y(j) La funzione di trasferimento del sistema è Y (z) X(z) = a ( 0 1 zi z 1) 1 (1 pj z 1 ) j=1

90 90 4. TRASFORMATA ZETA La prima parte serve per implementare gli zeri, la seconda i poli. Quale si applica per prima non influenza il risultato, essendo il sistema lineare. Se si antepone la parte IIR gli elementi di memoria della parte IIR usano lo stesso segnale di quelli FIR. La struttura si può allora semplificare, ottenendo la struttura canonica. A maggior ragione che nel caso di sistemi FIR, anche per sistemi IIR va tenuto presente che le equivalenze tra implementazione canonica diretta ed implementazione come composizione di sistemi elementari sono rigorosamente vere solo da un punto di vista matematico, ma in realtà bisogna tener conto della precisione limitata di calcolo e di rappresentazione dei coefficienti numerici.

91 CAPITOLO 5 Progetto di filtri FIR 5.1. Specifiche di un filtro Prima di pensare al progetto di un filtro è necessario definire come se ne possano specificare le caratteristiche. Si consideri, ad esempio, un filtro che lasci passare immutate solo le componenti spettrali fino a B. Naturalmente è impensabile realizzare un filtro passa-basso ideale, che lasci passare immutate tutte le componenti spettrali fino a B ed azzeri completamente il resto, perché questo filtro avrebbe una risposta all impulso del tipo sin(t)/t, che si estende fino all infinito. Ci si accontenta, perciò, di attenuare sufficientemente i termini spettrali oltre B, ad esempio fino ad un livello al disotto del quale il segnale si confonde con il rumore sempre presente. La funzione di trasferimento del filtro viene specificata mediante una maschera del tipo mostrato in figura che identifica, per ogni frequenza, l intervallo di valori al cui interno deve essere compreso il modulo della funzione di trasferimento che si vuole ottenere. Se la fase del filtro deve avere un andamento prefissato, anche per la fase si potrà specificare una simile maschera, visto che la fase richiesta (come il modulo) al filtro non potrà che essere approssimata. H banda banda banda passante di arrestata transizione f Figura Maschera tipo per il modulo della funzione di trasferimento di un filtro passa-basso. L intervallo di frequenza identificato come banda di transizione (al cui interno il valore del modulo può essere qualunque) consente un raccordo graduale tra la banda passante e la banda attenuata (è impensabile un raccordo brusco). La banda di transizione deve essere posta a cavallo della frequenza di taglio desiderata, che nell esempio considerato è pari a B. 91

92 92 5. PROGETTO DI FILTRI FIR Una volta quantificata l approssimazione con la quale si dovrà realizzare la funzione di trasferimento richiesta, il problema è quello di determinare la procedura che consenta il progetto di un filtro in grado di soddisfare i requisiti imposti Metodo delle Finestre Il metodo delle finestre consiste nello scegliere come funzione di trasferimento del filtro una funzione prototipo. Si supponga di scegliere come funzione prototipo un rettangolo (filtro passa basso ideale). La corrispondente risposta all impulso è del tipo sin(2πbt)/(2πbt). H(f) NT f t Figura Funzione obiettivo di tipo passa-basso ideale e sua trasformata campionata e finestrata. Naturalmente, quello che interessa non è una risposta all impulso continua, ma una risposta all impulso campionata a passo T = 1/f c. Il problema è che non si possono considerare infiniti campioni e la si deve troncare, cioé finestrare, mediante prodotto con una finestra rettangolare. Si supponga che tale finestra sia lunga N T (si prendono N campioni). L operazione di finestratura nel tempo della risposta all impulso corrisponde ad una convoluzione tra funzione di trasferimento obiettivo e trasformata della finestra. A causa del campionamento della risposta all impulso si ha una periodicizzazione della funzione di trasferimento. A causa della finestratura nel tempo si ha una convoluzione che produce delle oscillazioni, per cui la funzione di trasferimento risultante non è più costituita dalla ripetizione periodica del rettangolo, ma si ha la situazione schematizzata in figura H f f c f c Figura Effetto della finestratura sulla funzione di trasferimento del filtro. Le oscillazioni che si producono a seguito del troncamento sono quelle che nella teoria di Fourier prendono il nome di oscillazioni di Gibbs.

93 5.2. METODO DELLE FINESTRE 93 Il problema era quello di progettare un filtro, essendone assegnata la maschera. Questo significa trovare il filtro FIR, eventualmente a fase lineare, di complessità minima che soddisfi la maschera. Trovare il filtro di complessità minima significa trovare il filtro, che rispetta la maschera, con risposta all impulso più corta possibile. Ritornando al metodo delle finestre, il problema è ora quello di stabilire quanti campioni del sin(2πbnt )/(2πBnT ) si devono considerare per avere un filtro che soddisfi la maschera. All aumentare del numero di campioni N aumenta la durata N T della finestra rettangolare e, quindi, cambia la distanza tra gli zeri del sin(πf N T )/(πf N T ), trasformata della finestra. Si può immediatamente effettuare una considerazione sull ampiezza della banda di trasizione. Si è già detto che la finestratura nel tempo corrisponde, nelle frequenze, ad una convoluzione tra la funzione di trasferimento del filtro, rettangolare e periodicizzata, e la trasformata della finestra. * 1/NT 1/NT Figura Funzione di trasferimento obiettivo e trasformata della finestra. La banda di transizione ha approssimativamente inizio quando, nell effettuare la convoluzione, lo spigolo del rettangolo coincide con il primo zero del sin(πfnt )/(πfnt ), che si trova a f = 1/NT se NT è la durata della finestra rettangolare. La banda di transizione avrà poi termine (sempre approssimativamente, perché a rigore la banda di transizione inizia alla frequenza dalla quale si rispetta la richiesta attenuazione minima) quando lo stesso spigolo coincide con l altro zero in f = 1/NT (vedi figura 5.2.4). inizio banda di transizione fine banda di transizione Figura Origine della banda di transizione nel metodo delle finestre. È chiaro che una volta identificata l ampiezza della banda di transizione, imponendo che soddisfi le specifiche della maschera, si è già approssimativamente stabilito il numero di campioni da considerare. Questo però non è sufficiente, dato che non sempre le altre specifiche sono soddisfatte una volta soddisfatte quelle relative alla banda di transizione. Infatti, come segnato in figura, le oscillazioni in banda passante aumentano quanto più ci si

94 94 5. PROGETTO DI FILTRI FIR Figura Effetto di una finestratura troppo corta. avvicina alla banda di transizione e può succedere che oltrepassino i limiti della maschera. All aumentare del numero di campioni, cioé della durata della finestra rettangolare, il sin(f)/f diventa più stretto (decade più rapidamente). Ne consegue che le oscillazioni nella banda passante risultano più piccole, pur aumentando di numero, essendo dovute alle code della trasformata della finestra che ora si smorzano più velocemente. In prossimità della banda di transizione le oscillazioni più ampie si spostano all interno della stessa. Si verifica la situazione esemplificata in figura Figura Esemplificazione dell effetto di una finestra più lunga. Riassumendo, per il progetto occorre considerare una funzione di trasferimento prototipo, nel nostro esempio rettangolare, e decidere il numero di campioni da considerare nella corrispondente risposta all impulso. In realtà non è obbligatorio troncare bruscamente la risposta all impulso con una finestra rettangolare: si può, per esempio, usare una finestra triangolare (finestra di BAR- TLETT). In questo caso nelle frequenze si dovrà fare la convoluzione tra la funzione di trasferimento rettangolare, periodicizzata a causa del campionamento, ed una funzione del tipo sin 2 (f)/f 2 che, quindi, decade come 1/f 2. È chiaro che in questo caso risultano attenuati i problemi visti prima dovuti alle oscillazioni. È chiaro che, usando una finestra triangolare, i valori dei campioni saranno modificati in misura tanto maggiore quanto più sono vicini ai bordi della finestra. Il valore di ogni campione sarà dato dal prodotto tra il valore effettivo del sin(t)/t nell istante considerato ed il valore della finestra triangolare nello stesso istante. Se la durata del triangolo è NT, la sua trasformata sarà sin 2 (πfnt/2)/(πfnt/2) 2. Sebbene la funzione decada a zero più velocemente di quanto facesse la trasformata del rettangolo,

95 5.2. METODO DELLE FINESTRE 95 h(n) t Figura Finestratura con finestra triangolare. l ampiezza del lobo principale, cioé la distanza tra i primi due zeri, risulta ora raddoppiata, dato che gli zeri si trovano in ±2/NT, mentre prima erano in ±1/NT. Di conseguenza è raddoppiata la larghezza della banda di transizione. D altra parte questa situazione è ovvia: per come è fatta la finestra, i campioni più lontani dal centro assumono un peso inferiore. Sostanzialmente è come se si usasse un numero inferiore di campioni della risposta all impulso. In definitiva, il parametro da cui dipende l ampiezza della banda di transizione è la larghezza del lobo principale. Per quanto riguarda l ampiezza delle oscillazioni, quello che importa è la velocità con cui decadono a zero le code della trasformata della finestra. Tale velocità si può quantificare con la misura α di quanto il modulo del primo lobo secondario sia più piccolo rispetto al valore massimo del lobo centrale. α Figura Misura dei lobi laterali della trasformata di una finestra. Nel caso di finestra rettangolare si ha α = 13 db. Nel caso di finestra triangolare si ha α = 26 db. Su questa strada si può procedere oltre. La strada da seguire è quella di usare come finestre funzioni del tempo che siano continue al più alto grado. Il rettangolo, infatti, ha discontinuità di valore; il triangolo ha discontinuità di derivata prima. Se si considera una funzione che abbia discontinuità di derivata seconda, la code della trasformata andranno a zero come 1/f 3, ecc.. Il problema può essere visto anche da un altro punto di vista: quello che sostanzialmente disturba è la presenza di code. Quello di cui si ha bisogno è una finestra la cui trasformata decada a zero il più velocemente possibile. Si può pensare di considerare più sin(f)/f combinati in maniera tale che le ampiezze delle code di uno siano ridotte grazie alle code degli altri.

96 96 5. PROGETTO DI FILTRI FIR Figura Composizione di due seni cardinali. Considerando la combinazione in figura 5.2.9si ottiene una forte attenuazione delle code: in frequenza si utilizza la somma di due sin(f)/f opportunamente traslati. In formula: W (f) = 1 [ sin(πnt (f 1 2 )) 2NT πnt (f 1 ) sin(πnt (f 1 )) ] 2NT πnt (f 1 ) 2NT 2NT Si noti che si è preferito scegliere la traslazione di ±1/2NT, piazzando cioé l origine al centro, per ottenere una funzione reale e pari. Questa scelta è comoda, salvo poi dover effettuare successivamente altre traslazioni nel tempo per rendere il filtro causale. Scritta la somma come convoluzione nelle frequenze W (f) = 1 sin(πnt f) 2 πnt f [ δ(f 1 2NT ) δ(f 1 2NT ) è banale calcolare cosa succeda nei tempi: si avrà il prodotto tra il rettangolo di durata NT e una funzione coseno. Si ha cioé w (t) = rect( t NT ) cos(π t NT ) La finestra che si ottiene è rappresentata in figura : è un coseno finestrato. ] ΝΤ/2 ΝΤ/2 Figura Finestra cosinusoidale. Non si è guadagnato molto rispetto alla finestra triangolare perché si ha sempre una discontinuità di derivata prima (code che decadono come 1/f 2 ). La differenza sta nel fatto che, mentre nel caso triangolare α = 26 db, in questo caso α = 22 db e la larghezza del lobo principale è 1,5 volte quella della trasformata del rettangolo. Si possono, però, combinare tre sin(f)/f come in figura

97 5.2. METODO DELLE FINESTRE 97 Si ha e, quindi: Figura Composizione di 3 seni cardinali come trasformata della finestra a coseno rialzato. W (f) = sin (πfnt ) πfnt 1 2 (5.2.1) w (t) = rect { δ(f) 1 [ ( δ f 1 ) ( δ f 1 )]} 2 NT NT ( t NT ) [ cos ( )] 2πt NT Si ottiene un coseno rialzato e finestrato, come mostrato in figura ΝΤ/2 ΝΤ/2 finestra di Hanning Figura Finestra di Hanning. In questo caso si ha discontinuità è sulla derivata seconda e le code decadono come 1/f 3. La larghezza del lobo principale della trasformata è doppia rispetto a quella che si ottiene con la finestra rettangolare. In questo caso α = 32 db. Ci sono casi in cui si preferisce cancellare completamente il primo lobo, a patto di modificare i pesi del termine costante e del coseno nella (5.2.1). Se, infatti, si pone w (t) = cos(2πt/nt ), si forza a zero il valore in 2, 5/NT e si ottiene la finestra di Hamming (α = 43 db). In definitiva, il progetto di filtri FIR mediante finestre si basa sul fatto che sia possibile guadagnare sui lobi laterali e, quindi, sull oscillazione in banda e sull attenuazione minima

98 98 5. PROGETTO DI FILTRI FIR NT/2 finestra di Hamming NT/2 Figura Finestra di Hamming. garantita fuori banda, cambiando la forma della finestra. Se si considerano finestre le cui trasformate hanno code che decadono più velocemente, necessariamente il loro lobo principale è più largo: a minore oscillazione in banda e maggior attenuazione fuori banda corrisponde una banda di transizione più larga Metodo del campionamento in frequenza Anche in questo caso si considera una funzione di trasferimento prototipo da implementare, per esempio il solito filtro passa basso ideale. Si fissa il valore che la funzione di trasferimento del filtro, una volta realizzato, deve avere a frequenze preassegnate (si considerano solo frequenze positive ma si potrebbero considerare anche quelle negative). H f Figura Campionamento della funzione di trasferimento. È chiaro che affinché la funzione di trasferimento possa assumere i valori prefissati è necessario che la risposta all impulso contenga gli opportuni termini. Se, per esempio, in f = f i la funzione di trasferimento deve assumere valore 1, nella risposta all impulso ci deve essere un esponenziale complesso con frequenza f i ed ampiezza unitaria, cioè exp (j2πf i t). Sommando tutti gli esponenziali corrispondenti a tutti i campioni della funzione di trasferimento si arriva ad una risposta all impulso periodica (si è campionato in frequenza). A tale risposta all impulso, però, corrisponde una funzione di trasferimento del tipo indicato in figura È necessario, quindi, interpolare per rendere la funzione di trasferimento una funzione di variabile continua ed il più simile possibile ad un rettangolo. La funzione interpolante

99 5.4. METODO DI PARKS MCCLELLAN 99 H f Figura Funzione di trasferimento corrispondente ad una risposta all impulso periodica. che si usa è il solito sin(f)/f a zeri equidistanti, avendo fatto in frequenza un campionamento regolare. Dovendo effettuare una convoluzione nelle frequenze (per l interpolazione) è necessario finestrare nei tempi con una finestra rettangolare che isoli un solo periodo. Se nell intervallo non ambiguo della trasformata ( f c /2,f c /2) si sono considerati N campioni, la durata della finestra nel tempo deve essere NT. Un accorgimento con effetti benefici consiste nel non fissare arbitrariamente i valori dei campioni inclusi nella banda di transizione (come si è implicitamente fatto in figura 5.3.2), lasciando che i loro valori più opportuni vengano fissati da una procedura di ottimizzazione che li determina in modo da ridurre il più possibile il ripple in banda e/o aumentare al massimo l attenuazione minima in banda attenuata, secondo i criteri evidenziati nella maschera di progetto. Una osservazione che val la pena di fare è che, nel rappresentare il modulo della funzione di trasferimento di un filtro, può essere utile utilizzare una scala logaritmica per le ordinate (modulo espresso in db) allo scopo di apprezzare meglio le oscillazioni in banda attenuata Metodo di Parks McClellan Il progetto di un filtro costituisce un problema di ottimizzazione: dato un numero preassegnato di campioni della risposta all impulso (h n ), si tratta di trovare una procedura per determinarne i valori ottimali affinché la corrispondente funzione di trasferimento del filtro: (5.4.1) H(ω) = N 1 n=0 h n exp ( jωnt ) sia la migliore possibile. Per poter quantificare il meglio si considera la funzione errore, differenza tra funzione di trasferimento ottenuta H(ω) e funzione di trasferimento desiderata D(ω) (poiché le funzioni considerate sono complesse, nel considerare l errore ci si può limitare - e spesso lo si fa - a considerarne solo il modulo): e(ω) = H(ω) D(ω)

100 PROGETTO DI FILTRI FIR Questo errore è, però, funzione della frequenza, mentre per mettere in piedi una procedura di ottimizzazione è necessario che la bontà della soluzione sia quantificata mediante un solo parametro (o al più, pochissimi). Un parametro molto usato (perché semplifica i calcoli) è il valore quadratico medio dell errore. Si passa, cioé, ad una misura integrata E = e 2 (ω) dω B Al cambiare degli h n il valore di E cambia. La configurazione degli h n che minimizza E è la soluzione del problema. Si possno, però, individuare altri parametri numerici derivati dalla funzione errore, tenendo presente che la scelta influenza moltissimo la fattibilità del processo di ottimizzazione. Un altro parametro molto utilizzato per quantificare l entità dell errore è lo scostamento massimo: max H(ω) D(ω) ω La procedura di ottimizzazione dovrebbe riuscire a renderlo minimo: per tale motivo questo tipo di ottimizzazione viene indicata con il termin minmax. Le metodologie enunciate sono generali ed applicabili a qualsiasi tipo di filtro. Nel caso di filtri FIR a fase lineare la soluzione è più semplice perché in tali filtri i coefficienti h n hanno simmetria pari (h n = h N n 1 ) e nella (5.4.1) si avranno termini del tipo: = h n exp ( jωnt ) h N n 1 exp ( jω[n n 1]T ) = h n {exp ( jωnt ) exp ( jω[n 1]T ) exp ( jωnt )} = = 2h n exp ( jω N 1 2 T ) cos [ ω ( N 1 2 n ) T ] Nel caso di filtri FIR a fase lineare, la funzione di trasferimento è, a meno del termine di fase, un polinomio trigonometrico: (5.4.2) H(ω) = (N 1)/2 n=0 b(n) cos (ωnt ) Il problema diventa, allora, quello di determinare i coefficienti b(n) dell espansione in coseni. La logica è del tutto analoga a quanto già esposto, con un completamento che rende il procedimento più utile, anche nel caso generale. Nel definire la misura dell errore confluiscono (in vario modo, a seconda della definizione utilizzata) i valori degli errori a tutte le frequenze. Però è ovvio, soprattutto in funzione della maschera di errore richiesta, che l entità dell errore può avere peso diverso a seconda che ci si trovi in banda passante, in banda attenuata o in banda di transizione (in quest ultimo caso il peso dell errore è nullo). Per questo motivo si modifica la definizione della funzione errore introducendo una funzione di pesatura dell errore W (ω): E(ω) = W (ω)[d(ω) H(ω)] Il metodo di Parks-McClellan si propone di trovare il filtro che minimizzi il massimo modulo dell errore pesato. Il problema è risolvibile grazie al teorema di Chebychev secondo

101 5.4. METODO DI PARKS MCCLELLAN 101 il quale un approssimazione polinomiale trigonometrica è ottima (nel senso minmax) se, nella banda di interesse, la funzione di errore pesata ha r 1 frequenze estremali (avendo posto r = (N 1)/2 il numero dei b (n)). Devono, cioé, esistere r 1 frequenze in corrispondenza delle quali la funzione errore pesato passa per massimi e minimi locali con scostamenti dal valore desiderato di modulo costante ma di segno alternato: se δ è lo scostamento massimo, le r 1 frequenze estremali sono tali che E(ω k ) = ( 1) k δ, k = 1, 2,, r 1 δ δ D( ω) H( ω) Figura Andamento dell approssimazione equiripple. f Si noti che le frequenze estremali sono semplicemente r1 frequenze distinte all interno dell intervallo entro cui è definita la funzione errore senza vincolo di equidistaza come nel caso del campionamento in frequenza. Se, dunque, esiste un insieme di frequenze estremali per la funzione errore, il polinomio (5.4.2) rappresenta la migliore approssimazione minmax della funzione desiderata D(ω) con un polinomio trigonometrico costruito con il numero di coseni scelto. Questa procedura di ottimizzazione di un filtro porta ad un risultato diverso da quello ottenibile con la minimizzazione dell errore quadratico medio: in quel caso, infatti, si considera una misura integrata dell errore quadratico senza possibilità (se non molto parzialmente mediante la funzione peso) di controllare la localizzazione (in frequenza) degli errori più grandi (il valore dell errore varia con la frequenza). In questo caso si minimizza il valore massimo dello scostamento pesato tra funzione desiderata e funzione di trasferimento ottenibile, garantendo che questo valore non verrà superato (sempre tenendo in conto la pesatura) in nessuna frequenza all interno degli intervalli significativi (banda passante e banda arrestata, nel caso di filtro passa o arresta banda): si ottiene quella che si chiama approssimazione equiripple. Per affrontare la risoluzione del problema è bene passare ad una schematizzazione algebrica: si tratta di risolvere un sistema di r 1 equazioni che impongano che l errore, nelle

102 PROGETTO DI FILTRI FIR progetto a minimo errore quadratico medio progetto equiripple Figura Diverso andamento delle oscillazioni in banda con un progetto a minimo errore quadratico ed equiripple. cercate frequenze estremali, assuma valori pari a ±δ: (5.4.3) W (ω k ) [D(ω k ) H(ω k )] = ( 1) k δ, 0 k r Le incognite sono i coefficienti b(n) della (5.4.2), che sono r, più δ. Le (5.4.3) si possono riscrivere come: D(ω k ) = H(ω k ) ( 1) k δ W (ω k ) In forma matriciale 1 1 cos(ω o t) cos(2ω o t) W (ω o) (5.4.4) 1 1 cos(ω 1 t) cos(2ω 1 t) W (ω 1 ) 1 cos(ω r 1 t) cos(2ω r 1 t) 1 cos(ω r t) cos(2ω r t) ( 1) r 1 W (ω r 1 ) ( 1) r W (ω r) b 0 b 1. b r 1 δ = D(ω 0 ) D(ω 1 ). D(ω r 1 ) D(ω r ) Il sistema è più o meno facilmente risolvibile in funzione delle sue dimensioni, ma per poter individuare il filtro mediante le (5.4.4) è necessario conoscere le frequenze estremali che, invece, costituiscono anche loro delle incognite. Si può usare una procedura iterativa basata sull algoritmo di scambio di Remez. Si consideri un esempio: si voglia progettare un filtro passa-basso "equiripple" (δ costante) con 13 coefficienti, con estremo della banda passante a frequenza normalizzata (f/f c ).2 ed inizio della banda attenuata a.3. I coefficienti da determinare sono 7: i b(n) (da 0 a (N 1)/2). Questo significa che si devono individuare 8 frequenze estremali. Si distribuiscano a caso le 8 frequenze, prendendone, ad esempio, 4 in banda passante e 4 in banda attenuata. Si determini, quindi, risolvendo la (5.4.4) limitatamente all incognita d interesse, il valore del δ compatibile con quell insieme di frequenze. Si calcoli, quindi, il polinomio che passa per i punti così fissati (alle frequenze in banda passante il polinomio deve assumere alternativamente i valori 1 δ e 1 δ, in quelle in banda attenuata deve assumere i valori ±δ, vedi figura 5.4.3a). Tale polinomio non rappresenta, ovviamente,

103 5.4. METODO DI PARKS MCCLELLAN Polinomio passante per set di frequenze a Nuovo set di frequenze b Figura Metodo di Parks.McClellan: prima (a) e seconda (b) iterazione. la soluzione cercata perché, pur passando per i punti indicati, non assume in tali punti dei massimi/minimi locali (le frequenze scelte arbitrariamente non sono delle frequenze estremali). L iterazione successiva parte con la ricerca dei massimi e dei minimi locali del polinomio così trovato (vedi figura 5.4.3b), che possano costituire delle nuove ipotesi di frequenze estremali (il massimo/minimo locale successivo al minimo/massimo precedente deve corrispondere ad un cambiamento di segno dell errore). Con le frequenze trovate si costruisce una nuova ipotesi di frequenze estremali, con cui si determina una nuova matrice dei coefficienti del sistema (5.4.4), che può essere risolto nuovamente (vedi figura 5.4.4a) e così via fino a convergenza ottenuta, quando le frequenze estremali non cambiano più (vedi figura 5.4.4b). Si noti che il valore di δ va man mano aumentando, iterazione dopo iterazione. Modulo della funzione di trasferimento ottenuta db Polinomio passante per set di frequenze a frequenza normalizzata Figura Metodo di Parks.McClellan: terza iterazione (a) e risultato finale (b). Si osservi alla fine le frequenze estremali sono diventate 3 in banda passante e 5 in banda attenuata. b La risoluzione del sistema implicherebbe il calcolo di δ e dei b(n) i quali ultimi, però, servono solo per calcolare il polinomio trigonometrico di grado r che passa per i punti (valore dell errore / ipotetica frequenza estremale). Una volta ottenuto il δ, però, l andamento del polinomio si può ottenere approssimativamente mediante un interpolazione. La

104 PROGETTO DI FILTRI FIR funzione interpolante non può essere un sin(x)/x perché le frequenze estremali non saranno equidistanti: si possono usare i polinomi di Lagrange. Su tale interpolazione si cerca, ovviamente con maggiore attenzione, il nuovo set di ipotetiche frequenze estremali. A convergenza ottenuta (l algoritmo è effettivamente molto efficiente) si ottiene un set di coefficienti b(n) che individuano una funzione di trasferimento i cui scostamenti pesati dall andamento desiderato assumono al massimo i valori ±δ. Nel caso esemplificativo di un filtro passa-basso, se la funzione di pesatura W (ω) è costante e unitaria, sia in banda passante che in banda soppressa, il valore di δ è uguale nelle due bande. Se, invece, la funzione di pesatura assume valori diversi in banda passante ed in banda arrestata gli scostamenti massimi della funzione di trasferimento ottimale avranno valori diversi (1 δ 1 o 1 δ 1 in banda passante e δ 2 o δ 2 in banda arrestata con δ 1 /δ 2 = W (banda arrestata)/w (banda passante)). Si noti che la procedura descritta vale per filtri FIR a fase lineare che siano a simmetria pari (funzione di trasferimento pari) e che abbiano un numero dispari di coefficienti. Se il numero dei coefficienti non è dispari o se il filtro desiderato ha risposta all impulso dispari, la procedura può ancora applicarsi, ma con necessari adattamenti. Per fissare le idee, si consideri il progetto di un filtro passa basso. Le specifiche impongono dei valori per la massima ondulazione in banda passante e per la minima attenuazione in banda arrestata, si hanno cioé i valori δ 1 in banda e δ 2 fuori banda. Se δ 1 = δ 2, si può usare una funzione di pesatura W (ω) uniforme (unitaria o non unitaria). L approssimazione che si ottiene è equiripple, cioé l escursione massima rispetto alla funzione desiderata D(ω) è garantita essere costante, dopo la pesatura, in tutto l intervallo di frequenze considerato. Se la pesatura è costante, le escursioni in banda passante saranno della stessa entità di quelle in banda attenuata. Se δ 1 δ 2 la funzione di pesatura deve essere tale da dare maggior importanza all errore nell intervallo di frequenze che richiede un δ più piccolo. In questo modo restano fissate D(ω) e W (ω) (quest ultima mediante le specifiche dell attenuazione in banda e fuori banda). A questo punto si tratta di trovare il filtro di complessità minima che rispetti la finestra: si può pensare di procedere empiricamente, per tentativi successivi (anche se esistono formule che possono orientare nel determinare la richiesta complessità del filtro). Si supponga di partire con un filtro con 13 campioni. A conti fatti si ottiene un approssimazione equiripple con ondulazioni in banda passante e banda attenuata nel rapporto corretto, ma non è detto che le ondulazioni facciano restare la funzione di trasferimento all interno della maschera. In caso negativo si può ritentare il progetto con 15 campioni nella risposta all impulso e così via, finché non si ottenga il filtro che rispetta la maschera.

105 CAPITOLO 6 Filtri IIR 6.1. Introduzione Un filtro IIR ha funzione di trasferimento costituita dal rapporto tra due polinomi del tipo: (6.1.1) H(z 1 ) = a o (1 zi z 1 ) (1 pi z 1 ) La differenza sostanziale rispetto ai filtri FIR è la presenza di poli. Per i filtri FIR non aveva senso cercare una analogia con i filtri analogici. Una rete RLC costituita solo da elementi resistivi ha una risposta istantanea, con funzione di trasferimento costante in banda, senza possibilità di trattare differentemente componenti spettrali a frequenze diverse. Per poter sagomare la risposta in frequenza è necessario utilizzare elementi reattivi. Ogni elemento reattivo introduce un polo nella funzione di trasferimento e forse anche uno zero: infatti, la funzione di trasferimento (trasformata di Laplace della risposta all impulso) di un filtro RLC è un rapporto di polinomi, nella variabile s, con grado del numeratore minore o al più uguale a quello del denominatore. Dato che i filtri IIR presentano poli nella funzione di trasferimento, è possibile sfruttare le conoscenze relative al progetto dei filtri analogici. Esistono molti testi in letteratura che trattano procedure che consentono di dimensionare filtri RLC in modo da sintetizzare la funzione di trasferimento voluta. Per una assegnata maschera, esistono procedure di ottimizzazione che forniscono sia la funzione di trasferimento che la soddisfa, sia i valori di resistenza, induttanza e capacità, normalizzati all impedenza di ingresso o di uscita, della rete che tale funzione di trasferimento implementa. Ad esempio, i filtri alla Butterworth (con massima piattezza in banda), hanno funzione di trasferimento del tipo: H(ω) 2 1 = 1 (ω/ω o ) 2n Il modulo della funzione di trasferimento di tali filtri parte con derivate nulle nell origine fino all ordine n e poi decadono con un numero di db per decade che dipende dalla complessità del filtro (filtri passa basso). In alternativa è possibile avere filtri equiripple (alla Chebychev). In letteratura sono disponibili, quindi, informazioni che consentono di progettare un filtro analogico con funzione di trasferimento che soddisfa le specifiche di progetto. 105

106 FILTRI IIR È possibile riciclare queste conoscenze per progettare filtri tempo discreti? 6.2. Metodo dell invarianza della risposta all impulso Si supponga di avere disponibile il progetto di un filtro tempo continuo e di conoscerne la funzione di trasferimento H(s). La sua risposta all impulso, di durata infinita, può essere campionata per ottenere la risposta all impulso di un filtro tempo discreto IIR. Progettare un filtro IIR, però, richiede il determinarne la sua funzione di traferimento, intesa come trasformata zeta della sua risposta all impulso. Non è, infatti, pensabile di implementare un filtro IIR convolvendo il segnale in ingresso con la sua risposta all impulso. Poiché la funzione di trasferimento del filtro tempo continuo è una trasformata di Laplace ed è un rapporto di polinomi in s, per calcolare la risposta all impulso bisogna invertire tale trasformata. Nel far questo è noto che conviene scomporre la trasformata in somma di frazioni semplici con al denominatore un binomio in s (radici reali) o un tronomio (coppia di radici complesse coniugate. Per la linearità è possibile considerare questi due casi per poter risolvere il problema nel caso più generale. Iniziamo da una radice reale (6.2.1) H(s) = 1 h(t) = u(t) exp (at) s a La risposta all impulso campionata è h d (n) = exp (ant ) = [exp (at )] n, n = 0, 1, cui corrisponde una trasformata zeta [exp (at )] n z n = 1 1 [exp (at )] z 1 Per una coppia di poli complessi e coniugati la risposta all impulso corrispondente può essere una funzione sinusoidale con smorzamento esponenziale. Come primo esempio (6.2.2) 0.5 H(s) = s (α jω) 0.5 s (α jω) = s α (s α) 2 h(t) = u(t) exp (αt) cos (ωt) ω2 che, per campionamento, dà origine alla sequenza h d (n) = exp (αnt ) exp (jωnt ) exp (αnt ) exp ( jωnt ) cui corrisponde la trasformata zeta 0.5 [exp (α jω) T ] n z n 0.5 [exp (α jω) T ] n z n = = [exp (α jω) T ] z [exp (α jω) T ] z = 1 = 1 exp αt cos (ωt ) z exp (αt ) cos (ωt ) z 1 exp (2αT ) z 2

107 6.3. TRASFORMAZIONE BILINEARE 107 In modo del tutto simile si può procedere per un termine (6.2.3) 0.5j H(s) = s (α jω) 0.5j s (α jω) = ω (s α) 2 h(t) = u(t) exp (αt) sin (ωt) ω2 che, a seguito del campionamento, in termini di trasformata zeta corrisponde a: exp αt sin (ωt ) z exp (αt ) cos (ωt ) z 1 exp (2αT ) z 2 Per ottenere il filtro IIR, perciò, è sufficiente scomporre la trasformata di Laplace del filtro tempo continuo di riferimento in somma di termini come (6.2.1), (6.2.2) e (6.2.3) e sostituire ad ognuno la corrispondente trasformata zeta. La funzione di trasferimento del filtro risultante, essendo la trasformata della risposta all impulso originale campionata a passo T sarà la versione periodicizzata con periodo 1/T della funzione di trasferimento del filtro tempo continuo di partenza. È evidente che le funzioni di trasferimento che si prestano a questa trasformazione sono solo quelle di tipo passa basso o, comunque, a banda limitata. Una funzione di trasferimento di tipo passa-alto, sottoposta a periodicizzazione, non può dar luogo ad una funzione di trasferimento di qualche significato. Filtro passa basso RC: 1 H(s) = h(t) = u(t) exp ( t/rc) 1 src E, dopo campionamento, h d (n) = exp ( nt/rc) che corrisponde alla seguente trasformata zeta [exp ( T/RC)] n z n 1 = 1 exp ( T/RC) z 1 k=0 La funzione di trasferimento in funzione della frequenza è: 1 H d (f) = 1 exp ( T/RC) exp ( jωt ) da confrontare con quella del filtro tempo continuo di partenza: 1 H(f) = 1 jωrc 6.3. Trasformazione bilineare È noto che una rete analogica di rango n è descrivibile mediante una equazione differenziale di grado n, o, equivalentemente, mediante un sistema di n equazioni differenziali del primo ordine. La più semplice equazione differenziale è del tipo y = aybx. Si tratta di implementare nel discreto un operatore che approssimi, nella maniera più ragionevole possibile, l operazione di derivazione. Essendo la derivata definita come limite del rapporto incrementale, si

108 FILTRI IIR può pensare di usare come operatore di derivazione nel discreto il rapporto incrementale, calcolato al passo T di discretizzazione nel tempo. Si ha cioé 1 (6.3.1) T (y n y n 1 ) che configura un filtro con funzione di trasferimento H(z 1 ) = 1 z 1 T Figura Funzione di trasferimento (trasformata zeta) e risposta all impulso del derivatore sincrono. La sua funzione di trasferimento in frequenza si ottiene calcolando H(z 1 ) sul cerchio unitario. Si ha allora 1 T (1 exp( jωt )) = 1 ( T exp jω T ) ( 2j sin ω T ) 2 2 cioé, graficamente: derivatore discreto H H π/2 f /2 c f c /2 f f c /2 f c /2 f π/2 Figura Modulo e fase della funzione di trasferimento (Fourier) del derivatore sincrono. L andamento desiderato è quello del derivatore ideale (vedi figura 6.3.3), con modulo che cresce linearmente con la frequenza. Quello che si ottiene approssima bene il derivatore per bassi valori di frequenza (la tangente è la stessa), ma si discosta notevolmente dall andamento voluto per valori di frequenza più alti. La caratteristica di fase è riportata nelle figure. La pendenza nella caratteristica di fase del derivatore sincrono è causata della presenza nella funzione di trasferimento del termine exp( jωt/2) (ritardo di mezzo passo di campionamento). Si ha, cioé, la composizione della caratteristica di fase di un derivatore e di un ritardatore puro di mezzo passo di campionamento. Mentre l andamento desiderato sarebbe quello di figura

109 6.3. TRASFORMAZIONE BILINEARE 109 derivatore ideale H π/2 H f /2 c f c /2 f f c /2 f c /2 f π/2 Figura Modulo e fase della funzione di trasferimento del derivatore ideale. Il problema sta nel fatto che mentre nella y = ay bx la derivata y si confronta con i valori dell ingresso x e dell uscita y nello stesso istante, in questo caso, a causa del ritardo di T/2, il confronto verrebbe effettuato con la derivata relativa a mezzo passo di campionamento precedente e, quindi, non più in coincidenza temporale tra derivata, valore dell uscita e valore dell ingresso (questi ultimi sono infatti relativi a T/2 secondi dopo). Si può allora pensare di eliminare il ritardo di T/2 passando alla differenza finita centrata, ottenuta usando un operatore non causale che effettua la media tra il valore seguente ed il valore precedente (nel primo caso si faceva la media tra valore corrente e valore precedente). campione precedente campione corrente T T campione successivo Figura Risposta all impulso del derivatore approssimato con differenza centrata. La risposta all impulso di un tale operatore è riportata in figura e la sua funzione di trasferimento è: H(ω) = exp (jωt ) exp ( jωt ) = 2j sin (ωt ) Si ottiene, cioé, una funzione sinusoidale con periodo metà rispetto a prima. Il modulo della funzione di trasferimento è rappresentato in figura ed è del tutto inaccettabile, dato che decresce per f > f c /4. In compenso la fase è quella desiderata perché è venuto a mancare il termine di ritardo T/2. Accantoniamo per il momento questi risultati e supponiamo di voler approssimare il derivatore per lo meno nella banda di interesse. Infatti, operando nel discreto, non si possono considerare bande maggiori di 1/2T. Ciò che interessa, allora, è determinare i valori dei campioni della risposta all impulso di un operatore con funzione di trasferimento pari a quella del derivatore, limitata però alla banda di interesse, filtrata cioé con un filtro passa basso.

110 FILTRI IIR H H π/2 f /2 c f c /2 f f c /2 f /4 f /4 f /2 c c c f π/2 Figura Modulo della funzione di trasferimento del derivatore approssimato con differenza centrata. a H b H f c /2 f c /2 f f /2 f /2 c c f Figura Funzione di trasferimento di derivatore passa-basso ideale (a) e più realistica (b). In altre parole quello che si deve realizzare è un operatore di derivazione in cascata con un filtro passa basso. Gli operatori sono lineari per cui è possibile commutarli. Ne segue che è possibile calcolare la risposta all impulso del filtro che realizza contemporaneamente la derivazione ed il filtraggio passa basso, a partire dalla conoscenza della risposta all impulso del filtro passa basso, applicando ad essa l operatore di derivazione. Si noti che la realizzazione dell operatore di integrazione non introduce grossi problemi, tranne che per la discontinuità per la continua, dato che la sua funzione di trasferimento è di tipo passa basso e le componenti in alta frequenza vengono eliminate. Per il derivatore, invece, non ci sono problemi in continua, ma il problema nasce per le alte frequenze che vengono esaltate. La cosa è assolutamente inaccettabile, sia in analogico che in numerico: infatti i segnali che trattiamo sono sempre limitati in banda, ed in genere passa basso, mentre il rumore, termico o dovuto ad imprecisioni nei calcoli, è sempre presente in uno spettro molto più ampio. Il filtraggio attraverso un filtro che esalti le alte frequenze tenderà ad esaltare le componenti di rumore che possono diventare predominanti rispetto al segnale rendendolo inutilizzabile. D altra parte è anche necessario evitare gli spigoli in corrispondenza di f c /2 è quindi necessario definire un intervallo di frequenze entro il quale la funzione di trasferimento deve avere un andamento derivatorio ed un intervallo di frequenze entro il quale si può opportunamente operare per evitare discontinuità in valore e possibilmente nella derivata, in modo da far decadere a zero la risposta all impulso il più velocemente possibile.

111 6.3. TRASFORMAZIONE BILINEARE 111 Va tenuto presente, infine, che non è ragionevole utilizzare operatori di derivazione troppo complicati in quanto essi, collegati fra loro, darebbero luogo ad un filtro di complessità tale da essere inutilizzabile. Torniamo allora al primo filtro descritto (cfr (6.3.1)). Nonostante il ritardo di mezzo passo di campionamento, esso soddisfa almeno la richiesta di crescere in modulo monotonamente con la frequenza. Si cerca allora di interpolare nel modo più indolore possibile i valori della sequenza x e della sequenza y nei punti a metà tra due istanti di campionamento successivi. L interpolazione scelta è quella lineare. Invece di confrontare l approssimazione della derivata (6.3.1) con i valori x n e y n, la si confronta con i valori delle sequenze x ed y interpolati negli stessi istanti. Si ha cioé 1 T (y n y n 1 ) = a 2 (y n y n 1 ) b 2 (x n x n 1 ) L effetto dell interpolazione lineare è quello di filtrare leggermente passabassato il segnale: la corrispondente funzione di trasferimento di tipo coseno e alle frequenze (molro basse) per le quali il modulo del seno assomiglia al modulo del derivatore, il suo andamento è praticamente costante. f c /2 f c /2 f Figura Funzione di trasferimento dell interpolatore lineare per τ = T/2. Usando la trasformata zeta si ottiene 2 T (1 z 1 )Y (z) = a(1 z 1 )Y (z) b(1 z 1 )X(z) Ne deriva che l operatore di derivazione che abbiamo sviluppato ha trasformata zeta del tipo 2 1 z 1 (6.3.2) Y (z) = ay (z) bx(z) T 1 z 1 Questa equazione algebrica in z è stata determinata applicando la trasformazione zeta ad una equazione alle differenze finite. Confrontiamola con il suo equivalente nel mondo tempo continuo. Nel mondo tempo continuo l equazione differenziale y = ay bx si trasforma nell equazione algebrica (6.3.3) sy (s) = ay (s) bx(s) nella variabile complessa s. Dal confronto tra la (6.3.2) e la (6.3.3) segue (6.3.4) s = 2 T 1 z 1 1 z 1 trasformazione bilineare

112 FILTRI IIR Si è così ottenuta una corrispondenza tra il piano z ed il piano s. Per quanto è già noto sulla corrispondenza esistente tra trasformata zeta e trasformata di Laplace, cosa ci aspettiamo da questa trasformazione perché possa essere utile? Partiamo dall ipotesi di conoscere la costellazione di zeri e poli nel piano s e che essa sia tale che, percorrendo l asse immaginario s = jω si ricavi la funzione di trasferimento desiderata. Vogliamo una trasformazione nel piano s in modo che ci consenta, percorrendo l equivalente dell asse immaginario nel piano zeta, cioé il cerchio unitario, tra f c /2 ed f c /2, di ottenere una funzione della frequenza corrispondente alla funzione di trasferimento, che sarà naturalmente periodica. jω σ ω = f c /2 d ω = f c /2 d ω =0 d La mappatura asse immaginario-cerchio unitario deve quindi essere tale da creare una relazione tra una variabile che varia da a, sull asse immaginario, ed una variabile periodica, sul cerchio unitario. Oltre a ciò, la mappatura deve essere tale che i punti del semipiano sinistro risultino mappati all interno del cerchio unitario al fine di conservare la stabilità del filtro. Se la mappatura soddisfa le condizioni sopra enunciate, può essere una mappatura utilizzabile. È chiaro che ci sarà una deformazione tra la funzione di trasferimento del filtro analogico e quella del filtro digitale. Tale deformazione è, tuttavia, nota e quindi è sufficiente effettuare una predeformazione della funzione di trasferimento del filtro analogico in modo che dopo la seconda deformazione nel modo duale, essa ritorni ad avere un andamento uguale a quello richiesto. Di fondamentale importanza è essere sicuri che partendo da un filtro stabile si ottenga un filtro stabile. Verifichiamo che la (6.3.4) soddisfa le condizione enunciate. Scriviamo la trasformazione duale. Si ha (6.3.5) z = 2/T s 2/T s Poniamo ω a =pulsazione analogica e ω d = pulsazione digitale. Dobbiamo mostrare che per s = jω a, z percorre il cerchio unitario. Poniamo allora s = jω a nella (6.3.5). Si ottiene (2/T ) 2 ωa 2 exp [j arctan (ω a T/2)] z exp ( jω d T ) = 2/T jω a = 2/T jω a da cui si deduce che z = 1 e che (2/T ) 2 ω 2 a exp [ j arctan (ω a T/2)] ω d = 2 T arctan (ω at/2)

113 6.3. TRASFORMAZIONE BILINEARE 113 e, dualmente ω a = 2 ( ) T tan T ω d 2 Il legame tra ω a e ω d è del tipo in visualizzato in figura ω a ω d Figura Legame tra ω a e ω d stabilito dalla trasformazione bilineare. La tangente è la funzione trigonometrica che meglio approssima, intorno all origine, un andamento rettilineo. Segue che, nell intorno della frequenza zero, ω d e ω a variano di pari passo, ragion per cui la funzione di trasferimento analogica e quella digitale avranno in tale intorno andamento molto simile. Quando, però, la pulsazione analogica diventa elevata, i suoi valori risultano compressi in un intervallo di frequenze della pulsazione numerica sempre più piccolo. Abbiamo quindi ottenuto una mappatura che fa corrispondere all asse immaginario, descritto da ω a, il cerchio unitario, descritto dalla variabile periodica ω d. Verifichiamo ora che a punti del semipiano sinistro corrispondano punti interni al cerchio unitario. Riscriviamo la (6.3.5) z = 2/T s 2/T s Poniamo s = ρ exp(jθ), evidenziando modulo e fase, e calcoliamo il modulo di z: z = 2/T ρ exp(jθ) 2/T ρ exp(jθ) = = (2/T ρ cos θ) 2 ρ 2 sin 2 θ (2/T ρ cos θ) 2 ρ 2 sin 2 θ = 4/T 2 4/T ρ cos θ ρ 2 4/T 2 4/T ρ cos θ ρ 2 Questa quantità sarà maggiore o minore di 1 a seconda che il numeratore, sicuramente positivo, sia maggiore o minore del denominatore. Si ha che il numeratore è maggiore del denominatore se cos θ > 0. In questo caso z > 1. Se invece cos θ < 0, il numeratore è minore del denominatore e, quindi, z < 1. Ricordando che s = ρ exp(jθ), risulta che se cos θ > 0, il punto è nel semipiano destro. Ma cos θ > 0 implica che z > 1 e quindi il semipiano destro si mappa nei punti esterni al cerchio unitario. Viceversa, se cos θ < 0

114 FILTRI IIR il punto si trova nel semipiano sinistro, che si mappa quindi nei punti interni al cerchio unitario, in accordo con le proprietà di stabilità dei filtri. Con questa tecnica il progetto dei filtri IIR finisce qui. Facciamo un esempio banale: determiniamo il filtro numerico corrispondente al filtro analogico passa basso con un solo polo. E R C Si ha Usiamo la trasformazione (6.3.4). H(z) = H(s) = V c(s) E(s) = 1 1 src z 1 RC = 1 z 1 1 z 1 2/T RC (1 z 1 ) = T 1z 1 = 1 z 1 (1 2/T RC) (1 2/T RC) z 1 Si ottiene un filtro con un polo ed uno zero. Il numeratore individua una sequenza del tipo 1 1 da convolvere, per ottenere la risposta all impulso di tutto il sistema, con la sequenza che corrisponde al polo di valore (6.3.6) p = 1 2/T RC 1 2/T RC < 1 Tale polo è interno al cerchio unitario: non poteva essere altrimenti dato che il polo di H(s) è 1/RC e si trova sull asse reale nel semipiano sinistro. Il polo espresso dalla (6.3.6) dà luogo alla seguente sequenza causale, ottenuta per successive divisioni ( ) n 1 2/T RC 1 2/T RC Quindi la risposta all impulso del filtro tempo discreto che corrisponde al filtro passa basso RC è data dalla convoluzione tra la sequenza FIR che rappresenta il numeratore e la sequenza IIR di lunghezza infinita che corrisponde al polo. La risposta all impulso del filtro è del tipo

115 6.3. TRASFORMAZIONE BILINEARE 115 In realtà non disponiamo della funzione di trasferimento da realizzare, ma siamo in possesso di specifici requisiti che il filtro deve possedere. Supponiamo di dover realizzare un filtro che soddisfa una certa maschera f f f /2 d1 d2 c Prima di applicare la trasformazione bilineare per passare dal rapporto dei polinomi in s al rapporto dei polinomi in z, cioé dalla trasformata di Laplace del filtro analogico alla trasformata zeta del filtro tempo discreto, dobbiamo trovare il prototipo di filtro analogico che, trasformato in filtro digitale, soddisfa la maschera. In altri termini, se ho un filtro analogico, del quale conosco la funzione di trasferimento, che soddisfa una certa maschera f d f a1 f a2 una volta applicata ad esso la trasformazione bilineare, la nuova funzione di trasferimento deve soddisfare la maschera digitale (vedi figura precedente). Il problema si riconduce, quindi, alla determinazione della maschera analogica corrispondente alla maschera tempo discreta assegnata. Usando la relazione (6.3.7) ω a = 2 ( ) T tan T ω d 2 posso ricavare i valori di f a1 e f a2 (ω a = 2πf a ), noti i valori di f d1 e di f d2. Ciò fatto il problema è risolto, dato che il modulo della funzione di trasferimento non cambia e quindi restano immutati anche i vincoli della maschera. Una volta ottenuta la maschera analogica, f

116 FILTRI IIR il tutto si riduce al calcolo di f a1 e f a2, determino il filtro analogico che la soddisfa ed applico la trasformazione bilineare. Ci aspettiamo naturalmente che, man mano che ci avviciniamo alla frequenza di Nyquist, aumenti sempre più lo scostamento tra frequenza analogica e frequenza digitale. Facciamo l esempio del canale telefonico. In questo caso la frequenza di Nyquist è f c /2 = 4 khz. Supponiamo inoltre che f d1 = 1 khz e f d2 = 2 khz. Applicando la (6.3.7) si ottiene f a1 = 1 πt tan (πf d1t ) = Hz Analogamente si trova f a2 = 1 πt tan (πf d2t ) = Hz Si verifica quanto si era previsto: la frequenza più lontana dalla frequenza di Nyquist, f d1, viene modificata meno, mentre, man mano che ci si avvicina alla frequenza di Nyquist, la differenza tra frequenza digitale e frequenza analogica è più sostanziale. Ovviamente cambia anche l andamento della funzione di trasferimento e la banda di transizione, a causa della deformazione dell asse delle frequenze, ma non cambia il ripple in banda o l attenuazione minima fuori banda Filtri a traliccio Si considererà ora un altro modo di realizzare filtri IIR. Esso nasce dall analisi del tratto vocale, il quale può essere modellato come una serie di tubi di diverso diametro attraverso i quali viene fatta passare l eccitazione generata dalle corde vocali. Un tale sistema può essere pensato come costituito da tratti di linea di lunghezze ed impedenze caratteristiche diverse che danno origine ad una struttura riverberante. Sussiste infatti l analogia secondo la quale alla tensione corrisponde la pressione e alla corrente il flusso. Considereremo delle linee prive di perdite. Un esempio di struttura riverberante elementare è costituito da tre mezzi con impedenza caratteristica diversa. Figura Struttura riverberante Se il mezzo fosse omogeneo, un onda continuerebbe a propagarsi indefinitamente (mezzo non dispersivo e non dissipativo). Se però ci sono delle discontinuità, in corrispondenza di queste una parte della radiazione incidente viene trasmessa nel mezzo successivo ed una parte viene riflessa. La radiazione trasmessa si propaga fino alla discontinuità successiva dove accade una cosa analoga: una parte di essa viene trasmessa ed una parte riflessa.

117 6.4. FILTRI A TRALICCIO 117 Una parte della radiazione resta dunque intrappolata tra le due superfici di discontinuità. Naturalmente il discorso si complica se ci sono più di due superfici di discontinuità. Consideriamo il caso semplice in cui si abbiano due sole superfici di discontinuità e l onda incidente (o meglio, la sua trasformata zeta) sia di ampiezza unitaria. L ampiezza dell onda Figura Identificazione dei vari contributi di segnale trasmesso e riflesso alle interfacce. trasmessa sarà t 2 e l ampiezza dell onda riflessa sarà c 2. Ovviamente, siccome all interfaccia ci deve essere continuità, deve essere vero che c 2 t 2 = 1, cioé la composizione dell onda trasmessa e dell onda riflessa sull interfaccia deve coincidere con l onda incidente. La componente t 2 si propaga nel mezzo ed arriva all altra interfaccia con un certo ritardo. In una struttura reale tale ritardo può assumere un valore τ qualsiasi. Visto che, però, stiamo considerando strutture che poi devono servire da modello per dei filtri numerici, tale ritardo dovrà essere legato, se non vogliamo trovarci in situazioni inutilmente complesse, al passo di campionamento. Supponiamo allora τ = T/2. Di conseguenza l onda incidente sulla superficie di discontinuità S 1 sarà t 2 z 1. Una quota parte di questa viene trasmessa nel terzo mezzo (t 1 t 2 z 1/2 ) ed una quota parte viene riflessa (t 2 c 1 z 1/2 ). Quest ultima tornerà verso la superficie di discontinuità S 2 e vi arriverà ancora ritardata di mezzo passo di campionamento: la sua ampiezza sarà t 2 c 1 z 1. Il coefficiente di riflessione ad una interfaccia dipende dal disadattamento di impedenza sperimentata dall onda che, propagandosi, incontra la superficie di discontinuità. Tale coefficiente, all interfaccia k-esima, sarà c k = Z k 1 Z k Z k 1 Z k con Z k 1 impedenza caratteristica del materiale a destra della discontinuità e Z k impedenza caratteristica del materiale a sinistra. In base a questa constatazione si ricava che il coefficiente di riflessione quando l onda incide da una direzione opposta è uguale in modulo ma di segno opposto (è come se i mezzi fossero scambiati ed il numeratore cambia segno).

118 FILTRI IIR Di conseguenza, la quota parte riflessa dell onda t 2 c 1 z 1 sarà t 2 c 1 c 2 z 1 e la quota parte trasmessa sarà c 1 t 1 t 2z 1 (con t 2 coefficiente di trasmissione per l onda che si propaga verso sinistra: t 2 = 1 c 2 1 c 2 = t 2 ). L onda riflessa tornerà verso la superficie S 1, ove giungerà ritardata ( t 2 c 1 c 2 z 3/2 ) e subirà nuova riflessione ( t 2 c 2 1c 2 z 3/2 ) e trasmissione ( t 1 t 2 c 1 c 2 z 3/2 ). Si noti che l onda trasmessa ( t 1 t 2 c 1 c 2 z 3/2 ) differisce da quella trasmessa al passo precedente (t 1 t 2 z 1/2 ) per un termine c 1 c 2 z 1. La successiva onda trasmessa differirà da t 1 t 2 c 1 c 2 z 3/2 ancora per un termine c 1 c 2 z 1. Di conseguenza l onda totale trasmessa sarà t tot = t 1 t 2 z 1/2 n=0 ( c1 c 2 z 1) n = t1 t 2 z 1/2 1 1 c 1 c 2 z 1 La sommatoria, infatti, non è altro che la trasformata zeta di una sequenza con andamento esponenziale decrescente. La struttura considerata introduce, con ritardo τ = T/2, nella funzione di trasferimento un polo pari a c 1 c 2. Quindi, se la struttura riverberante ha un polo, che sappiamo piazzare opportunamente, se dobbiamo implementare una certa funzione di trasferimento con dei poli, basta pensare di mettere in cascata strutture riverberanti del tipo visto. La cosa non è così banale. Infatti, nell analisi effettuata si è supposto che il mezzo a sinistra di S 2 e quello a destra di S 1 fossero indefiniti, in modo che le onde emergenti da S 1 e S 2 si propagassero indefinitamente senza dar luogo ad ulteriori termini riflessi. Nel momento in cui si inserisce un altra superficie di discontinuità, essa andrà ad interferire col comportamento delle precedenti due superfici considerate. Per valutare una struttura a più poli è necessario generalizzare questa analisi. Chiamiamo U l onda incidente e D l onda riflessa. Il pedice k identifica le grandezze sulla D k D k D k 1 D k 1 U k U k U k 1 U k 1 S k S k 1 Figura Schematizzazione di una sezione di struttura riverberante. discontinuità k-esima. L aggiunta dell apice indica la stessa quantità, ma a destra della superficie di discontinuità k-esima. Con questa analisi consideriamo l effetto delle strutture che precedono e che seguono, perché consideriamo un onda riflessa ed un onda trasmessa a tutte le superfici di discontinuità. Il nostro obiettivo è quello di collegare U k e D k all onda incidente e all onda riflessa alla discontinuità successiva, in modo che, mettendo in piedi una struttura iterativa, si possa calcolare il rapporto tra onda incidente ed onda riflessa in

119 6.4. FILTRI A TRALICCIO 119 una struttura multistrato. Si ha U k(z) = U k (z) t k D k(z) c k Cioé l onda trasmessa è data in parte dall onda incidente, moltiplicata per il coefficiente di trasmissione, ed in parte dall onda riflessa D k, che viene dalla superficie successiva e che sarà ancora riflessa, moltiplicata per il coefficiente di riflessione c k (incidenza da sinistra). Analogamente si trova D k (z) = U k (z) c k D k(z) t k Le due equazioni così trovate si possono scrivere { t k U k (z) = U k (z) c k D k (z) c k U k (z) D k (z) = t k D k (z) In forma matriciale si ottiene [ ] [ tk 0 Uk (z) c k 1 D k (z) ] [ 1 c = k 0 t k ] [ ] U k (z) D k (z) e quindi [ ] Uk (z) = 1 [ ] [ ] [ ] c k U k (z) D k (z) t k c k t k 0 t k D k [ ] (z) Uk (z) = 1 [ ] [ ] 1 c k U k (z) D k (z) t k c k c k c k t kt k D k (z) Ricordando che c k = c k e t k = 1 c k si ottiene che c k c k t kt k = c2 k (1 c2 k ) = 1. Si ha allora [ ] Uk (z) (6.4.1) = 1 [ ] [ ] 1 ck U k (z) D k (z) t k c k 1 D k (z) che rappresenta il legame che sussiste tra onda incidente ed onda riflessa a destra e a sinistra della discontinuità. In effetti a noi serve il legame tra onda incidente e onda riflessa tra una superficie di discontinuità e la successiva. Poiché abbiamo supposto mezzi non dissipativi né dispersivi, si ha U k 1 = U k z 1/2 e, dualmente, D k = D k 1z 1/2. Si ottiene allora [ ] U k (z) D k (z) = [ z 1/2 0 0 z 1/2 ] [ Uk 1 (z) D k 1 (z) La (6.4.1) allora diventa, mediante sostituzione, [ ] Uk (z) = 1 [ ] [ 1 ck z 1/2 0 D k (z) t k c k 1 0 z 1/2 ] ] [ Uk 1 (z) D k 1 (z) che è la relazione che sussiste tra onda incidente e onda riflessa alla superficie k e onda incidente ed onda riflessa alla superficie k 1. Si può ancora scrivere [ ] [ ] [ ] [ ] Uk (z) = z1/2 1 ck 1 0 Uk 1 (z) D k (z) c k 1 0 z 1 D k 1 (z) t k ]

120 FILTRI IIR (6.4.2) [ Uk (z) D k (z) ] = z1/2 t k c k z 1 D k 1 (z) [ 1 ck z 1 ] [ Uk 1 (z) ] Diamone una interpretazione in termini di schema a blocchi. Il termine z 1/2 /t k è presente su entrambe le linee e, quindi, lo consideriamo a parte. A parte tale termine si ottiene { Uk (z) = U k 1 (z) c k z 1 D k 1 (z) D k (z) = c k U k 1 (z) z 1 D k 1 (z) U k 1/2 t k z Uk 1 c k c k 1 D k z 1 z 1/2 t k D k 1 z 1 Figura Schema a blocchi corrispondente alla (6.4.2). Mettendo in cascata più sezioni si ottengono strutture più complesse. Nella figura la parte tratteggiata costituisce la cella elementare. Per analizzare tali strutture è comodo utilizzare la notazione matriciale. Ad esempio, considerando tre superfici di discontinuità: [ ] [ ] [ ] [ ] U2 (z) = z1/2 z 1/2 1 c2 z 1 1 c1 z 1 U0 (z) D 2 (z) t 2 t 1 c 2 z 1 c 1 z 1 D 0 (z) Ponendo: [ U2 (z) D 2 (z) ] = z [ ] [ 1 c1 c 2 z 1 c 1 z 1 c 2 z 2 U0 (z) t 2 t 1 c 2 c 1 z 1 c 1 c 2 z 1 z 2 D 0 (z) 1 c 1 c 2 z 1 = F 2 (z) è la trasformata della sequenza 1, c 1 c 2 ] si ottiene c 2 c 1 z 1 = G 2 (z) è la trasformata della sequenza c 1, c 2 [ U2 (z) D 2 (z) ] = z [ F2 (z) z 2 G 2 (z 1 ) t 2 t 1 G 2 (z) z 2 F 2 (z 1 ) Il discorso si può generalizzare. Si ottiene allora che [ Uk (z) D k (z) ] = zk/2 k i=1 t i Si noti che, per ottenere F 3 si ha [ Fk (z) z k G k (z 1 ) G k (z) z k F k (z 1 ) F 3 (z) = F 2 (z) c 3 z 1 G 2 (z) ] [ U0 (z) D 0 (z) ] ] [ U0 (z) D 0 (z) ]

121 In generale si avrà 6.4. FILTRI A TRALICCIO 121 F k (z) = F k 1 (z) c k z 1 G k 1 (z) G k (z) = c k F k 1 (z) z 1 G k 1 (z) Dato che F 1 (z) = 1 e G 1 (z) = c 1, si può mettere in piedi una struttura iterativa che consente di ricavare le funzioni F k (z) e G k (z) per una struttura con un numero qualsiasi di discontinuità. All ultima interfaccia bisognerà specificare le condizioni al contorno, ad esempio un circuito aperto. In queste condizioni la corrente è nulla, per cui l onda di corrente riflessa deve essere esattamente uguale in modulo e di segno opposto rispetto all onda incidente. Da questa condizione è facile risalire al valore della tensione sul circuito aperto. A questo punto è banale calcolare la funzione di trasferimento che sussiste tra onda incidente in ingresso alla struttura ed onda che ne emerge. Nell ipotesi in cui in uscita l onda riflessa sia esattamente uguale all onda incidente si ha [ ] [ ] [ ] Uk (z) = zk/2 Fk (z) z k G k (z 1 ) U0 (z) D k (z) k i=1 t G i k (z) z k F k (z 1 ) U 0 (z) cioé U k (z) = zk/2 [ Fk k i=1 t (z) z k G k (z 1 ) ] U 0 (z) i La funzione di trasferimento (al numeratore deve esserci un uscita ed al denominatore un ingresso) è U 0 (z) U k (z) = z k/2 k i=1 t i F k (z) z k G k (z 1 ) Quello che si riesce a realizzare è una funzione di trasferimento a tutti poli (a meno del ritardo che possiamo trascurare). Il vantaggio di questa struttura è che il sistema non può essere instabile. Infatti, se i mezzi sono non dissipativi, la potenza che transita in una sezione si manterrà costante in tutte le sezioni, quindi non c è né creazione, né dissipazione di potenza. Il fatto che garantisce la stabilità del sistema è che ad una interfaccia l energia riflessa non può che essere al massimo uguale a quella incidente, o equivalentemente che c k 1 (c k = 0 se non ci fosse discontinuità, cioé in condizioni di perfetto adattamento). In un filtro numerico i c k rappresentano i coefficienti moltiplicatori che regolano il funzionamento della struttura, ovvero fissano la funzione di trasferimento. È quindi necessario garantire che c k 1 per la stabilità. Si è ottenuto un filtro recursivo la cui stabilità è banalmente controllabile per mezzo dei c k. Tutto il discorso fatto porta ad un modo diverso di disegnare la struttura di un filtro recursivo in maniera tale da non fare più comparire i coefficienti a k, che erano i coefficienti relativi al polinomio in z 1, ma in modo tale da far comparire i coefficienti di riflessione, che sono legati in maniera elementare alla stabilità del filtro. Gli a k, infatti, possono assumere qualunque valore ed inoltre la stabilità del filtro non dipende in modo banale da essi. Con l uso dei c k la stabilità è garantita se c k 1 cella per cella.

122 FILTRI IIR U k U k 1 c k c k 1 D k z 1 D k 1 1 z Figura Filtro a traliccio recursivo. Calcoliamo ora la relazione che lega D k ad U 0. Ricordiamo che, trascurando il termine z k/2 / t j [ ] [ ] [ ] Uk (z) Fk (z) z = k G k (z 1 ) U0 (z) D k (z) G k (z) z k F k (z 1 ) D 0 (z) Si ha D k (z) = [ G k (z) z k F k (z 1 ) ] U 0 (z) e, quindi, la relazione cercata è (6.4.3) D k (z) U 0 (z) = G k(z) z k F k (z 1 ) che è una funzione tutti zeri. Si noti la somiglianza con la funzione di trasferimento che lega U 0 (z) ad U k (z) (6.4.4) U 0 (z) U k (z) = 1 F k (z) z k G k (z 1 ) Si ha che se la (6.4.3) è un polinomio del tipo g 0 g 1 z 1 g 2 z 2 g k z k il polinomio a denominatore della (6.4.4) è del tipo g k g k 1 z 1 g k 2 z 2 g 0 z k ovvero con i coefficienti ribaltati. Va osservato che U 0 è contemporaneamente un ingresso ed un uscita e che è determinata esclusivamente dall ingresso effettivo U k. L unica altra funzione di trasferimento realizzabile mediante la struttura di figura è D k (z) U k (z) = G k(z) z k F k (z 1 ) F k (z) z k G k (z 1 ) che, per quanto detto, avrà modulo rigorosamente unitario e fase determinata da coppie polo (all interno del cerchio unitario) zero (in posizione simmetrica fuori del cerchio unitario). La struttura in figura prende il nome di filtro a traliccio. Detta struttura realizza filtri recursivi (IIR) e in essa la recursione è evidenziata dalla presenza degli anelli di retroazione segnati nella stessa figura. La relazione (6.4.3) è tipica di una funzione di trasferimento a soli zeri (FIR) ma non è realizzabile da una struttura come quella in figura Se, però, si inverte il verso di

123 6.4. FILTRI A TRALICCIO 123 percorrenza del ramo superiore lasciandone per il resto immutata la topologia, una relazione come quella in (6.4.3) è implementabile mediante una struttura come quella rappresentata in figura x(n) y 1(n) y (n) 2 c 1 c 2 z 1 u (n) 1 z 1 u 2(n) Figura Filtro a traliccio non recursivo. Essa è una struttura di tipo feed forward non reazionata e fornisce in uscita una combinazione lineare del campione corrente e dei campioni precedenti del segnale in ingresso, opportunamente pesati. Detta struttura implementa filtri FIR, a soli zeri. Si verifica facilmente che e, quindi, y 1 (n) = x(n) c 1 x(n 1) u 1 (n) = c 1 x(n) x(n 1) y 2 (n) = y 1 (n) c 2 u 1 (n 1) y 2 (n) = x(n) c 1 x(n 1) c 2 [c 1 x(n 1) x(n 2)] = = x(n) c 1 x(n 1) c 1 c 2 x(n 1) c 2 x(n 2) = = x(n) c 1 (1 c 2 ) x(n 1) c 2 x(n 2) È molto importante, come vedremo in sequito, aver ottenuto un filtro FIR ed un filtro IIR uno inverso dell altro, l uno stabile e l altro a fase minima. In effetti la struttura di figura permette di realizzare due funzioni di trasferimento U k (z) U 0 (z) = F k(z) z k G k (z 1 ) e D k (z) U 0 (z) = G k(z) z k F k (z 1 ) la prima a fase minima e la seconda a fase massima, ma con identico modulo.

124

125 CAPITOLO 7 Sistemi multi-rate 7.1. Introduzione Nei sistemi considerati dopo l introduzione della trasformata zeta, cioé sostanzialmente sistemi lineari invarianti, la frequenza di campionamento all uscita non poteva che essere identica a quella all ingresso, configurando algoritmi di elaborazione a frequenza di campionamento fissa. Si è già visto, però, che esistono dei casi in cui la frequenza di campionamento deve cambiare nel corso dell elaborazione. Si è considerato a suo tempo il caso del riproduttore di CD audio, dove è utile l aumento della frequenza di campionamento prima di inviare i campioni al filtro di ricostruzione. Altri casi in cui è necessario cambiare la frequenza di campionamento nel corso dell elaborazione possono essere quelli di sistemi audio che devono poter accettare segnali di diversa provenienza e campionati con diverse frequenze. Un altro caso tipico è il passaggio da uno standard televisivo ad un altro. In occasione delle considerazioni sugli algoritmi di interpolazione si sono già visti algoritmi che consentono di variare la frequenza di campionamento di un segnale. Ora si faranno considerazioni più generali sui sistemi multi-rate. Per schematizzare il cambiamento di frequenza di campionamento si utilizzano due blocchi: il sovracampionatore ed il sottocampionatore Sovracampionatore. Il sovracampionatore, il cui simbolo è rappresentato in figura 7.1.1, aumenta la frequenza di campionamento di un fattore intero M inserendo M 1 zeri tra ogni coppia di campioni. x(n) f c 1 M y(m) Mf c Figura Sovracampionatore. Il suo funzionamento può essere descritto sia nel tempo, sia nella frequenza. Nel tempo x(m/m) per m = 0, ±M, ±2M, (7.1.1) y(m) = 0 altrove Le trasformate zeta sono legate dalla relazione Y (z) = X(z M ) 125

126 SISTEMI MULTI-RATE tenendo presente che in uscita l operatore z 1 corrisponde a 1/Mf c, mentre all ingresso z 1 corrisponde a 1/f c. In frequenza lo spettro del segnale all uscita è identico a quello del segnale in ingresso, la differenza consistendo solo in campioni aggiuntivi nulli: Y (f) = X(f) = f c S(f kf c ) se S(f) è lo spettro del segnale tempo continuo che ha dato origine ai campioni x(n). La differenza, però, c è e consiste nella possibilità di effettuare sul segnale y(m) un filtraggio periodico, ma di periodo Mf c. Senza l inserimento degli zeri, un qualunque filtraggio non avrebbe potuto che essere periodico di periodo f c Sottocampionatore. Il sottocampionatore, invece, riduce di un fattore intero la frequenza di campionamento, scartando L 1 campioni ogni L. Il simbolo utilizzato per rappresentarlo e il suo funzionamento sono esemplificati in figura x(n) f c L 1 k v(m) f c Figura Sottocampionatore. Nel tempo v(m) = x(ml) mentre non è possibile mettere in relazione le trasformate zeta dell ingresso e dell uscita. In frequenza, invece, vale la relazione j= V (f) = 1 L k=0 L L 1 X(f kf c L ) o, facendo riferimento allo spettro del segnale tempo continuo S(f): X(f) = f c S(f jf c ), V (f) = f c L S(f jf c L ) j= Va osservato che di sequenze sottocampionate di un fattore L se ne possono ottenere L distinte, in funzione di quali campioni si mantengono e quali si scartano. Si indicherà con x k (n) la sequenza sottocampionata che contiene il campione x(k): x k (m) = x(ml k) Si osservi che la sequenza x(n) si può scomporre nella somma di tutte le sequenze sottocampionate, opportunamente sfalsate nel tempo. In termini di trasformate zeta: X(z) = x(n)z n = x(mlk)z ml z k = x k (m)z ml z k = X k (z L )z k n k m k m k

127 7.1. INTRODUZIONE Cambiamento della frequenza di campionamento di un fattore intero. Per implementare correttamente un aumento od una riduzione della frequenza di campionamento di un segnale, i blocchi visti hanno bisogno di essere completati da un opportuno filtro. La descrizione di un segnale campionato a frequenza f c ad una frequenza M volte più grande richiede l uso di un sovracampionatore seguito da un filtro che elimini tutte le repliche spettrali, tranne quelle centrate in 0 ed a frequenze multiple di Mf c. Il filtro deve x(n) y(m) 1 M H(f) f c Mf c u(m) Mf c Figura Schema a blocchi di un interpolatore di un fattore intero M. essere un filtro tempo discreto con frequenza di campionamento Mf c e deve avere una funzione di trasferimento di tipo passa-basso con frequenza di taglio f c /2, come esemplificato in figura X(f), Y(f) f H(f) f U(f) f Figura Funzione di trasferimento del filtro interpolatore. La decimazione di un fattore intero di un segnale implica l eliminazione delle componenti spettrali che, alla nuova frequenza di campionamento, genererebbero alias. Se il segnale campionato in ingresso x(n) è campionato a frequenza f c ed il fattore di sottocampionamento è L, al decimatore di un fattore L bisognerà anteporre un filtro passa-basso con frequenza di taglio f c /(2L), come indicato in figura ed in figura Cambiamento della frequenza di campionamento di un fattore razionale. Il ricampionamento ad una frequenza che non sia un multiplo od un sottomultiplo intero della frequenza di campionamento iniziale può ottenersi con le tecniche descritte nei paragrafi precedenti, purché la nuova frequenza di campionamento f c2 sia legata a quella

128 SISTEMI MULTI-RATE x(n) y(n) v(m) H(f) L 1 f c f c Figura Schema a blocchi di un decimatore di un fattore intero L. X(f) f c L f H(f) f Y(f) f V(f) f Figura Analisi in frequenza del funzionamento del sottocampionatore. iniziale f c1 da una relazione del tipo f c2 = I M f c1 con I ed M numeri interi. In tal caso, il ricampionamento si può ottenere prima ricampionando il segnale ad una frequenza I f c1 per poi decimare di un fattore M come indicato in figura. Scambiare l ordine delle operazioni produrrebbe la stessa frequenza di campionamento in uscita, ma con un segnale fortemente penalizzato in banda. x(n) y(m) 1 I H (f) H (f) M f c If c If c If If c M Figura Cambiamento della frequenza di campionamento di un fattore I/M. Naturalmente si potrebbe ricorrere al metodo delineato nel capitolo relativo alla interpolazione di segnali campionati. In quel caso si sarebbe ottenuto un sistema lineare tempo-variante. In questo caso si ottiene una implementazione che può essere molto meno efficiente, ma che utilizza un sistema lineare tempo-invariante (filtro). È evidente che non è necessario utilizzare due filtri: ne basta uno solo con funzione di trasferimento pari al prodotto delle due. La cascata di H 1 (f), filtro passa-basso con c

129 7.2. IMPLEMENTAZIONI POLIFASE 129 frequenza di taglio f c /2, e di H 2 (f), filtro passa basso con frequenza di taglio If c / (2M), corrisponde ad un unico filtro passa-basso con frequenza di taglio pari alla più bassa delle due (min {f c /2, If c / (2M)}) Implementazioni polifase Con riferimento alla figura 7.1.5, l inefficienza è evidente: il filtro calcola tutti i campioni, anche quegli (M 1) ogni M che vengono scartati dal decimatore. È, però, possibile arrivare ad una implementazione efficiente. I campioni dell uscita possono esprimersi in funzione di quelli dell ingresso mediante la relazione: N v(m) = y(mm) = h(k)x(mm k) k=0 L indice k è possibile esprimerlo (in base M) come k = pm q, con 0 q < M e 0 p < N/M: (7.2.1) v(m) = M 1 q=0 N/M 1 p=0 h(pm q)x(mm pm q) = M 1 q=0 N/M 1 p=0 h q (p)x q (m p) = M 1 q=0 v q (m) dove h q ed x q sono sequenze ottenute per sottocampionamento di un fattore M della risposta all impulso h(n) del filtro e del segnale x(n). A titolo di esempio: h 0 (m) = h(mm), h 1 (m) = h(1 mm), h 2 (m) = h(2 mm), etc. Ogni risposta all impulso sottocampionata h q (m) viene ottenuta sottoponendo ad una stessa griglia di sottocampionamento versioni anticipate di q passi di campionamento della risposta all impulso originale. (Per una risposta all impulso non è un problema essere anticipata!). Per le sequenze sottocampionate del segnale, invece, vale lo stesso discorso, ma il sottocampionamento deve essere preceduto da un ritardo di q campioni. x(n) x(n q) q z M 1 x (m) q Figura Schema a blocchi della procedura per ottenere la sequenza sottocampionata x q (m). La (7.2.1) si può vedere come la somma di M convoluzioni tra le sequenze sottocampionate, con tutte le possibili fasi temporali, della risposta all impulso del filtro e del segnale, come evidenziato nello schema a blocchi di figura Analoghe considerazioni possono svilupparsi a proposito dell interpolatore (vedi figura 7.1.3). Adesso l inefficienza non è derivante più dallo scartare campioni già calcolati, ma dall effettuare la convoluzione tra la risposta all impulso del filtro ed una sequenza di campioni in ingresso che deterministicamente è costituita da M 1 campioni nulli ogni

130 SISTEMI MULTI-RATE x(n) z 1 M 1 h 0 (m) v(m) z 1 M 1 h (m) 1 M 1 z 1 2 h (m) Figura Schema a blocchi dell implementazione polifase di un sottocampionatore. M: il moltiplicatore deve effettuare N moltiplicazioni ogni 1/(Mf c ) secondi, anche se solo N/M di queste potranno dare risultato non nullo. Anche in questo caso, però, si può arrivare ad una implementazione efficiente. Basta osservare, per analogia a quanto visto in precedenza, che se N u(m) = h(k)y(m k) k=0 ponendo k = pm q ed m = hm l si ottiene cioé u(hm l) = N/M 1 p=0 u l (h) = M 1 q=0 M 1 q=0 h(pm q)y([h p] M l q) N/M 1 p=0 h q (p)y l q (h p) dove si è fatto ricorso alle sequenze sottocampionate polifase. Poiché y(m) è il risultato dell inserimento di M 1 zeri tra ogni coppia di campioni contigui e per lei vale la (7.1.1), è evidente che solo la sequenza y 0 (m) = x(m) non è uniformemente nulla. Ne segue che u l (h) = N 1 p=0 h l (p)x(h p), con l = 0,, N 1 Le u j (h) sono le sequenze sottocampionate con tutte le possibili fasi temporali della sequenza di uscita u(m). Utilizzando la tecnica esposta nel paragrafo 7.1.1, si può ricostruire la sequenza del segnale correttamente interpolato, effettuando solo le operazioni indispensabili. La figura riporta lo schema a blocchi completo dell implementazione polifase dell interpolatore Banchi di filtri polifase Negli schemi di interpolazione e decimazione della sezione precedente si è considerato l uso di un filtro passa-basso: tutti i discorsi rimangono validi anche se il filtro è passa-banda. In particolare, vale la pena di ricordare che un filtro passa-basso può essere

131 7.3. BANCHI DI FILTRI POLIFASE 131 x(n) h (n) 0 1 M v(m) z 1 h (n) 1 1 M z 1 h (n) 2 1 M Figura Schema a blocchi dell implementazione polifase di un interpolatore. trasformato in uno passa-banda, a patto di moltiplicarne la risposta all impulso per una sinusoide. In particolare, per le proprietà della trasformata di Fourier vale: se h(t) H(f) = H(f f ) h(t) exp (j2πf t) e, perciò, è possibile trasformare il filtro passa-basso con risposta all impulso h(n) in uno passa-banda, mediante moltiplicazione per una sinusoide (complessa) campionata. L implementazione polifase dovrà semplicemente utilizzare questa nuova risposta all impulso: (7.3.1) ( h(n) exp j2π f ) n = f c ( h 0 (m) = h(mm) exp h 1 (m) = h(mm 1) exp ) j2π f f c mm h M 1 (m) = h(mm M 1) exp ( j2π f f c [mm 1] ) ( ) j2π f f c [mm M 1] In particolare, se f = kf c /M le risposte all impulso sottocampionate diventano h 0 (m) = h(mm) h 1 (m) = h(mm 1) exp ( ) j2π k M h M 1 (m) = h(mm M 1) exp ( j2π k [M 1]) M ( ) poiché exp j2π f f c mm = exp (j2πkm) = 1. Questo vuol dire che i filtri da utilizzare nella struttura polifase rimangono gli stessi, a meno di un fattore moltiplicativo che cambia al cambiare del ramo parallelo in cui è inserito. Con riferimento allo spostamento della funzione di trasferimento del filtro a cavallo della frequenza kf c /M, la struttura del sottocampionatore polifase va modificata nel modo indicato in figura 7.3.1, dove il pedice k indica il multiplo di f c /M su cui è centrata la funzione di trasferimento del filtro. In formule v k (m) = M 1 q=0 ( v q (m) exp j2π kq ) M

132 SISTEMI MULTI-RATE x(n) z 1 z 1 z 1 M 1 M 1 M 1 h (m) 0 h (m) 1 h (m) 2 e j 2π k M e j 2π 2k M k v (m) Figura Schema a blocchi dell implementazione polifase di un decimatore passa-banda. che altro non è che la fromula della DFT inversa dove l ingresso è il vettore con gli M elementi v q e l uscita è v k. Al variare di k si possono ottenere uscite diverse, ma solo finché 0 k M 1. Oltre tale valore si riottengono valori già ottenuti: v lmk = v k. Si possono ottenere tutte queste uscite contemporaneamente con il sistema schematizzato in figura 7.3.2, che è detto banco di filtri polifase. x(n) z 1 z 1 z 1 M 1 M 1 M 1 h (m) 0 h (m) 1 h (m) 2 (I)DFT 0 v (m) v 1 (m) 2 v (m) Figura Filtri polifase: banco di analisi. Considerazioni del tutto analoghe valgono quando ci si trovi nella necessità di ricampionare a frequenza più alta un segnale passa-banda. Anche in questo caso il filtro interpolatore dovrà essere passa-banda e anche in questo caso lo si potrà ottenere traslando in frequenza la funzione di trasferimento di un filtro passa-basso. Se il segnale sottocampionato era allocato in una banda centrata attorno alla frequenza kf c /M, analogamente a quanto visto per il decimatore, per l interpolatore si può usare la struttura mostrata in figura 7.3.3, che è quella di figura opportunamente modificata con l inserzione di pesi esponenziali diversi in ogni ramo. Per analogia a quanto fatto in precedenza, con x k (n) si è indicata una sequenza di ingresso costituita dai campioni di un segnale passa-banda con banda centrata alla frequenza kf c /M. Ancora una volta bisogna osservare che i pesi esponenziali corrispondono a quelli di una (I)DFT. Se un segnale è stato suddiviso, ad esempio mediante un banco di filtri e sottocampionatori come quello di figura 7.3.2, in tanti segnali corrispondenti alle sue diverse componenti in frequenza, per ricostruire il segnale originario è necessario riportare ogni componente nella sua banda mediante sovracampionamento ed opportuno filtraggio passa-banda. I diversi contributi spettrali, opportunamente interpolati, vanno poi sommati.

133 7.4. BANCHI DI FILTRI QMF 133 k x (n) h 0 (m) 1 M v(m) e j 2π k M h (m) 1 1 M z 1 e j 2π 2k M h (m) 2 1 M z 1 Figura Interpolatore polifase passa-banda. Una struttura che permette di implementare efficientemente tutto ciò, che si può chiamare banco di sintesi, è schematizzata in figura ed è banalmente ottenibile dalla struttura di figura 7.3.3, una volta che si sia osservato che in essa compaiono solo blocchi lineari. 0 x (n) h 0 (m) 1 M v(m) x 1 (n) x 2 (n) (I)DFT h (m) 1 h (m) 2 1 M 1 M z 1 z 1 Figura Filtri polifase: banco di sintesi Banchi di filtri QMF I banchi di filtri polifase, di analisi e di sintesi, non solo l unico modo per scomporre un segnale nelle sue componenti spettrali. Un altra tecnica molto utilizzata sono i banchi di filtri quadrature mirror (QMF) in cui la banda del segnale viene divisa in due sottobande uguali, speculari. La figura mostra la struttura del banco di analisi che divide il segnale in ingresso x(n) nelle sue componenti x b (m) passa-basso ed x a (m) passa-alto. Il sottocampionamento di un fattore 2 fa si che il costo per descrivere il segnale, in termini di campioni per unità di tempo, rimanga lo stesso. Visto il successivo sottocampionamento, è evidente che i due filtri dovranno suddividere la banda di Nyquist del segnale x(n) per quanto possibile in due metà. Se H B (f) è il filtro passa-basso, H A (f) dovrà essere passa-alto. La figura esemplifica le due possibili funzioni di trasferimento. Una volta assegnato il filtro passa-basso con frequenza di taglio f c /4, trasformarlo in un filtro passa-alto con la stessa frequenza di taglio è semplice: basta traslare la funzione di trasferimento di f c /2, con la solita moltiplicazione della risposta

134 SISTEMI MULTI-RATE x(n) H (f) B 2 1 x (m) B H (f) A 2 1 x (m) A Figura Banco di filtri QMF: banco di analisi. all impulso per i campioni di una sinusoide complessa di tale frequenza: ( H A (f) = H B (f f c /2) = h A (n) = h B (n) exp j2π f ) c n = h B (n) ( 1) n 2 f c H (f) B H (f) A f /2 4 f /2 2 Figura Filtri QMF. Una volta scomposto un segnale nelle sue componenti, è necessario poterle ricomporre nel segnale complessivo. Lo schema di un banco di interpolazione che possa invertire l operazione del banco di figura è riportato in figura x (m) B 1 2 G (f) B u(n) x (m) A 1 2 G (f) A f /2 c f c f c Figura Banco di filtri QMF: banco di analisi. È importante che, mettendo il banco di sintesi in cascata al banco di analisi, si possa ricostruire il segnale originario, tutt al più con qualche campione di ritardo. Questa condizione si traduce in vincoli da rispettare quando si progettano i filtri di analisi e di sintesi. Con riferimento alla figura, utilizzando la pulsazione normalizzata Ω = 2πf/f c, si può scrivere: U (Ω) = [X (Ω) H B (Ω) X (Ω π) H B (Ω π)] G B (Ω)

135 7.4. BANCHI DI FILTRI QMF 135 x(n) H (f) B 2 1 x (m) B 1 2 G (f) B u(n) H (f) A 2 1 x (m) A 1 2 G (f) A f c f c f /2 f c c Figura Banco di sintesi in cascata al banco di analisi: u(n) = x(n k). [X (Ω) H A (Ω) X (Ω π) H A (Ω π)] G A (Ω) = X (Ω) exp ( jkω) Per la ricostruzione del segnale x(n) sarà necessario che vengano cancellati i termini di alias proporzionali a X (Ω π): H B (Ω π) G B (Ω) H A (Ω π) G A (Ω) = 0 e che ciò che rimane riproduca x(n), tutt al più con qualce colpo di clock di ritardo: H B (Ω) G B (Ω) H A (Ω) G A (Ω) = exp ( jkω) Imponendo che il filtro passa-alto sia una versione quadrature-mirror del corrispondente filtro passa-basso: H A (Ω) = H B (Ω π) e che il filtro passa-basso del banco di sintesi sia identico a quello del banco di analisi, le condizioni precedenti diventano: e H B (Ω π) H B (Ω) H B (Ω) G A (Ω) = 0 = G A (Ω) = H B (Ω π) = G B (Ω π) (7.4.1) H 2 B (Ω) H 2 B (Ω π) = exp ( jkω) Tutto il progetto si riduce, con queste posizioni tutt altro che obbligatorie (esistono altri metodi che portano a banchi di analisi e sintesi trasparenti ), al progetto del filtro H B (Ω). Queste condizioni possono essere soddisfatte esattamente solo dai più semplice filtro FIR: H B (Ω) = 1 [1 exp ( jω)]. Infatti, in questo caso H 2 B (Ω π) = 1 [1 exp ( jω)]. 2 La (7.4.1) è verificata. Infatti: [ ( exp j Ω ) cos 2 ( Ω 2 f c )] 2 [ ( j exp j Ω ) sin 2 ( )] 2 Ω = exp ( jω) 2

136

137 CAPITOLO 8 Stima spettrale 8.1. Introduzione In molte applicazioni è fondamentale poter stimare la densità spettrale di potenza di un processo. Si tratta di realizzare un analizzatore di spettro numerico. È nota una realizzazione del processo e, naturalmente, si ipotizza il processo stazionario ed ergodico, altrimenti non sarebbe possibile sperare di estrarre alcun parametro medio statistico. Se la realizzazione viene passata attraverso un filtro passa banda centrato attorno ad una frequenza f, un misuratore di potenza posto alla sua uscita misurerà la potenza che il segnale aveva allocata nella banda passante B del filtro, centrata attorno ad f. Per ottenere una stima della densità spettrale della potenza del processo è necessario considerare una struttura con più filtri passa banda le cui funzioni di trasferimento siano l una adiacente all altra (f i = f i 1 B). B f 1 B f 2 Figura Analizzatore con banco di filtri. All uscita i si avrà una stima della densità spettrale alla frequenza f i. Ci sono due tipi di problemi: uno è la risoluzione in frequenza. Si supponga di avere due sinusoidi di frequenze f 1 ed f 2. Per risoluzione in frequenza di un sistema di misura si intende il valore minimo della distanza f 2 f 1 = f alla quale il sistema (l analizzatore di spettro) riesce ancora a distinguere due termini spettrali come distinti. Questo dipenderà, ovviamente, dalla larghezza di banda del filtro. Un secondo problema nasce dalla stima della densità spettrale di un processo casuale. All uscita dei filtri si ottengono, infatti, processi casuali; l obiettivo è quello di stimare la loro varianza, cioè ottenere delle misure ripulite da tutte le fluttuazioni statistiche. Quello che si può fare è effettuare una media in un intervallo temporale sempre più grande, per mediare il massimo numero di misure statisticamente indipendenti ed ottenere una 137

138 STIMA SPETTRALE varianza della media che sia minima. Il problema è di stabilire per quanto tempo mediare, cioè quante misure ripetute effettuare per ridurre la varianza al di sotto del limite richiesto. Qual è la distanza temporale oltre la quale due misure si possono ragionevolmente ritenere statisticamente indipendenti? È ovvio che si tratta di fare delle misure che siano tra loro più distanti della durata della risposta all impulso del filtro. B f Figura Funzione di trasferimento del generico filtro del banco. Se la funzione di trasferimento del filtro fosse quella di figura 8.1.2, la risposta all impulso del filtro sarebbe [ ] sin (πbt) sin πbt Re exp (j2πf o t) = cos ω o t πbt πbt Quello che determina l intervallo temporale all intorno del quale il filtro effettua una media (si ricordi che filtrare equivale a fare una media mobile) è l apertura del lobo del sin (πbt) /πbt e, quindi, dipende dalla banda B del filtro. Di conseguenza, per ottenere la sostanziale incorrelazione di misure successive basta attendere T 1/B: poiché per avere la richiesta risoluzione in frequenza quello che conta è la banda, il parametro fondamentale è la durata temporale dell osservazione. Per avere maggiore risoluzione in frequenza è necessario avere filtri più stretti, con risposte all impulso più lunghe. Di conseguenza il segnale deve essere disponibile per un periodo di tempo maggiore perché per ridurre le fluttuazioni statistiche è necessario mediare misure ripetute. Questo implica che l intervallo temporale, nel quale deve essere disponibile il segnale per avere una data risoluzione in frequenza, deve essere moltiplicato per un fattore sufficientemente elevato in modo da ridurre sufficientemente la varianza della stima Il periodogramma Un banco di filtri si può realizzare utilizzando la DFT: la figura ne riporta lo schema a blocchi. Se si indicano con X k le uscite del blocco DFT e si considera che ad ogni nuovo campione che arriva nel registro risulteranno immagazzinati gli ultini N campioni, da x (n) ad x (n N 1), sarà: (8.2.1) X 0 (n) = N 1 l=0 x(n l) e X k (n) = N 1 l=0 f ( x(n l) exp j2π lk ) N La sequenza x è una sequenza di N campioni estratta da una sequenza più lunga, eventualmente di lunghezza indefinita. La sequenza X 0 (n) dei coefficienti trasformati di indice zero

139 8.2. IL PERIODOGRAMMA 139 x(n) DFT 1 Σ N x 2 1 Σ N x 2 ^ h (1) x ^ h (0) x Figura Banco di filtri implementato con la DFT. delle DFT dei successivi blocchi di N campioni rappresenta il risultato di un operazione di filtraggio della sequenza di ingresso: (8.2.2) y(n) = N 1 m=0 x(n m) La sequenza y(n) è interpretabile come il risultato del filtraggio della sequenza di ingresso N Figura Filtro corrispondente ad X 0 (n). x (n) con un filtro con la risposta all impulso rappresentata in figura 8.2.2, cui corrisponde la funzione di trasferimento: H 0 (f) = N 1 n=0 exp ( j2πfnt ) = sin (πnt f) sin (πt f) exp ( jπf [N 1] T ) riportata in figura 8.2.3: è chiaro che, a meno delle code, l operazione effettuata è interpretabile come un filtraggio passa basso. Quanto detto vale se si considera il coefficiente trasformato di indice zero della DFT (X 0 ). Se si prende la sequenza dei campioni in uscita dal coefficiente di indice 1 della DFT,

140 STIMA SPETTRALE 1 NT 1 T Figura Funzioni di trasferimento H k (f) corrispondenti alle uscite X k (n). si ottiene la sequenza (8.2.3) y 1 (n) = N 1 m=0 x(n m) exp( j2πm/n) che corrisponde alla convoluzione del segnale in ingresso x (n) con una risposta all impulso di N campioni non più tutti unitari, ma di valore pari al campionamento, a passo 1/f c, di una sinusoide complessa di frequenza f c /N. Poiché la nuova risposta all impulso risulta pari a quella precedente, ma moltiplicata per una sinusoide complessa di frequenza f c /N, la sua risposta in frequenza sarà la stessa, ma traslata in frequenza di f c /N. Ne risulta non più un filtraggio passa-basso, ma passa banda centrato a questa frequenza. Discorso analogo vale per le uscite dai coefficienti trasformati di posizione 2, 3, ecc: alla fine si ottengono N sequenze, tutte campionate a frequenza f c, che corrispondono al filtraggio rispettivamente passa basso, passa banda centrato a frequenza f c /N, passa banda centrato a frequenza 2f c /N,..., della sequenza di ingresso. Poiché si è ridotta la banda del segnale in ingresso di un fattore N (approssimativamente), è possibile sottocampionare le uscite di un fattore N, ricalcolandole solo dopo che tutte le N posizioni del registro a scorrimento all ingresso abbiano ricevuto nuovi campioni. In questo modo si ottiene un banco di filtri le cui risposte all impulso sono costituite da sinusoidi complesse di frequenze multiple della frequenza fondamentale f c /N, campionate a passo 1/f c e finestrate su una durata temporale pari a N/f c. Il sottocampionamento garantisce che il sistema non inserisca dipendenza statistica tra le successive uscite dallo stesso filtro (il valore di ogni campione in uscita non dipende da nessuno degli N campioni che hanno determinato il valore del campione precedente). In cascata ad ogni uscita bisognerà porre uno stimatore di valore quadratico medio, che implementi l operazione seguente: 1 N N y l (k) 2 k=1

141 8.2. IL PERIODOGRAMMA 141 Si suppone il processo a valor medio nullo, in modo da poter equiparare valore quadratico medio a varianza. Il metodo appena descritto è detto metodo del periodogramma. Si considera un pezzo di una realizzazione del processo, ottenendo così un segnale di durata limitata e ad energia finita, lo si trasforma secondo Fourier e calcolando il modulo al quadrato della trasformata si ottiene la sua densità spettrale di energia. Mediando sulla durata dell osservazione si può passare (con i noti motivi di cautela) alla densità di potenza. È noto che la stima di un parametro statistico di una sequenza è tanto migliore quanto maggiore è il numero di campioni considerati. Si può allora pensare di considerare un numero maggiore di campioni anche per la stima della densità spettrale di potenza di un processo, calcolando la trasformata di Fourier di un blocco quanto più lungo possibile. Così facendo, però, non si ha nessun guadagno, in quanto i campioni in più non vengono usati per mediare una stessa misura ripetuta più volte, ma semplicemente vanno ad allungare il vettore di cui si effettua la trasformata di Fourier. Anche il numero dei campioni della stima della densità spettrale sarà aumentato della stessa quantità, per cui, in definitiva, non si è avuto alcun vantaggio. Il modo per ridurre la fluttuazione statistica della stima è quello di ottenere delle misure ripetute statisticamente indipendenti e di mediarle. All aumentare della durata temporale della finestra di osservazione si ottiene una maggiore risoluzione spettrale, ma ogni singola misura resterà inattendibile dal punto di vista statistico. Piuttosto che considerare una sequenza lunga il doppio, per esempio 2N, è preferibile considerarne due lunghe N ed ottenere due stime distinte ed indipendenti (fanno riferimento a misure diverse e temporalmente disgiunte dello stesso processo). A pari risoluzione spettrale si ottengono due misure indipendenti: se se ne fa la media la varianza della stima dimezza. Dati N campioni della realizzazione di un processo, è necessario stabilire quanto si vuole "spendere" per la risoluzione spettrale e quanto per la riduzione delle fluttuazioni statistiche della misura. In funzione di questa scelta è necessario decidere la risoluzione spettrale, cioè la lunghezza di ogni blocco. In base al numero di spezzoni uguali che si ottengono si può poi valutare di quale fattore si può ridurre la fluttutazione statistica della misura. A questo modo di procedere non c è alternativa. La durata limitata di osservazione ha un altra conseguenza. Con riferimento alla figura 8.2.1, si vorrebbe che se in ingresso ci fosse una sinusoide la cui frequenza è compresa nella banda di uno dei filtri, solo il misuratore all uscita di quel filtro rilevasse un valore non nullo. In realtà non è così perché le risposte all impulso dei filtri implementati dalla DFT sono delle sinusoidi complesse (eventualmente di frequenza nulla) campionate e finestrate su N campioni. Le corrispondenti funzioni di trasferimento sono dei seni cardinali periodicizzati con distanza tra gli zeri pari all inverso della lunghezza della finestra. La figura rappresenta le funzioni di trasferimento di alcuni canali adiacenti (ad esempio centrati a frequenze 0, 1/NT, 2/NT, ). È evidente che il risultato auspicato si ottiene solo se la sinusoide in ingresso ha frequenza esattamente multipla di 1/N T (sinusoide 1 in figura 8.2.4). In tutti gli altri casi (sinusoide 2 in figura 8.2.4) tutti i filtri daranno uscite non nulle, suggerendo la conclusione erronea che il segnale in ingresso ha la sua potenza concentrata a frequenza

142 STIMA SPETTRALE k/nt (con un opportuno valore di k), ma una parte della sua potenza è distribuita su tutto l intervallo di frequenza! Questo evidenzia un "travaso" (in inglese leakage) di potenza stimata da una banda alle bande vicine. 1 2 f 3/NT 2/NT 1/NT 0 1/NT 2/NT 3/NT Figura Funzioni di trasferimento di alcuni dei filtri implementati con la struttura di figura A questo problema si può parzialmente rispondere modificando le risposte all impulso dei filtri. L uso di una finestra rettangolare porta a risposte all impulso che sono sinusoidi troncate. Si potrebbero usare finestre che degradano con gradualità a zero agli estremi (ad esempio finestre a coseno rialzato). In questo modo le risposte all impulso sarebbero ancora delle sinusoidi, ma la cui ampiezza va a zero con gradualità: le corrispondenti funzioni di trasferimento avrebbero ancora andamenti simili a quelli raffigurati in figura 8.2.4, ma con code molto più piccole che garantiscono un leakage più basso. Naturalmente, come già osservato nel capitolo sul progetto di filtri FIR con il metodo delle finestre, code più basse implicano un lobo principale più largo che, in questo caso, significa minore risoluzione spettrale. Il modo di procedere, quindi, è il seguente: data una sequenza di campioni, per ridurre le fluttuazioni statistiche è necessario mediare, cioè fare misure ripetute e poi mediare. Per effettuare tali misure ripetute è necessario suddividere la sequenza di campioni disponibili in più blocchi, per ogni pezzo ottenuto calcolare il modulo al quadrato della trasformata di Fourier e poi mediare. Per ridurre il leakage spettrale si possono usano finestre che vanno a zero con più gradualità. In questo modo, però, non si utilizza tutta l informazione a disposizione, in quanto ci si trova nella situazione raffigurata in figura 8.2.5(finestre a coseno rialzato). Figura Finestre a coseno rialzato. I dati negli intervalli temporali in corrispondenza dei quali le finestre hanno valore molto piccolo influiscono poco sulla misura effettuata e, quindi, non vengono praticamente t

143 8.3. METODO INDIRETTO E METODO DI BLACKMAN-TUKEY 143 utilizzati ai fini della riduzione delle fluttuazioni statistiche. Quello che si fa è prevedere un parziale overlap tra i blocchi, in modo che i campioni che non entrano a determinare una misura possano entrare a determinare la misura adiacente. t Figura Finestre parzialmente sovrapposte. In questo modo si sfrutta al massimo tutta l informazione presente nella sequenza dei dati, fermo restando il concetto che è possibile guadagnare in risoluzione spettrale pagando con una minore riduzione delle fluttuazioni statistiche. Questo metodo è detto WOSA (Window Overlapping Spectral Analysis) Metodo indiretto e metodo di Blackman-Tukey La stima della densità spettrale di potenza di un processo si può affrontare diversamente. Sempre supponendo che il processo sia stazionario, si può prima valutarne la funzione di autocorrelazione (8.3.1) R xx (τ) = E [x(t)x(t τ)] per poi calcolarne la trasformata di Fourier, poiché è noto che h x (f) = F [R xx (τ)]. Siccome non si ha la possibilità di accedere ad infinite realizzazioni, in modo da calcolare la media statistica, è necessario ipotizzare il processo ergodico oltre che stazionario. Questa ipotesi consente di sostituire alla media statistica la media temporale, cioè il limite 1 (8.3.2) lim T 2T T T x(t)x(t τ)dt Se il processo è ergodico, quando T tende ad infinito, la media temporale (8.3.2) tende con probabilità 1 alla media di insieme (8.3.1). Nel discreto l autocorrelazione può essere definita come: 1 R xx (k) = lim N N N x(j)x(j k) Vale R xx (k) = R xx (τ = kt ). Per poter ottenere una buona stima della funzione di autocorrelazione di un processo (o di correlazione mutua tra più processi) sarebbe necessario avere a disposizione una sequenza di campioni di una realizzazione del processo la cui lunghezza tenda all infinito, e questo ovviamente non è possibile. Avendo necessariamente una sequenza di lunghezza finita, non j=1

144 STIMA SPETTRALE si può pensare di ottenere una stima con varianza nulla. Si approssima, allora, la funzione di autocorrelazione, utilizzando i campioni a disposizione, con: ˆR xx (k) = 1 x(j)x(j k) N j Per N, ˆR xx (k) R xx (kt ) e, [ quindi, lo ] stimatore è consistente, ma questo stimatore è tuttavia polarizzato, in quanto E ˆRxx (k) = (N k) /N R xx (k): esso fornisce risultato massimo per k = 0, sommando N termini significativi, ma per k > 0 il numero di termini significativi che si mediano va man mano diminuendo. Si noti, quindi, che per alti valori di k, l autocorrelazione assume valore basso indipendentemente dalle proprietà del segnale, dato che si effettua la somma di N k termini e poi si divide per N. Si potrebbe porre (8.3.3) ˆRxx (k) = 1 N k N x(j)x(j k) ma, pur avendo rimosso la polarizzazione, il vantaggio ottenuto è illusorio, dato che la varianza della stima ˆR xx (k) aumenta all aumentare di k. Ottenuti in questo modo i campioni della funzione di autocorrelazione, si può usare la trasformata di Fourier per ottenere la densità spettrale di potenza. Si possono naturalmente usare tutti i campioni a disposizione per calcolare un unica stima ˆR xx (k) e, quindi, un unica trasformata di Fourier. In questo modo si ottiene la massima risoluzione in frequenza, pagandola però con la massima varianza della stima ottenuta, perché il tutto equivale ad utilizzare il metodo del periodogramma in cui tutti i dati disponibili si utilizzano per ottenere una sola DFT. Infatti lo stimatore (8.3.3) richiede il calcolo della correlazione con se stesso del blocco di dati. Si è visto che la DFT è un modo per calcolare la convoluzione circolare di due blocchi di dati. Siccome la correlazione si può considerare come la convoluzione con una sequenza ribaltata nel tempo, per calcolare la correlazione tra due sequenze basta moltiplicare la trasformata della prima per la complessa coniugata (si considerano sequenze reali) della trasformata della seconda. Per evitare i problemi legati alla periodicizzazione temporale implicata dall uso della DFT basta allungare il blocco di dati con N zeri. Quindi, per ottenere la stima della trasformata dell autocorrelazione, basta aggiungere altrettanti zeri alla sequenza di dati, calcolarne la DFT e infine farne il modulo quadro. L unica differenza con il metodo del periodogramma consiste nell aggiunta degli zeri, ma questo corrisponde solo ad ottenere lo spettro di energia campionato con passo dimezzato. Che la varianza della stima sia alta si giustifica anche con l osservare che i campioni di ˆRxx (k) che vengono inviati ad un unica DFT sono in parte buoni (quelli per k 0), ma in parte molto rumorosi (quelli per k N). Per ottenere una stima meno rumorosa della densità spettrale di potenza si devono utilizzare solo i campioni migliori di ˆR xx (k), cioè quelli di indice basso. Questa operazione si configura come una finestratura della j=1

145 8.4. STIMA SPETTRALE PARAMETRICA 145 autocorrelazione prima della trasformata. Poiché si considera un blocco più corto di ˆR xx è ovvio che la risoluzione spettrale della stima di densità spettrale di potenza sarà ridotta. Si ritrova, come ovvio, la necessità di un compromesso tra risoluzione spettrale e rumorosità della stima che richiede un attento dimensionamento della lunghezza della finestra da applicare ai dati. In questo caso, però, la finestra va applicata all autocorrelazione stimata prima del calcolo di una DFT che dovrebbe fornire direttamente la richiesta densità spettrale di potenza stimata, senza il calcolo del modulo al quadrato previsto dal metodo del periodogramma. Questo fatto può produrre risultati assurdi, se la finestra non viene scelta opportunamente. Il risultato finale è la convoluzione tra la trasformata dell autocorrelazione stimata e la trasformata della finestra. Se quest ultima assume valori positivi e negativi non è possibile escludere che, per qualche frequenza, il risultato della convoluzione possa essere negativo, fatto difficilmente giustificabile per una densità spettrale di potenza che può essere nulla, ma mai negativa! La finestra da applicare all autocorrelazione stimata deve avere trasformata sempre positiva: la finestra triangolare è una di queste (il triangolo può essere visto come la correlazione di due rettangoli e, quindi, la sua trasformata è il quadrato della trasformata di un rettangolo). Il metodo che stima l autocorrelazione, la finestra con una finestra triangolare e poi ne calcola la DFT va sotto il nome di metodo di Blackman-Tukey, dal nome di coloro che per primi l hanno proposto. Sia il metodo del periodogramma, sia quello di Blackman-Tukey producono una regolarizzazione della densità spettrale stimata a spese di una riduzione della risoluzione spettrale Stima spettrale parametrica Si è dunque visto che la risoluzione in frequenza è pari all inverso della durata temporale della finestra di osservazione. Per avere un alta risoluzione in frequenza è necessario osservare il processo per un tempo molto lungo. Questo modo di procedere non è sempre la cosa migliore da fare. Si consideri il classico esempio dell orologiaio che deve regolare un orologio: a lui interessa misurare al meglio che può e nel più breve tempo possibile la frequenza di oscillazione: con i metodi fin qui visti, per avere una precisione di misura adeguata sarebbero necessari tempi di osservazione lunghissimi. Ma il fatto è che non importa sapere qual è il livello di potenza in tutte le bande in cui si suddivide l intervallo (0, 1/T ), ma, semplicemente, interessa sapere qual è la frequenza della sinusoide che si sta misurando. Il sapere che si ha per le mani una sinusoide costituisce una informazione a priori importantissima: per descriverla compiutamente bastano i 3 parametri frequenza, ampiezza e fase. Naturalmente questo non significa che basta fare tre misure e risolvere un sistema di tre equazioni in tre incognite, essendo ognuna delle misure sicuramente affetta da errore e potendo quindi fornire risultati errati. Basta, però, effettuare un numero di misure congruamente superiore e determinare i valori dei tre parametri tali che lo scostamento quadratico medio tra il

146 STIMA SPETTRALE comportamento predetto dal modello ed il comportamento riscontrato in pratica sia minimo. In questo modo si riesce, sempre con un numero di osservazioni limitato, a stimare, con una precisione molto alta, la frequenza della sinusoide senza attendere un tempo pari all inverso della precisione in frequenza richiesta alla misura. Si apre qui il capitolo degli algoritmi di super-risoluzione. I metodi visti fino ad ora consideravano i dati in modo acritico, senza porsi il problema di conoscere il modello fisico del processo corrispondente alla realizzazione considerata; in modo altrettanto acritico si cercava di determinare la distribuzione spettrale della potenza del processo. Nel caso della sinusoide è stato possibile ottenere una risoluzione ben più alta di quella che compete ad una durata di osservazione molto limitata. Esiste una grossa differenza tra questi due modi di procedere perché in un caso non si fa nessuna ipotesi sul processo che ha generato i dati, mentre nell altro caso si ipotizza di conoscere il sistema che ha generato i dati, salvo pochi parametri che lo identificano in modo completo. Quindi, in realtà, non si tratta di super-risoluzione, ma semplicemente dell uso, oltre alle misure effettuate, di informazione ulteriore (informazione a priori), ovvero conoscenze che esulano dalle misure effettive e che permettono di conoscere almeno la famiglia dei sistemi alla quale appartiene il sistema in considerazione. È evidente che la correttezza della stima effettuata dipende in modo critico dall esattezza delle ipotesi di partenza. Un modello che ha dato risultati positivi è quello illustrato in figura, in cui si considera del rumore bianco in ingresso a un filtro. w(n) H(f) x(n) Figura Sistema per modellare la densità spettrale di un processo. Sia x(n) il segnale di cui si vuole stimare la densità spettrale. Se si riesce a dare del sistema una schematizzazione come in figura 8.4.1, il problema della stima della densità spettrale di x(n) si riduce alla determinazione della funzione di trasferimento del filtro. Infatti, la densità spettrale del segnale all uscita di un filtro è pari alla densità spettrale del segnale in ingresso per il modulo al quadrato della funzione di traferimento del filtro. Nel nostro caso la densità spettrale del segnale in ingresso (rumore bianco) è costante e, quindi, per identificare il modello del sistema basta conoscere il modulo al quadrato della funzione di trasferimento. In questo modo otteniamo una stima a precisione teoricamente infinita della densità spettrale del processo generato dal sistema. Nei limiti in cui il modello è calzante, queste procedure risultano enormemente vantaggiose perché non è necessario descrivere la funzione di trasferimento del filtro con un numero infinito di coefficienti. Nel caso fossero necessari un gran numero di coefficienti, è meglio usare i metodi già visti del periodogramma o di Blackman-Tukey. Una volta identificato il modello, è possibile valutare la densità spettrale e, antitrasformando, la funzione di autocorrelazione R xx (k) non più in un intervallo limitato, ma per ogni k. Questo tipo di stima parametrica si può quindi considerare come un insieme di procedure che consentono di fare delle ipotesi sull andamento della funzione di autocorrelazione su tutto l asse temporale, pur avendo potuto effettuarne una stima solo per un

147 8.5. MODELLO MA 147 intervallo limitato. Una procedura si distingue dall altra in base alle ipotesi che si fanno circa l andamento della funzione di autocorrelazione prima e dopo l intervallo temporale di osservazione. I modelli che si usano per il filtro sono i seguenti: Modello MA (Moving Average o a finestra mobile) Modello AR (AutoRegressivo) Modello ARMA(Autoregressivo a finestra mobile) Nel caso di modello MA il filtro è un filtro FIR a soli zeri; nel modello AR è un filtro IIR a soli poli; nel modello ARMA è un filtro genericamente con poli e zeri. È ovvio che il modello che fornisce un maggior grado di libertà è il modello ARMA; d altra parte esso, avendo bisogno di identificare separatamente sia una parte FIR, sia una parte IIR, pone maggiori problemi di identificazione. Normalmente i modelli più usati sono MA e AR, con una prevalenza del modello AR. Tale modello, infatti, come si vedrà tra breve, comporta la soluzione di un sistema di equazioni lineari, al contrario del modello MA che richiede la soluzione di equazioni non lineari. Oltre a ciò il modello AR ipotizza per il sistema una funzione a tutti poli, che è una funzione che può descrivere il comportamento di una struttura riverberante Modello MA Si consideri il modella MA. Tale modello ipotizza una funzione di trasferimento con soli zeri, cioè ipotizza per il processo che genera la sequenza di uscita x(n) (che è la sequenza che deve approssimare quella reale, almeno in termini di densità spettrale di potenza) quanto segue N x(n) = w(n j)h(j) j=0 dove h è la risposta all impulso del filtro e w è la sequenza di ingresso. Avendo a che fare con un filtro FIR, la risposta all impulso del filtro sarà di durata limitata. Quello che si deve fare è arrivare a stimare la funzione di autocorrelazione o la densità spettrale di potenza in modo che i dati disponibili vengano onorati: si deve supporre di conoscere un certo numero di campioni della funzione di autocorrelazione R xx (k). Si può esprimere la funzione di autocorrelazione in funzione del modello e, quindi, imporre che, per i valori dei ritardi che corrispondono ai campioni disponibili, i valori di h siano tali da far corrispondere il risultato del modello col risultato sperimentale. La funzione di autocorrelazione del processo all uscita del filtro vale: [ E [x(n)x(n k)] = E h(j)w(n j) ] h(l)w(n k l) = j l = j,l h(j)h(l) E [w(n j)w(n k l)] E [w(n j)w(n k l)] rappresenta i campioni della funzione di autocorrelazione del processo w all ingresso del filtro. Per ipotesi, ovvero per il modello che si è ipotizzato, tale

148 STIMA SPETTRALE processo è bianco con funzione di autocorrelazione impulsiva pari a R ww (k) = σ 2 δ(k). Essa sarà non nulla solo per n j = n k l, cioè per j = k l. Segue allora E [x(n)x(n k)] = σ 2 j h(j)h(j k) cioè (8.5.1) R xx (k) = σ 2 j h(j)h(j k) Per poter identificare il modello basta avere un numero di campioni della funzione di autocorrelazione R xx (k) che consentano il calcolo dei coefficienti del filtro FIR. Una volta ottenuti i coefficienti del filtro, è possibile il calcolo esatto della densità spettrale o della funzione di autocorrelazione del processo in esame. Si noti che nella derivazione effettuata si è supposto di conoscere dei valori della funzione di autocorrelazione; in realtà si avranno a disposizione delle stime. I vari modi di implementare questo tipo di stima spettrale si differenziano in base alla procedura con la quale si ottengono, dai dati sperimentali, le stime dei campioni della funzione di autocorrelazione. La (8.5.1) si può esprimere utilizzando la trasformata zeta, visto che è presente una correlazione tra due repliche della risposta all impulso del filtro: (8.5.2) H(z)H ( z 1) = 1 σ 2 R xx(z) La (8.5.2) è una forma quadratica, per cui se a è una sua soluzione lo è anche 1/a. Ne consegue che la soluzione del sistema nella (8.5.1) non è unica, dato che è possibile decidere quali zeri prendere all interno e quali all esterno del cerchio unitario. Ognuna di queste soluzioni è del tutto equivalente dal punto di vista del modulo della funzione di trasferimento; quello che cambia è la fase. La soluzione che considera tutti gli zeri all interno del cerchio di raggio unitario fornisce la funzione di trasferimento a fase minima. Oltre questa soluzione, tutte le altre hanno la stessa possibilità di portare a definire una identica densità spettrale di potenza del processo di uscita: c è una certa indeterminazione nella soluzione. La funzione di autocorrelazione viene ipotizzata nulla fuori dell intervallo considerato. Infatti, il processo in ingresso ha, per ipotesi, funzione di autocorrelazione impulsiva: questo significa che la correlazione tra campioni successivi o campioni ancora più distanti è zero. Il filtro crea la sequenza in uscita semplicemente facendo una media pesata degli ultimi N campioni della sequenza di ingresso e, quindi, stabilisce una correlazione tra campioni vicini. Trattandosi di un filtro FIR, per distanze maggiori di N passi di campionamento (N è la lunghezza della risposta all impulso) anche la sequenza di uscita avrà correlazione nulla. Si ha cioè che r x (k) 0 solo per k N, dove assume i valori da noi imposti. Riassumendo, il modello MA ipotizza per la funzione di autocorrelazione del processo un andamento diverso da zero nell intervallo considerato e nullo altrove. Ne deriva che questa stima parametrica è molto simile alla stima di Blackman Tukey, dato che quest ultima, ricordiamo, effettua la DFT della funzione di autocorrelazione finestrata, ipotizzandola quindi nulla al di fuori della finestra considerata.

149 8.6. MODELLO AR Modello AR In questo caso il filtro è IIR a soli poli, con funzione di trasferimento del tipo H(z) = b o 1 N i=1 a(i)z i La trasformata della sequenza di uscita sarà legata alla trasformata zeta della sequenza di ingresso dalla relazione o equivalentemente X(z) = b o 1 W (z) N i=1 a(i)z i (8.6.1) x(n) = a(i)x(n i) b o w(n) ovvero il campione n-esimo della sequenza di uscita è dato da una media pesata degli n campioni precedenti della stessa sequenza di uscita, cui si somma il campione corrente dell ingresso, opportunamente pesato. Al solito bisogna fare in modo che il modello onori i dati, cioè che i campioni a disposizione della funzione di autocorrelazione del processo, per quanto rumorosi, vengano rispettati dal modello in uso. Si tratta, anche qui, di impostare un sistema di equazioni che garantisca quanto detto: [( ) ] R xx (k) = E [x(n)x(n k)] = E a(i)x(n i) b o w(n) x(n k) = i = i a(i)e [x(n i)x(n k)] b o E [w(n)x(n k)] È ovvio che la complessità del modello non può essere superiore al numero di campioni disponibili della funzione di autocorrelazione. Si ha E [x(n i)x(n k)] = R xx (k i). Inoltre E [w(n)x(n k)] = 0 k > 0 il campione n-esimo dell ingresso non ha ancora influenzato l uscita 0 k = 0 in virtù della (8.6.1) Si ottiene: R xx (k) = i a(i)r x (k i) b o σ 2 δ(k) Se si salta il termine per k = 0 si ottiengono le seguenti equazioni (equazioni di Yule Walker) a(i)r xx (k i) = R xx (k), k = 1,, N i

150 STIMA SPETTRALE che, scritta in forma matriciale, diventa R xx (0) R xx (1) R xx (N 2) R xx (N 1) R xx (0) R xx (N 3) R xx (N 2)..... R xx (0) R xx (1) R xx (1) R xx (0) a 1 a 2. a N 1 a N = R xx (1) R xx (2). R xx (N 1) R xx (N) dove si è utilizzata la relazione R xx ( k) = R xx (k), che è sicuramente verificata con gli stimatori della funzione di autocorrelazione considerati. La matrice dei coefficienti è una matrice di TOEPLITZ, cioè è tale da avere valori uguali sulle diagonali. Essendo dotata di questa particolare simmetria, permette l uso di metodi iterativi di soluzione del sistema. Anche in questo caso bisogna valutare i campioni della funzione di autocorrelazione e identificare i parametri del filtro in base ad essi Modello ARMA La funzione di trasferimento avrà un certo numero di zeri e un certo numero di poli; il filtro può essere considerato come cascata di un filtro a soli zeri e un filtro a soli poli. L identificazione delle due parti è possibile perché la parte MA può essere eliminata considerando campioni della funzione di autocorrelazione con ritardi sufficientemente lunghi, in modo da andare al di la della lunghezza all impulso del filtro FIR (si ricordi che per il modello MA R xx (k) 0 per k N). Quindi, a patto di considerare ritardi tali da eliminare la parte MA, è possibile usare la stessa procedura già vista per identificare la parte AR. Ciò fatto, si torna a ritardi più bassi per identificare la rimanente parte MA. Il problema di questo modello risiede nel fatto di dover usare ritardi più grandi per stimare la parte AR e nel dover ricavare dai dati l ordine effettivo sia del numeratore, sia del denominatore della funzione di trasferimento Predizione lineare Con riferimento al modello utilizzato nella stima spettrale parametrica, ogni campione di w(n) è incorrelato con quelli che lo precedono e lo seguono, per cui, fino alla statistica del secondo ordine, conoscere il passato non serve per predire il futuro. Non altrettanto si può dire per i campioni di x(n), in quanto il filtro, che possiede una sua memoria più o meno limitata, ha stabilito un legame tra campioni successivi della sequenza. Ne consegue che si può usare la conoscenza del passato per predire il futuro, cercando di stimare il campione successivo mediante una opportuna funzione dei campioni precedenti. Un caso particolare è quello in cui la predizione si ottiene mediante una combinazione lineare, con coefficienti opportuni, degli ultimi campioni: N (8.8.1) ˆx N (n) = a N (k)x(n k) k=1 I coefficienti a N (k) possono essere calcolati in modo da minimizzare una funzione costo, che nel nostro caso sarà, ovviamente, l errore quadratico medio. Se, cioè, e(n) è pari alla

151 8.8. PREDIZIONE LINEARE 151 differenza tra l n-esimo campione della sequenza x(n) e la sua stima ˆx(n) e(n) = x(n) ˆx(n) come misura della bontà della stima ˆx(n) si userà la quantità E [e 2 (n)]. x(n) filtro predittore x(n) ^ e(n) Figura Predizione ed errore di predizione. A questo punto il problema è determinare gli N coefficienti a N (k) affinché l uscita del filtro costituisca la migliore stima, in termini di errore quadratico medio, del campione successivo. Indichiamo con a N (k), con 1 k N, i coefficienti del predittore di complessità N. È intuitivo che se c è memoria, aumentare la complessità può servire per migliorare il risultato. Questo naturalmente fino ad "esaurire" la memoria del sistema: è inutile inserire nella stima campioni incorrelati con il campione da predire, che non possono in alcun modo modificare l errore quadratico medio della stima. Vediamo come valutare gli a N (k). Si ha { } 2 N e 2 N(n) = x(n) a N (k)x(n k) La quantità da minimizzare è, quindi, { E = E [ e 2 N(n) ] = E Per valutare a N (k) basta porre E a N (j) = 0, k=1 x(n) } 2 N a N (k)x(n k) k=1 j = 1,, N Si ottiene così un sistema di N equazioni in N incognite. Effettuando la derivata si ottiene [ { }] N (8.8.2) E x(n j) x(n) a N (k)x(n k) = 0, j = 1,, N e, quindi, E [x(n j)x(n)] k=1 N a N (k) E [x(n j)x(n k)] = 0, k=1 j = 1,, N

152 STIMA SPETTRALE Ma Si ottiene allora E [x(n j)x(n)] = R xx (j) e E [x(n j)x(n k)] = R xx (j k) R xx (j) = N a N (k)r xx (j k) j = 1,, N k=1 equazioni di Wiener-Hopf Questo sistema permette di calcolare i coefficienti a N (k) del filtro che fornisce la predizione lineare ottima. Si noti che le equazioni di Wiener-Hopf sono identiche alle già viste equazioni di Yule-Walker, relative all identificazione dei coefficienti del filtro recursivo che, piazzato tra la sorgente bianca ed il processo colorato in considerazione, permette di identificare il modello AR. I due insiemi di equazioni coincidono esattamente solo se l ordine N del filtro predittivo coincide con l ordine N AR del modello autoregressivo del processo, cioè se N = N AR (in teoria anche N N AR potrebbe produrre lo stesso filtro). L obiettivo del progetto del filtro predittore è quello di minimizzare lo scostamento rispetto al valore atteso (che è nullo) degli errori di predizione. Tale minimizzazione viene effettuata utilizzando la somiglianza (statistica) esistente tra valori contigui della sequenza x(n). In altre parole, si mette in piedi un processo di predizione solo perché c è correlazione tra i campioni. Fare una predizione significa estrarre dal passato tutta l informazione possibile per predire il futuro. Una volta sottratta la predizione, la sequenza dell errore di predizione deve essere costituita da campioni incorrelati perché se ci fosse correlazione residua si potrebbe mettere in piedi una ulteriore procedura di predizione. In altri termini, la ricerca di un predittore più lungo (e, quindi, più efficace) ha termine quando l errore di predizione è costituito da una sequenza di campioni incorrelati, ovvero è un processo spettralmente bianco. Il filtro che lega l errore di predizione alla sequenza da predire può essere considerato anche come filtro sbiancante ottimo, cioè come quel filtro che, data una sequenza di campioni tra loro correlati, fornisce in uscita la sequenza più bianca possibile, limitatamente al fatto che si vuole usare un filtro FIR e che la sua risposta all impulso è costituita da N 1 campioni. Naturalmente l operazione di sbiancamento per mezzo di un filtro con risposta all impulso costituita da N 1 campioni funziona completamente solo se il processo all ingresso di detto filtro è un processo autoregressivo di ordine N. Se il processo non è puramente autoregressivo, la predizione lineare considerata non può portare ad avere una funzione di trasferimento costante tra A e B in figura 8.8.2, con un numero finito di coefficienti. w(n) A Σ 1 a(i) z i x(n) Σa(i) z i w(n) B Figura Filtro sbiancante FIR in cascata al filtro IIR del modello AR.

153 8.8. PREDIZIONE LINEARE 153 L unico caso in cui si arriva ad ottenere errore di predizione sempre nullo è quello in cui il processo in ingresso è costituito dalla sovrapposizione di sinusoidi, ma in tal caso si è in presenza di un segnale deterministico. Interpretiamo in altro modo la procedura per la determinazione dei coefficienti a N (k). La condizione che bisogna rispettare per garantire che il valore quadratico medio dell errore di predizione sia minimo è data dalla (8.8.2). Tale relazione può essere interpretata dicendo che deve essere nulla l aspettazione del prodotto tra i dati e l errore di predizione o che l errore di predizione deve essere ortogonale ai dati. Generalmente diremo che due processi x(n) e y(n) sono ortogonali se E [x(n)y(n)] = 0. Il principio appena esposto va sotto il nome di principio di ortogonalità della predizione lineare. A questo punto si tratta di calcolare il valore che l errore quadratico medio assume quando si usa il predittore ottimo. Sia P Nmin il valore minimo dell errore di predizione. Si ha P Nmin = E [{x(n) ˆx(n)} {x(n) ˆx(n)}] Per quanto detto E [ˆx(n) {x(n) ˆx(n)}] = 0 e quindi P Nmin = E [x(n) {x(n) ˆx(n)}] Quanto appena scritto può sembrare in contrasto con quanto affermato riguardo all ortogonalità tra la predizione e i dati. Si noti però che i dati sono gli N campioni precedenti della sequenza e che x(n) non rientra tra di essi, essendo il valore che bisogna predire. In altre parole, il valore corrente non è disponibile ai fini della predizione. Si ha allora [ ] N P Nmin = E [x(n)x(n)] E x(n) a N (k)x(n k) = = R xx (0) k=1 N a N (k)r xx (k) k=1 A questo punto si tratta di risolvere questo sistema di N equazioni in N incognite, supposti noti i campioni della funzione di autocorrelazione del processo. La procedura descritta non è la migliore, perché richiede un numero di moltiplicazioni proporzionali ad N 3. Si preferisce usare l algoritmo di Levinson, che porta allo stesso risultato con un numero di moltiplicazioni proporzionale ad N 2. Nel discorso che ha portato al filtro predittore ottimo, cioè al filtro che porta ad una predizione che, in termini di errore quadratico medio, è la migliore che si può ottenere con un predittore con N coefficienti, si è semplicemente tenuto conto della somiglianza tra i campioni dello stesso processo presi a distanza k. In altre parole abbiamo considerato i campioni della funzione di autocorrelazione R xx (k) = E [x(n)x(n k)] Nulla cambia se si considerano anticipi o ritardi, cioè R xx (k) = R xx ( k): quello che conta è solo la distanza tra i campioni. Si è già detto che si possono considerare filtri di predizione di complessità diversa. Si può considerare un filtro di predizione di ordine 1 (quindi costituito da un solo campione)

154 STIMA SPETTRALE in cui la predizione è data semplicemente dal campione precedente, moltiplicato per una costante a 1 (1). Oppure si può considerare un filtro di predizione di complessità 2: la predizione è costituita, in questo caso, da una media degli ultimi due campioni pesati con i coefficienti a 2 (1) e a 2 (2). Il discorso può procedere fino al filtro di complessità N. a 1 (1) a 2 (1) a 2 (2) a N (1) a N (2) a N (N) La procedura che useremo consente di arrivare al filtro predittivo di complessità desiderata passando attraverso una serie di calcoli che permettono, contemporaneamente, di calcolare tutti i filtri predittivi di ordine inferiore, a partire da quello di ordine 1. Con questa procedura iterativa, se si riesce a determinare il filtro predittivo di ordine 1, si riesce ad arrivare al filtro predittivo di complessità voluta. Nel caso di filtro di ordine 1, l errore di predizione è semplicemente e 1 (n) = x(n) a 1 (1) x(n 1) Per quanto detto, tale errore deve essere ortogonale ai dati, cioè deve essere E [{x(n) a 1 (1) x(n 1)} x(n 1)] = 0 Si ricava quindi immediatamente il valore di a 1 (1), che è il coefficiente di pesatura del campione precedente x(n 1) che fornisce la stima lineare ottima di complessità 1. Si ha cioè E [x(n)x(n 1)] a 1 (1) = = R xx(1) E [x 2 (n 1)] R xx (0) Naturalmente si suppone nota la statistica fino al secondo ordine, cioè la funzione di autocorrelazione, del processo casuale che si vuole predire. Vediamo qual è la procedura per passare ai filtri predittivi di complessità superiore. In generale, per predire il valore del campione all istante n con un filtro di complessità N, si prendono gli N campioni precedenti, si pesano opportunamente, e si determina così una stima del campione successivo. { N n ^x(n) Figura Errore di predizione in avanti. Resta così determinato un errore di predizione in avanti (forward) relativo al predittore di ordine N e f N (n) = x(n) ˆx(n) Visto che implicitamente stiamo considerando un processo stazionario, almeno in senso lato, si può pensare di procedere in altro modo. In virtù della stazionarietà, gli N campioni

155 8.8. PREDIZIONE LINEARE 155 usati per la stima del campione x(n) possono essere usati anche per la stima del campione che precede il blocco di N, cioè x(n N 1). x(n N 1) ^ {N n N 1 n Figura Errore di predizione all indietro. La procedura di predizione, infatti, si basa semplicemente sulla somiglianza esistente tra i campioni della sequenza presi a distanza via via crescente. Ne consegue che, se le ipotesi sono verificate, cioè se il processo è stazionario in senso lato, possiamo effettuare con la stessa procedura la predizione lineare ottima del campione che precede, così come potevamo farlo del campione seguente. La differenza sostanziale sta nel fatto che questa volta possiamo valutare la bontà della stima, nel senso che, mentre se facciamo la predizione del campione successivo non possiamo valutare l errore di stima se non in termini statistici, quando facciamo la predizione all indietro, il campione è disponibile e si può misurare un errore relativo alla predizione di ordine N a ritroso, relativo al campione di indice n N 1 (si noti che questa quantità è calcolabile solo all istante n 1): e b N(n) = x(n N 1) ˆx(n N 1) Se il processo fosse esattamente autoregressivo di ordine N, il predittore lineare ottimo di complessità N avrebbe già considerato tutta l informazione possibile della sequenza e le sequenze degli errori di predizione avrebbero campioni incorrelati. L errore di predizione a ritroso sarebbe quindi anche incorrelato con il campione corrente. Infatti il campione che precede il blocco di predizione sarebbe incorrelato perché si troverebbe a distanza maggiore della massima memoria del sistema che è N. Se, però, il predittore ha memoria più corta di quella del processo, non può aver estratto tutta l informazione presente nei dati e la sua predizione non può fornire un errore completamente bianco. L errore di predizione a ritroso rappresenta quanto era presente nella memoria del sistema e che il predittore non è riuscito a predire. Questa stessa quantità può essere usata per migliorare la predizione. Si supponga di aver determinato i coefficienti del filtro di predizione a N (k). Si ha, facendo una stima a ritroso N (8.8.3) ˆx N (n N 1) = a N (k)x(n N 1 k) k=1 Con una predizione in avanti, invece, si è già ottenuto (8.8.4) ˆx N (n) = N a N (k)x(n k) k=1

156 STIMA SPETTRALE Posto b N (k) = a N (N 1 k), possiamo porre la (8.8.3) nella forma della (8.8.4): ˆx(n N 1) = N b N (k)x(n k) k=1 L errore di predizione a ritroso rappresenta l innovazione, cioè quello che non era già incluso nella predizione. Un modo per affinare la predizione è aggiungere tale errore, opportunamente pesato, alla stima precedentemente ottenuta: (8.8.5) ˆx N1 (n) = ˆx N (n) c N1 e b N(n) Questo significa praticamente includere nella predizione il campione x(n N 1). Tale campione non può essere direttamente inserito: non è infatti possibile pensare che gli a N (k) restino invariati con l introduzione di un nuovo campione e che basti semplicemente considerare un nuovo coefficiente nel filtro che tenga conto di tale campione. Dall ulteriore campione sottraiamo ciò che di lui è già presente (in termini di correlazione) negli N già usati; quello che rimane è "il di più" che si può sfruttare per migliorare la predizione. Si tratta di determinare il valore di c N1. Si usa la stessa procedura già vista, minimizzando il valore quadratico medio dell errore di predizione in avanti. L errore di predizione in avanti è (8.8.6) e f N1 (n) = x(n) ˆx N(n) c N1 e b N(n) = e f N (n) c N1e b N(n) Il valore cercato di c N1 deve essere tale che Si ha allora c N1 E Da cui si ottiene c N1 = c N1 E [ ( e f N1 (n) ) 2 ] = 0 [ ( ) ] 2 [( ) ] e f N1 (n) = 2E e f N (n) c N1e b N(n) e b N(n) ] E [e fn [ (n)ebn (n) (e ] = b E N (n)) 2 E ] E [e fn (n)ebn (n) [ ( ) ] 2 [ (e ] e f N (n) b E N (n)) 2 In base all ultima scrittura, basata sulla stazionarietà del processo e dell errore di predizione, questo coefficiente può essere interpretato come il coefficiente di correlazione mutua tra l errore di predizione in avanti e l errore di predizione all indietro di indice N. Si parla anche di coefficiente di correlazione parziale, in quanto misura la correlazione esistente tra gli errori di predizione dopo aver eliminato le dipendenze tra il campione che segue e quello che precede gli N campioni del blocco di predizione: perciò si indica con l acronimo PARCOR. Il coefficiente c N1 viene anche chiamato, per motivi che appariranno chiari in seguito, coefficiente di riflessione.

157 8.8. PREDIZIONE LINEARE 157 Dalla (8.8.5) è possibile valutare come cambiano i coefficienti del filtro di ordine N, una volta aggiunto un ulteriore termine. Si può cioè vedere come passare da a N (k) a a N1 (k). Si ha N e b N(n) = x(n N 1) ˆx(n N 1) = x(n N 1) b N (k)x(n k) Sostituendo nella (8.8.5) si ha N (8.8.7) ˆx N1 (n) = a N (k)x(n k) c N1 [x(n N 1) k=1 k=1 ] N b N (k)x(n k) La (8.8.7) si può ancora scrivere N ˆx N1 (n) = [a N (k) c N1 b N (k)] x(n k) c N1 x(n N 1) k=1 Noti i coefficienti del filtro predittore in avanti a N (k) (e quelli del filtro predittore all indietro b N (k)) e noto il coefficiente di riflessione di ordine N 1, si può passare dai coefficienti del filtro predittore di ordine N ai coefficienti del filtro predittore di ordine N 1. Si ha infatti a N1 (k) = a N (k) c N1 b N (k) = a N (k) c N1 a N (N 1 k) (8.8.8) a N1 (N 1) = c N1 Quanto appena visto permette di costruire una procedura iterativa tramite la quale, supposte note le proprietà statistiche del processo in considerazione, è possibile valutare facilmente il filtro di predizione di ordine N. Valutiamo, prima di procedere, cosa succede dell errore di predizione all aumentare dell ordine della predizione, calcoliamo cioè il valore quadratico medio dell errore di predizione di ordine N 1 (potenza minima dell errore di predizione di ordine N 1). Dalla (8.8.6) si ricava: [ ( ) ] [ 2 ( ) ] 2 P minn1 = E e f N1 (n) = E e f N (n) c N1e b N(n) = = E k=1 [ ( ) ] 2 [ (e e f N (n) c 2 b N1E N(n) ) ] [ ] 2 2c N1 E e f N (n)eb N(n) Dal momento che si è ipotizzato di avere già ottimizzato il valore del coefficiente di riflessione per elevare di una unità l ordine del predittore, si ha che [ ] [ (e E e f N (n)eb b N(n) = c N1 E N(n) ) ] 2 e quindi P minn1 = E [ ( e f N (n) ) 2 ] c 2 N1E [ (e b N(n) ) 2 ]

158 STIMA SPETTRALE D altra parte, per la supposta stazionarietà del processo, sono uguali le proprietà statistiche dell errore in avanti e dell errore a ritroso. Si ha perciò (8.8.9) P minn1 = ( 1 c 2 N1) pminn p minn L ultima disuguaglianza segue dal fatto che è naturalmente 0 c N1 1 essendo c N1 il coefficiente di correlazione normalizzato tra errore in avanti ed errore all indietro. Resta così dimostrato che aumentando l ordine del predittore si riduce il valore quadratico medio dell errore di predizione o, al limite, lo si lascia inalterato. Si noti che la potenza dell errore di predizione minimo dovuto ad un predittore di ordine N può essere legata alla funzione di autocorrelazione del processo per mezzo della (8.8.9). Tale potenza è infatti legata per mezzo della (8.8.9) alla potenza dell errore di predizione di un predittore di ordine inferiore, la quale, a sua volta, è legata alla potenza dell errore di predizione di un predittore di un ordine ancora inferiore e così via, fino a giungere alla potenza dell errore di predizione di un predittore di ordine zero che è R xx (0). Ci si aspetta che, all aumentare dell ordine della predizione l errore di predizione diminuisca fino ad annullarsi o, almeno, a restare costante (una volta sbiancata la sequenza). Questo sarebbe vero se fosse nota con esattezza la correlazione tra errore di predizione in avanti ed errore di predizione all indietro. In realtà queste quantità saranno note con una certa approssimazione e, quindi, la potenza dell errore di predizione non potrà mai mantenersi rigorosamente costante. La procedura avrà quindi termine quando le variazioni risultano piccole rispetto all incremento di complessità del filtro in uso. Vediamo ora in figura una struttura implementativa di quanto visto finora. uno schema a blocchi della struttura di cui si è parlato. x(n) z 1 f x(n)=e 0(n) f x(n) c 1 x(n 1)=e (n) 1 f e 2(n) c1 c2 z 1 b b b x(n 1)=e 0 (n) x(n 2) c x(n 1)=e e 2 (n1) 1 (n) 1 Figura Struttura iterativa di predittore di ordine qualsiasi. La predizione di ordine zero vale 0 e, perciò gli errori di predizione di ordine 0 valgono rispettivamente e f 0(n) = x(n) e e b 0(n) = x(n 1). Da questi due si può valutare il coefficiente c 1, con il quale si può ricavare il predittore di ordine 1. Gli errori di predizione di ordine uno sono: e f 1(n) = x(n) c 1 x(n 1) e b 1(n) = x(n 2) c 1 x(n 1) Il primo dei due è presente all uscita del sommatore del ramo superiore, mentre all uscita del sommatore del ramo inferiore è presente x(n 1) c 1 x(n), cioè e b 1(n 1). Per ottenere e b 1(n) serve un ritardo di un campione. Dagli errori di predizione di ordine 1 si può calcolare c 2 e così via. Essendo la procedura iterativa, per ottenere l errore di predizione in avanti e a ritroso, dovuto ad un predittore di ordine N, basta mettere in cascata N celle simili,

159 8.8. PREDIZIONE LINEARE 159 ottenendo così una struttura di filtro a traliccio non recursivo e avendo in uscita dall Nesima cella e f N (n) ed eb N (n 1). In questo modo si parte dalla sequenza colorata x(n) in ingresso per arrivare ad errori di predizione sempre più sbiancati in uscita dalle successive celle, sempre che il processo in ingresso sia un processo autoregressivo di ordine N. Il modo di realizzare il filtro predittivo (o sbiancatore) che risponda a tutte le equazioni di progetto può essere descritto con una struttura di filtro a traliccio come quella in figura Il filtro sbiancatore deve avere una funzione di trasferimento pari all inversa della funzione di trasferimento del filtro a soli poli del modello AR. Come sia realizzato questo filtro FIR ha poca importanza, ai fini dello sbiancamento. Evidentemente la struttura a traliccio è molto più efficiente. Le formule (8.8.8) della recursione di Levinson, peraltro, consentono facilmente di passare dai coeffienti di riflessione c i ai campioni a N (i) della risposta all impulso Interpretazione geometrica. In geometria, in presenza di un insieme di vettori all interno di uno uno spazio vettoriale N-dimensionale, la procedura di Gram-Schmidt permette di individuare una base ortogonale. Si prende un primo vettore V 1 e se ne assume la direzione come prima direzione coordinata, individuata dal versore u 1 = V 1 / V, 1 con V1 lunghezza del vettore V1. L operatore che consente di misurare la componente di un vettore lungo un versore è il prodotto scalare < V 1, u 1 >. Ne consegue che V 1 =< V1, V 1 / V 1 > e che V1 2 =< V1, V 1 >. Una volta individuata la prima coordinata, si prende un secondo vettore V 2 che non può essere assunto come nuova direzione coordinata in quanto non è detto che sia ortogonale ad u 1. Si calcola, allora, la componente di V 2 allineata con u 1 e la si sottrae a V 2, originando un vettore ortogonale ad u 1. Normalizzandolo a lunghezza unitaria si ottiene il versore u 2 della seconda direzione coordinata. Successivamente si prende il terzo vettore V 3, gli si sottraggono le componenti parallele ad u 1 ed u 2, si normalizza a lunghezza unitaria ciò che resta ottenendo u 3 e così via, finché non si esaurisce la dimensionalità dello spazio. Nel caso della predizione lineare, si consideri uno spazio vettoriale nel quale ognuno dei campioni rappresenta un elemento (vettore) ed individuiamone un sistema di riferimento ortogonale. Si parta considerando x(n 1): sarà proprio x(n 1) a determinare la prima coordinata. La direzione sarà individuata dal versore, cioè da x(n 1) normalizzato per la sua lunghezza. È necessario definire un prodotto scalare: si usa l aspettazione del prodotto tra due campioni, cioè < x (n), x (m) > E [x(n)x(m)]. La lunghezza di x(n 1) in tal modo vale E [ x (n 1) 2]. Il versore di x(n 1) sarà quindi u 1 = x(n 1)/ E ( x (n 1) 2). Il campione x (n) può essere rappresentato mediante la sua componente lungo u 1 più il resto: x (n) = E x (n) x (n 1) E ( x (n 1) 2) x(n 1) E ( x (n 1) 2)

160 STIMA SPETTRALE Ricordando la definizione di errore di predizione, si può scrivere: (8.8.10) x(n) = c 1 x(n 1) e f 1(n) con E [x(n)x(n 1)] c 1 = E [x(n 1) 2 ] Per identificare un nuovo versore u 2 sarà necessario prendere un nuovo elemento (vettore) x (n 2), bisognerà sottrargli la sua componente allineata con u 1 : x(n 2) E x (n 2) x (n 1) E ( x (n 1) 2) x (n 1) E ( x (n 1) 2) = x(n 2) c 1x(n 1) = e b 1 (n) e normalizzare ad 1, di modo che la nuova direzione coordinata è: u 2 = e b 1 (n) / E [ (e b 1 (n) ) 2 ]. Si è aumentata di una unità la dimensione dello spazio della predizione, altro modo di dire che si è passati ad una predizione di ordine 2. Adesso x (n) può essere rappresentato come la sua componente lungo u 1, più la sua componente lungo u 2 più il residuo di predizione; cioè x (n) =< x(n), u 1 > u 1 < e f 1(n), u 2 > u 2 (8.8.11) x(n) = c 1 x(n 1) c 2 e b 1(n) e f 2(n) con [ ] E e f 1(n)e b 1(n) c 2 = [ (e b E 1(n) ) ] 2 E così via considerando, nella predizione, campioni sempre più lontani, finché non si esaurisce la dimensionalità dello spazio, cioè la memoria del processo che ha generato il segnale. La procedura che ne risulta è la procedura di ortogonalizzazione di Gram-Schmidt applicata allo spazio vettoriale dei campioni del predittore. È chiaro, altresì, che ogni sezione del filtro a traliccio permette di calcolare nuove direzioni ortogonali e le componenti del campione da predire lungo di esse. Risulta allora chiaro perché sia possibile mettere semplicemente in cascata sezioni analoghe Metodo di Pisarenko In questo paragrafo, come ultimo esempio di stima spettrale parametrica, torniamo all esempio dell orologiaio: consideriamo il caso in cui si può supporre che il processo oggetto della stima sia costituito da sinusoidi di frequenze ignote, con del rumore sovrapposto. Si può cioè pensare che la sequenza x(n) sia costituita dalla sovrapposizione di tante sinusoidi di frequenza da determinare (e fin qui si ha un processo deterministico), con in più

161 8.9. METODO DI PISARENKO 161 del rumore w(n). Tale rumore, che nel caso considerato potrebbe rappresentare l imprecisione con cui si misurano i campioni del segnale, normalmente è supposto incorrelato col segnale e bianco (cioè è incorrelato con i campioni del segnale e i suoi stessi campioni sono incorrelati tra loro). Si ha quindi, N s (n) = A k cos (ω k nt θ k ) w (n) k=1 Vediamo come determinare le frequenze delle sinusoidi partendo da misure rumorose del segnale x(n). Il metodo, che va sotto il nome di metodo di Pisarenko cerca di determinare i valori di ω k e θ k che approssimano al meglio, in termini di errore quadratico medio, i dati. Consideriamo il caso banale in cui il segnale sia costituito da una sola sinusoide e, quindi, sia x(n) = sin (ωnt θ). Si può mostrare che il campione corrente può essere predetto esattamente dai due campioni precedenti. Ad esempio: sin (ωnt θ) = a 1 sin [ω (n 1) T θ] a 2 sin [ω (n 2) T θ] = = a 1 sin (ωnt θ) cos (ωt ) a 1 cos (ωnt θ) sin (ωt ) a 2 sin (ωnt θ) cos (ω2t ) a 2 cos (ωnt θ) sin (ω2t ) Affinché l uguaglianza sia verificata deve essere { a1 cos (ωt ) a 2 cos (ω2t ) = 1 a 1 sin (ωt ) a 2 sin (ω2t ) = 0 Dalla seconda si ricava a 2 = a 1 sin (ωt ) / sin (ω2t ) e, quindi, ricordando che sin (2α) = 2 sin (α) cos (α): sin (ωt ) a 2 = a 1 sin (ω2t ) = a cos (ωt ) a 1 [2 cos 2 (ωt ) cos (ω2t )] = 2 cos (ωt ) ed infine, poiché cos (2α) = cos 2 (α) sin 2 (α): { a1 = 2 cos (ωt ) a 2 = 1 Quindi nel caso banale di una sinusoide si possono identificare i coefficienti di pesatura dei due campioni precedenti per predire esattamente, dato che si tratta di un segnale deterministico, il campione successivo. Se indichiamo con x(n) i campioni della sinusoide, deve essere verificata la seguente relazione: x(n) 2 cos (ωt ) x(n 1) n(n 2) = 0 Il che vuol dire che la convoluzione con un filtro FIR con coefficienti 1, 2 cos (ωt ), 1 azzera tutti i campioni della sequenza. Ma questo era da attendersi, in quanto, come già visto, questo filtro ha due zeri complessi e coniugati esattamente sul cerchio unitario, in corrispondenza della pulsazione normalizzata ωt. In presenza di più sinusoidi il discorso si può generalizzare. Naturalmente per ogni sinusoide occorrono due ulteriori zeri e, quindi, altri due coefficienti.

162 STIMA SPETTRALE Se si considera un segnale x(n) somma di N sinusoidi, esso deve soddisfare una relazione del tipo (8.9.1) x (n) = (8.9.2) La (8.9.1) si può scrivere anche 2N k=0 Usando le trasformate zeta si ottiene 2N k=1 a (k) x (n k) a (k) x (n k) = 0 con a(0) = 1 A(z) X(z) = 0 essendo la (8.9.2) una convoluzione. Da questo punto di vista i coefficienti a(k) rappresentano i coefficienti del filtro FIR che, applicato alla sequenza x, produce una sequenza con tutti i campioni nulli. Tale filtro deve avere degli zeri esattamente sul cerchio unitario, alle frequenze delle sinusoidi contenute nella sequenza x(n). Per ogni sinusoide occorrono due zeri e, quindi, due ulteriori coefficienti di pesatura. Se l obiettivo è il calcolo delle frequenze delle sinusoidi presenti nel segnale, si determinano i coefficienti a(k) tali che la (8.9.2) o la (8.9.1) siano soddisfatte. Si cercano quindi le radici del polinomio A(z), trasformata zeta della sequenza a(k); tali radici forniscono le frequenze delle sinusoidi presenti nella sequenza di ingresso. Questa situazione è tuttavia del tutto ideale, non avendo tenuto conto del rumore. Il sistema di equazioni (8.9.2) si deve, infatti, scrivere 2N k=0 a (k) [s (n k) w (n k)] = 0 avendo posto x(n k) = s(n k) w(n k), con s(n k) sequenza dei campioni effettivamente disponibili e w(n k) sequenza degli errori di misura (rumore). Si ha: (8.9.3) 2N k=0 o, con notazione matriciale: dove a (k) s (n k) = 2N k=0 Sa = W a a (k) w (n k) s (n) s (n 1) s (n 2) s (n 2N) S = s (n 1) s (n) s (n 1) s (n 2N 1) e qualcosa di simile per W. La sequenza a secondo membro non è più una sequenza deterministica ma è casuale e, quindi, è necessario far ricorso a qualche metodo di media statistica per poter determinare

163 8.9. METODO DI PISARENKO 163 i parametri del sistema. È il caso di osservare che la (8.9.3) indica che il sistema che genera le sinusoidi più il rumore è un sistema ARMA con ugual numero di poli e zeri. Si effettuano misure in numero molto superiore alle incognite e poi si calcola la soluzione ai minimi quadrati. Supponendo di aver accesso alle medie di insieme, si può moltiplicare a sinistra ambo i membri per la trasposta di S e calcolare l aspettazione. Si ha (8.9.4) 2N k=1 a (k) E [s (n k) s (n j)] = Ma E [s(n k)s(n j)] = r ss (j k) e, inoltre, 2N k=1 a (k) E [w (n k) s (n j)] E [w (n k) s (n j)] = E [w (n k) (x (n j) w (n j))] = = E [w (n k) x (n j)] E [w (n k) w (n j)] Ricordando che si è supposto il rumore bianco e incorrelato col segnale, si ha E [x(n j) w(n k)] = 0 mentre E [w(n j)w(n k)] 0 solo se le sequenze sono sovrapposte. Si può scrivere E [w (n k) s (n j)] = σ 2 wδ (j k) e quindi la (8.9.4) diventa 2N k=1 a (k) r ss (j k) = 2N k=1 a (k) σ 2 wδ (j k) Con notazione matriciale, se la matrice R ss (di elementi r ss (j k)) è la matrice di autocorrelazione del processo s, si può scrivere cioè (8.9.5) R ss a = σ 2 wi a ( Rss σ 2 wi ) a = 0 Il vettore a raccoglie i coefficienti del filtro che dovrebbe stimare al meglio la sequenza di sinusoidi in considerazione, cioè del filtro che, applicato ad s(n), cancella i contributi degli x(n), lasciando sopravvivere il termine w(n). Questo filtro è ancora un filtro sbiancante. La (8.9.5) configura un classico problema di autovalori e autovettori: (8.9.6) (R ss λ i I) a i = 0 con l autovettore σ 2 w incognito, dato che non è nota la sequenza di rumore sovrapposta al segnale. I dati noti sono le misure e il modello del sistema che ha dato origine a tali misure. È possibile calcolare tutti gli autovettori della matrice R ss, ma rimane il problema di individuare σ 2 w. Poiché il modello ipotizza che il segnale sia costituito dalla somma di sinusoidi con sovrapposto un rumore bianco e incorrelato col segnale, il valore della varianza del rumore deve essere uno degli autovalori della matrice di autocorrelazione. Si ricordi che r ss (j k) = E [s (n k) s (n j)] = = E [(x (n k) w (n k)) (x (n j) w (n j))]

164 STIMA SPETTRALE In base a quanto detto si deduce che (8.9.7) R ss = R xx R ww = R xx σ 2 wi L ultima uguaglianza discende dal fatto che w è un processo bianco. Si ha, quindi, che anche R ss, come R xx, è una matrice simmetrica e gli autovalori sia di R ss che di R xx devono necessariamente essere tutti positivi o nulli. Sostituendo la (8.9.7) nella (8.9.6) si ottiene ( Rxx ( ) ) λ i σw 2 I ai = 0 Dal confronto tra la (8.9.6) e la (8.9.8) si deduce che gli autovalori di R ss e quelli di (8.9.8) R xx sono legati tra loro. Dovendo essere tutti in ogni caso positivi, è evidente che deve essere λ i σ 2 w 0 λ i σ 2 w e, quindi, sicuramente λ i > 0. Ne consegue che, pur non potendo lavorare direttamente sulla sequenza w, un modo per stimarne la varianza è quello di calcolare gli autovalori della matrice di autocorrelazione dei dati disponibili. L autovalore più piccolo costituirà una stima della varianza del rumore aggiunto: questo sarà vero se si è considerato un numero sufficiente di campioni, cioè almeno 2N1. L autovettore corrispondente all autovalore più piccolo costituirà una stima del vettore a dell equazione (8.9.5) e permetterà di stimare le incognite frequenze delle sinusoidi. Va tenuto presente, comunque, che quanto si ottiene è una stima, perché non si ha accesso alle aspettazioni, ma a medie temporali, e non si può essere sicuri che il rumore sia bianco e incorrelato coi dati. La validità dei risultati ottenuti dipende dalla maggiore o minore validità del modello.

165 CAPITOLO 9 Elaborazione di segnali 2D 9.1. Sistemi bidimensionali Non sempre i segnali e i sistemi che li generano o li elaborano si prestano ad essere descritti mediante l uso di funzioni monodimensionali. Un esempio di segnale monodimensionale è il segnale telefonico. Per quanto riguarda il segnale televisivo, esso viene descritto come segnale monodimensionale scandendo le righe dell immagine una di seguito all altra. Si deve tornare, però, ad una descrizione bidimensionale quando si voglia sfruttare la correlazione verticale esistente tra punti di righe diverse, per ottenere una descrizione migliore (più compatta) dell immagine. Quanto visto per i sistemi monodimensionali si può estendere ai sistemi bidimensionali. Naturalmente sarà necessario considerare funzioni di due variabili: se nel caso monodimensionale si è considerata come variabile tipica (t) il tempo (anche se poteva benissimo trattarsi di una lunghezza od altra grandezza), nel caso bidimensionale si considereranno variabili tipiche le coordinate (x, y) di un punto nel piano (anche se potrebbe trattarsi di un tempo ed una lunghezza o qualsiasi altra combinazione): f (t) f (x, y) Nel caso monodimensionale si è fatto largo uso della funzione impulsiva che è servita a dare una descrizione molto compatta dei sistemi lineari. Consideriamo ora la funzione f(x, y) = δ(x). Essa è una funzione a simmetria cilindrica in quanto il suo valore non dipende dalla variabile y. Si ha una discontinuità a muraglia. Naturalmente non è necessario che giaccia sull asse y o sull asse x (banalmente, per avere una muraglia allineata sull asse x, basta porre f(x, y) = δ(y)): essa può anche essere y x Figura Discontinuità a muraglia. 165

166 ELABORAZIONE DI SEGNALI 2D y x Figura Muraglia storta. "storta" e giacere su una qualunque curva nel piano x, y. In questo caso la discontinuità assume la forma f(x, y) = δ (a (x, y)), essendo la curva nel piano x, y descritta dall equazione a(x, y) = 0. Nell effettuare un cambiamento di variabili è sempre necessario tener conto dello jacobiano! Nel caso appena descritto, l area degli impulsi della muraglia non sarà costante in ogni punto della curva, ma sarà proporzionale alla seguente espressione 1 ( a ) 2 x ( ) 2 a y Si ricordi che nel caso monodimensionale la definizione di impulso è la seguente f (t) δ (t t o ) dt = f (t o ) Nel caso bidimensionale si avrà (9.1.1) f (x, y) δ (x x o, y y o ) dxdy = f (x o, y o ) essendo δ (x x o, y y o ) l impulso nel punto di coordinate (x o, y o ). Vediamo che relazione esiste tra δ(x, y) e δ (x). Si ha semplicemente che δ(x, y) = δ (x) δ (y) L impulso nell origine è dato dal prodotto tra due muraglie rispettivamente sull asse y e sull asse x. Infatti si ha f (x, y) δ (x x o ) δ (y y o ) dxdy = ( = ) f (x, y) δ (x x o ) dx δ (y y o ) dy = f (x o, y o )

167 9.1. SISTEMI BIDIMENSIONALI 167 δ(η,ζ) f(x,y) SISTEMA LINEARE h(x,y; η,ζ) g(x,y) Figura Sistema lineare bidimensionale. Si ottiene, cioé, lo stesso risultato della (9.1.1), potendo separare l integrazione rispetto a x da quella rispetto a y, e questo prova quanto affermato. Si è trovato così l effettivo equivalente bidimensionale dell impulso monodimensionale. Ricordiamo che nel caso monodimensionale l impulso è stato utile per la sua stessa definizione: qualunque funzione è descrivibile come successione di infiniti impulsi di area pari al valore che la funzione di partenza assume in corrispondenza di ciascun impulso. Il discorso è del tutto simile nel caso bidimensionale. La (9.1.1), che riscriviamo come segue f (η, ζ) δ (η x, ζ y) dηdζ = f (x, y) indica che è possibile considerare la funzione f (x, y) come sovrapposizione di impulsi opportunamente piazzati nel piano, di volume pari al valore che la funzione assume nel punto considerato. Il vantaggio di questa scomposizione sta nel fatto che, lavorando con sistemi lineari (in cui vale il principio di sovrapposizione degli effetti), nota la risposta del sistema ad un impulso dovunque piazzato, la risposta alla sollecitazione in ingresso è ottenibile come sovrapposizione della risposta ai singoli impulsi in cui l ingresso è stato scomposto. In altri termini, nota la risposta all impulso del sistema h (x, y; η, ζ), è possibile calcolare la risposta del sistema alla sollecitazione f(x, y), scomponendola in impulsi e sovrapponendo le risposte ai singoli impulsi. La risposta a f(x, y) è allora data da (9.1.2) g (x.y) = f (η, ζ) h (x, y; η, ζ) dηdζ Naturalmente la linearità del sistema garantisce semplicemente la possibilità di ricombinare le risposte ai singoli impulsi per ottenere l uscita; questo non implica, però, che la risposta del sistema sia la stessa qualunque sia la posizione dell impulso in ingresso. Questo è vero solo se il sistema è invariante: in questo caso la risposta del sistema non dipende da dove è posizionato l impulso e dove si misura l uscita, ma solo dalla distanza relativa. La risposta all impulso δ (η, ζ) è, cioé, del tipo h (x η, y ζ). L integrale della (9.1.2) diventa allora l integrale di convoluzione avendosi (9.1.3) g (x.y) = f (η, ζ) h (x η, y ζ) dηdζ Consideriamo una risposta all impulso con simmetria cilindrica, cioé del tipo h(x). L integrale di convoluzione diventa (9.1.4) g (x.y) = f (η, ζ) h (x η) dηdζ

168 ELABORAZIONE DI SEGNALI 2D É sempre necessaria una integrazione doppia, dato che h(x) è sempre una risposta impulsiva bidimensionale di un sistema bidimensionale. La (9.1.4) si può scrivere g (x.y) = ( h (x η) ) f (η, ζ) dζ dη Si mette cosi in evidenza che le variazioni con ζ dell ingresso non hanno effetto sull uscita: è solo il loro valor medio che interviene. La risposta del sistema (anch essa con simmetria cilindrica) è allora calcolabile come la risposta di un sistema intrinsecamente monodimesionale, con risposta all impulso pari ad una "fetta" della risposta all impulso bidimensionale, che agisce non sul segnale bidimensionale di partenza, ma sulla sua proiezione sull asse η, essendo la proiezione data da f (η, ζ) dζ Se la risposta all impulso bidimensionale è separabile, cioé se si può scrivere h (x.y) = h 1 (x) h 2 (y) l integrale di convoluzione nella (9.1.3) diventa semplicemente la cascata di due convoluzioni monodimensionali, una lungo x e l altra lungo y. Si ha cioé f (η, ζ) h 1 (x η) h 2 (y ζ) dηdζ = = ( h 1 (x η) ) f (η, ζ) h 2 (y ζ) dζ dη = = g (η, y) h 1 (x η) dη Si noti che la (9.1.4) non è che un caso particolare di quanto appena visto, potendosi scrivere h (η x) = h (η x) 1 Nel caso monodimensionale, per effettuare la convoluzione era necessario ribaltare la risposta all impulso, moltiplicarla punto a punto con la funzione in ingresso e integrare. Nel caso bidimensionale il discorso è perfettamente analogo. Se la risposta all impulso è definita nel dominio segnato in figura 9.1.4, bisogna ribaltarla rispetto ad y e ad x, come indicato in figura 9.1.5, moltiplicare punto a punto per la funzione e integrare bidimensionalmente. Il problema della convoluzione è che l uscita in una qualsiasi posizione è una media pesata degli ingressi in un intorno del punto, essendo il sistema dotato di memoria (se così non fosse la risposta all impulso sarebbe un puro impulso e l uscita si calcolerebbe moltiplicando l ingresso per una costante). La memoria del sistema crea problemi perché crea accoppiamento tra gli impulsi in cui abbiamo scomposto la funzione. Questo è conseguenza del fatto che sollecitando il sistema con un impulso, la risposta che se ne ricava non è un impulso ma è distribuita nello spazio (cioé l impulso non è una autofunzione del sistema).

169 9.1. SISTEMI BIDIMENSIONALI 169 y x Figura Dominio di definizione di h (x, y). y x Figura Dominio di definizione di h ( x, y). Se, invece, si considerano autofunzioni del sistema, cioé funzioni tali che l uscita è pari all ingresso a meno di un fattore moltiplicativo, eventualmente complesso, è possibile disaccoppiare le varie componenti. Alcune delle funzioni di cui si sta parlando sono semplicemente una generalizzazione al caso bidimensionale delle funzioni esponenziali complesse usate per la trasformata di Fourier monodimensionale e sono del tipo exp [j (k x x k y y)] Ancora una volta questa funzione è separabile, potendosi scrivere (9.1.5) exp (j (k x x k y y)) = exp (jk x x) exp (jk y y) Verifichiamo che funzioni del tipo (9.1.5) sono autofunzioni di un sistema lineare spazio invariante. Si ha infatti che l uscita è data da h (η, ζ) exp [j (k x (x η) k y (y ζ))] dηdζ = = exp [j (k x x k y y)] h (η, ζ) exp [ j (k x η k y ζ)] dηdζ = = exp [j (k x x k y y)] H (k x, k y ) Si ottiene quindi che in uscita si ha la stessa funzione di ingresso scalata per una costante, che altro non è che la trasformata bidimensionale della risposta all impulso bidimensionale del sistema. k x è il numero d onda (poiché si parte da x che ha dimensione m, k x ha dimensione m 1 e non s 1 come una pulsazione) che corrisponde alla variabile x e k y è il numero d onda che corrisponde alla variabile y.

170 ELABORAZIONE DI SEGNALI 2D Figura Assonometria della parte reale (o immaginaria) di exp [j (k x x k y y)]. k y K ψ k x Figura Rappresentazione polare di un esponenziale complesso bidimensionale nel piano k x, k y. Le funzioni (9.1.5) sono generalizzazioni delle sinusoidi monodimensionali e sono delle tettoie del tipo in figura Quella in figura è, ovviamente, la rappresentazione grafica della sola parte reale o immaginaria dell esponenziale complesso exp [j (k x x k y y)]. Consideriamo infatti Re {exp [j (k x x k y y)]} = cos (k x x k y y). Il valore del coseno resta costante se l argomento è costante, cioé se ovvero lungo rette di equazione k x x k y y = c (9.1.6) y = c (k y /k x ) x Si spiega così perché l oscillazione avvenga solo lungo una direzione, ottenendo una tettoia ondulata. Effettuando un taglio con un piano perpendicolare al piano x, y si ottiene una sinusoide, la cui periodicità varia in funzione dell angolo di taglio. Il numero d onda massimo si ha quando il piano con cui si effettua il taglio è perpendicolare alle rette (9.1.6), cioé in una direzione che forma con l asse x un angolo ψ pari a ψ = arctan (k x /k y ), e vale K = kx 2 ky. 2 La funzione exp [j (k x x k y y)] è rappresentata da un punto nel piano k x, k y. Le variabili derivate k x e k y rappresentano un modo alternativo di identificare tale punto. Ci sono altre situazioni in cui si scompone la funzione bidimensionale utilizzando delle funzioni base che non sono delle tettoie bidimensionali.

171 9.1. SISTEMI BIDIMENSIONALI 171 Si osservi che il nocciolo della trasformata di Fourier exp [j (k x x k y y)] è separabile e quindi è possibile effettuare la trasformazione come cascata di due trasformazioni monodimensionali. f (x, y) F x (k x, y) F xy (k x, k y ) Questo è molto utile, in quanto permette di usare le tecniche della trasformata monodimensionale, prima rispetto ad una variabile e poi rispetto all altra. Il tutto è legato esclusivamente alla separabilità del nocciolo della trasformazione. Tale separabilità è tuttavia vera solo in coordinate cartesiane. Infatti per rappresentare un punto in un piano si possono usare le coordinate cartesiane ortogonali x, y, ma si possono anche usare le coordinate polari (9.1.7) ρ = x 2 y 2 θ = arctan (y/x) Effettuando il cambiamento di variabili ed esprimendo la trasformata di Fourier bidimensionale in coordinate polari, le (9.1.7) si possono scrivere { x = ρ cos θ e analogamente si può scrivere { K = k 2 x k 2 y ψ = arctan (k x /k y ) y = ρ sin θ { kx = K cos ψ k y = K sin ψ Si ottiene allora H (K, ψ) = h (ρ, θ) exp [jkρ (cos θ cos ψ sin θ sin ψ) ρdρdθ] = h (ρ, θ) exp [jkρ cos (θ ψ)] ρdρdθ Come si vede, il nocciolo non è più separabile, per cui è effettivamente necessario il calcolo dell integrale doppio. Vediamo alcune proprietà della trasformata di Fourier bidimensionale: se f(x, y) F (k x, k y ), a : f( x, y) F ( k x, k y ) b : f( x, y) F ( k x, k y ) f (x, y) c : jk x F (k x, k y ) d : x f (x, y) y e : 2 f (x, y) x y jk y F (k x, k y ) k x k y F (k x, k y ) f : F (k x, k y ) k x jk x f (x, y) g : F (k x, k y ) k y jy f (x, y) h : f (x x o, y) exp (jk x x o ) F (k x, k y )

172 ELABORAZIONE DI SEGNALI 2D f(x,y) F(k x,k y) y k y x k x Figura Trasformata dell impulso 2D. i : f (x, y y o ) exp (jk y y o ) F (k x, k y ) l : f (x x o, y y o ) exp (jk x x o ) exp (jk y y o ) F (k x, k y ) m : Se f(x, y) è reale, F (k x, k y ) = F ( k x, k y ) Un ulteriore operazione, possibile nel caso bidimensionale, è la rotazione della funzione. Procediamo in coordinate polari. La rotazione della funzione porta da h (ρ, θ) a h (ρ, θ θ o ). Se ne segue n : h (ρ, θ θ o ) H (K, ψ ψ o ) h (ρ, θ) H (K, ψ) Si è già visto cosa si intenda per proiezione di una funzione. Vediamo ora se esiste qualche legame tra la trasformata di Fourier di una funzione bidimensionale e la trasformata di Fourier di una sua proiezione. Usiamo la formula della trasformata di Fourier in coordinate cartesiane (9.1.8) H (k x, k y ) = f (x, y) exp j (k x x k y y) dxdy Consideriamo per semplicità la proiezione sull asse x, rappresentabile da p (x) = f (x, y) dy Calcoliamo la trasformata di Fourier monodimensionale di p(x). (9.1.9) P (k x ) = { f (x, y) dy } exp (jk x x) dx = = f (x, y) exp (jk x x) dxdy = F (k x, 0) Confrontando la (9.1.9) con la (9.1.8) è evidente che la (9.1.9) non è altro che la (9.1.8) calcolata per k y = 0: la trasformata della proiezione di f(x, y) sull asse x è pari al valore che la trasformata di Fourier bidimensionale di f(x, y) assume sull asse k x. È immediato rendersi conto che quanto detto vale anche se si effettua la proiezione di f(x, y) lungo una direzione qualsiasi (in virtù della proprietà i).

173 9.1. SISTEMI BIDIMENSIONALI 173 f(x,y) y x Figura Funzione a muraglia allineata sull asse x. F x (k x,y) y k x Figura F xy(k x,k y) k y k x Figura Esempi di trasformate bidimensionali. Si consideri la trasformata dell impulso bidimensionale δ(x, y) = δ(x) δ(y). Per banale estensione del caso monodimensionale si ha che la trasformata dell impulso è un piano La trasformata della muraglia δ(y) lungo l asse x, si può calcolare sapendo che si può scrivere δ(y) = 1 δ(y) e separando poi l espressione. In questo modo si può effettuare separatamente prima la trasformazione in una direzione e poi lungo l altra direzione. Si ha Effettuando la trasformazione lungo x (x k x ) per ogni possibile valore di y, si ottiene un impulso, che è la trasformata della costante (muraglia) per y = 0. Trasformando ora secondo y (y k y ) per tutti i possibili valori di k x si ottiene La trasformata della muraglia sull asse x, δ(y), è una muraglia sull asse k y, δ (k x ). Naturalmente il discorso è perfettamente analogo trasformando prima lungo y e poi lungo x: si ottiene lo stesso risultato. Tale risultato è valido comunque sia orientata la muraglia nel piano: in virtù delle proprietà della trasformata di Fourier bidimensionale, anche la trasformata sarà ruotata dello stesso angolo, restando in direzione ortogonale a quella

174 ELABORAZIONE DI SEGNALI 2D 10 y x ky kx 3 Figura f(x,y) y b a b a x Figura della muraglia di partenza. Questo discorso si generalizza anche ad altre funzioni. La trasformata di una funzione allungata sull asse x è una funzione allungata sull asse k y e viceversa 1. Il risultato è evidente in quanto sappiamo che, nel caso monodimensionale, a funzioni di durata limitata nel tempo corrispondono trasformate di banda infinita. In questo caso, la funzione non è separabile. Tuttavia essa è allungata sull asse x e quindi avrà banda minore sull asse k x, mentre è stretta sull asse y, estendendosi di conseguenza sull asse k y. Ne consegue che ad una struttura allungata in una direzione in un dominio corrisponde una struttura allungata in direzione perpendicolare nel dominio coniugato (tale osservazione potrebbe utilizzarsi per il calcolo dell orientamento prevalente delle valli in una regione). Si calcoli ora la trasformata di Fourier dell equivalente bidimensionale del rettangolo, cioé di un parallelepipedo di lato 2b lungo y e 2a lungo x. La trasformata si calcola trasformando prima rispetto ad x e poi rispetto ad y. Trasformando lungo x (x k x ): per ogni b < y < b, la funzione ha l andamento di un rettangolo di altezza 1 e base 2a. Trasformandolo si ha un seno cardinale con zeri a distanza 2π/2a. Questo sempre per b < y < b. Trasformando rispetto ad y (y k y ): per ogni k x si ottiene sempre un rettangolo di base 2b la cui altezza è, però, pari ai valori assunti dal sin(x)/x in corrispondenza del 1 La trasformata di Fourier bidimensionale esiste se la funzione è ad energia finita, come nel caso monodimensionale.

175 9.1. SISTEMI BIDIMENSIONALI Figura Figura valore di k x. La trasformata è F (k x, k y ) = 2a sin (k xa) 2b sin (k yb) k x a k y b Si ottiene una struttura del tipo I massimi si trovano a distanza π/a lungo k x e π/b lungo k y. Questo è un filtro separabile che ha separabile sia la risposta all impulso che la funzione di trasferimento. Naturalmente, se si ha il parallelepipedo nei numeri d onda, quello che si ottiene è un filtro passa basso bidimensionale. Si può, però, pensare ad un altro tipo di filtro passa basso, a simmetria circolare come quello la cui risposta all impulso è rappresentata in figura. Questa funzione di trasferimento non è separabile e, quindi, richiede una implementazione bidimensionale. Per calcolare la risposta all impulso corrispondente a questa funzione di trasferimento a simmetria circolare è più utile usare un sistema di riferimento polare.

176 ELABORAZIONE DI SEGNALI 2D f(x,y) y x Figura La trasformata in coordinate polari è H (K, ψ) = f (ρ, ϑ) exp ( jkρ cos (ϑ ψ)) ρdρdϑ Nel caso di filtro con risposta all impulso circolare si ha [ 2π ] H (K, ψ) = f (ρ) ρ exp ( jkρ cos (ϑ ψ)) dϑ dρ 0 0 Poiché la funzione è indipendente da ϑ (simmetria circolare), la trasformata sarà indipendente da ψ. L integrale fra parentesi quadre è pari a 2πJ 0 (Kρ) con J 0 ( ) funzione di Bessel di ordine zero. Si ottiene allora H (K) = 2π 0 f (ρ) J 0 (Kρ) ρdρ Questa relazione integrale va sotto il nome di trasformata di Hankel. Per calcolare la trasformata inversa f (x, y) = 1 (2π) 2 F (k x, k y ) exp [j (k x x k y y)] o, in coordinate polari f (ρ, ϑ) = 1 4π 2 F (K, ψ) exp (jkρ cos (ϑ ψ)) KdKdψ nel caso della trasformata di Hankel si avrà (trasformata di Hankel inversa): f (ρ) = 1 H(K)J 0 (Kρ) KdK 2π che si particolarizza, nel caso del filtro a simmetria circolare, nel modo seguente f (ρ) = 1 2π per un cilindro di altezza unitaria. KR 0 J 0 (Kρ) KdK = K R 2π J 1 (K R ρ) ρ

177 9.2. CAMPIONAMENTO 177 y b a x Figura Reticolo di campionamento rettangolare Campionamento Nel caso monodimensionale l operazione di campionamento consisteva nel misurare il valore che la funzione continua assumeva in istanti di tempo equispaziati. L operazione di campionamento era poi matematicamente intepretata come il prodotto della funzione per una successione di impulsi, perché in questo modo l operazione di ricostruzione era banalmente descrivibile come passaggio degli impulsi di area opportuna attraverso un filtro la cui risposta all impulso è la funzione interpolante. Nel caso bidimensionale il discorso si generalizza in modo banale. Serve passare dalla funzione continua ai valori che la funzione assume su una griglia rettangolare del piano x, y. La funzione campionata può allora essere matematicamente descritta da (9.2.1) f c (x, y) = f (x, y) δ (x ka) δ (y lb) l k Il primo problema da risolvere consiste nel determinare quali condizioni debbano essere verificate affinchè sia possibile tornare dai campioni alla funzione continua di partenza. È necessario, in altri termini, determinare quali possano essere i valori massimi di a e di b affinchè dai campioni si possa risalire al valore che la funzione f(x, y) assume in qualunque punto del piano. Conviene affrontare il problema nel dominio della trasformata di Fourier. Dalla (9.2.1) discende immediatamente che l operazione di campionamento è separabile. Calcolare la trasformata di Fourier di una funzione bidimensionale separabile, cioé tale che f(x, y) = f 1 (x)f 2 (y), è banale, essendo già separabile il nocciolo della trasformata. Si ha, infatti: F (k x, k y ) = f 1 (x) f 2 (y) exp ( jk x x) exp ( jk y y) dxdy = = f 1 (x) exp ( jk x x) dx f (y) exp ( jk y y) dy = F 1 (k x ) F 2 (k y )

178 ELABORAZIONE DI SEGNALI 2D y k y b a x 2 π /a k x 2 π /b Figura Posizione degli impulsi di campionamento nel piano x, y e degli impulsi nel piano k x, k y della corrispondente trasformata. Nella (9.2.1) è presente un prodotto, per cui nella sua trasformata si avrà una convoluzione. 2 La trasformata della (9.2.1) è F (k x, k y ) 2π a m ( δ k x m 2π a ) 2π b n ( δ k y n 2π b Quindi, a impulsi nel piano x, y corrispondono ancora impulsi nel piano k x, k y. Il risultato non è strano perché la funzione nel piano x, y è periodica di a lungo x e di b lungo y. La trasformata di Fourier potrà essere costituita solo da sinusoidi di periodi a in orizzontale e b in verticale, o loro sottomultipli o, che è la stessa cosa, di frequenza 1/a in orizzontale ed 1/b in verticale o multipli. Come nel caso monodimensionale, convolvere una funzione con un impulso significa traslare la funzione a cavallo della posizione dell impulso, cosi nel caso bidimensionale convolvere una funzione con un impulso significa traslare la funzione fino a quanto l origine degli assi non coincide con la posizione dell impulso. La trasformata di Fourier di una funzione campionata sarà allora semplicemente una ripetizione del suo spettro a cavallo di tutti i punti del piano k x, k y corrispondenti alla posizione degli impulsi. A questo punto per ricostruire lo spettro della funzione continua di partenza basta isolare il termine centrato a k x = 0 e k y = 0, generalizzando così il discorso del caso monodimensionale Campionamento a quinconce. Il problema di un campionamento regolare come quello descritto è che non sono ben rappresentate le frequenze in direzione obliqua. Per ottenere maggior risoluzione in tali direzioni sarebbe necessario ridurre il passo di campionamento sia in orizzontale sia in verticale, cioé infittire la griglia. In realtà si può procedere in altro modo, effettuando un campionamento sfalsato come in figura. Questo schema di campionamento si può, in effetti, pensarlo costituito da due pattern diversi, uno costituito dai punti marcati con ed uno costituito dai punti marcati con 2 Anche nel caso bidimensionale, una convoluzione nei tempi si trasforma in un prodotto nei dominio trasformato e viceversa, in virtù della ortogonalità delle autofunzioni del sistema. )

179 9.2. CAMPIONAMENTO 179 y x Figura 9.2.3, intercalati tra loro. Calcolare cosa succede nei numeri d onda è banale, ricordando le proprietà della trasformata di Fourier. Lo spettro del pattern vale (9.2.2) 4π 2 a 2b l δ (k x 2πa ) l m δ (k y π ) b m Il pattern è traslato rispetto all altro di a/2 in orizzontale e di b in verticale. La sua trasformata sarà, perciò, quella già calcolata nella (9.2.2)moltiplicata per l operatore di traslazione di a/2 in orizzontale e di b in verticale 4π 2 a 2b δ (k x 2πa ) l δ (k y π ) b m l m [ ( a )] exp j k x 2 k yb La trasformata del pattern complessivo sarà dato dalla somma delle due trasformate 4π 2 δ (k x 2πa ) a 2b l δ (k y π ) ( [ ( b m a )]) 1 exp j k x 2 k yb l m La quantità tra parentesi quadre è sostanzialmente una funzione di trasferimento che moltiplica una trasformata impulsiva ed il suo valore ha importanza solo in corrispondenza di un impulso. Si può allora scrivere ( 1 exp [ j ( k x a 2 k yb )]) = ( 1 exp [ ( 2π j a la 2 π )]) b mb = (1 exp [ jπ (l m)]) e, quindi { 2 l m pari (1 exp [ jπ (l m)]) = 0 l m dispari Vediamo allora cosa succede nel piano k x, k y. In figura è rappresentato lo spettro relativo ad uno dei due pattern di campionamento (quello dei o quello dei ); gli spettri sono infatti uguali, a meno di un termine di fase. Per non avere aliasing la funzione bidimensionale deve avere spettro compreso nel dominio k x π/a e k y π/2b. Vediamo cosa succede considerando l effetto della sovrapposizione tra i due pattern. Gli impulsi piazzati in posizione tale che lm sia pari restano, mentre quelli in posizione tale che l m sia dispari si cancellano. Lo spettro risultante è il seguente.

180 ELABORAZIONE DI SEGNALI 2D k y π/b 2π/ a π/b 2π/ a k x Figura Spettro di ogni singolo reticolo di campionamento. k y 2π/ b 2π/ a 2π/ a k x 2π/ b Figura Spettro della somma dei due reticoli parziali. Il dominio all interno del quale deve essere contenuto lo spettro della funzione da campionare diventa l esagono segnato in figura Le rette che lo delimitano sono le bisettrici delle congiungenti l origine degli assi con le posizioni degli impulsi contigui della trasformata del grid di campionamento. Naturalmente questa struttura esagonale è presente attorno a ciascuno degli impulsi nello spettro, ricoprendo così tutto il piano. In verticale si è guadagnato un fattore due, nel senso che il dominio non ambiguo è ora π/b < k y < π/b, mentre prima era π/2b < k y < π/2b. In orizzontale, però, la frequenza di campionamento è rimasta invariata. D altra parte, prima la zona non ambigua si estendeva fino a π/a (rettangolo punteggiato). Ora, invece, si estende oltre tale valore, di una quantità dipendente dal rapporto tra a e b. Naturalmente il confronto non va effettuato tra l esagono in figura ed il rettangolo in figura Il confronto deve essere effettuato tra un campionamento rettangolare ed un campionamento sfalsato con lo stesso numero di campioni per unità di superficie. Il confronto deve quindi essere effettuato tra l esagono in figura ed il rettangolo tratteggiato nella stessa figura, che rappresenta il dominio non ambiguo che si sarebbe ottenuto con un campionamento rettangolare. Si noti che l area complessiva è uguale nei due casi: col campionamento sfalsato si è rinunciato a poter descrivere le frequenze spaziali contenute nei triangolini sui vertici del rettangolo, a favore delle frequenze spaziali contenute nei triangoli vicini ai vertici dell esagono sull asse k x. In altri termini, si è rinunciato a descrivere delle componenti a frequenza spaziale più alta in direzione obliqua, cosa che a volte può non interessare,

181 9.3. DFT A DUE DIMENSIONI 181 a vantaggio di una migliore descrizione dei dettagli verticali, cioé di una estensione del dominio non ambiguo lungo la direzione k x. È ovvio che non si può sperare in un aumento dell area del dominio non ambiguo, dato che il numero di campioni per unità di superficie è sempre lo stesso. Si possono dare due interpretazioni di un segnale bidimensionale campionato: una consiste nell assegnare a punti del piano i valori in considerazione, mentre l altra, non del tutto equivalente, consiste nel suddividere il piano in cellette ad ognuna delle quali si assegna un valore. La scelta tra le due rappresentazioni può essere importante nel caso in cui sia necessario eseguire delle interpolazioni. Se infatti si vuole calcolare il valore in un punto intermedio tra punti di campionamento contigui, può essere utile la prima descrizione. Se è necessaria ripartire il valore di un campione tra più celle adiacenti, è utile la seconda descrizione Campionamento irregolare. Questo discorso è applicabile a strutture ancora più complicate. È ovvio che il pattern di campionamento deve essere regolare, altrimenti potrebbe non essere più valido il teorema del campionamento. D altra parte ci sono delle situazioni, anche e soprattutto nel caso bidimensionale, in cui è impossibile effettuare un campionamento regolare: ad esempio una campagna di misure per misurare l anomalia gravitazionale in una certa zona, per identificare nel sottosuolo masse di densità differente dal materiale circostante. In questo caso si può ricorrere alle stesse tecniche viste nel caso monodimensionale come, ad esempio, agli splines. Nel caso monodimensionale si ricorreva al modello del filo di acciaio armonico, nel caso bidimensionale si può usare, come modello, un piano di materiale con proprietà simili. Una procedura più approssimata, ma più semplice, si può ottenere operando con tecniche 1D prima sulle righe, regolarizzando i campioni in orizzontale, e poi sulle colonne, regolarizzando i campioni in verticale DFT a due dimensioni Cerchiamo ora di estendere ad un segnale campionato l analisi di Fourier. Definiamo cioé la DFT bidimensionale. Il discorso è perfettamente analogo al caso monodimensionale. Abbiamo già visto che lo spettro di un segnale campionato è la ripetizione periodica dello spettro nel dominio non ambiguo. La funzione campionata è esprimibile come f c (x, y) = f (na, lb) δ (x na) δ (y lb) k l e sappiamo che in generale la trasformata di Fourier è F (k x, k y ) = f c (x, y) exp [ j (k x x k y y)] dxdy = Nel nostro caso si ottiene F c (k x, k y ) = N 1 M 1 n=0 l=0 f (na, lb) exp [( jk x na k y lb)]

182 ELABORAZIONE DI SEGNALI 2D Questa è la trasformata di Fourier bidimensionale della funzione f(x, y) dopo campionamento regolare a passo a in orizzontale ed a passo b in verticale. Naturalmente per l uso al calcolatore, è necessaria una discretizzazione anche nelle frequenze. Naturalmente campionare nelle frequenze equivale a periodicizzare nel dominio coniugato. Il passo di campionamento nelle frequenze si sceglie, esattamente come nel caso monodimensionale, prendendo nell intervallo ampio 2π/a sull asse k x N campioni (se si avevano N campioni in orizzontale), e nell intervallo ampio 2π/b sull asse k y M campioni (se M erano i campioni in verticale). Si ottiene così che la trasformata di Fourier bidimensionale discreta è data da DFT [f (k, l)] = F (n, m) = N 1 M 1 k=0 l=0 f (k, l) exp [ j2π (kn/n lm/m)] Il nocciolo della trasformata non è altro che il prodotto dei noccioli della DFT monodimensionale: infatti il campionamento rettangolare non ha alterato la separabilità del nocciolo. Segue che la trasformata bidimensionale può essere calcolata trasformando monodimensionalmente prima le righe della matrice dei campioni, e poi le colonne della matrice ottenuta dopo la prima trasformazione. Quindi se il pattern di campionamento è regolare, la separbilità valida nel caso continuo, si ritrova anche nel discreto. Quindi basta saper calcolare una DFT monodimensionale per poter valutare in modo altrettanto efficiente una trasformata di Fourier bidimensionale discreta. Il realtà questo è vero fino a quando la matrice è piccola, o meglio di dimensioni tali da poter essere contenuta nella memoria di un calcolatore. In caso contrario è necessario usare un dispositivo di memorizzazione di massa. In questo caso la lettura delle righe della matrice può non creare grossi problemi, se la matrice è memorizzata per righe, ma può essere molto lenta e onerosa durante la lettura per colonne. Il problema può essere risolto trasponento la matrice prima di effettuare le operazioni sulle colonne. Il risultato è naturalmente trasposto e si rende necessaria una ulteriore trasposizione. In realtà non è difficile trovare un modo efficiente per effettuare la trasformazione per colonne. Si ricordi, infatti, che nell effettuare la FFT, si faceva uso di strutture a farfalla, sovrapponendo i risultati ai dati. L operazione per righe non crea problemi. Per quanto riguarda l operazione per colonne, basta in effetti caricare in memoria due righe, la i-esima e la n-esima, ed operare sugli elementi a coppie, sovrapponendo poi i risultati ai dati. Si ricordi come nel caso monodimensionale il campionamento in frequenza della DFT creava problemi, a causa della simmetria circolare che portava ad un risultato errato per i campioni ai bordi della sequenza. Nel caso bidimensionale si ha qualcosa di analogo. Il campionamento nelle frequenze porta naturalmente una periodicizzazione negli spazi. Per descrivere compiutamente la funzione periodica, è naturalmente sufficiente descriverne un solo periodo e, quindi, considerare un solo rettangolo, comunque piazzato. Sarebbe naturale considerare il rettangolo centrato nell origine, con x N a/2 e y Mb/2 negli spazi, e con k x π/a e k y π/b nei numeri d onda. In realtà, si preferisce considerare per i vettori solo indici positivi: questo equivale a considerare il rettangolo (nelle frequenze) avente un vertice in (k x, k y ) = (0, 0) e giacente nel primo quadrante.

183 9.3. DFT A DUE DIMENSIONI 183 y M/2 b (M 1)/2 b x (N 1)/2 a N/2 a Figura Dominio non ambiguo della DTFT 2D. k y π/b a π/ π/b π/a k x Figura Dominio di definizione della DFT 2D. In altri termini, invece di considerare il dominio di figura 9.3.1, si considera il dominio di figura Si ricordi che anche nel caso monodimensionale succedeva una cosa analoga, in quanto si aveva che il primo coefficiente era quello relativo alla continua, seguivano le frequenze positive fino al campione N/2 1 e, successivamente, le frequenze negative con modulo via via decrescente, dal più grande al più piccolo (la frequenza 1 in ultima posizione). Qualcosa di simile succede nel caso bidimensionale sia per le frequenze orizzontali che per quelle verticali. Si hanno allora le seguenti corrispondenze tra quadranti È chiaro che a questo punto è necessario cercare la corrispondenza tra valore di frequenza spaziale e posizione nella matrice. Se i campioni vanno da 1 a N si avrà che per 1 n N/2 1 la posizione orizzontale sarà (n 1) x, mentre per N/2 2 n N la posizione nella matrice vettore sarà (n N 1) x. Qualcosa di analogo naturalmente vale per la posizione verticale all interno della matrice.

184 ELABORAZIONE DI SEGNALI 2D k y π/b k y 2π/ b π/a π/a k x π/b 2π/ a k x Figura Corrispondenza tra quadranti del dominio in figura e quello di figura

185 CAPITOLO 10 Applicazioni 1D Segnale vocale Il segnale vocale di qualità telefonica ha banda che si assume pari a Hz. Tale banda non coincide, come è noto, con la banda del segnale vocale, ma è tale da salvare l intellegibilità del messaggio e il riconoscimento del parlatore. Un diverso standard considera banda doppia e permette il cosiddetto audio a qualità migliorata, consentendo applicazioni come teleconferenze o teledidattica per le quali la qualità telefonica non è sufficiente. La trasmissione del segnale vocale di qualità telefonica in modalità numerica rende necessario un campionamento. Tale campionamento viene effettuato a frequenza f c = 8 khz (la banda lorda supposta è B = 4 khz). Il problema che si pone a questo punto è la quantizzazione: la legge di quantizzazione del segnale telefonico deve essere adeguata alle proprietà statistiche del segnale. Nel caso del segnale vocale va tenuto presente che ciascuno ha timbro e livello di voce diverso dagli altri, per cui la legge di quantizzazione deve essere tale da soddisfare tutti i parlatori. La dinamica del segnale è stata valutata in 72 db e questo implica, con una quantizzazione uniforme, l uso di 12 bit. Osserviamo che per effettuare la trasmissione numerica di un segnale sono necessarie due discretizzazioni. Una di esse, cioé il campionamento (discretizzazione nel tempo), è reversibile, a patto naturalmente di rispettare il teorema del campionamento. La discretizzazione dei valori, invece, cioé la quantizzazione, non è reversibile in alcun modo. D altra parte, spesso non è importante ricostruire esattamente la forma d onda del segnale che si vuole trasmettere, basta ricostruirla in modo approssimato ma sufficiente a soddisfare l utenza. Questo discorso può essere portato alle estreme conseguenze: si può arrivare ad una forma d onda ricostruita completamente diversa da quella che si voleva trasmettere, purché essa fornisca all utente la stessa sensazione che gli avrebbe dato il segnale originale. Per il momento restiamo nell ambito della cosiddetta codifica di forme d onda. La scelta più banale è quella di fare una quantizzazione uniforme. Tale scelta è inevitabile quando non è possibile accedere ad una statistica affidabile del segnale e, quindi, non è possibile l ottimizzazione di una funzione costo. Per il segnale telefonico tale statistica è disponibile: come è noto è disponibile la statistica della potenza del singolo parlatore e la statistica della potenza media dei vari parlatori. Le due statistiche si possono mettere insieme ottenendo una densità di probabilità del tipo in figura , con un picco intorno ai valori molto piccoli. È quindi nota una statistica del segnale. Si può allora tentare di ottimizzare la legge di quantizzazione in modo da minimizzazione una funzione costo. La funzione costo che 185

186 APPLICAZIONI 1D σ 2σ 0 2σ 4σ Figura Densità di probabilità del segnale telefonico. u rk1 rk s k s k1 e Figura Caratteristica ingresso-uscita di un quantizzatore. normalmente si usa è l errore quadratico medio, cioè E [ (u e) 2] essendo e l ingresso ed u l uscita del quantizzatore. Il quantizzatore che garantisce la minimizzazione del valore quadratico medio dell errore, per un numero fissato di livelli di quantizzazione, si dice alla Max dal nome di chi ne propose per primo il metodo di progetto. Un quantizzatore è un sistema non lineare senza memoria, caratterizzato da una relazione ingresso-uscita come quella schematizzata in figura : quanto l ingresso è compreso nell intervallo tra due valori di soglia successivi (s k e s k1 ) il valore in uscita è pari al corrispondente valore di restituzione (r k ). Si può ipotizzare che, all interno del singolo intervallino, la densità di probabilità condizionata al fatto che il valore del segnale in ingresso cada in quell intervallino sia più o meno uniforme. In tal caso la varianza del rumore di quantizzazione (o errore di quantizzazione) sia proporzionale al quadrato dell ampiezza dell intervallino. Minimizzare l errore quadratico medio, cioè la media delle varianze pesate per la probabilità che il segnale cada nei vari intervallini, implica di assegnare errore maggiore agli intervalli che si presentano meno frequentemente ed errore più piccolo a quelli che si presentano più frequentemente.

187 10.2. QUANTIZZAZIONE NON UNIFORME 187. f( ) A/D 1. D/A f ( ) Figura Quantizzazione non uniforme ottenuta con non-linearità Quantizzazione non uniforme Nel caso di una distribuzione cumulativa del tipo in figura , si agisce in modo da rendere più piccolo il rumore di quantizzazione per piccoli livelli di ingresso (scalini piccoli per piccoli valori in ingresso) e aumentare la grossolanità della legge di quantizzazione all aumentare del valore del campione da quantizzare. Si arriva così ad una quantizzazione non uniforme. Questa procedura è ottimale solo se ha senso usare il valore quadratico medio come misura dell errore. Per un segnale telefonico ciò ha senso essendo l orecchio sensibile alla potenza del segnale ed alla sua distribuzione in frequenza. Nel caso di un segnale televisivo, invece, questo modo di procedere non è ragionevole perché il fastidio percepito dall occhio non è proporzionale alla potenza del disturbo, ma anche alle sue altre caratteristiche. Nel caso della quantizzazione di un segnale telefonico ci si trova di fronte al problema di fornire un servizio di qualità accettabile sia a chi ha una voce forte, sia a chi ha una voce debole. Servizio accettabile vuol dire adeguato rapporto segnale/rumore. Nel caso di quantizzazione uniforme, la potenza del disturbo di quantizzazione è fissata una volta che si sia fissato il passo di quantizzazione. Questo vuole evidentemente dire che il passo di quantizzazione andrebbe fissato sul parlatore più debole, quello con minore potenza di segnale, mentre il parlatore più forte sarebbe quello che stabilisce la massima dinamica e, quindi, il numero di livelli di quantizzazione. Il risultato sarebbe che, anche in questo caso, chi urla di più avrebbe un servizio migliore. Si può, invece, perseguire l obiettivo di trattare tutti più o meno allo stesso modo, almeno all interno di una fascia che copra la maggioranza degli utenti telefonici. A questo scopo si potrebbe puntare ad ottenere un rapporto segnale/rumore di quantizzazione costante: vorrebbe dire maggiore rumore di quantizzazione a chi ha una dinamica più ampia. A tal fine si può usare un intervallo di quantizzazione di ampiezza proporzionale al livello da quantizzare Compressione/espansione. Questo lo si può ottenere utilizzando soglie non equispaziate ma, siccome la loro implementazione porrebbe problemi, si preferisce usare sempre un quantizzatore uniforme, facendolo precedere da un dispositivo non lineare senza memoria la cui relazione ingresso uscita sia tale da modificare le soglie uniformemente spaziate in soglie opportunamente disposte. Con riferimento alla figura , si osserva che il passo di quantizzazione uniforme dell uscita è legato al corrispondente passo di quantizzazione dell ingresso tramite la derivata della caratteristica non lineare. Nel caso citato del segnale telefonico il legame dovrebbe

188 APPLICAZIONI 1D vout f(v in) δ out δ in v in Figura Legame ingresso uscita della non-linearità anteposta al quantizzatore uniforme. essere del tipo δ out = a = δ in df dv in = kv in con k costante arbitraria, mentre a è il passo costante di quantizzazione. Ne segue che f (v in ) log v in cost. È evidente che una tale legge vada modificata perché se v in 0 f ed è altresì ovvio che il segno vada trattato separatamente. In realtà l intera caratteristica logaritmica implicherebbe passi di quantizzazione infinitesimi ad un estremo ed infiniti all altro. Evidentemente, invece, l intervallo delle dinamiche da considerare è limitato. Per i valori di dinamica minima si può utilizzare una quantizzazione uniforme, mentre quando la dinamica aumenta si può passare alla compressione logaritmica. Ne viene fuori, comunque, che per rendere più uniformi i rapporti segnale-rumore è necessario anteporre una non-linearità in grado di comprimere la dinamica del segnale in ingresso (un compressore ). In ricezione un convertitore digitale/analogico, anch esso uniforme, andrebbe seguito da una non-linearità complementare ( espansore ) per completare la realizzazione di una quantizzazione non uniforme del segnale. Nella realtà si utilizza effettivamente questa procedura. La legge di compressione utilizzata (in Europa, in America se ne utilizza una simile) è detta A-law (vedi figura ) ed è descritta dalle seguenti equazioni: A x x < 1 1 log e (A) A y = f (x) = sign(x) 1 log e (A x ) 1 1 log e (A) A x 1 df dv in dove x è il segnale di ingresso normalizzato, con dinamica compresa tra 1 e 1. costante A si assume abbia un valore 87, 7. La

189 10.2. QUANTIZZAZIONE NON UNIFORME 189 v out v in 1 Figura Caratteristica di compressione della A-law. L espansore da utilizzare in ricezione è descritto dalla relazione inversa y (1 log e (A)) y < A x = f 1 (y) = sign(y) exp ( y (1 log e (A)) 1) A 1 1 log e (A) 1 1 log e (A) y Quantizzatore di Max. Se si conosce la densità di probabilità p (x) del segnale da quantizzare ed il valore quadratico medio dell errore di quantizzazione è una misura adeguata del rumore introdotto dal processo di quantizzazione, si può ricorrere al metodo di Max per progettare il quantizzatore non uniforme che, a parità di numero di livelli di quantizzazione, fornisce il più piccolo valore quadratico medio dell errore di quantizzazione. Il valore quadratico medio dell errore di quantizzazione per un segnale a densità di probabilità pari e quantizzatore a soglia centrale (ma il discorso si può facilmente generalizzare) o midrise, se s k indica la generica soglia del quantizzatore (s 1 = 0) ed r k il generico valore di restituzione quantizzato, vale: (10.2.1) d 2 = E [ (u e) 2] = 2 N/2 1 k=1 sk1 s k (e r k ) 2 p(e) de 2 s N/2 (e r N/2 ) 2 p(e) de i valori di s k ed r k che minimizzano (10.2.1) sono quelli che annullano le derivate parziali di d 2 ( d 2 / s k e d 2 / r k ): (10.2.2) s k = r k r k1 2 e

190 APPLICAZIONI 1D (10.2.3) r k = sk1 s k sk1 s k x p(x) dx p(x) dx I valori di soglia devono essere equidistanti dai contigui valori di restituzione ed i valori di restituzione devono essere piazzati nel baricentro della densità di probabilità compresa tra due soglie contigue. Basandosi su queste conclusioni si può cercare, mediante una procedura iterativa, il set di valori di soglia e di restituzione che caratterizzano il quantizzatore ottimale Codifica differenziale Tornando al segnale telefonico, l aver introdotto una quantizzazione non uniforme consente di passare da 12 a 8 bit per campione, giungendo ai noti 64 kb/s della trasmissione PCM. Per andare oltre è necessario utilizzare informazioni a priori sul segnale: è noto, infatti, che il segnale vocale viene generato attraverso la cavità vocale. La vibrazione delle corde vocali genera degli impulsini con cadenza regolare. La frequenza (pitch) è di circa Hz ed è legata al timbro della voce. A basse frequenze corrispondono toni più bassi, e quindi voci maschili, ad alte frequenze toni più alti e, quindi, voci femminili o di bambini. Il pitch non è rigorosamente costante per ogni parlatore, ma varia a seconda dell intonazione del parlato. La presenza della cavità nasale, costituendo un cammino parallelo che fornisce un contributo che poi si somma all uscita a quello della cavità principale, crea ulteriori problemi. Nel caso dei suoni nasali, tra il generatore e il suono che esce c è una funzione di trasferimento che non è più solo con poli in quanto la cavità nasale, che costituisce un cammino parallelo, introduce degli zeri. Di conseguenza, per descrivere l effetto della cavità vocale sarebbe necessario l uso di un modello ARMA, con l introduzione di una funzione di trasferimento con poli e zeri. In realtà, però, tutti i codificatori usano un numero limitato di poli, trascurando la modellizzazione degli zeri. Quanto detto vale per i suoni vocalizzati. Il meccanismo di generazione dei suoni sibilanti o gutturali è leggermente diverso: le corde vocali non vibrano ma si aprono e lasciano passare l aria. In questo caso il suono viene generato da strozzature che possono aver luogo nella parte posteriore della gola (suoni gutturali) o nella cavità orale (suoni sibilanti). Il modello è abbastanza complicato. La prima cosa evidente è che le variazioni di assetto della cavità orale non possono avvenire che con una relativa lentezza e, quindi, è ragionevole ipotizzare nel suono generato una certa regolarità temporale a breve periodo. La potenza del segnale può essere quantificata mediante la statistica del secondo ordine r x (0) = E [ x(n) 2] essendo naturalmente E [x(n)] = 0. Se si vuole fare una quantizzazione per descrivere un segnale di potenza r(0) con dei margini di errore quadratico medio fissati, si ricade nei problemi già analizzati. D altra parte, se la potenza media del segnale fosse più bassa,

191 10.3. CODIFICA DIFFERENZIALE 191 quantizzatore z 1 z 1 a) b) Figura Schemi a blocchi: a) codificatore differenziale, b) decodificatore. sarebbe possibile mantenere l errore quadratico medio entro i limiti stabiliti pur usando una quantizzazione con un numero inferiore di livelli. Si può allora, osservando che, per il meccanismo della generazione, il segnale ha delle variazioni lente nel tempo, invece di trasmettere ogni campione come se fosse indipendente dagli altri, cercare di tenere in considerazione il legame esistente tra un campione ed il precedente. Si trasmette non il valore del campione x(n), ma la differenza x(n) x(n 1) tra tale campione e quello precedente, effettuando così una codifica differenziale. Si può sperare di trarre vantaggio da una codifica differenziale del tipo descritto, a patto che tra due campioni successivi ci sia una certa somiglianza, che in termini di statistica del secondo ordine si può valutare mediante la correlazione esistente tra campioni successivi. Quello descritto è un modo banale di tener conto di un modello del sistema, dato che l unica cosa di cui si tiene conto è che c è una regolarità temporale. In realtà la procedura deve essere modificata: in un sistema trasmissivo, infatti, è necessario che il ricevitore sia in grado di effettuare l operazione duale di quella operata dal trasmettitore. Nel caso in questione il ricevitore non ha a disposizione il campione precedente, ma soltanto una sua stima. Di conseguenza anche il trasmettitore, nel misurare la differenza rispetto al campione precedente, non dovrà usare il vero valore x(n 1), ma la sua stima ˆx(n 1) disponibile anche al ricevitore: e(n) = x(n) ˆx(n 1). In trasmissione, quindi, si deve utilizzare uno schema come quello riportato in figura a ed al ricevitore uno schema del tipo riportato in figura b. In effetti è necessario introdurre un ulteriore modifica. Per poter agganciare il ricevitore al trasmettitore, è necessario partire da una situazione preesistente definita; poi bisogna garantire il mantenimento dell aggancio. Se c è un errore di trasmissione, il ricevitore non è in grado di recuperarlo e continuerà a ricostruire una forma d onda errata da quel momento in poi, anche se la trasmissione torna ad essere esatta. Si fa perciò in modo che il sistema non abbia memoria infinita, aggiungendo una moltiplicazione per una costante c < 1, così che l effetto dell errore pesi sempre meno col passare del tempo. In questo modo ci si assicura che il sistema sia in grado di ristabilire l aggancio. Si ottengono allora gli schemi di figura Quanto visto per la predizione del campione in funzione di quello precedente non è l optimum. La varianza del segnale da trasmettere, da confrontare con r(0), è (sempre nell ipotesi di segnale a valor medio nullo, come per il segnale telefonico) (10.3.1) E [ (x(n) x(n 1)) 2] = 2 [r x (0) r x (1)]

192 APPLICAZIONI 1D quantizzatore z 1 c 1 z c IN TRASMISSIONE IN RICEZIONE Figura Codifica e decodifica differenziale con guadagno d anello minore di 1. TRASMISSIONE RICEZIONE Figura Segnale da trasmettere e segnale ricostruito con la modulazione delta. essendo r (0) = funzione di autocorrelazione per ritardo nullo r (1) = funzione di autocorrelazione per ritardo unitario. Questa è la varianza del segnale da codificare, se si usa una semplice codifica differenziale. Nella prima parte del corso si è studiata la predizione lineare, in cui si considera come stima del campione successivo il valore del campione precedente opportunamente pesato: come stima del campione successivo si considera ax(n 1) con a = r(1)/r(0). Questo valore di a è il valore ottimale per ridurre la varianza dell errore residuo e, quindi, per ridurre la varianza del segnale da codificare. Sostituendo quanto appena scritto nella (10.3.1) si ha E [ (x(n) ax(n 1)) 2] = r x (0) [ 1 a 2] Modulazione delta. Una volta che si sia deciso di effettuare una codifica differenziale, sorge il problema della quantizzazione. L ipotesi più semplice è quella di considerare una quantizzazione con un solo bit, cioè trasmettere solo il segno dell errore di predizione. La trasmissione del solo segno dell errore prende il nome di modulazione delta. In ricezione si ricostruisce la forma d onda a gradini di ampiezza costante, verso l alto se il segno è positivo, verso il basso se negativo. È chiaro che non si ottiene una forma d onda identica a quella di partenza, ma ciò è insito nella stessa quantizzazione. Questo modo di procedere si presta a due errori tipici: il rumore granulare in zone piatte e la saturazione di pendenza.

193 10.3. CODIFICA DIFFERENZIALE 193 Figura Rumore granulare in modulazione. PENDENZA MAGGIORE DELLA MASSIMA PENDENZA MASSIMA Figura Errore di superamento della pendenza massima. Il primo tipo di errore è messo in evidenza nella figura : se l andamento è molto regolare, cioè se le fluttuazioni di ampiezza tra un campione ed il successivo sono molto piccole, il segno dell errore continua a diventare alternativamente positivo e negativo. Non è, infatti, possibile mantenere un valore costante e, quindi, necessariamente nel seguire un andamento regolare ci sono oscillazioni. Per ridurre il rumore granulare, inevitabile, si possono fare dei gradini di altezza piccola. Un altra situazione che crea problemi è quella in cui il segnale ha delle variazioni molto brusche. Essendo, infatti, gli scalini di durata e altezza fisse, non è possibile seguire una funzione con pendenza maggiore della pendenza data dall altezza diviso la larghezza dello scalino. Tutto ciò è evidenziato in figura Di conseguenza se la pendenza è maggiore della massima ottenibile, il modulatore delta non può far altro che salire con la velocità che il sistema gli consente, sganciandosi per poi riagganciarsi quando il segnale cresce più lentamente o ricomincia a scendere. Questo è sostanzialmente un effetto non lineare, in quanto viene tagliato tutto un pezzo del segnale. Questo effetto prende il nome di slope overload (o sovraccarico di pendenza). Il rimedio, per poter seguire pendenze molto forti, è fare dei gradini più alti, esattamente il contrario di quanto serve per ridurre il rumore di granularità. È chiaro che è necessario fissare un valore per l altezza del gradino che vada bene per tutti i casi. Un altro modo di alleviare sia l uno che l altro problema è quello di infittire il passo di campionamento. In questo modo, a pari altezza di scalino, la massima pendenza che si può seguire aumenta, e inoltre il rumore di granularità diventa di più alta frequenza, per cui il filtraggio passa basso per ottenere una ricostruzione del segnale analogico è più facile. Qualcosa di meglio si può fare ipotizzando un modello per il segnale già in parte usato per la modulazione delta. Quest ultima si basa sull ipotesi di regolarità temporale del segnale. Il sistema non riesce a seguire il segnale quando questo cresce rapidamente e per un certo periodo di tempo. Di questa situazione ci si può facilmente accorgere e si può mettere in piedi un sistema di codifica delta-adattativo che, ovviamente, prevede ulteriore memoria nel codificatore e nel ricevitore e introduce ulteriori problemi per un eventuale

194 APPLICAZIONI 1D sganciamento a causa di errori. La logica che è alla base del sistema di codifica delta-adattativo è la seguente: si estrapola dal passato un andamento nel futuro, considerando più di un elemento di memoria. In altri termini, se per più volte consecutive è necessario emettere il comando di salita (segnale che cresce), si amplia l altezza dello scalino: al persistere della situazione di crescita, l ampiezza degli scalini viene man mano aumentata. Tutto ciò prevede, come già detto, l uso di più elementi di memoria, per la conoscenza di un pezzo di storia passata. Dualmente, quando ci si trova in una zona in cui il segnale è piatto, gli scalini tendono alternativamente a salire e a scendere, come mostrato in figura Anche di questa situazione ci si può facilmente accorgere, mediante l uso di più elementi di memoria. In questo caso il sistema si adatterà diminuendo l ampiezza degli scalini. Il problema sta nel fatto che, come in tutti i sistemi che usano il passato per predire il futuro, il futuro deve cambiare molto lentamente. In presenza di brusche variazioni, infatti, si crea un transitorio nel quale il sistema perde momentaneamente l aggancio, prima di adattarsi alle mutate condizioni DPCM. L idea allettante della modulazione delta è che basta un bit per campione, anche se campionando ad una frequenza maggiore della frequenza di Nyquist. Naturalmente è possibile usare quantizzatori a più bit, eventualmente da ottimizzare in base a qualche opportuno criterio (spesso, a torto o a ragione, l errore quadratico medio). Con la codifica differenziale ci si trova in una situazione in cui la statistica del segnale da quantizzare è molto più uniforme, molto più concentrata verso i valori piccoli. Si possono fare due cose: usare una quantizzazione non uniforme, in modo da dare errore più piccolo ai valori più probabili, oppure usare una quantizzazione uniforme. Nel primo caso si varia l intervallo di quantizzazione facendolo più piccolo dove ci sono eventi più probabili, In questo modo si arriva a determinare eventi (appartenenza ad un particolare intervallo di quantizzazione) più o meno equiprobabili. All uscita del quantizzatore si hanno così dei messaggi equiprobabili ed a ciascuno di essi si può assegnare una parola binaria di lunghezza costante. Nel caso di quantizzazione uniforme si ottengono, invece, degli eventi non equiprobabili: gli eventi relativi a valori piccoli saranno molto più probabili di eventi relativi a valori grandi. In questo caso conviene usare una codifica a lunghezza variabile, che assegni configurazioni più corte ai valori più interni (più probabili) e configurazioni più lunghe ai valori più esterni (meno probabili). Nel caso di quantizzazione non uniforme si ottiene, indipendentemente dalla ottimizzazione del quantizzatore, un bit-rate uniforme (numero di bit al secondo generato fisso); nel caso di quantizzazione uniforme seguita da codifica a lunghezza variabile, invece, il bit rate non è uniforme. Quest ultimo tipo di codifica crea un altro tipo di problema. Un sistema di trasmissione è fatto per trasmettere a velocità sostanzialmente fissa: bisogna allora regolarizzare il flusso di bit da trasmettere. La cosa più facile da fare è dimensionare il sistema in modo che possa garantire la massima velocità di trasmissione, quando la velocità di trasmissione richiesta è inferiore si introducono dei bit fittizi (da rendere riconoscibili al ricevitore!). In ogni caso bisogna verificare che il tasso di creazione dei bit coincida con quello dei bit assorbiti dal canale e, in funzione della capacità trasmissiva in

195 10.3. CODIFICA DIFFERENZIALE 195 Figura Codificatore DPCM. eccesso o in difetto, forzare delle modalità di funzionamento a qualità più alta o più bassa, in modo da mantenere rigorosamente il flusso medio di generazione uguale al flusso medio di trasmissione. Si noti che, nel caso di codifica a lunghezza fissa, se si commette un errore su un bit si ha un campione sbagliato in ricezione, ma l errore è limitato al singolo campione. Nel caso di codifica a lunghezza variabile, un bit sbagliato provoca errore non solo sul campione, ma può ripercuotersi su ciò che segue, perché fa perdere (almeno momentaneamente) la capacità di distinguere correttamente le successive parole del codice. I sistemi di codifica a lunghezza variabile, infatti, si basano sul principio che nessuna parola di codice può costituire parte iniziale di un altra. Con un bit sbagliato questo principio può risultare violato e, quindi, prima di riagganciare la sequenza è possibile che passi un pò di tempo. Questo significa che l errore singolo può protrarsi nel tempo. Nella codifica differenziale abbiamo considerato come stima del campione il campione precedente opportunamente pesato. In realtà si può complicare il predittore considerando più campioni precedenti, passando da un predittore lineare ad un solo coefficiente ad un predittore lineare di ordine superiore. Aumentando la complessità del predittore si riesce a ridurre la varianza dell errore di predizione. Una volta ottenuto l errore di predizione lo si quantizza e lo si trasmette. La qualità del segnale ricostruito dipende dalla fedeltà con cui si descrive l errore di predizione: continuando ad aumentare il numero di livelli con cui discretizziamo l errore di predizione, si arriva a descrivere il segnale esattamente con la stessa qualità di partenza. Lo schema è quello in figura Al segnale di ingresso si sottrae la predizione; l errore così ottenuto viene quantizzato e trasmesso. L anello di predizione l avevamo schematizzato con un solo elemento di ritardo, ipotizzando il predittore di ordine uno. In realtà si può pensare ad una struttura con più ritardi (come in figura) che combina gli ultimi N campioni ricevuti, pesati opportunamente, in modo da ottenere una stima migliore del campione da trasmettere, sfruttando la correlazione esistente con i campioni precedenti. Una volta ottenuto, con qualunque ordine di predizione, l errore ê(n) = x(n) a 1 x(n 1) a 2 x(n 2) viene mandato nel quantizzatore. A questo punto vediamo come realizzare quanto visto. Si può pensare di usare x(n) analogico, ottenendo così anche e(n) analogico, che poi viene quantizzato. In questo modo si rende necessario un convertitore A/D all uscita dello stimatore, che opera in digitale. Questa operazione è molto pericolosa in quanto il convertitore A/D non può garantire gli stessi salti di tensione con cui il quantizzatore campiona l errore. Ogni volta, quindi, si passerebbe dalla rappresentazione analogica alla quantizzazione, dalla quantizzazione nuovamente ad una rappresentazione analogica, senza però riuscire a far coincidere esattamente le tensioni di soglia e i valori rappresentativi, facendo così aumentare il rumore di quantizzazione al di là dell accettabile. La cosa più sensata da fare, dal momento che dobbiamo fare una codifica numerica, è prendere il segnale analogico, campionarlo e quantizzarlo con un numero di bit che

196 APPLICAZIONI 1D sicuramente è più che sufficiente a dare la qualità massima che si potrebbe richiedere al sistema. Naturalmente il convertitore A/D non serve più e non ci sono più i problemi di rumore visti nel caso precedente. Si può continuare ad infittire il passo di quantizzazione del quantizzatore all interno dell anello fino a descrivere a piena qualità l errore, e quindi il segnale di ingresso. Naturalmente non sarà possibile scendere al di sotto del passo di quantizzazione usato per l ingresso, perché quello è il limite della risoluzione con cui viene descritto il segnale di ingresso. È chiaro che infittendo il passo di quantizzazione del quantizzatore del sistema si aumenta il numero di bit necessari a descrivere tutte le possibili configurazioni in uscita dal quantizzatore stesso e, quindi, aumenta il costo di trasmissione Vocoder e codifica a predizione lineare. La codifica differenziale, la modulazione delta, la modulazione delta-adattativa e il DPCM, cioè PCM differenziale in cui si fa la codifica PCM dell errore di predizione, sono sistemi che in ricezione tentano di riprodurre, più o meno fedelmente, la forma d onda del segnale da trasmettere. Anche il meno costoso (anche se a qualità tutt altro che eccelsa), cioè quello che utilizza un quantizzatore ad 1 solo bit, non può scendere al disotto del bit per campione, cioè 8000 b/s campionando a 8 khz. Esistono algoritmi di codifica che consentono di ottenere un segnale intellegibile a 800 b/s. Nei sistemi finora considerati la qualità è quantificata mediante lo scostamento tra forma d onda ricostruita in ricezione e forma d onda originale. Tale scostamento viene mantenuto al di sotto del limite di accettabilità dell utente. L utente, però, si comporta da analizzatore di spettro, cioè è sensibile alla distribuzione in frequenza della potenza del segnale: si può allora trascurare completamente la forma d onda e puntare ad ottenere in ricezione un segnale in grado di produrre nell utente una sensazione uditiva simile a quella che avrebbe prodotto il segnale originale, a prescindere dall effettivo andamento della sua forma d onda. A tale scopo si può considerare un banco di filtri passa banda, di bande passanti non necessariamente uguali (si tende a fare le bande passanti dei filtri a frequenze più alte più larghe rispetto a quelle dei filtri a frequenze più basse, perché l orecchio funziona in questo modo), e sfalsate in frequenza in modo da affettare la banda coperta dal segnale da codificare. Il segnale vocale viene inviato a questi filtri all uscita di ognuno dei quali si mette un misuratore con lo scopo di stimare la potenza media del segnale che ne emerge. Il risultato è quello di ottenere una stima, anche se grossolana, della densità spettrale di potenza del segnale. Per il descritto (molto grossolanamente) processo di generazione del parlato, ci si aspetta che il profilo di densità spettrale vari abbastanza lentamente nel tempo. La misura di potenza può, quindi, essere mediata (filtrata passa-basso) in un intervallo di tempo in cui le proprietà della cavità vocale ci si attende che non possano variare significativamente. Queste misure vengono trasmesse al ricevitore e, per ognuna, sono necessari un certo numero di bit per ogni canale. Il guadagno essenziale (rispetto ad una codifica PCM differenziale o meno) sta nella drastica riduzione della frequenza di campionamento: il segnale telefonico

197 10.4. VOCODER E CODIFICA A PREDIZIONE LINEARE. 197 s(n) filtro N filtro N 1 filtro 2 filtro 1 Σ i Σ i Σ i Σ i 2 x i 2 x i 2 x i 2 x i canale trasmissivo filtro N filtro N 1 filtro 2 filtro 1 s(n) ^ voiced/ unvoiced misura pitch segnale periodico rumore bianco Figura Schema di principio del vocoder. ha bisogno di un campione ogni 125µs, mentre le misure di potenza alle uscita dei canali possono essere campionate ogni 100 ms. Il ricevitore, per generare un segnale con densità spettrale simile, deve avere un banco di filtri identico, in cui l uscita di ogni filtro è pesata più o meno in funzione dell informazione che giunge dal trasmettitore. In questo modo si può pensare di riprodurre la sagomatura spettrale dovuta alla cavità orale, ma rimane il problema di riprodurre in qualche modo nel ricevitore l eccitazione di questa cavità. Non è pensabile, infatti, che l uscita di un filtro suoni allo stesso modo indipendentemente dal segnale che quel filtro alimenta! Il problema è, quindi, quello di mettere in grado il ricevitore di sintetizzare il segnale da inviare in ingresso al banco di filtri. La sollecitazione può essere di due tipi: rumore più o meno bianco (sibilanti o gutturali) oppure sollecitazione periodica (di periodicità o pitch opportuni) per i suoni vocalizzati. Il ricevitore deve sapere, cioè, se mandare in ingresso ai filtri rumore bianco o un segnale periodico di periodo da specificare. Oltre ai parametri che costituiscono una misura a breve periodo della densità spettrale del segnale da trasmettere, è necessario specificare se si tratta di suoni vocalizzati o non vocalizzati e, nel caso di suoni vocalizzati, è anche necessario misurare e trasmettere la frequenza del pitch. È interessante fare qualche osservazione sulla misura del pitch. Si tratta di misurare la periodicità di un segnale più o meno periodico. Non è possibile, naturalmente, accedere alla sollecitazione; quello che si ha a disposizione è ciò che emerge dalla cavità orale. La cosa più facile che si potrebbe pensare di fare è cercare i massimi dalla forma d onda e misurarne la distanza relativa. In questo modo non si tiene conto del rumore sovrapposto, e quindi le misure così effettuate sono fasulle. Quando si effettuano delle misure è necessario fare una operazione di filtraggio, ovvero una operazione di media pesata in maniera tale da esaltare il segnale e attenuare tutte le possibili forme di disturbo. Se si cercano i massimi della forma d onda ci si espone a tutte le possibili fonti di disturbo. In effetti lo scopo

198 APPLICAZIONI 1D è la ricerca di una regolarità periodica del segnale. Il peggio che si può fare è usare una procedura puntale, perché questo significa fare delle misure a banda larga, facendo passare non solo il segnale, ma anche tutto il rumore. Siccome serve identificare una periodicità, la cosa più sicura è fare delle misure integrate e non puntuali, e vedere quanto la forma d onda è simile a se stessa quando la si trasla nel tempo. In pratica si calcola la autocorrelazione del segnale. Se esso è periodico è chiaro che si troverà un massimo assoluto per sfasamento relativo nullo. La somiglianza diminuirà al crescere dello shift relativo, fino a quanto il valore dello shift non è prossimo al periodo della forma d onda: a questo punto la funzione di autocorrelazione tornerà a crescere. Se si verificano delle irregolarità locali, su una durata percentualmente piccola, esse non potranno influire molto sull andamento della misura, essendo questa protratta su un intervallo molto lungo. Lo svantaggio di questo modo di procedere sta nel fatto che il calcolo dell autocorrelazione richiede una molteplicità di moltiplicazioni e somme. Quello che si può fare è considerare la somma dei moduli delle differenze tra le funzioni. In questo modo invece di fare delle moltiplicazioni si fanno delle differenze. Si calcola poi la potenza che assumerà valore minimo quando le forme d onda si somigliano di più (sarà zero se sono uguali). Invece di calcolare le potenze, cioè i quadrati delle differenze, si sommano i moduli, operazione che è meno costosa. Si noti che la funzione di autocorrelazione fornisce buoni risultati se si considerano le forme d onda su tutta la loro durata. Si possono ottenere dei risultati errati se si considerano pezzi di forma d onda. Il tipo di codifica visto prende il nome di vocoder. Esso è il primo codificatore vocale vero e proprio. Nonostante non si presti a codifica di qualità, ha però innumerevoli innegabili vantaggi. Il primo vantaggio è che si può implementare senza troppi problemi in analogico, con l unica difficoltà che i filtri del trasmettitore e del ricevitore devono essere uguali. In realtà, dato che si tratta di fare una stima più o meno grossolana della densità spettrale di potenza a breve periodo, non si creano grossi problemi se i filtri non sono del tutto identici. Altro notevole vantaggio è che, in conseguenza di errori di trasmissione, si può ottenere un livello in una particolare banda leggermente o anche sostanzialmente diverso da quello che dovrebbe essere; i livelli nelle altre bande contigue restano corretti e, quindi, l Intelligibilità ne soffre limitatamente. Però, visto che ci si sgancia completamente dalla forma d onda, quello che si può salvaguardare è l Intelligibilità del messaggio, non il riconoscimento del parlatore. Il problema del vocoder nella implementazione appena descritta è che non è possibile aumentare gradualmente la qualità del segnale riprodotto in ricezione, anche adeguando il numero di bit al secondo in trasmissione. Si può aumentare il numero di filtri, si possono quantizzare più finemente le misure di potenza, ma il problema è legato al fatto che in ricezione l eccitazione dei filtri è generata indipendentemente. C è, però, una variante implementativa di questo codificatore che si presta a graduare la qualità del segnale ricostruito, sempre a spese del numero di bit al secondo necessari per la trasmissione. Si è già accennato al fatto che il canale vocale può essere modellato come una struttura riverberante: nella prima parte del corso si è studiata la predizione lineare come metodo per sbiancare un processo AR e, parallelamente, per stimarne la densità spettrale di potenza. Nell implementazione del filtro sbiancante a soli zeri come filtro a traliccio, si otteneva una

199 10.4. VOCODER E CODIFICA A PREDIZIONE LINEARE. 199 struttura ripetitiva che consentiva la necessaria accuratezza spettrale a patto di aumentare il numero di celle. Ogni cella produceva un coefficiente di riflessione o di correlazione parziale: l insieme dei coefficienti permetteva (eventualmente tramite la recursione di Levinson) di descrivere la funzione di trasferimento del filtro sbiancante e, quindi, la densità spettrale del segnale in ingresso. È evidente che un filtro a traliccio può egregiamente sostituire il banco di filtri di analisi del trasmettitore del vocoder ma, a differenza del banco di filtri e successivi misuratori di potenza a breve periodo, il filtro a traliccio fornisce in uscita il residuo di predizione o segnale sbiancato, cioè una stima della eccitazione della cavità vocale. Tale residuo di predizione può essere usato solo per decidere voiced/unvoiced e l eventuale frequenza del pitch (riottenendo le prestazioni del vocoder classico) o può essere codificato in maniera più o meno accurata ed inviato al ricevitore che lo utilizza come eccitazione al filtro inverso (tutti poli). È evidente che se il residuo viene trasmesso al ricevitore a piena qualità, il ricevitore è in grado di ricostruire esattamente il segnale trasmesso. Dalla teoria della predizione lineare si ricorderà che questo residuo avrà varianza minore del segnale originario e, quindi, a parità di potenza del disturbo di quantizzazione, richiederà meno bit per la quantizzazione. Questa variante implementativa del vocoder che può chiamarsi vocoder lpc (linear prediction coding) consente, quindi, quella gradualità qualità/bit rate che per la implementazione precedente non era possibile. D altra parte questa implementazione è solo possibile con tecniche digitali, mentre il vocoder classico può essere implementato anche in analogico. Il modello autoregressivo considera rumore bianco sagomato in frequenza da un filtro a soli poli 1 che è calzante per i suoni non vocalizzati. Nel caso di suoni vocalizzati l eccitazione è periodica e questo implica che lo spettro del segnale prodotto avrà un andamento oscillante. Nella determinazione dei parametri del filtro non si userà un modello a infinite sezioni, nel qual caso si potrebbero "inseguire" tutti i massimi locali. Si ha un numero di parametri limitato per il modello: il sistema sarà identificato in modo che permetta di descrivere al meglio, in termini di minimi quadrati, l andamento della densità spettrale di potenza. È chiaro allora che non sarà possibile seguire la natura periodica del segnale eccitante, ma al massimo si potranno identificare alcuni massimi grossolani della densità spettrale a breve periodo. Tali massimi, di frequenza via via crescente, vanno sotto il nome di formanti, perché sono quelle sagomature spettrali che caratterizzano il suono vocalizzato. Le corde vocali, infatti, vibrano sempre più o meno allo stesso modo: quello che cambia da una vocale all altra è la sagomatura della cavità orale e, quindi, la sagomatura della funzione di trasferimento ed i suoi massimi. Quindi si sbianca solo fino a un certo punto, cioè fino a fare in maniera che l andamento consentito dal numero di parametri a disposizione fitti al meglio, in termini di minimi quadrati, la vera densità spettrale a breve periodo. In presenza di una sibilante, come residuo dello sbiancamento si otterrà qualcosa che è abbastanza prossimo al rumore bianco. In 1 I poli di una funzione di trasferimento servono a identificare dei guadagni localizzati in banda; quindi una struttura autoregressiva (solo poli) permette di approssimare al meglio i massimi locali della densità spettrale di potenza e, naturalmente, non consente di descrivere accuratamente i minimi locali. Viceversa se si usa un modello MA, cioè solo zeri, la parte che si riesce a descrivere meglio è quella relativa ai minimi.

200 APPLICAZIONI 1D presenza di una vocale, all uscita dello sbiancatore si otterrà ancora una sequenza periodica, ma con spettro sbiancato, cioè qualcosa che somiglia molto ad una sequenza periodica di impulsi molto stretti. I coefficienti di riflessione sono dei parametri che è necessario trasmettere al ricevitore, in modo che sia in grado di riprodurre opportunamente la sagomatura spettrale, eliminata dal filtro sbiancante presente nel trasmettitore, dovuta al comportamento della cavità orale. In trasmissione si ha un filtro tutti zeri; il ricevitore, invece, deve usare un filtro tutti poli. Quindi sostanzialmente il ricevitore potrà usare un filtro recursivo, con un opportuno numero di ritardi e con dei coefficienti da ricavare dai coefficienti di riflessione mediante la recursione di Levinson, oppure potrà usare un filtro a traliccio, tutti poli, nel quale usare gli stessi coefficienti di riflessione del filtro di analisi. Qualche osservazione: è necessario innanzitutto vedere se è più conveniente trasmettere i coefficienti di riflessione o direttamente i parametri del filtro FIR o IIR. Dal lato del trasmettitore non ci sono problemi perché si ha a che fare con una struttura tutti zeri: anche se i valori numerici dei parametri sono approssimati, le cose non cambiano molto, semplicemente il filtro ha una funzione di trasferimento leggermente diversa. Le cose sono ben diverse in ricezione, dato che gli stessi parametri servono non più per descrivere il numeratore della funzione di trasferimento, ma il denominatore. Si ha a che fare con poli, il cui spostamento, dovuto a errori nei parametri, può causare l instabilità del filtro. Se si usano filtri a traliccio, i parametri da usare sono i coefficienti di riflessione, che se non superano in modulo il valore 1 garantiscono la stabilità del sistema. In questo modo ci si può facilmente assicurare sia della fedeltà del filtro sbiancatore in trasmissione, sia della stabilità del filtro in ricezione. Ne consegue che nella descrizione della funzione di trasferimento della cavità orale mediante codificatori a predizione lineare, si preferisce trasmettere i coefficienti di riflessione perché permettono un controllo immediato della stabilità del filtro in ricezione. Un altra problematica è quella legata alla quantizzazione di tali coefficienti. È facile rendersi conto che la n-upla dei coefficienti di riflessione, che descrivono la struttura del filtro, è una unica entità: invece di avere una grandezza scalare, si ha una grandezza vettoriale. Il concetto di quantizzazione, che per una variabile scalare è banale, si può generalizzare a grandezze vettoriali. Nel caso di un vettore a due sole componenti si tratta di dividere il dominio bidimensionale, che definisce l intervallo dei valori assumibili dall una e dall altra componente del vettore, in un numero finito di "aree" per ognuna delle quali si definisce una coppia di valori rappresentativi da usare come valori di restituzione. Un vantaggio di codificare insieme più variabili sta nel fatto che si può arrivare ad usare per ogni singola variabile un numero di bit frazionario. Il discorso è naturalmente generalizzabile a gruppi di più di due variabili Sub band coding L idea di suddividere un segnale in componenti spettrali, già considerato nel caso del vocoder, si ripropone in un altro schema di codifica per suddivisione in sottobande (subband coding).

201 10.6. QUANTIZZATORI SIGMA-DELTA 201 filtro analisi N coder N decoder N filtro sintesi N filtro analisi N 1 coder N 1 decoder N 1 filtro sintesi N 1 s(n) filtro analisi 3 filtro analisi 2 coder 3 coder 2 canale trasmissivo decoder 3 decoder 2 filtro sintesi 3 filtro sintesi 2 s(n) ^ filtro analisi 1 coder 1 decoder 1 filtro sintesi 1 Figura Schema di principio del sub-band coder. Nel caso del vocoder ogni canale del blocco di sintesi produceva una misura della potenza a breve periodo del segnale all uscita di ogni filtro. I diversi segnali passa-banda non avevano, né potevano avere, altro uso. Se i banchi di filtri di analisi e di sintesi sono implementati con tecniche numeriche, però, si può fare in modo (come già visto nella prima parte del corso) che la cascata del banco di analisi e di quello di sintesi diano luogo ad una struttura trasparente nel senso che all uscita del bando di sintesi è possibile ricostruire fedelmente il segnale che alimenta il banco di analisi. Questo richiede proprietà stringenti ai diversi filtri in gioco, che si possono ottenere solo con filtri numerici. Se i segnali all uscita dei filtri di analisi sono inviati all ingresso dei rispettivi filtri del banco di sintesi il segnale ricostruito è perfetto, ma se i segnali sono sottoposti a codifica che ne dà una descrizione approssimata, il segnale ricostruito risulterà affetto da distorsione. Questa distorsione si può rendere il meno possibile percepibile dall utente finale giocando su proprietà psicofisiche del sistema uditivo utilizzando la separazione delle diverse componenti spettrali del segnale da codificare. La figura riporta uno schema di principio di un tale tipo di codificatore Quantizzatori sigma-delta La modulazione delta ha l inconveniente che in ricezione c è un integratore e questo propaga all infinito l effetto di un errore di trasmissione. L appesantirsi delle conseguenze di un errore di trasmissione è tipico di tutti i sistemi di codifica che tendono a ridurre le ridondanze presenti in un segnale. Se si commette un errore le ridondanze permettono di recuperarlo, mentre il ricevitore diventa molto sensibile agli errori se queste ridondanze non ci sono. Per eliminare questo inconveniente si può trasmettere il segnale integrato (vedi figura ). Naturalmente in ricezione sarà necessario un derivatore per riottenere il segnale originario. Ovviamente l integratore che integra il segnale prima della trasmissione può essere portato al di là del nodo sommatore semplificando la struttura. Gli schemi di figura si modificano in quelli di figura Questo tipo di codifica prende il nome di modulazione sigma-delta.

202 APPLICAZIONI 1D codificatore delta decodificatore delta d dt filtro p.basso Figura Codifica e decodifica sigma-delta. Il decodificatore delta produceva un approssimazione a gradinata del segnale trasmesso (vedi figura ) che, mediante un filtro passa-basso di ricostruzione genera l approssimazione analogica del segnale trasmesso. Nel caso della modulazione sigma-delta l approssimazione del segnale trasmesso, prima del filtro di ricostruzione, è costituita da impulsini di durata ed ampiezza costante, il cui numero medio per unità di tempo convoglia l informazione relativa al valore del segnale analogico, che viene poi estratto dal filtro di ricostruzione. È evidente dallo schema di figura che il decodificatore non ha bisogno che del filtro passa-basso, dal momento che l effetto dell integratore si annulla con quello del derivatore. Dato il principio di funzionamento, è ovvio che la frequenza di campionamento dovrà essere più alta di quella di Nyquist, anche se ogni campione risulta quantizzato con un solo bit. Questa procedura può essere implementata sostituendo il filtro passa basso analogico con un filtro numerico con banda passante anche molto più piccola di metà della frequenza di campionamento. Se il segnale all ingresso del filtro è quantizzato con un solo bit per campione, quello all uscita del filtro risulterà rappresentato con un numero di bit per campione maggiore. Di questo fatto si può dare una duplice interpretazione: 1) Ogni campione all uscita del filtro è una media pesata di più campioni successivi all ingresso e, come tale, rappresentabile con numeri binari con un maggior numero di bit dei campioni in ingresso; 2) l operazione di smussatura operata dal filtro può essere vista come una riduzione del rumore di quantizzazione corrispondente ad una quantizzazione su più livelli. A valle del filtro che riduce la banda del segnale, la frequenza di campionamento può adeguatamente essere ridotta. Si arriva così ad un sistema che permette la quantizzazione su un numero anche elevato di bit per campione, pur utilizzando inizialmente un quantizzatore ad un solo bit (un semplice comparatore che si può far funzionare anche a frequenze di campionamento molto elevate) ma utilizzato a frequenza di campionamento molto maggiore di quella di Nyquist. Il sistema delineato si configura non più come un sistema per la trasmissione numerica di un segnale, ma come una implementazione molto efficace di un quantizzatore con un numero elevato di bit per campione. L utilizzo iniziale di una frequenza di campionamento molto elevata semplifica altresì il filtraggio anti-alias iniziale che adesso dovrà lasciar passare indisturbate le componenti spettrali B, con B banda del segnale, ed attenuare fortemente le componenti f c /2, con f c frequenza di campionamento iniziale.

203 10.6. QUANTIZZATORI SIGMA-DELTA 203 f c B f c/2 B f c/2 B f c/2 Q M 1 f /2M c Figura Schema di decimazione. B f /2M c f c/m x(t) f c B f /2 c z 1 e (n) q B f c/2 B f c/2 x Σ (n) f /2M c M 1 B f /2M c f c/m Figura Schema di quantizzatore sigma-delta di tipo 1. Per valutare le prestazioni del sistema in esame conviene partire dal valutare quanto un iniziale sovracampionamento può produrre in termini di aumento del numero di bit di quantizzazione. Con riferimento alla figura ed a quanto detto nella prima parte del corso a proposito del rumore di quantizzazione: il campionamento del segnale produce la periodicizzazione dello spettro del segnale all ingresso del quantizzatore, mentre la quantizzazione aggiunge disturbo bianco con varianza σ 2 e q. La varianza del rumore di quantizzazione a valle del filtro con banda f c /2M varrà σ 2 e q /M, corrispondente ad un passo di quantizzazione più piccolo di un fattore 1/ M, cioè ad un incremento nel numero di bit pari a 1 2 log 2 M. Per un bit in più bisogna usare una frequenza di campionamento quadrupla; per aumentare i bit da 1 a 8 ci vorrebbe una frequenza di campionamento = volte più alta (se B = 20 khz, f c khz 2, 62 GHz!). Se, invece di un quantizzatore si usa un modulatore sigma-delta, la situazione cambia. Con riferimento alla figura , come già osservato, è possibile spostare gli integratori (tempo discreti: ricordarsi che il sistema è tempo discreto) oltre il nodo sommatore, ottenendo per tutta la catena elaborativa sigma-delta il circuito equivalente riportato in figura , dove sono aggiunti, però, lo stadio di filtraggio e successiva decimazione della figura Il quantizzatore ad 1 bit (comparatore) viene schematizzato mediante l aggiunta al segnale in ingresso del rumore di quantizzazione e q (n). Il segnale all uscita del modulatore sigma-delta si può esprimere, usando le trasformate z come: (10.6.1) X Σ (z) = z 1 X (z) ( 1 z 1) E q (z) x Σ (n) = x (n 1) e q (n) e q (n 1) L interposizione del modulatore sigma-delta, perciò, non ha modificato il segnale, limitandosi a ritardarlo di un passo di campionamento. In compenso ha sagomato spettralmente il rumore di quantizzazione, che risulta filtrato passa-alto e con densità spettrale h eq (f) 4 sin 2 (πf/f c )

204 APPLICAZIONI 1D x(t) f c B f /2 c z 1 ~ x(t) z 1 e (n) q B f c/2 B f c/2 x Σ 2(n) f /2M c M 1 B f /2M c f c/m Figura Schema di quantizzatore sigma-delta di tipo 2. che, integrata nella banda f c /2M, dà una varianza del rumore di quantizzazione all uscita del filtro σ 2 e f = σ2 e q f c /2 f c/2m 0 4 sin 2 (πf/f c ) df σ2 e q f c /2 f c/2m 0 4 (πf/f c ) 2 df = σ 2 e q π 2 3 ( ) 3 1 M Questo vuol dire che per un fattore di sovracampionamento pari ad M = 2 r si ottiene una riduzione della varianza del rumore di quantizzazione pari a (9, 03r 5, 17) db. Questo vuol dire che, siccome per un quantizzatore un raddoppio del numero dei livelli (1 bit in più) riduce la varianza dell errore di quantizzazione di 6dB, in questo caso un raddoppio della frequenza di campionamento corrisponde ad un incremento equivalente pari a 1, 5 bit (il fattore π 2 /3 è costante). Facendo riferimento all esempio già considerato nel caso del semplice sovracampionamento, per incrementare il numero di bit di un fattore 8 è necessario un fattore di sovracampionamento tale che 5, r 6, r 11, 24 M 2419 (se B = 20 khz, f c khz 96, 76 MHz!). Il miglioramento delle prestazioni rispetto al puro sovracampionamento e decimazione successiva alla quantizzazione è legato alla sagomatura spettrale del rumore di quantizzazione operata dal modulatore sigma-delta. Il concetto si può estendere, ricorrendo ad ulteriori stadi di sagomatura spettrale del rumore, In figura è schematizzato un codificatore sigma-delta del secondo tipo. In questo caso il segnale all uscita del modulatore sigma-delta si può esprimere, sempre usando le trasformate z, come: (10.6.2) X Σ 2 (z) = z 1 X (z) ( 1 z 1) 2 Eq (z) x Σ 2 (n) = x (n 1)e q (n) 2e q (n 1)e q (n 2) che si può ottenere osservando che l ingresso al secondo anello ( x (n)) è esprimibile come X (z) = X (z) z 1 X (z) (1 z 1 ) E q (z) 1 z 1 e che X Σ 2 (z) è legata ad X (z) ed a E q (z) dalla (10.6.1). L interposizione del modulatore sigma-delta anche questa volta non ha modificato il segnale, limitandosi a ritardarlo di un passo di campionamento. In compenso ha sagomato spettralmente il rumore di quantizzazione, che risulta filtrato passa-alto e con densità spettrale h eq (f) 16 sin 4 (πf/f c )

205 10.6. QUANTIZZATORI SIGMA-DELTA 205 che, integrata nella banda f c /2M, dà una varianza del rumore di quantizzazione all uscita del filtro f c/2m f c/2m σe 2 f = σ2 e q f c /2 16 sin 4 (πf/f c ) df σ2 e q f c /2 (2πf/f c ) 4 df = 0 = σ2 e q f c /2 [(2π/f c ) 4 f 5 /5 ] ( ) f c/2m = σ 2 π e q 5 M Questo vuol dire che per un fattore di sovracampionamento pari ad M = 2 r si ottiene una riduzione della varianza del rumore di quantizzazione pari a (15, 05r 12, 89) db. Questo vuol dire che, siccome per un quantizzatore un raddoppio del numero dei livelli (1 bit in più) riduce la varianza dell errore di quantizzazione di 6dB, in questo caso un sovracampionamento di un fattore 2 corrisponde ad un incremento equivalente a 2, 5 bit (al solito, il fattore π 4 /5 è costante). Facendo sempre riferimento all esempio già considerato, per incrementare il numero di bit di un fattore 16 è necessario un fattore di sovracampionamento tale che 12, 89 15, 05 r 6, r 7, 257 M 153 (se B = 20 khz, f c khz 6, 12 MHz!). 0

206

207 CAPITOLO 11 Applicazioni 2D Tomografia La tomografia assiale a raggi X richiede una sorgente di raggi X ed un rivelatore. I raggi attraversano il materiale e la loro intensità viene valutata dal rivelatore: quello che si misura è l integrale dell attenuazione che la radiazione incontra attraversando il soggetto. La tomografia può anche essere emissiva, piazzando la sorgente all interno del soggetto mediante iniezione di traccianti radioattivi che si addensano in maniera differenziata nei vari organi, permettendo una valutazione anche della funzionalità degli organi stessi, oltre che della loro forma e posizione. In entrambi i casi si tratta di valutare una funzione bidimensionale mediante delle misure effettuate dall esterno, cioè delle misure integrate (proiezioni). Si è già visto che nel paragrafo ### cosa si intenda per proiezione: la proiezione sull asse x si ottiene mediante l integrale p 0 (r) = f (x, y) dy è una funzione calcolata effettuando l integrale della funzione bidimensionale. Questa è la proiezione relativa all angolo zero. Naturalmente se ne possono calcolare altre al variare dell angolo. La trasformata di Fourier monodimensionale della proiezione coincide con la fetta della trasformata di Fourier bidimensionale valutata lungo la stessa direzione. Si è già visto un algoritmo di ricostruzione tomografica: basta misurare le proiezioni per tutti i possibili angoli, trasformare le proiezioni e distribuire i valori ottenuti lungo rette passanti per l origine nel piano k x, k y. Il problema di questo modo di procedere sta nel fatto che i dati sono disponibili su un grid polare. Calcolare la FFT bidimensionale in coordinate polari non è agevole perché l operatore non è separabile. L unico modo sensato di procedere sarebbe, quindi, quello di interpolare in modo da riportarsi in coordinate rettangolari. Ma anche l operazione di interpolazione non è agevole, dovendo tener conto di modulo e fase. Si preferisce usare quindi altre strade. Il sistema è lineare e vale, quindi, il principio di sovrapposizione degli effetti: nulla cambia se la funzione che si considera è un impulso bidimensionale. Si considerino, per semplicità, solo tre proiezioni. Il problema è ricostruire l informazione originaria. Ogni singola proiezione fornisce una informazione integrata. L unica cosa che si può fare è rispalmare quanto è in nostro possesso lungo tutta la direzione. 207 r=x

208 APPLICAZIONI 2D ACQUISIZIONE etc Figura Algoritmo algebrico iterativo. Questa operazione va sotto il nome di retroproiezione, cioè di rispalmatura dei valori corrispondenti a una certa posizione nella proiezione su tutti i punti del piano x, y che possono aver contribuito a quei valori. Naturalmente la presenza dei valori spalmati darà luogo ad una incongruenza tra le nuove proiezioni e quelle già in nostro possesso. Si mette allora in piedi una procedura iterativa. Dopo aver effettuato la prima riproiezione si verifica se quanto ottenuto è congruente con le proiezioni originali, ricalcolando le nuove proiezioni. Naturalmente queste saranno diverse dalle prime, come esemplificato, nel caso estremo ed irrealistico di due proiezioni) in figura A questo punto si calcola l errore, come differenza differenza tra le proiezioni iniziali e le ultime calcolate, e lo si rispalma. Così facendo si otterrà un affinamento del risultato. Questa operazione, tuttavia, dovrà essere ripetuta più volte. Quello che si ottiene alla fine è il punto, più evidente, ma non si riuscirà a cancellare completamente l artefatto a stella che si crea, se non nelle immediate vicinanze della funzione, cioè dell impulso. Al crescere della distanza dall impulso, infatti, i campioni sono sempre più distanti tra loro, e quindi, in effetti, si opera un sottocampionamento creando così aliasing. La zona pulita intorno all immagine cresce all aumentare del numero di proiezioni. C è tuttavia una procedura molto comoda che utilizza un solo passo di riproiezione, effettuando delle elaborazioni sulle proiezioni prima di rispalmarle Filtered Back Projections. Il discorso è evidente se si usa l espressione della trasformata di Fourier in coordinate polari. Possiamo ritenere nota la trasformata di Fourier F (K, ψ) a partire dalle proiezioni e dalle loro trasformate. L antitrasformata sarà f (ρ, ϑ) = 1 4π 2 π 0 F (K, ψ) exp [jkρ cos (ϑ ψ)] K dkdψ

209 11.1. TOMOGRAFIA 209 y P ρ θ ψ Q x Figura Riproiezione Per come sono stati considerati gli estremi dell integrale doppio è necessario considerare K e non K. Fissato ψ = ψ o, F (K, ψ o ) è una fetta della trasformata di Fourier presa sulla retta di inclinazione ψ o, e quindi è ottenibile come la trasformata di Fourier monodimensionale della proiezione ottenuta con lo stesso angolo P ψo (K). Si ha allora f (ρ, ϑ) = 1 4π 2 π 0 P ψ (K) exp [jkρ cos (ϑ ψ)] K dkdψ La quantità P ψ (K) K può essere considerata come prodotto di trasformate, in cui K è la funzione di trasferimento di un filtro. La quantità restante è il nocciolo di una antitrasformata di Fourier. Si ottiene allora che 1 2π P ψ (K) K exp [jkρ cos (ϑ ψ)] dk non è altro che l antitrasformata dalla trasformata della proiezione filtrata e, quindi, non è altro che la proiezione relativa all angolo ψ, passata attraverso un filtro con funzione di trasferimento K, valutata per argomento pari a ρ cos (ϑ ψ). Si ha cioè f (ρ, ϑ) = 1 π p F ψ [ρ cos (ϑ ψ)] dψ 2π 0 Quindi, per valutare il valore della funzione f nel punto di coordinate (ρ, ϑ), bisogna sommare i valori assunti dalle proiezioni relative ad angoli 0 ψ < π nei punti che giacciono sui piedi delle perpendicolari che congiungono il punto generico (ρ, ϑ) alla proiezione stessa, cioè in Q con riferimento alla figura (la distanza di Q dall origine è ρ cos (ϑ ψ). Si noti che quanto descritto è del tutto simile a quanto si fa col metodo delle riproiezioni precedentemente descritto. L integrale nella (1) esprime in termini matematici l operazione

210 APPLICAZIONI 2D di riproiezione. Se viene effettuata la riproiezione di proiezioni filtrate, il risultato è pulito e non sono necessari metodi iterativi. Questo è l algoritmo delle Filtered Back Projection (retroproiezioni filtrate) Problemi implementativi. Vediamo i problemi che si possono incontrare implementando questo algoritmo. I valori di ρ, ϑ in cui calcolare le funzioni sono discreti. Anche le proiezioni, filtrate o meno, sono campionate. Quando si calcola il valore ρ cos (ϑ ψ) non è detto che si cada esattamente su un campione della proiezione. E quindi necessario ricorrere ad una interpolazione, per esempio di ordine zero (prendendo il valore più vicino). L effetto di disturbo introdotto da questa interpolazione (l errore commesso) si media su tutte le proiezioni divenendo abbastanza poco evidente. Sarebbe meglio, tuttavia, usare una interpolazione lineare, migliorando così la qualità dell immagine ricostruita. La ricostruzione può avvenire secondo due direttive: dato un punto nel piano, si calcolano la coordinate sulle varie proiezioni ove serve valutare i campioni, oppure si può tentare di implementare una retroproiezione in quanto tale. In altri termini, dato un campione, lo si può spalmare in tutte le celle della matrice che descrive l immagine. A questo punto, però, può succedere di incontrare più celle adiacenti (vedi figura) e, quindi, si rende necessario dividere il valore in maniera proporzionale. Un altro problema è creato dal filtro K, che è un filtro passa alto del tipo in figura. In questo modo si tende ad amplificare anche il rumore al di fuori della banda del segnale. Il filtro che bisogna utilizzare, allora, non potrà mai essere passa alto fino a frequenza infinita, ma deve essere il filtro passa alto desiderato, moltiplicato, in frequenza, per un opportuno filtro passa basso che limiti i termini in alta frequenza che sono sostanzialmente rumore. Il filtro deve essere quindi del tipo in figura, cioè crescente in proporzione al valore della frequenza radiale, ma che poi torni a zero. Si tenga presente che il valore nell origine per un filtro reale non può essere nullo altrimenti si perde la continua (non così nel caso di infinite proiezioni) Codifica televisiva Il segnale televisivo analogico. La televisione consiste nella trasmissione di una sequenza di immagini che, visualizzate in sequenza, siano in grado di rendere l effetto del movimento presente nella scena ripresa. A rigore un segnale televisivo è tridimensionale perché descrive la variazione temporale (prima dimensione) della proiezione bidimensionale di un scena tridimensionale (le altre due dimensioni). Per essere trasmessa su un canale trasmissivo questa informazione deve essere descrivibile mediante una funzione della sola variabile tempo. Lo standard televisivo analogico è una risposta a questa esigenza: la proiezione bidimensionale della scena ripresa viene scandita secondo linee parallele (scansione a raster, evidenziata in figura ) che coprono tutta l area sensibile del sensore. Finita la scansione di una immagine (l equivalente del fotogramma nel cinema) si comincia a scandire l immagine successiva. Della scena ripresa nella televisione bianco-nero si misura l intensità luminosa puntuale (luminanza indicata con il simbolo Y) ovvero, nella televisione a colori, l intensita puntuale

211 11.2. CODIFICA TELEVISIVA 211 Figura Scansione di un segnale televisivo. nei tre colori fondamentali che, nella sintesi additiva, sono il rosso, il verde e il blu (con acronimo inglese RGB per red, green, blue). Trasmettere un segnale a colori equivale a trasmettere tre diversi segnali televisivi. Le proprietà del segnale di luminanza o dei segnali relativi ai tre colori fondamentali sono molto simili: si possono, perciò, fare delle considerazioni sul modo di trasmettere uno solo di tali segnali ed applicare il discorso anche agli altri nel caso di TV a colori. Il calcolo della banda necessaria al segnale risultante dalla scansione descritta è abbastanza agevole, a partire da alcuni dati: numero di quadri scanditi in un secondo, numero di righe scandite in un quadro e percentuale di righe effettivamente utilizzate per trasmettere informazione pittorica. Nello standard in vigore in Italia si usano 25 quadri al secondo e 625 righe per quadro, di cui solo 570 attive. Con 570 righe è possibile descrivere in verticale una sinusoide con un numero teorico massimo di periodi pari a 570/2, che in realtà si riducono (si sta parlando della descrizione campionata di un segnale) di circa un 30%. In direzione orizzontale è logico che si sia in grado di descrivere un pari numero di periodi nella stessa lunghezza. Siccome il rapporto d aspetto dello standard TV attuale è 4/3, in una riga si devono poter descrivere 570/2 0, 7 4/3 periodi di sinusoide. Il periodo di riga è pari a 1/ (625 25) = secondi, di cui solo 50 µs attivi. Ne consegue che la banda necessaria è, approssimativamente B 5 MHz. Trasmettere tre segnali televisivi contemporaneamente (R, G e B), però, porterebbe il costo di trasmissione di un segnale TV a colori ad essere pari a tre volte il costo di trasmissione di un segnale TV bianco e nero. In effetti si è notato che l occhio è molto più sensibile ai dettagli della luminanza di quanto non lo sia ai dettagli del colore. Separando l informazione di intensità luminosa da quella di tinta (crominanza), quest ultima può essere trasmessa con dettaglio molto minore senza che l occhio se ne accorga. La luminanza è la somma (con pesi non unitari, dipendenti da considerazioni colorimetriche e variabili da standard a standard che in questo contesto verranno ignorati) di rosso,

212 APPLICAZIONI 2D Figura Esempi di immagine e relativo istogramma delle ampiezze: quadri di luminanza delle sequenze container e Akiyo. verde e blu: Y = R G B L informazione sul colore (crominanza) può essere separata da quella di luminanza considerando le cosiddette differenze colore (ancora una volta si ignorano coefficienti diversi da 1): U = B Y e V = R Y Questo consente di allocare alle differenze colore molta meno banda che alla luminanza. Una descrizione adeguata del movimento richiede 25 immagini complete (quadri) al secondo. In realtà con 25 scansioni al secondo della scena, l utente percepirebbe uno sfarfallio troppo fastidioso. Per questo motivo la scena viene scandita un numero doppio di volte ma, per evitare un raddoppio della banda necessaria alla trasmissione si scandiscono alternativamente le righe di posto pari e successivamente quelle di posto dispari all interno del quadro, ricorrendo a quella che si chiama scansione interallacciata Il segnale televisivo numerico. Per passare ad una trasmissione numerica è necessario discretizzare il segnale televisivo anche lungo la direzione orizzontale, in modo che il segnale televisivo sia costituito da campioni (picture element o pixel) disposti lungo un reticolo tridimensionale: posizione orizzontale, posizione verticale e posizione temporale.

213 11.2. CODIFICA TELEVISIVA Figura Immagini di figura quantizzate con 3 bit per campione (8 livelli di grigio). Y U V 4:4:4 4:2:2 4:1:1 Figura Standard di campionamento delle differenze colore. Per la trasmissione ogni campione (di luminanza o di crominanza) deve essere quantizzato per ottenere il tipo di codifica denominata PCM (come già visto nel caso del segnale vocale: pulse code modulation). Il rumore di quantizzazione, dovuto ad una quantizzazione grossolana, si manifesta nell immagine con zone di grigio o colore uniforme, che fanno comparire dei falsi contorni che nell immagine reale non esistono. Il fatto che il segnale televisivo sia non stazionario (la statistica dei livelli di grigio cambia al cambiare della scena come evidente nella figura ) ha come conseguenza che l unica legge di quantizzazione che abbia senso usare è quella uniforme. Se la quantizzazione è uniforme, per avere una qualità ragionevole, cioè perché l occhio non percepisca questi pseudocontorni, occorrono 6 bit. In effetti, poi, si usano 8 bit. Il risparmio che si può operare sulle differenze colore consiste nella riduzione della frequenza di campionamento rispetto a quella della luminanza: si ottengono così gli standard 4:4:4, 4:2:2 e 4:1:1, il cui significato è spiegato in figura Il segnale televisivo analogico occupa una banda di 5 MHz. Se si suppone di campionare a 10 MHz (lo standard è 13, 5 MHz), per trasmettere 8 bit/campione bisogna trasmettere 80 Mb/s (corrispondenti con modulazione PSK ad una banda occupata di 40 MHz). La banda 1

214 APPLICAZIONI 2D occupata è così aumentata di un fattore 8. Qual è allora il vantaggio di trasmettere un segnale televisivo in forma numerica? Il vantaggio principale sta nel fatto che è possibile controllare il rumore. Infatti, una volta stabilita la legge di quantizzazione, si è fissato anche il rumore di quantizzazione. In analogico ogni volta che si trasmette o si riversa il segnale da un nastro all altro si aggiunge del rumore. In numerico, invece, si aggiunge del rumore alla forma d onda che rappresenta il singolo bit e questo non ha importanza fino a quando la probabilità d errore rimane bassa. Quindi se si riusce a garantire all inizio un certo rapporto S/N, le manipolazioni/ritrasmissioni successive possono non degradare più il segnale Codifica differenziale. Nella trasmissione PCM non ci si preoccupa di che cosa si sta trasmettendo: si leggono i campioni, si quantizza e si trasmettono i bit. Questo sarebbe ragionevole se i campioni del segnale fossero tra loro statisticamente indipendenti, ma nel segnale televisivo, invece, c è sicuramente correlazione tra campioni vicini. È certamente il caso di tentare di ridurre la banda occupata. Per tener conto della correlazione esistente tra campioni adiacenti si può mettere in piedi un meccanismo di predizione. Nella codifica del segnale televisivo si può usare la predizione lineare che, nella forma più semplice possibile, invece di trasmettere il valore di luminanza di un campione, trasmette la differenza fra il campione ed il campione contiguo in orizzontale o in verticale già disponibile al ricevitore. L errore di predizione viene poi codificato con il classico PCM, cioè si applica la codifica PCM non al segnale x(n, m), ma all errore di predizione orizzontale e h (n, m) = x(n, m) ˆx(n, m 1) o verticale e v (n, m) = x(n, m) ˆx(n 1, m), dove ˆx( ) è la stima del campione precedente disponibile anche al ricevitore. Questo tipo di codifica va sotto il nome di DPCM: PCM differenziale. Il suo vantaggio consiste nel fatto che l errore di predizione ha varianza molto inferiore a quella del segnale e che la statistica degli errori di predizione è molto più prevedibile, con una densità di probabilità concentrata intorno a valori piccoli di e. Le figure e visualizzano le differenze orizzontali e quelle verticali calcolate per le immagini di figura con i relativi istogrammi. È interessante osservare come le statistiche delle ampiezze delle differenze spaziali di una immagine siano molto più regolari delle statistiche delle ampiezze: l istogramma è sempre concentrato intorno al valore zero, anche se la sua larghezza e, in qualche misura la sua forma effettiva cambia. Una volta ottenuto l errore di predizione, si può procedere in due modi. Il primo prevede una quantizzazione uniforme con codifica a lunghezza variabile, che associa ai valori più piccoli di e parole di lunghezza minore: non si otterrà il codice ottimo perché la statistica non è esattamente definita, ma le inefficienze saranno abbastanza contenute. Il secondo modo di precedere prevede una quantizzazione non uniforme, in modo da cercare di uniformare la probabilità dei vari intervalli di quantizzazione, e poi una codifica a lunghezza fissa. La quantizzazione sarà più fine e, quindi, gli intervallini più piccoli dove la probabilità è più alta e più grossolana dove la probabilità è più bassa.

215 11.2. CODIFICA TELEVISIVA Figura Differenze di luminanza orizzontali e verticali dell immagine estratta dalla sequenza container. Nel caso della codifica video, il valore quadratico medio non è significativo nel quantificare l effetto provocato nell utente da un particolare disturbo. Esso assume, però, significatività se applicato a disturbi con uguali caratteristiche. Questa considerazione legittima, almeno parzialmente, l adozione del metodo di Max per determinare il quantizzatore non uniforme ottimale, nota la densità di probabilità delle ampiezze dell errore di predizione. La statistica che sperimentalmente si è rivelata quella che meglio approssima le proprietà dell errore di predizione è una densità di probabilità laplaciana. Si può in questo modo dimensionare il quantizzatore minimizzando il valore quadratico medio del rumore di quantizzazione, una volta assunta o stimata la varianza. In realtà questa non è la cosa migliore che si possa fare, in quanto il rumore di quantizzazione può avere effetti diversi a seconda dell area dell immagine dove è allocato. Ad esempio, il rumore termico si manifesta come effetto nebbia ed è più visibile nelle zone chiare che nelle zone scure. Il rumore di quantizzazione, a seconda che sia concentrato a livelli bassi o a livelli alti dell errore di predizione, ha degli effetti diversi. Si avranno livelli bassi di errore di predizione dove l immagine è abbastanza uniforme, ad esempio sul viso di una annunciatrice o su uno sfondo uniforme. L errore di quantizzazione in queste zone si manifesta come rumore granulare facendo comparire, ad esempio sul volto dell annunciatrice, una granularità che in effetti non esiste. Le zone dove l errore di predizione è alto sono quelle dove ci sono discontinuità, per esempio nel passaggio dallo sfondo alla faccia dell annunciatrice o dove c è un elevato grado

216 APPLICAZIONI 2D Figura Differenze di luminanza orizzontali e verticali dell immagine estratta dalla sequenza Akiyo. Β Α Figura Campioni disponibili per la predizione del campione corrente ( ). di dettagli anche all interno di uno stesso oggetto: ad esempio un arazzo. Un rumore di quantizzazione eccessivo può fare in modo che il bordo della guancia appaia seghettato, cioè si verificano delle irregolarità nei bordi degli oggetti ripresi (edge business). Questo effetto viene ancora più evidenziato dal fatto che tra un fotogramma ed il successivo la scena non cambia di molto, ma cambia (anche se di poco) la sua posizione rispetto al reticolo di campionamento, per cui la frastagliatura indotta dalla quantizzazione grossolana cambia da fotogramma a fotogramma. I contorni appariranno perciò seghettati ed in più la seghettatura sarà variabile nel tempo. Nella codifica DPCM si può agire sul quantizzatore e sul predittore. Un pixel in un immagine sarà correlato con tutti i punti intorno anche se questa correlazione diminuisce all aumentare della distanza. I punti vicini che si possono usare per la stima devono essere quelli che sono già disponibili al ricevitore e questi punti sono quelli a sinistra sulla stessa riga ed i punti della riga precedente (o delle righe precedenti) indicati nella figura

Appunti del corso di. ELABORAZIONE NUMERICA dei SEGNALI 1 modulo (6 CFU) Ciro Cafforio

Appunti del corso di. ELABORAZIONE NUMERICA dei SEGNALI 1 modulo (6 CFU) Ciro Cafforio Politecnico di Bari Corso di Laurea in Ingegneria Elettronica e delle Telecomunicazioni Appunti del corso di ELABORAZIONE NUMERICA dei SEGNALI 1 modulo (6 CFU) Ciro Cafforio Anno Accademico 2012-2013 CAPITOLO

Dettagli

Il Campionameto dei segnali e la loro rappresentazione. 1 e prende il nome frequenza di

Il Campionameto dei segnali e la loro rappresentazione. 1 e prende il nome frequenza di Il Campionameto dei segnali e la loro rappresentazione Il campionamento consente, partendo da un segnale a tempo continuo ovvero che fluisce con continuità nel tempo, di ottenere un segnale a tempo discreto,

Dettagli

Elementi di teoria dei segnali /b

Elementi di teoria dei segnali /b Elementi di teoria dei segnali /b VERSIONE 29.4.01 Filtri e larghezza di banda dei canali Digitalizzazione e teorema del campionamento Capacità di canale e larghezza di banda Multiplexing e modulazioni

Dettagli

Introduzione al Campionamento e

Introduzione al Campionamento e Introduzione al Campionamento e all analisi analisi in frequenza Presentazione basata sul Cap.V di Introduction of Engineering Experimentation, A.J.Wheeler, A.R.Ganj, Prentice Hall Campionamento L'utilizzo

Dettagli

Introduzione all analisi dei segnali digitali.

Introduzione all analisi dei segnali digitali. Introduzione all analisi dei segnali digitali. Lezioni per il corso di Laboratorio di Fisica IV Isidoro Ferrante A.A. 2001/2002 1 Segnali analogici Si dice segnale la variazione di una qualsiasi grandezza

Dettagli

CAMPIONAMENTO E RICOSTRUZIONE DI SEGNALI

CAMPIONAMENTO E RICOSTRUZIONE DI SEGNALI CAMPIONAMENTO E RICOSTRUZIONE DI SEGNALI 1 Fondamenti di segnali Fondamenti e trasmissione TLC Segnali in formato numerico Nei moderni sistemi di memorizzazione e trasmissione i segnali in ingresso sono

Dettagli

INTEGRATORE E DERIVATORE REALI

INTEGRATORE E DERIVATORE REALI INTEGRATORE E DERIVATORE REALI -Schemi elettrici: Integratore reale : C1 R2 vi (t) R1 vu (t) Derivatore reale : R2 vi (t) R1 C1 vu (t) Elenco componenti utilizzati : - 1 resistenza da 3,3kΩ - 1 resistenza

Dettagli

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................

Dettagli

La distribuzione Normale. La distribuzione Normale

La distribuzione Normale. La distribuzione Normale La Distribuzione Normale o Gaussiana è la distribuzione più importante ed utilizzata in tutta la statistica La curva delle frequenze della distribuzione Normale ha una forma caratteristica, simile ad una

Dettagli

IL FILTRAGGIO DEL SEGNALE

IL FILTRAGGIO DEL SEGNALE CAPITOLO 4 IL FILTRAGGIO DEL SEGNALE 4.1 - SISTEMA LINEARE NON DISTORCENTE E un sistema lineare che restituisce in uscita una replica indistorta del segnale di entrata, intendendo x(t) y(t) = Ax(t-t 0

Dettagli

Basi di matematica per il corso di micro

Basi di matematica per il corso di micro Basi di matematica per il corso di micro Microeconomia (anno accademico 2006-2007) Lezione del 21 Marzo 2007 Marianna Belloc 1 Le funzioni 1.1 Definizione Una funzione è una regola che descrive una relazione

Dettagli

Amplificatori Audio di Potenza

Amplificatori Audio di Potenza Amplificatori Audio di Potenza Un amplificatore, semplificando al massimo, può essere visto come un oggetto in grado di aumentare il livello di un segnale. Ha quindi, generalmente, due porte: un ingresso

Dettagli

( x) ( x) 0. Equazioni irrazionali

( x) ( x) 0. Equazioni irrazionali Equazioni irrazionali Definizione: si definisce equazione irrazionale un equazione in cui compaiono uno o più radicali contenenti l incognita. Esempio 7 Ricordiamo quanto visto sulle condizioni di esistenza

Dettagli

Università di Napoli Parthenope Facoltà di Ingegneria

Università di Napoli Parthenope Facoltà di Ingegneria Università di Napoli Parthenope Facoltà di Ingegneria Corso di rasmissione Numerica docente: Prof. Vito Pascazio 18 a Lezione: 13/1/4 19 a Lezione: 14/1/4 Sommario rasmissione di segnali PM numerici su

Dettagli

Slide Cerbara parte1 5. Le distribuzioni teoriche

Slide Cerbara parte1 5. Le distribuzioni teoriche Slide Cerbara parte1 5 Le distribuzioni teoriche I fenomeni biologici, demografici, sociali ed economici, che sono il principale oggetto della statistica, non sono retti da leggi matematiche. Però dalle

Dettagli

DISCRETIZZAZIONE DI UN SEGNALE ANALOGICO:

DISCRETIZZAZIONE DI UN SEGNALE ANALOGICO: DISCRETIZZAZIONE DI UN SEGNALE ANALOGICO: nel processo di digitalizzazione che permette di convertire un segnale analogico in modo da poterlo elaborare con dispositivi numerici di calcolo, si operano due

Dettagli

Il concetto di valore medio in generale

Il concetto di valore medio in generale Il concetto di valore medio in generale Nella statistica descrittiva si distinguono solitamente due tipi di medie: - le medie analitiche, che soddisfano ad una condizione di invarianza e si calcolano tenendo

Dettagli

Come visto precedentemente l equazione integro differenziale rappresentativa dell equilibrio elettrico di un circuito RLC è la seguente: 1 = (1)

Come visto precedentemente l equazione integro differenziale rappresentativa dell equilibrio elettrico di un circuito RLC è la seguente: 1 = (1) Transitori Analisi nel dominio del tempo Ricordiamo che si definisce transitorio il periodo di tempo che intercorre nel passaggio, di un sistema, da uno stato energetico ad un altro, non è comunque sempre

Dettagli

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE LE SUCCESSIONI 1. COS E UNA SUCCESSIONE La sequenza costituisce un esempio di SUCCESSIONE. Ecco un altro esempio di successione: Una successione è dunque una sequenza infinita di numeri reali (ma potrebbe

Dettagli

2. Leggi finanziarie di capitalizzazione

2. Leggi finanziarie di capitalizzazione 2. Leggi finanziarie di capitalizzazione Si chiama legge finanziaria di capitalizzazione una funzione atta a definire il montante M(t accumulato al tempo generico t da un capitale C: M(t = F(C, t C t M

Dettagli

Quando troncare uno sviluppo in serie di Taylor

Quando troncare uno sviluppo in serie di Taylor Quando troncare uno sviluppo in serie di Taylor Marco Robutti October 13, 2014 Lo sviluppo in serie di Taylor di una funzione è uno strumento matematico davvero molto utile, e viene spesso utilizzato in

Dettagli

Complementi di Analisi per Informatica *** Capitolo 2. Numeri Complessi. e Circuiti Elettrici. a Corrente Alternata. Sergio Benenti 7 settembre 2013

Complementi di Analisi per Informatica *** Capitolo 2. Numeri Complessi. e Circuiti Elettrici. a Corrente Alternata. Sergio Benenti 7 settembre 2013 Complementi di Analisi per nformatica *** Capitolo 2 Numeri Complessi e Circuiti Elettrici a Corrente Alternata Sergio Benenti 7 settembre 2013? ndice 2 Circuiti elettrici a corrente alternata 1 21 Circuito

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile Problemi connessi all utilizzo di un numero di bit limitato Abbiamo visto quali sono i vantaggi dell utilizzo della rappresentazione in complemento alla base: corrispondenza biunivoca fra rappresentazione

Dettagli

Transitori del primo ordine

Transitori del primo ordine Università di Ferrara Corso di Elettrotecnica Transitori del primo ordine Si consideri il circuito in figura, composto da un generatore ideale di tensione, una resistenza ed una capacità. I tre bipoli

Dettagli

La trasformata Zeta. Marco Marcon

La trasformata Zeta. Marco Marcon La trasformata Zeta Marco Marcon ENS Trasformata zeta E l estensione nel caso discreto della trasformata di Laplace. Applicata all analisi dei sistemi LTI permette di scrivere in modo diretto la relazione

Dettagli

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da Data una funzione reale f di variabile reale x, definita su un sottoinsieme proprio D f di R (con questo voglio dire che il dominio di f è un sottoinsieme di R che non coincide con tutto R), ci si chiede

Dettagli

Politecnico di Milano. Facoltà di Ingegneria Industriale. Corso di Analisi e Geometria 2. Sezione D-G. (Docente: Federico Lastaria).

Politecnico di Milano. Facoltà di Ingegneria Industriale. Corso di Analisi e Geometria 2. Sezione D-G. (Docente: Federico Lastaria). Politecnico di Milano. Facoltà di Ingegneria Industriale. Corso di Analisi e Geometria 2. Sezione D-G. (Docente: Federico Lastaria). Aprile 20 Indice Serie numeriche. Serie convergenti, divergenti, indeterminate.....................

Dettagli

Corso di Laurea a Distanza in Ingegneria Elettrica Corso di Comunicazioni Elettriche Processi casuali A.A. 2007-08. Alberto Perotti, Roberto Garello

Corso di Laurea a Distanza in Ingegneria Elettrica Corso di Comunicazioni Elettriche Processi casuali A.A. 2007-08. Alberto Perotti, Roberto Garello Corso di Laurea a Distanza in Ingegneria Elettrica Corso di Comunicazioni Elettriche Processi casuali A.A. 2007-08 Alberto Perotti, Roberto Garello DELEN-DAUIN Processi casuali Sono modelli probabilistici

Dettagli

Matematica generale CTF

Matematica generale CTF Successioni numeriche 19 agosto 2015 Definizione di successione Monotonìa e limitatezza Forme indeterminate Successioni infinitesime Comportamento asintotico Criterio del rapporto per le successioni Definizione

Dettagli

Corso di Fondamenti di Segnali e Trasmissione - Appello del 07 Settembre 2005

Corso di Fondamenti di Segnali e Trasmissione - Appello del 07 Settembre 2005 Corso di Fondamenti di Segnali e Trasmissione - Appello del 07 Settembre 2005 Gli esercizi devono essere risolti solo sui fogli dei colori indicati Per esiti e soluzioni si veda il sito web del corso:

Dettagli

1. Distribuzioni campionarie

1. Distribuzioni campionarie Università degli Studi di Basilicata Facoltà di Economia Corso di Laurea in Economia Aziendale - a.a. 2012/2013 lezioni di statistica del 3 e 6 giugno 2013 - di Massimo Cristallo - 1. Distribuzioni campionarie

Dettagli

Controlli Automatici T. Trasformata di Laplace e Funzione di trasferimento. Parte 3 Aggiornamento: Settembre 2010. Prof. L.

Controlli Automatici T. Trasformata di Laplace e Funzione di trasferimento. Parte 3 Aggiornamento: Settembre 2010. Prof. L. Parte 3 Aggiornamento: Settembre 2010 Parte 3, 1 Trasformata di Laplace e Funzione di trasferimento Prof. Lorenzo Marconi DEIS-Università di Bologna Tel. 051 2093788 Email: lmarconi@deis.unibo.it URL:

Dettagli

LEZIONE 7. Esercizio 7.1. Quale delle seguenti funzioni è decrescente in ( 3, 0) e ha derivata prima in 3 che vale 0? x 3 3 + x2. 2, x3 +2x +3.

LEZIONE 7. Esercizio 7.1. Quale delle seguenti funzioni è decrescente in ( 3, 0) e ha derivata prima in 3 che vale 0? x 3 3 + x2. 2, x3 +2x +3. 7 LEZIONE 7 Esercizio 7.1. Quale delle seguenti funzioni è decrescente in ( 3, 0) e ha derivata prima in 3 che vale 0? x 3 3 + x2 2 6x, x3 +2x 2 6x, 3x + x2 2, x3 +2x +3. Le derivate sono rispettivamente,

Dettagli

Lezione 28 Maggio I Parte

Lezione 28 Maggio I Parte Lezione 28 Maggio I Parte La volta scorsa abbiamo fatto un analisi dei fenomeni di diafonia e avevamo trovato che per la diafonia vicina il valore medio del quadrato del segnale indotto dalla diafonia

Dettagli

ESEMPIO 1: eseguire il complemento a 10 di 765

ESEMPIO 1: eseguire il complemento a 10 di 765 COMPLEMENTO A 10 DI UN NUMERO DECIMALE Sia dato un numero N 10 in base 10 di n cifre. Il complemento a 10 di tale numero (N ) si ottiene sottraendo il numero stesso a 10 n. ESEMPIO 1: eseguire il complemento

Dettagli

LE FUNZIONI A DUE VARIABILI

LE FUNZIONI A DUE VARIABILI Capitolo I LE FUNZIONI A DUE VARIABILI In questo primo capitolo introduciamo alcune definizioni di base delle funzioni reali a due variabili reali. Nel seguito R denoterà l insieme dei numeri reali mentre

Dettagli

Fondamenti e didattica di Matematica Finanziaria

Fondamenti e didattica di Matematica Finanziaria Fondamenti e didattica di Matematica Finanziaria Silvana Stefani Piazza dell Ateneo Nuovo 1-20126 MILANO U6-368 silvana.stefani@unimib.it 1 Unità 9 Contenuti della lezione Operazioni finanziarie, criterio

Dettagli

Capitolo 13: L offerta dell impresa e il surplus del produttore

Capitolo 13: L offerta dell impresa e il surplus del produttore Capitolo 13: L offerta dell impresa e il surplus del produttore 13.1: Introduzione L analisi dei due capitoli precedenti ha fornito tutti i concetti necessari per affrontare l argomento di questo capitolo:

Dettagli

Per studio di funzione intendiamo un insieme di procedure che hanno lo scopo di analizzare le proprietà di una funzione f ( x) R R

Per studio di funzione intendiamo un insieme di procedure che hanno lo scopo di analizzare le proprietà di una funzione f ( x) R R Studio di funzione Per studio di funzione intendiamo un insieme di procedure che hanno lo scopo di analizzare le proprietà di una funzione f ( x) R R : allo scopo di determinarne le caratteristiche principali.

Dettagli

CAPITOLO 16 SUCCESSIONI E SERIE DI FUNZIONI

CAPITOLO 16 SUCCESSIONI E SERIE DI FUNZIONI CAPITOLO 16 SUCCESSIONI E SERIE DI FUNZIONI Abbiamo studiato successioni e serie numeriche, ora vogliamo studiare successioni e serie di funzioni. Dato un insieme A R, chiamiamo successione di funzioni

Dettagli

3 GRAFICI DI FUNZIONI

3 GRAFICI DI FUNZIONI 3 GRAFICI DI FUNZIONI Particolari sottoinsiemi di R che noi studieremo sono i grafici di funzioni. Il grafico di una funzione f (se non è specificato il dominio di definizione) è dato da {(x, y) : x dom

Dettagli

Logica Numerica Approfondimento 1. Minimo Comune Multiplo e Massimo Comun Divisore. Il concetto di multiplo e di divisore. Il Minimo Comune Multiplo

Logica Numerica Approfondimento 1. Minimo Comune Multiplo e Massimo Comun Divisore. Il concetto di multiplo e di divisore. Il Minimo Comune Multiplo Logica Numerica Approfondimento E. Barbuto Minimo Comune Multiplo e Massimo Comun Divisore Il concetto di multiplo e di divisore Considerato un numero intero n, se esso viene moltiplicato per un numero

Dettagli

Circuiti amplificatori

Circuiti amplificatori Circuiti amplificatori G. Traversi Strumentazione e Misure Elettroniche Corso Integrato di Elettrotecnica e Strumentazione e Misure Elettroniche 1 Amplificatori 2 Amplificatori Se A V è negativo, l amplificatore

Dettagli

1 Serie di Taylor di una funzione

1 Serie di Taylor di una funzione Analisi Matematica 2 CORSO DI STUDI IN SMID CORSO DI ANALISI MATEMATICA 2 CAPITOLO 7 SERIE E POLINOMI DI TAYLOR Serie di Taylor di una funzione. Definizione di serie di Taylor Sia f(x) una funzione definita

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

Università degli Studi di Cassino e del Lazio Meridionale. Area Didattica di Ingegneria. Corso di Laurea in Ingegneria Industriale

Università degli Studi di Cassino e del Lazio Meridionale. Area Didattica di Ingegneria. Corso di Laurea in Ingegneria Industriale Università degli Studi di Cassino e del Lazio Meridionale Area Didattica di Ingegneria Corso di Laurea in Ingegneria Industriale Lezioni del Corso di Misure Industriali 1 Università degli Studi di Cassino

Dettagli

Segnali e Sistemi. Dispensa integrativa per l insegnamento di Elementi di Controlli Automatici. Gianni Borghesan e Giovanni Marro

Segnali e Sistemi. Dispensa integrativa per l insegnamento di Elementi di Controlli Automatici. Gianni Borghesan e Giovanni Marro Segnali e Sistemi Dispensa integrativa per l insegnamento di Elementi di Controlli Automatici Gianni Borghesan e Giovanni Marro Indice Introduzione 2. Notazione............................. 2 2 Classificazione

Dettagli

C(f) : funzione di trasferimento del canale. Essa limita la banda del segnale trasmesso e quindi rappresenta un modello più realistico

C(f) : funzione di trasferimento del canale. Essa limita la banda del segnale trasmesso e quindi rappresenta un modello più realistico MODELLO DEL CANALE Modello gaussiano additivo a banda illimitata (considerato finora): s(t) + n(t) r(t) = s(t) + n(t) s(t) Canale C(f) + r(t) n(t) C(f) : funzione di trasferimento del canale. Essa limita

Dettagli

Dimensione di uno Spazio vettoriale

Dimensione di uno Spazio vettoriale Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione

Dettagli

Analisi dei segnali nel dominio della frequenza

Analisi dei segnali nel dominio della frequenza Laboratorio di Telecomunicazioni - a.a. 2010/2011 Lezione n. 7 Analisi dei segnali nel dominio della frequenza docente L.Verdoliva In questa lezione affrontiamo il problema dell analisi dei segnali tempo

Dettagli

CALCOLO COMBINATORIO

CALCOLO COMBINATORIO CALCOLO COMBINATORIO 1 Modi di formare gruppi di k oggetti presi da n dati 11 disposizioni semplici, permutazioni Dati n oggetti distinti a 1,, a n si chiamano disposizioni semplici di questi oggetti,

Dettagli

QUANTIZZAZIONE diverse fasi del processo di conversione da analogico a digitale quantizzazione

QUANTIZZAZIONE diverse fasi del processo di conversione da analogico a digitale quantizzazione QUANTIZZAZIONE Di seguito lo schema che illustra le diverse fasi del processo di conversione da analogico a digitale. Dopo aver trattato la fase di campionamento, occupiamoci ora della quantizzazione.

Dettagli

Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno

Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno Rappresentazione di numeri Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno Un numero e un entità teorica,

Dettagli

Appunti sulla Macchina di Turing. Macchina di Turing

Appunti sulla Macchina di Turing. Macchina di Turing Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso

Dettagli

Esponenziali elogaritmi

Esponenziali elogaritmi Esponenziali elogaritmi Potenze ad esponente reale Ricordiamo che per un qualsiasi numero razionale m n prendere n>0) si pone a m n = n a m (in cui si può sempre a patto che a sia un numero reale positivo.

Dettagli

v in v out x c1 (t) Molt. di N.L. H(f) n

v in v out x c1 (t) Molt. di N.L. H(f) n Comunicazioni elettriche A - Prof. Giulio Colavolpe Compito n. 3 3.1 Lo schema di Fig. 1 è un modulatore FM (a banda larga). L oscillatore che genera la portante per il modulatore FM e per la conversione

Dettagli

GRANDEZZE ALTERNATE SINUSOIDALI

GRANDEZZE ALTERNATE SINUSOIDALI GRANDEZZE ALTERNATE SINUSOIDALI 1 Nel campo elettrotecnico-elettronico, per indicare una qualsiasi grandezza elettrica si usa molto spesso il termine di segnale. L insieme dei valori istantanei assunti

Dettagli

ESAME DI STATO DI LICEO SCIENTIFICO CORSO SPERIMENTALE P.N.I. 2004

ESAME DI STATO DI LICEO SCIENTIFICO CORSO SPERIMENTALE P.N.I. 2004 ESAME DI STAT DI LICE SCIENTIFIC CRS SPERIMENTALE P.N.I. 004 Il candidato risolva uno dei due problemi e 5 dei 0 quesiti in cui si articola il questionario. PRBLEMA Sia la curva d equazione: ke ove k e

Dettagli

Introduzione. Margine di ampiezza... 2 Margine di fase... 5 Osservazione... 6 Margini di stabilità e diagrammi di Bode... 6

Introduzione. Margine di ampiezza... 2 Margine di fase... 5 Osservazione... 6 Margini di stabilità e diagrammi di Bode... 6 ppunti di Controlli utomatici Capitolo 7 parte II Margini di stabilità Introduzione... Margine di ampiezza... Margine di fase... 5 Osservazione... 6 Margini di stabilità e diagrammi di ode... 6 Introduzione

Dettagli

risulta (x) = 1 se x < 0.

risulta (x) = 1 se x < 0. Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente

Dettagli

Corso di Calcolo Numerico

Corso di Calcolo Numerico Corso di Calcolo Numerico Dott.ssa M.C. De Bonis Università degli Studi della Basilicata, Potenza Facoltà di Ingegneria Corso di Laurea in Ingegneria Meccanica Sistemi di Numerazione Sistema decimale La

Dettagli

Corso di Fondamenti di Telecomunicazioni

Corso di Fondamenti di Telecomunicazioni Corso di Fondamenti di Telecomunicazioni 5 - EGALI DIGITALI E A IMPULI I BADA BAE Prof. Mario Barbera [parte ] Codifica La fase di codifica prevede che venga fatta una associazione tra il livello del segnale

Dettagli

MICROECONOMIA La teoria del consumo: Alcuni Arricchimenti. Enrico Saltari Università di Roma La Sapienza

MICROECONOMIA La teoria del consumo: Alcuni Arricchimenti. Enrico Saltari Università di Roma La Sapienza MICROECONOMIA La teoria del consumo: Alcuni Arricchimenti Enrico Saltari Università di Roma La Sapienza 1 Dotazioni iniziali Il consumatore dispone ora non di un dato reddito monetario ma di un ammontare

Dettagli

Forma d onda rettangolare non alternativa.

Forma d onda rettangolare non alternativa. Forma d onda rettangolare non alternativa. Lo studio della forma d onda rettangolare è utile, perché consente di conoscere il contenuto armonico di un segnale digitale. FIGURA 33 Forma d onda rettangolare.

Dettagli

LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1

LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1 LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1 I CODICI 1 IL CODICE BCD 1 Somma in BCD 2 Sottrazione BCD 5 IL CODICE ECCESSO 3 20 La trasmissione delle informazioni Quarta Parte I codici Il codice BCD

Dettagli

I sistemi di numerazione

I sistemi di numerazione I sistemi di numerazione 01-INFORMAZIONE E SUA RAPPRESENTAZIONE Sia dato un insieme finito di caratteri distinti, che chiameremo alfabeto. Utilizzando anche ripetutamente caratteri di un alfabeto, si possono

Dettagli

Elaborazione di segnali biologici

Elaborazione di segnali biologici Modulo 4 Elaborazione di segnali biologici Bioingegneria per fisioterapisti Univ.degli Studi di Siena Laurea Univ. in Fisioterapia Ing. A. Rossi Sistemi acquisizione dati Conversione da segnale Analogico

Dettagli

~ Copyright Ripetizionando - All rights reserved ~ http://ripetizionando.wordpress.com STUDIO DI FUNZIONE

~ Copyright Ripetizionando - All rights reserved ~ http://ripetizionando.wordpress.com STUDIO DI FUNZIONE STUDIO DI FUNZIONE Passaggi fondamentali Per effettuare uno studio di funzione completo, che non lascia quindi margine a una quasi sicuramente errata inventiva, sono necessari i seguenti 7 passaggi: 1.

Dettagli

Le funzioni continue. A. Pisani Liceo Classico Dante Alighieri A.S. 2002-03. A. Pisani, appunti di Matematica 1

Le funzioni continue. A. Pisani Liceo Classico Dante Alighieri A.S. 2002-03. A. Pisani, appunti di Matematica 1 Le funzioni continue A. Pisani Liceo Classico Dante Alighieri A.S. -3 A. Pisani, appunti di Matematica 1 Nota bene Questi appunti sono da intendere come guida allo studio e come riassunto di quanto illustrato

Dettagli

L espressione torna invece sempre vera (quindi la soluzione originale) se cambiamo contemporaneamente il verso: 1 < 0.

L espressione torna invece sempre vera (quindi la soluzione originale) se cambiamo contemporaneamente il verso: 1 < 0. EQUAZIONI E DISEQUAZIONI Le uguaglianze fra espressioni numeriche si chiamano equazioni. Cercare le soluzioni dell equazione vuol dire cercare quelle combinazioni delle lettere che vi compaiono che la

Dettagli

Capitolo 2. Operazione di limite

Capitolo 2. Operazione di limite Capitolo 2 Operazione di ite In questo capitolo vogliamo occuparci dell operazione di ite, strumento indispensabile per scoprire molte proprietà delle funzioni. D ora in avanti riguarderemo i domini A

Dettagli

Informatica. Rappresentazione binaria Per esempio +101010000 diventa +0.10101 10 18/10/2007. Introduzione ai sistemi informatici 1

Informatica. Rappresentazione binaria Per esempio +101010000 diventa +0.10101 10 18/10/2007. Introduzione ai sistemi informatici 1 Informatica Pietro Storniolo storniolo@csai.unipa.it http://www.pa.icar.cnr.it/storniolo/info200708 Numeri razionali Cifre più significative: : sono le cifre associate ai pesi maggiori per i numeri maggiori

Dettagli

bipolari, quando essi, al variare del tempo, assumono valori sia positivi che negativi unipolari, quando essi non cambiano mai segno

bipolari, quando essi, al variare del tempo, assumono valori sia positivi che negativi unipolari, quando essi non cambiano mai segno Parametri dei segnali periodici I segnali, periodici e non periodici, si suddividono in: bipolari, quando essi, al variare del tempo, assumono valori sia positivi che negativi unipolari, quando essi non

Dettagli

Psicometria (8 CFU) Corso di Laurea triennale STANDARDIZZAZIONE

Psicometria (8 CFU) Corso di Laurea triennale STANDARDIZZAZIONE Psicometria (8 CFU) Corso di Laurea triennale Un punteggio all interno di una distribuzione è in realtà privo di significato se preso da solo. Sapere che un soggetto ha ottenuto un punteggio x=52 in una

Dettagli

la scienza della rappresentazione e della elaborazione dell informazione

la scienza della rappresentazione e della elaborazione dell informazione Sistema binario Sommario informatica rappresentare informazioni la differenza Analogico/Digitale i sistemi di numerazione posizionali il sistema binario Informatica Definizione la scienza della rappresentazione

Dettagli

SISTEMI DI NUMERAZIONE E CODICI

SISTEMI DI NUMERAZIONE E CODICI SISTEMI DI NUMERAZIONE E CODICI Il Sistema di Numerazione Decimale Il sistema decimale o sistema di numerazione a base dieci usa dieci cifre, dette cifre decimali, da O a 9. Il sistema decimale è un sistema

Dettagli

Descrizione del funzionamento di un Lock-in Amplifier

Descrizione del funzionamento di un Lock-in Amplifier Descrizione del funzionamento di un Lock-in Amplifier S.C. 0 luglio 004 1 Propositi di un amplificatore Lock-in Il Lock-in Amplifier é uno strumento che permette di misurare l ampiezza V 0 di una tensione

Dettagli

Segnali passa-banda ed equivalenti passa-basso

Segnali passa-banda ed equivalenti passa-basso Appendice C Segnali passa-banda ed equivalenti passa-basso C.1 Segnali deterministici Un segnale deterministico u(t) con trasformata di Fourier U(f) è un segnale passa-banda se f 0, W, con 0 < W < f 0,

Dettagli

Carichiamo il segnale contenuto nel file ecg_es_20121128.mat

Carichiamo il segnale contenuto nel file ecg_es_20121128.mat Esercitazione su analisi segnale ECG Carichiamo il segnale contenuto nel file ecg_es_20121128.mat Il file contiene due variabili - dt, che vale 0.004 - ecg, che è vettore lungo 6500 campioni La frequenza

Dettagli

Esercizi svolti sui numeri complessi

Esercizi svolti sui numeri complessi Francesco Daddi - ottobre 009 Esercizio 1 Risolvere l equazione z 1 + i = 1. Soluzione. Moltiplichiamo entrambi i membri per 1 + i in definitiva la soluzione è z 1 + i 1 + i = 1 1 + i z = 1 1 i. : z =

Dettagli

ENS - Prima prova in itinere del 07 Maggio 2010

ENS - Prima prova in itinere del 07 Maggio 2010 ENS - Prima prova in itinere del 07 Maggio 0 L allievo é invitato a dare una ragionata e succinta risposta a tutti gli argomenti proposti, per dimostrare il livello di preparazione globale. I calcoli devono

Dettagli

Per lo svolgimento del corso risulta particolarmente utile considerare l insieme

Per lo svolgimento del corso risulta particolarmente utile considerare l insieme 1. L insieme R. Per lo svolgimento del corso risulta particolarmente utile considerare l insieme R = R {, + }, detto anche retta reale estesa, che si ottiene aggiungendo all insieme dei numeri reali R

Dettagli

13. Campi vettoriali

13. Campi vettoriali 13. Campi vettoriali 1 Il campo di velocità di un fluido Il concetto di campo in fisica non è limitato ai fenomeni elettrici. In generale il valore di una grandezza fisica assegnato per ogni punto dello

Dettagli

Matematica e Statistica

Matematica e Statistica Matematica e Statistica Prova d esame (0/07/03) Università di Verona - Laurea in Biotecnologie - A.A. 0/3 Matematica e Statistica Prova di MATEMATICA (0/07/03) Università di Verona - Laurea in Biotecnologie

Dettagli

LEZIONE 23. Esempio 23.1.3. Si consideri la matrice (si veda l Esempio 22.2.5) A = 1 2 2 3 3 0

LEZIONE 23. Esempio 23.1.3. Si consideri la matrice (si veda l Esempio 22.2.5) A = 1 2 2 3 3 0 LEZIONE 23 231 Diagonalizzazione di matrici Abbiamo visto nella precedente lezione che, in generale, non è immediato che, data una matrice A k n,n con k = R, C, esista sempre una base costituita da suoi

Dettagli

Funzioni inverse Simmetrie rispetto alla bisettrice dei quadranti dispari. Consideriamo la trasformazione descritta dalle equazioni : = y

Funzioni inverse Simmetrie rispetto alla bisettrice dei quadranti dispari. Consideriamo la trasformazione descritta dalle equazioni : = y Funzioni inverse Simmetrie rispetto alla bisettrice dei quadranti dispari. Consideriamo la trasformazione descritta dalle equazioni : ' = y y' = Consideriamo il punto P(,5) se eseguiamo tra trasformazione

Dettagli

Alessandro Pellegrini

Alessandro Pellegrini Esercitazione sulle Rappresentazioni Numeriche Esistono 1 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono Alessandro Pellegrini Cosa studiare prima Conversione

Dettagli

1. Scopo dell esperienza.

1. Scopo dell esperienza. 1. Scopo dell esperienza. Lo scopo di questa esperienza è ricavare la misura di tre resistenze il 4 cui ordine di grandezza varia tra i 10 e 10 Ohm utilizzando il metodo olt- Amperometrico. Tale misura

Dettagli

Convertitori numerici in Excel

Convertitori numerici in Excel ISTITUTO DI ISTRUZIONE SUPERIORE G. M. ANGIOY CARBONIA Convertitori numerici in Excel Prof. G. Ciaschetti Come attività di laboratorio, vogliamo realizzare dei convertitori numerici con Microsoft Excel

Dettagli

Parte 3. Rango e teorema di Rouché-Capelli

Parte 3. Rango e teorema di Rouché-Capelli Parte 3. Rango e teorema di Rouché-Capelli A. Savo Appunti del Corso di Geometria 203-4 Indice delle sezioni Rango di una matrice, 2 Teorema degli orlati, 3 3 Calcolo con l algoritmo di Gauss, 6 4 Matrici

Dettagli

INTEGRALI DEFINITI. Tale superficie viene detta trapezoide e la misura della sua area si ottiene utilizzando il calcolo di un integrale definito.

INTEGRALI DEFINITI. Tale superficie viene detta trapezoide e la misura della sua area si ottiene utilizzando il calcolo di un integrale definito. INTEGRALI DEFINITI Sia nel campo scientifico che in quello tecnico si presentano spesso situazioni per affrontare le quali è necessario ricorrere al calcolo dell integrale definito. Vi sono infatti svariati

Dettagli

II.f. Altre attività sull euro

II.f. Altre attività sull euro Altre attività sull euro II.f È consigliabile costruire modelli in carta o cartoncino di monete e banconote, e farli usare ai bambini in varie attività di classe fin dal primo o al più dal secondo anno.

Dettagli

CONTINUITÀ E DERIVABILITÀ Esercizi proposti. 1. Determinare lim M(sinx) (M(t) denota la mantissa di t)

CONTINUITÀ E DERIVABILITÀ Esercizi proposti. 1. Determinare lim M(sinx) (M(t) denota la mantissa di t) CONTINUITÀ E DERIVABILITÀ Esercizi proposti 1. Determinare lim M(sin) (M(t) denota la mantissa di t) kπ/ al variare di k in Z. Ove tale limite non esista, discutere l esistenza dei limiti laterali. Identificare

Dettagli

Effetto reddito ed effetto sostituzione.

Effetto reddito ed effetto sostituzione. . Indice.. 1 1. Effetto sostituzione di Slutsky. 3 2. Effetto reddito. 6 3. Effetto complessivo. 7 II . Si consideri un consumatore che può scegliere panieri (x 1 ; ) composti da due soli beni (il bene

Dettagli

STUDIO DI UNA FUNZIONE

STUDIO DI UNA FUNZIONE STUDIO DI UNA FUNZIONE OBIETTIVO: Data l equazione Y = f(x) di una funzione a variabili reali (X R e Y R), studiare l andamento del suo grafico. PROCEDIMENTO 1. STUDIO DEL DOMINIO (CAMPO DI ESISTENZA)

Dettagli

Calcolo del Valore Attuale Netto (VAN)

Calcolo del Valore Attuale Netto (VAN) Calcolo del Valore Attuale Netto (VAN) Il calcolo del valore attuale netto (VAN) serve per determinare la redditività di un investimento. Si tratta di utilizzare un procedimento che può consentirci di

Dettagli

CONTINUITÀ E DERIVABILITÀ Esercizi risolti

CONTINUITÀ E DERIVABILITÀ Esercizi risolti CONTINUITÀ E DERIVABILITÀ Esercizi risolti. Determinare kπ/ [cos] al variare di k in Z. Ove tale ite non esista, discutere l esistenza dei iti laterali. Identificare i punti di discontinuità della funzione

Dettagli

Anno 4 Grafico di funzione

Anno 4 Grafico di funzione Anno 4 Grafico di funzione Introduzione In questa lezione impareremo a disegnare il grafico di una funzione reale. Per fare ciò è necessario studiare alcune caratteristiche salienti della funzione che

Dettagli

Master della filiera cereagricola. Impresa e mercati. Facoltà di Agraria Università di Teramo. Giovanni Di Bartolomeo Stefano Papa

Master della filiera cereagricola. Impresa e mercati. Facoltà di Agraria Università di Teramo. Giovanni Di Bartolomeo Stefano Papa Master della filiera cereagricola Giovanni Di Bartolomeo Stefano Papa Facoltà di Agraria Università di Teramo Impresa e mercati Parte prima L impresa L impresa e il suo problema economico L economia studia

Dettagli