• Non ci sono risultati.

BANCO DI FILTRI POLIFASE PER

N/A
N/A
Protected

Academic year: 2021

Condividi "BANCO DI FILTRI POLIFASE PER "

Copied!
104
0
0

Testo completo

(1)

Università degli Studi di Bologna

FACOLTA' DI INGEGNERIA

Corso di Laurea in Ingegneria Elettronica Insegnamento: Calcolatori Elettronici I

BANCO DI FILTRI POLIFASE PER

RICERCHE RADIOASTRONOMICHE

Tesi di laurea di:

Luca Zoni

Relatore:

Chiar.mo Prof. Ing. Tullio Salmon Cinotti

Correlatori:

Dott. Ing. Stelio Montebugnoli Dott. Ing. Giuseppe Raffa

Sessione III

Anno accademico 2002/2003

(2)

Indice

1 Introduzione 9

2 Segnali a tempo discreto e filtraggio digitale 13

2.1 Generalità sui segnali . . . . 13

2.2 Conversione analogico-digitale . . . . 14

2.3 Il teorema di Shannon . . . . 17

2.4 Filtraggio digitale . . . . 19

3 Il banco di filtri polifase 23 3.1 Considerazioni generali . . . . 23

3.2 Trattazione analitica . . . . 25

3.3 Flusso dei dati all’interno dell’hardware . . . . 26

3.4 Blocchi di convoluzione . . . . 27

3.5 Blocco DFT . . . . 28

4 Simulazione teorica 31 4.1 Descrizione dei moduli software . . . . 31

4.2 Simulazione teorica . . . . 35

4.3 Conclusioni . . . . 37

5 Implementazione VHDL di un semplice banco a otto canali 43 5.1 Generalità . . . . 43

5.2 Realizzazione dei componenti . . . . 44

5.3 File utilizzati per la simulazione . . . . 47

5.4 Simulazione . . . . 47

5.5 Simulazione con DFT seriale . . . . 51

5.6 Nota sul dispositivo FPGA utilizzato . . . . 53 3

(3)

4 INDICE

5.7 Sintesi del banco ad 8 canali . . . . 55

6 Banco di filtri polifase mediante macchina a stati 57 6.1 Realizzazione . . . . 57

6.2 Simulazione . . . . 58

6.3 Sintesi della macchina a stati . . . . 60

7 Realizzazione a 1024 canali 63 7.1 Descrizione . . . . 63

7.2 Simulazione . . . . 67

7.3 Sintesi del banco . . . . 68

8 Applicazioni 75 8.1 Spettrometria . . . . 75

8.1.1 Caratteristiche generali . . . . 75

8.1.2 Schema a blocchi . . . . 76

8.1.3 Spettrometria classica . . . . 77

8.1.4 Spettrometro per aplicazioni SETI . . . . 79

8.2 Correlatore per radiotelescopi SKA . . . . 80

9 Conclusioni 83 A Le trasformate di Fourier 85 A.1 Serie di Fourier . . . . 85

A.2 Trasformata di Fourier . . . . 86

A.2.1 Alcune proprietà della trasformata di Fourier . . . . 86

A.3 Trasformata discreta di Fourier . . . . 88

B La trasformata di Laplace 89 B.1 Alcune proprietà della Trasformata di Laplace . . . . 89

B.2 Definizione di funzione di trasferimento . . . . 90

C La Z-trasformata 93 C.1 Alcume proprietà della z-trasformata . . . . 93

C.2 Funzione di trasferimento discreta . . . . 95

D Datasheet dei componenti software utilizzati 97

(4)

INDICE 5 E Codice sorgente del banco di filtri polifase a 1024 canali 99

F Implementazione di un banco di filtri polifase a 4096 canali 101

F.1 Realizzazione . . . 101

F.2 Simulazione . . . 102

F.3 Sintesi del banco a 4096 canali . . . 103

F.4 Sorgenti del banco . . . 103

(5)

6 INDICE

(6)

Ringraziamenti

E’ mia opinione personale che i ringraziamenti vadano fatti solo se sulla base della sincerità, lasciando ad altre occasioni le frasi fatte e di circostanza. State sicuri che questi ringraziamenti provengono dal profondo, e sono liberi da inutili formalismi o da insensati obblighi.

Papà, Mamma, questo è un pò il coronarsi di un sogno per tutti. Spero di essere stato, ed essere in futuro, motivo di orgoglio per voi, di non deludervi mai e di riuscire a usare al meglio ciò che, con i vostri sforzi, siete riusciti a mettere dentro questa testa dura.

Marina, Giovanni, Fabio, Matteo, finalmente sono arrivato a questo traguardo!

Dopo le giornate che lo studio ha sottratto inesorabilmente alla vostra compagnia, ora spero di riuscire a passare un pò di tempo in più con voi! Marina, com’è avere un fratello ingegnere? Finalmente lo puoi dire eh?!

Grazie Stelio, che mi hai permesso di lavorare in un ambiente stimolante e che hai saputo valorizzare il lavoro che in questo anno ho portato avanti. Grazie per il fondamentale aiuto che mi hai dato, districando matasse che da solo non avrei potuto far altro che guardare impotente. Persone come te sono destinate a farsi ricordare, e non solo professionalmente...

Professor Salmon, in questi importanti anni passati sui libri, raramente mi è ca- pitato di incontrare docenti come lei, la cui figura fosse associata allo stesso tempo a competenza e disponibilità. Nonostante i suoi numerosi impegni ha trovato il tempo per darmi preziosi consigli che mi hanno permesso di superare i muri innalzati dalla mia inesperienza. Per questo la ringrazio e le porgo i miei migliori auguri, nella speranza che le nostre vite professionali siano destinate ad incrociarsi in futuro.

Andrea, mi chiedo ancora oggi cosa sia una classe... e questo misterioso SPAN?!

7

(7)

8 INDICE Abbiamo iniziato assieme il nostro percorso professionale, già dai tempi dell’ITIS e, assieme, ne abbiamo passate un pò di tutti i colori. Mi mancheranno i "panozzi", i pomeriggi nel "tuo ufficio", il ricordare i tempi passati, i ragionamenti su come risolvere un qualche problema tecnologico e tutti quei momenti in cui, assieme, si cavalcava quel grosso punto interrogativo chiamato Ingegneria... Forse non te l’ho mai detto, ma sei stato, per me, una preziosa presenza.

Diego, Emanuel, Taccio, Lorenzo, Stefano, Simona, Carlo, Elisa, Silvietta, Ele- na, Lorena, Milena, Simone, Maurizio, Red... ragazzi, quei pomeriggi passati al parco, fra una lezione e l’altra, lanciandoci una bottiglia, rimarranno sempre nei miei ricordi. Non vi dimenticherò mai. Lorenzo, Macchia e Claudio: spero mi sia ancora concesso potervi chiamare Nano, Gonzo e Calmo...

E cosa posso dire a Marco, Maurizio, Luciano, Ruggero, Paola, Mariangela...

un enorme grazie anche a voi, che mi avete offerto la possibilità di crescere profes- sionalmente, di mettermi alla prova e di avere ulteriori stimoli a laurearmi. Quante nottate "litigando" con bachi che non volevano mostrarsi e programmi che occorre- va fossero pronti al mattino! Quanti pomeriggi passati a raccontare barzellette fra una riga di codice ed una saldatura!

Germano, Fede, Fabio, Andrea M., Sandro C., Alex, Sergio M., Pier, Ales- sandra, Simona, Andrea O., Poppi, Franco, Sandro O., Marco, Jader M., Beppe, Assunta, Anna, Francis, Cinzia (la virtuosa del riso soffiato!), Christian, Vincenzo, Claudio, vi ringrazio per l’aiuto, la compagnia, il sostegno, le "pizzate", i razzi ad acqua,le pause-mela, le partite a calcio-balilla e a ping-pong e tutto il resto. Scusate se, involontariamente, vi ho fatto perdere tempo. Spero di avervi dato più di quanto ho preso.

E grazie a Te, che non sopporti i discorsi diretti, che tanto mi hai fatto impazzire e che mi hai tenuto per mano in questi anni, sollevandomi quando cadevo, spingen- domi quando rimanevo indietro, asciugando lacrime e insegnandomi tante cose che mi hanno fatto crescere. Le più belle parole che potrei trovare non riuscirebbero mai ad esprimere ciò che penso. Preferisco quindi dedicarti un silenzio pieno di intesa e complicità.

Grazie a tutti!

(8)

Capitolo 1 Introduzione

L’analisi armonica di un segnale è un potente strumento posto al servizio delle discipline fisiche ed ingegneristiche. L’importanza di tale rappresentazione infor- mativa risulta immediata se consideriamo come il dominio temporale, in realtà, nasconda molteplici difficoltà d’analisi. Uno studio che abbracci il dominio fre- quenziale riesce a fornire, al contrario, molte informazioni in maniera molto più agevole e fruttuosa1.

Lo strumento analitico che consente di realizzare lo studio frequenziale di un segnale periodico è la cosiddetta Serie di Fourier2. Per segnali aperiodici a tempo continuo esiste la Trasformata di Fourier, e la sua equivalente nel caso di segnali a tempo discreto è la Trasformata Discreta di Fourier (in breve DFT). La trattazione analitica di queste trasformate verrà effettuata in seguito; per ora si considerino queste come strumenti che consentono di fornire un altro punto di osservazione della dinamica di un segnale.

L’analisi nel dominio delle frequenze permette di “studiare al microscopio” un segnale, consentendo di effettuare stime sulla fonte dello stesso, se questa non è nota. Si pensi, per esempio, a come sia stato possibile studiare la composizione chimica della cometa Shoemaker-Levy e di Giove a seguito della loro collisione

1Si tenga sempre a mente il fatto che, comunque, rappresentazioni nel dominio temporale e frequenziale sono equivalenti.

2Jean Baptiste Joseph Fourier (1768-1830), matematico, si occupò fin dall’infanzia della risolu- zione di equazioni numeriche. E’ curioso notare come la serie di Fourier, oggi utilizzata per lo più in ambito di elaborazione dei segnali, sia nata in occasione dello studio della Théorie analytique de la chaleur (Teoria analitica del calore).

9

(9)

10 CAPITOLO 1. INTRODUZIONE

Figura 1.1: Immagine all’infrarosso della collisione fra Giove e la cometa Shoemaker-Levy nel ’94

dal 16 al 22 luglio 1994 (figura 1.1). In quell’occasione, tramite l’analisi spettrale, è stato possibile rilevare la frequenza propria dell’acqua. Per mezzo dell’analisi armonica è anche possibile modificare o sintetizzare un segnale in modo che sia adatto a scopi prefissati, siano essi ludici, come la regolazione dei toni operata sui nostri stereo casalinghi, o più nobili come la generazione di un segnale modulato da irradiare nell’etere.

Un banco di filtri non è altro che un blocco di signal processing che accetta un segnale nel dominio del tempo e fornisce in uscita un insieme di segnali temporali, uno per canale, aventi contenuto armonico differente fra loro. Un banco di filtri può essere realizzato semplicemente tramite un circuito che computa la FFT3, i cui bin di uscita costituiscono i vari canali. Tuttavia, lo svantaggio fondamentale di un banco siffatto è la bassa reiezione al fuori-banda di ogni canale4. Un banco di filtri polifase, invece, per merito della sua struttura intrinseca, permette di avere alte selettività per ogni canale e quindi risolve il sopracitato problema.

Fra i tanti ambiti applicativi, in cui trova utilità l’analisi di Fourier, spicca si- curamente la radioastronomia. Questa giovane disciplina si incarica di studiare i segnali radio provenienti dallo spazio, al fine di ottenere informazioni sul cosmo, nel quale la nostra Gaia è solo un granello di polvere.

Negli ultimi anni, a questo genere di studi si è affiancata la ricerca di segnali radio intelligenti, la cui eventuale rilevazione costituirebbe la conferma, tanto vo- luta da alcuni quanto scongiurata da altri, che il nostro pianeta non sarebbe l’unico abitato da entità pensanti. Il progetto destinato alla ricerca di segnali extraterresti

3Fast Fourier Transform.

4Per una FFT con finestra rettangolare abbiamo che i lobi secondari di ogni bin sono inferiori di 13 dB rispetto al lobo principale.

(10)

11 è il SETI (Search for ExtraTerrestrial Intelligence) alla quale aderiscono vari enti di ricerca a livello internazionale. In Italia, la struttura di riferimento è l’Istituto di Radioastronomia di Bologna, che vede nel radiotelescopio di Medicina (Bo) il punto focale delle osservazioni. Lo strumento adibito all’analisi dei dati è un poten- te spettrometro modulare, la cui espandibilità permette di analizzare fino a bande di centinaia di MHz con risoluzioni di frazioni di Hz e un numero di canali che arriva al miliardo. Il modulo base, descritto nel capitolo 8, è implementato in hard- ware mediante la combinazione di banchi di filtri polifase e circuiti FFT digitali.

I dati all’uscita dall’analizzatore di spettro sono poi processati da un sistema di elaborazione software multiprocessore.

In campo radioastronomico è attualmente in fase di sviluppo una nuova catego- ria di radiotelescopi di prossima generazione che vanno sotto il nome di radiotele- scopi SKA (Square Kilometer Array). Tale progetto rappresenta il banco di prova ideale per lo sviluppo di innovativi algoritmi di beamforming e rappresenta la ra- dioastronomia del futuro. In tale ambito, i banchi di filtri polifase sono fra i blocchi più utilizzati per la loro versatilità di utilizzo e per le prestazioni che garantiscono.

I banchi di filtri qui trattati trovano innumerevoli applicazioni anche nel campo audio, ad esempio per l’equalizzazione digitale dei segnali destinati a costituire il master di tracce audio numeriche. Nelle applicazioni video possiamo trovare utiliz- zi legati all’elaborazione cromatica delle immagini o come attenuatori. Nella stru- mentazione elettronica digitale le applicazioni di maggior pregio sono analizzatori di spettro ed oscilloscopi ad elevata sample-rate. Il supporto ideale per l’implemen- tazione dei banchi di filtri digitali, sono le FPGA5, che garantiscono compattezza e affidabilità al progetto finale, oltre alla possibilità di un’agevole riconfigurabi- lità, permessa dai chip di ultima generazione. Non da ultimo occorre considerare l’elevato rapporto qualità-prezzo dei dispositivi oggi sul mercato, merito dell’evolu- zione tecnologica ed architetturale integrata. Per ciò che riguarda la modalità imple- mentativa, la descrizione VHDL6permette la portabilità quasi assoluta del progetto su diverse piattaforme, aumentandone ulteriormente la flessibilità di utilizzo e la versatilità.

Il codice VHDL utilizzato nella sintesi di alcune parti del sistema è generato mediante un’applicazione in metacodice Java, quindi portabile su ogni sistema in

5Acronimo di Field Programmable Gate Array.

6VHSIC Hardware Definition Language.

(11)

12 CAPITOLO 1. INTRODUZIONE cui sia presente una Java Virtual Machine. La progettazione di un tool software si è resa necessaria vista la lunghezza dei sorgenti VHDL costituenti la descrizione hardware e rappresenta la testimonianza di come, nella scienza dell’informazione di questi anni, nulla sia materia a se stante. Tale soluzione comporta un duplice vantaggio: una riduzione del tempo di sviluppo e la disponibilità, al termine del progetto, di una libreria di componenti VHDL completamente riutilizzabile per ap- plicazioni future. L’abbattimento dei tempi di sviluppo dell’applicazione presenta il pregio di abbattare, anche su basse campionature, i costi totali del progetto.

(12)

Capitolo 2

Segnali a tempo discreto e filtraggio digitale

2.1 Generalità sui segnali

I segnali esistenti in natura possono essere classificati osservando il dominio tempo- rale sul quale sono definiti e il codominio fisico costituente la grandezza in esame.

Dal punto di vista temporale possiamo riconoscere l’esistenza di segnali a tempo continuo

segnali a tempo discreto

Nei primi l’asse temporale è continuo. In termini analitici possiamo dire che la coordinata temporale di questi segnali è reale.

I segnali a tempo discreto sono invece definiti solo in istanti di tempo nume- rabili. Questi istanti temporali sono chiamati istanti di campionamento e i valori che la funzione assume in questi istanti sono detti campioni. Solitamente gli istanti di campionamento sono temporalmente equispaziati, così che il campionamento è detto campionamento periodico.

E’ possibile poi effettuare una ulteriore classificazione dei segnali, riguardante l’ampiezza:

segnali continui nei valori

13

(13)

14CAPITOLO 2. SEGNALI A TEMPO DISCRETO E FILTRAGGIO DIGITALE

 segnali discreti nei valori

L’ampiezza dei segnali continui nei valori è reale, quindi non numerabile, mentre nei segnali discreti nei valori è quantizzata, cioè può assumere solo valori all’interno di un set limitato. Le due classificazioni possono poi essere combinate tanto da formare quattro classi di appartenenza:

1. segnali a tempo continuo continui nei valori 2. segnali a tempo discreto continui nei valori 3. segnali a tempo continuo discreti nei valori 4. segnali a tempo discreto discreti nei valori

Solitamente si fa riferimento ai segnali della prima categoria chiamandoli segnali continui, e a quelli della quarta con l’appellativo di segnali discreti.

I segnali digitali appartengono all’ultima categoria, essendo un insieme di cam- pioni quantizzati e convertiti in numeri. L’operazione mediante la quale un segnale continuo viene trasformato in uno discreto è detta conversione analogico-digitale.

2.2 Conversione analogico-digitale

Per conversione analogico-digitale s’intende l’operazione tramite la quale un se- gnale continuo viene trasformato in una sequenza numerica, in modo da essere manipolabile da sistemi digitali.

La conversione avviene, concettualmente in due fasi:

 campionamento

 quantizzazione e codifica

Durante il campionamento il segnale viene trasformato da tempo-continuo a tempo- discreto mediante un campionatore. Questo può essere schematizzato come un semplice interruttore comandato, che fornisce a valle un segnale definito solo negli istanti di campionamento (figura 2.1). Analiticamente possiamo scrivere che:

            

(14)

2.2. CONVERSIONE ANALOGICO-DIGITALE 15

Figura 2.1: Modello di campionatore

in cui T è il periodo di campionamento.

La quantizzazione consiste nel rendere discreta l’ampiezza del segnale campio- nato, in modo che ad ogni livello possa essere assegnato un valore numerico (figura 2.2). Il sistema che effettua la quantizzazione e la codifica è chiamato converti- tore analogico-digitale (ADC). Solitamente, negli schemi a blocchi, si omette il campionatore, considerandolo incluso nel blocco ADC.

Figura 2.2: Caratteristica del quantizzatore

L’operazione inversa è la conversione digitale-analogica, effettuata mediante i cosiddetti ricostruttori. Questi sono sistemi che ricostruiscono un segnale a tempo continuo partendo da una sequenza di campioni. Per far ciò utilizzano uno svilup- po in serie di Taylor nell’intorno degli istanti di tempo sui quali il segnale a tempo discreto è definito. L’ordine di approssimazione della serie fissa l’ordine del rico- struttore, cosicchè si hanno ricostruttori di ordine 0,1,2 e via dicendo. Nella pratica si fa spesso uso del ricostruttore di ordine 0, raramente di quello del primo ordi- ne e non sono quasi mai usati i ricostruttori di ordine superiore a causa della loro complessità realizzativa. Il ricostruttore di ordine 0 è detto hold, in quanto mantie- ne costante l’uscita durante l’intervallo di campionamento, come si può notare in figura 2.3. La sua funzione di trasferimento è la seguente:

          



(15)

16CAPITOLO 2. SEGNALI A TEMPO DISCRETO E FILTRAGGIO DIGITALE

Figura 2.3: Segnale ricostruito dal ricostruttore di ordine 0. I campioni all’ingresso del ricostruttore sono visualizzati in rosso.

Analiticamente, la conversione analogico-digitale può essere vista come la molti- plicazione del segnale continuo per un treno di impulsi unitari, i quali vengono così

“modulati in area”. Consideriamo infatti un segnale siffatto:

   ! "

#

$ % &   ' ( )*  + ' ( + *   +  ' , - ( .

(2.1) dove *   è il gradino unitario. Questa funzione non è altro che il segnale rico- struito dal ricostruttore di ordine 0; partendo dalla sequenza di campioni x(kT).

Applichiamo la trasformata di Laplace all’ugualianza (2.1) ottenendo così

/   0 ! "

#

$ % &   ' ( 1 2 $ 3 4 + 1 2 5$ 6 7 834

0 ! - + 1 2 3 4

0 "

#

$ % &   ' ( 1 2 $ 3 4

(2.2)

Essendo il primo fattore della (2.2) la funzione di trasferimento del ricostruttore, la sommatoria costituente il secondo fattore è la trasformata del segnale campionato.

Antitrasformando questo fattore si ottiene

 9   ! "

#$ % &   ' ( :   + ' (

che per le proprietà dell’impulso di dirach diventa

 9  !    "

#

$ % & :  + ' (

(2.3) La (2.3) rappresenta perciò il modello analitico del segnale campionato, ed è in- terpretabile come un treno di impulsi di dirach ciascuno dei quali ha area (nel senso espresso dalla teoria delle distribuzioni) pari al valore della funzione nel medesimo istante.

(16)

2.3. IL TEOREMA DI SHANNON 17 Concludendo, la conversione analogico-digitale è modellizzata, matematica- mente, dalla moltiplicazione per un treno d’impulsi unitari intervallati del periodo di campionamento.

In relazione alla conversione in digitale possiamo identificare alcune grandezze proprie dei convertitori quali sensibilità, risoluzione, massima dinamica d’ingresso e tipo di codifica. Per sensibilità s’intende il minimo segnale convertibile, la riso- luzione specifica il numero di bit in uscita dal convertitore, la massima dinamica d’ingresso indica i limiti tollerabili per il segnale da convertire e il tipo di codifica denota il codice nel quale il segnale quantizzato viene tradotto. Conversioni ad alte risoluzioni implicano hardware più costosi a causa del maggior numero di bit da elaborare.

2.3 Il teorema di Shannon

Il teorema di Shannon1 enuncia che, affinchè un segnale sia ricostruibile a partire dai suoi campioni, occorre che la frequenza di campionamento sia almeno doppia della massima frequenza componente lo spettro del segnale stesso. Violando questo teorema, la ricostruzione del segnale non è più un processo univoco.

Figura 2.4: In blu: spettro del segnale non campionato. In nero: spettro del segnale campionato

La spiegazione di ciò risiede nel fatto che lo spettro del segnale campionato è dato dalla ripetizione periodica, sull’asse delle frequenze, dello spettro del segnale

1Claude Elwood Shannon, matematico ed ingegnere, nato a Gaylord, in Michigan, il 30 aprile 1916, si dedicò allo studio dei segnali e fu il primo a capire l’importanza della conversione analogico- digitale e delle sue applicazioni nelle telecomunicazioni. Si spegne il 24 febbraio 2001 a Medford (Massachussets) dopo una lunga lotta contro il morbo di Alzheimer.

(17)

18CAPITOLO 2. SEGNALI A TEMPO DISCRETO E FILTRAGGIO DIGITALE originario come mostrato in figura 2.4. Se la frequenza di campionamento scende sotto al suddetto limite diventa impossibile ricostruire il segnale di partenza a causa del ricoprimento (figura 2.5). In questo caso si dice che esiste aliasing2.

Figura 2.5: Situazione in cui si viola il teorema di Shannon: esiste aliasing.

La condizione limite per la quale non esiste sovrapposizione nello spettro è mostrata in figura 2.6, dalla quale è evidente il significato del teorema di Shannon.

Figura 2.6: Condizione limite: la frequenza di campionamento è il doppio della frequenza massima del segnale da campionare

Dalla figura 2.4 risulta evidente come, per ricostruire il segnale originario, sia sufficiente utilizzare un filtro passabasso che elimina le componenti ridondanti. Il filtro in questione viene chiamato, in questo contesto, ricostruttore di Shannon.

2L’aliasing è il fenomeno per il quale si formano armoniche spurie all’interno della banda di pertinenza del segnale originario.

(18)

2.4. FILTRAGGIO DIGITALE 19

2.4 Filtraggio digitale

Come nel caso analogico, un filtro digitale trasferisce alla propria uscita solo una porzione limitata di spettro. Ovviamente, in tale contesto, si fa riferimento a spettri di segnali campionati.

Per esempio, un filtro passa basso con frequenza di taglio superiore; < escluderà dallo spettro di uscita tutte le armoniche del segnale all’ingresso con frequenza maggiore di; < .

Essendo un sistema a tempo discreto, l’uscita= > ? @ è data dalla seguente ugua- lianza:

= >? @ A B C

D

E F G C H >I @ J > ? K I @ (2.4) La (2.4) è chiamata sommatoria di convoluzione e si ricava dalla definizione di integrale di convoluzione e considerando il tempo variabile discreta. Nella (2.4)

H > I @ è l’n-esimo campione all’ingresso del filtro. La sequenza degli J >I @ si ottiene campionando la risposta del filtro che si vuole realizzare, quando al suo ingresso è presente l’impulso di Dirach.

Nei sistemi reali, la sommatoria non ha come estremo superiore infinito, ma ci si ferma all’istante di tempo ? . Questo a causa del fatto che i sistemi reali sono causali3. La (2.4) diventa quindi:

= >? @ A L

D

E F G C H >I @ J > ? K I @ (2.5) Una classe particolare di sistemi sono i filtri FIR4, in cui la risposta all’impulso è di lunghezza limitata. In tali sistemi ci limita ad un buffer di elaborazione di dimensioneM (lunghezza della risposta), percui la (2.4) diventa:

= > ? @ A N G O

D

E F P H > I @ J >? K I @ (2.6)

M è, quindi, la dimensione dei vettori J ed

H

. Avendo, il buffer dei dati, una di- mensione finita, una volta che questo è stato riempito, si opera effettuando uno shift verso il basso del vettore

H

, e accodando il dato più recente nella posizione di indice

M K Q . Così facendo, a regime, si mantiene una memoria temporale limitata.

3Un sistema si dice causale quando la sua uscita, in un certo istante, non dipende dai valori futuri degli ingressi.

4Acronimo di Finite Impulse Response

(19)

20CAPITOLO 2. SEGNALI A TEMPO DISCRETO E FILTRAGGIO DIGITALE I filtri FIR sono filtri non ricorsivi con m zeri, dipendenti dai parametri propri, ed m poli tutti nell’origine. Una conseguenza ovvia di questo è la stabilità intrinseca del sistema. Infatti possiamo considerare un esempio di somma di convoluzione che esprime l’uscita di un filtro FIR:

R S T U V W X S T U Y Z X S T [ \ U Y ] X S T [ ] U Y ^ X S T [ W U

Passando al dominio delle z-trasformate5otteniamo:

_ S ` U V a S ` U SW Y Z ` b c Y ] ` b d Y ^ ` b e U V a S ` U W ` e Y Z ` d Y ] ` Y ^

` e

Da cui è evidente la funzione di trasferimento del filtro

f S ` U V W ` e Y Z ` d Y ] ` Y ^

` e

(2.7) Come si nota chiaramente la funzione di trasferimento (2.7) ha un polo triplo nell’origine e quindi il sistema è stabile, avendo tutti i poli all’interno del cerchio unitario.

Un’altra caratteristica dei filtri FIR, che deriva dalla lunghezza finita della ri- sposta all’impulso, è quella di permettere la progettazione di filtri a fase lineare.

Questo è molto importante operando nel campo degli strumenti di misura, in quanto tale caratteristica non altera le caratteristiche morfologiche dei segnali all’ingresso.

I metodi di progetto dei filtri FIR possono essere così riassunti:

g Metodo della finestra temporale

g Campionameto in frequenza

g Metodi equiripple

Il metodo utilizzato per il progetto in trattazione è quello della finestra tempo- rale. Tale metodo impone il troncamento della risposta all’impulso così da renderla finita. Tale operazione si effettua moltiplicando la risposta per una finestra, la cui forma determina la presenza più o meno accentuata di lobi secondari nella funzione di trasferimento. Le finestre solitamente utilizzate sono riportate in figura 2.7. Nel progetto in esame, si è utilizzata la semplice finestra rettangolare.

5Vedi appendice C.

(20)

2.4. FILTRAGGIO DIGITALE 21

Figura 2.7: Rappresentazione delle finestre temporali solitamente utilizzate nel progetto di filtri FIR.

(21)

22CAPITOLO 2. SEGNALI A TEMPO DISCRETO E FILTRAGGIO DIGITALE

(22)

Capitolo 3

Il banco di filtri polifase

3.1 Considerazioni generali

Per banco di filtri s’intende un sistema che raggruppa al suo interno un insieme di filtri passabanda aventi tutti il medesimo ingresso, ma uscite differenti, a ciascuna delle quali corrisponde una funzione di trasferimento1 rispetto all’ingresso. Ogni uscita del banco costituisce un canale. Da questa definizione risulta chiaro che sia all’ingresso che alle uscite, il dominio dei segnali è quello temporale.

Il modo più semplice per implementare un banco di filtri digitale è quello di pro- gettare tanti filtri passabanda quanti sono i canali. Questo metodo presenta alcuni inconvenienti, fra i quali la scarsa efficienza implementativa. Da questa consegue per certo anche un basso livello qualitativo. Infatti, in un ottica d’implementazione tramite FPGA, il numero di tappe costituente ciascun filtro non può essere molto elevato, con la conseguenza che la reiezione al fuoribanda non può assumere valori molto alti come in realtà si desidera avere.

Un banco di filtri polifase costituisce un implementazione estremamente più efficiente e performante del più semplice banco di filtri FIR. Nel banco di filtri poli- fase, infatti, occorre progettare un solo filtro passabasso, la cui funzione di trasferi-

1La funzione di trasferimento è data dal rapporto fra la trasformata di Fourier dell’uscita e quella dell’ingresso. Nell’ambito analogico la presente funzione caratterizza completamente il funzionamento di un sistema in regime armonico.

23

(23)

24 CAPITOLO 3. IL BANCO DI FILTRI POLIFASE mento verrà poi traslata in frequenza andando a formare i vari filtri. Le stesse tappe del filtro passabasso da progettare costituiscono anche quelle di ogni singolo filtro del banco. Risulta evidente, quindi, come sia possibile utilizzare un elevato numero di coefficienti e, di conseguenza, avere alte performances in termini di reiezione al fuori-banda.

Come si nota dallo schema a blocchi riportato in figura 3.1, un banco di filtri polifase è formato da due parti:

h Una parte di convoluzione

h Una DFT

La parte di convoluzione implementa il filtro passabasso di cui sopra. In maniera semplificata, possiamo dire che costruisce la forma delle funzioni di trasferimento dei filtri del banco. Questa funzione di trasferimento passabasso verrà poi traslata in frequenza dai twiddle factor della DFT, andando a formare i vari canali del banco.

La DFT calcola le uscite solo quando tutti i suoi ingressi sono significativi; ciò av- viene solo quando l’ultimo blocco convolutore ha eseguito l’operazione. Da questa considerazione possiamo trarre la conclusione che ogni canale del filtro lavora ad una ratei volte inferiore rispetto all’ingresso, coni pari al numero di canali. Tale affermazione è espressa, analiticamente, dalla (3.1).

j k l m n j op

i

(3.1)

Figura 3.1: Schema a blocchi del banco di filtri polifase

(24)

3.2. TRATTAZIONE ANALITICA 25

3.2 Trattazione analitica

Dal punto di vista analitico, è possibile spiegare il funzionamento del banco di fil- tri nel seguente modo. Consideriamo un banco di K filtri, ognuno dei quali otte- nuto traslando in frequenza la funzione di trasferimento di un filtro passabasso e centrandola sulle frequenze

q r s t u v

w v s x y z y t y {{{y w | z

Quindi, se } ~  € è il campionamento della risposta all’impulso del filtro passa- basso di partenza2, la risposta all’impulso del k-esimo filtro del banco è

} r ~  € s } ~ €  ‚ ƒ „ … (3.2) Come appare evidente, è una risposta complessa nel dominio del tempo, con trasformata di forma uguale, in modulo, a quella di partenza ma centrata sulla frequenzaq r .

Considerando la sommatoria di convoluzione, che, si ricordi, esprime l’uscita di un sistema a tempo discreto in funzione dell’ingresso, otteniamo, per il k-esimo filtro:

† r ~  € s ‡ ˆ ‰

Š

‹ Œ  Ž ~ € } r ~ |  € s ‡ ˆ ‰

Š

‹ Œ  Ž ~ |  € } r ~  €

in cui

w  ‘

è la il numero totale di tappe del filtro} ~  € , essendo, nella sua realizza- zione un filtro FIR.

Effettuiamo il cambio di variabile:

 s ’ w | “ “ s x y z y t y {{{y w | z

e consideriamo l’uscita decimata K:1 del k-esimo filtro del banco, che si ottiene ponendo s ” w .

L’espressione d’uscita del filtro è

† r ~ ” w € s ‡ • 

Š –Œ — ˆ ‰

Š˜Œ  Ž ™~ ” | ’€ w | “ š } r ~ ’w | “ € (3.3) Definiamo ora le seguenti quantità:

 –›r ~ ’ € s } r ~ ’w | “ € s } ~ ’ w | “ €  ‚ ƒ „ œ ‡  • ‚ ƒ „ – s } r ~ ’ w | “ € s  –›—  • ‚ ƒ „ –

2Il filtro passabasso è di tipo FIR (Finite Impulse Response), quindi il vettore dei coefficienti è di dimensione finita.

(25)

26 CAPITOLO 3. IL BANCO DI FILTRI POLIFASE

 ž Ÿ   ¡ ¢  Ÿ   £ ¤ ¥ ¡ ¥ ¢ ¦ § ¨ § ©©©§ ª « ¨

tenuto conto delle quali, la (3.3) diventa:

¬ ­ Ÿ  £ ¡ ¢ ® ¯ °

±ž² ³ ´ ¯ µ · ­ ž¸ ® ¹ º

±»² °  ž Ÿ  « ¼ ¡½ ž¾³ Ÿ ¼ ¡

(3.4) La (3.4) è chiaramente l’uscita relativa al k-esimo bin di una DFT a K punti complessi. I K punti all’ingresso della DFT stessa non sono altro che le uscite dei branch del filtro, ciascuno dei quali calcola la convoluzione fra le sequenze decimate

 ž Ÿ  ¡

e gli insiemi½ ž¾­ Ÿ ¼¡ . Nel banco di filtri progettato, i dati ž sono complessi.

Il numero di tappe costituente la sequenza¿ ­ Ÿ À ¡ , espressa dalla (3.2), è lo stesso della¿ Ÿ À ¡ e vale

Á ¢ £ Â Á ­

(3.5) in cui£ è il numero di canali del banco ed Á ­ è la cardinalità degli insiemi½ ž¾­ Ÿ ¼ ¡ 3. Si noti anche che la (3.4) mostra che il dominio del segnale ¬ ­ Ÿ   £ ¡ è quel- lo temporale ed è presente un fattore di decimazione pari al numero di canali.

Concludendo, possiamo affermare che questa equazione altro non è che il modello matematico descritto dalla figura 3.1.

3.3 Flusso dei dati all’interno dell’hardware

Come si nota dallo schema in figura 3.2, i dati vengono distribuiti da un demulti- plexer, che costituisce il primo blocco, ai successivi moduli funzionali costituiti dai sottofiltri FIR. Ogni sottofiltro lavora, quindi, su una sequenza ottenuta decimando lo stream di campioni all’ingresso con fase crescente. La sample-rate all’ingresso di ogni blocco FIR vale, quindi,

à ° ¢ Ã

£

I blocchi di convoluzione forniscono un dato in uscita per ogni dato in ingresso4

3In pratica, tale valore è il numero di tappe di ciascuno dei FIR presenti in ogni braccio del banco.

4Questo, ovviamente, una volta che tutta la struttura è a regime. Avendo implementato i sottofiltri con una struttura in pipeline, esiste una latenza iniziale pari al numero di tappe di ogni sottofiltro. I primi dati uscenti dalle convoluzioni sono inconsistenti.

(26)

3.4. BLOCCHI DI CONVOLUZIONE 27

Figura 3.2: Flusso dei dati all’interno del banco di filtri polifase.

e quindi non vanno ad alterare la sample-rate che, alla loro uscita, rimane pari ad

Ä Å

.

La DFT computa quando tutti i suoi ingressi sono ad un valore consistente, ov- vero quando l’ultimo dei blocchi FIR ha fornito in uscita il proprio valore calcolato.

Di conseguenza anche i bin della DFT hanno una sample-rate pari adÄ Å .

Dalle precedenti considerazioni possiamo notare che ogni uscita del banco, cor- rispondente ad un canale, lavora ad una frequenza di sample K-volte inferiore a quella d’ingresso.

3.4 Blocchi di convoluzione

I blocchi di convoluzione sono dei filtri FIR strutturati a pipeline. Dalla (3.4) si ricava l’espressione del loro funzionamento:

Æ Ç ÈÉ Ê Ë Ì Í

ÎÏ

Ð Å Ñ Ç ÈÉ Ò Ó ÊÔ ÇÕÖ È Ó Ê Ë Ì Í

ÎÏÐ Å Ñ Ç È ÓÊ Ô ÇÕÖ ÈÉ Ò Ó Ê

(3.6) con

Ô ÇÕÖ È ÓÊ Ë × È ÓØ Ò Ù Ê

(3.7) In cuiÆ Ç È É Ê è il valore all’istante m-esimo all’uscita dell’i-esimo blocco FIR.

Come si può notare osservando la (3.7), questa rappresenta un sottinsieme della risposta all’impulso del filtro. Il sottinsieme i-esimo si ottiene decimando a ritroso il vettore × È Ú Ê a partire dall’ultima posizione meno “i”. In realtà si è sfruttata la

(27)

28 CAPITOLO 3. IL BANCO DI FILTRI POLIFASE simmetria della risposta5per ottenere gli insiemiÛ ÜÝÞ ß àá in maniera più agevole. Nel dettaglio si è ricavato l’i-esimo sottinsieme tramite una semplice decimazione del vettoreâ ß ã á partendo dall’i-esima posizione e procedendo nel senso crescente degli indici. Facendo questo, la generazione dei vari sottinsiemi a partire dal vettore del- la risposta all’impulso diventa computazionalmente molto più semplice. Tuttavia, questo procedimento obbliga a modificare la definizione canonica di sommatoria di convoluzione (3.6). Avendo, infatti, invertito specularmente i gruppiÛ ÜÝÞ ß à á , oc- corre, invertire la loro scansione all’interno della somma, ottenendo la seguente ugualianza:

ä Ü ßå á æ ç è

éê

ë ì í Ü ß à áÛ ÜÝÞ ß à á (3.8) La (3.8) rappresenta un semplice prodotto scalare fra il buffer di dimensioneî ï6 ed il sottovettoreÛ Ü ÝÞ ß à á.

3.5 Blocco DFT

Il blocco in questione provvede a calcolare la trasformata di Fourier della sequenza in ingresso. La definizione matematica dell’m-esimo bin è la seguente:

ð ß å á æ ç ñ ì

é

ò ë Þ í ß ã á ó ñ ô õ ö ÷ ø

ù (3.9)

Una maniera più efficiente di calcolare la trasformata discreta di Fourier di un segnale è costituita dall’algoritmo FFT. Questo calcola la trasformata suddividendo la sommatoria (3.9) in due somme distinte, una che lavora sugli indici “n” pari e una seconda che opera sugli “n” dispari. Al passo successivo dell’algoritmo, ogni sommatoria viene, a sua volta, suddivisa in due, procedendo fino a quando non si ottengono somme formate da un solo elemento. Il risultato di questa computazione è un risparmio di moltiplicazioni. Infatti, mentre un algoritmo DFT prevede un numero di moltiplicazioni, in caso di

í ß ã á complessi, pari aú î

õ

, una FFT ne esegue soloî ûü ý õ î , computando il risultato molto più velocemente.

5La funzione di risposta all’impulso di un filtro passabasso è una funzione simmetrica rispetto all’asse delle ordinate, cioè è una funzione dispari.

6Questo contiene i campioni distribuiti al FIR dal demultiplexer d’ingresso. La sua dimensione èþ ÿ e ad ogni nuovo campione all’ingresso si effettua uno shift sul buffer eliminando il valore più vecchio e si accoda il nuovo valore.

(28)

3.5. BLOCCO DFT 29 Tuttavia, per questa applicazione, non occorre velocità da parte del suddetto blocco, ma si deve orientare la progettazione sul massimo risparmio d’area. Infatti, come risulta evidente dal paragrafo 3.3, il blocco DFT inizia il calcolo solo quando tutti i blocchi FIR hanno fornito un dato valido in uscita. Per tale motivo, al termi- ne del percorso progettuale che ha portato alla realizzazione del banco a migliaia canali, si è optato per l’utilizzo di una PFFT7.

7Acronimo di Pipelined Fast Fourier Transform. In tale implementazione dell’algoritmo DFT, il datapath è suddiviso in una successione di stages, orientati al multiplexing delle butterfly nel tempo.

Da ciò consegue un’elevata efficienza implementativa in termini di througput e impegno d’area.

(29)

30 CAPITOLO 3. IL BANCO DI FILTRI POLIFASE

(30)

Capitolo 4

Simulazione teorica

La progettazione del banco di filtri è partita da una simulazione funzionale me- diante moduli software scritti in linguaggio C. La ragione che mi ha spinto ad utiliz- zare questo genere di approccio è stata la necessità di utilizzare in maniera agevole i file ascii contenenti i campioni da elaborare. Non da ultimo, il costruire un pro- gramma che simulasse la circuiteria finale, ha permesso di toccare con mano le procedure di calcolo richieste dall’hardware. Un approccio alternativo era quello di utilizzare fogli di calcolo o tool matematici come Matlab, che però avrebbero, in parte, pregiudicato la portabilità dell’attività di sviluppo.

I moduli software implementano le varie parti costituenti lo schema a blocchi di figura 3.1. Ogni modulo è rappresentato da un programma che accetta un file ascii in ingresso e fornisce in uscita un file dello stesso tipo contenente l’elaborazione dei dati al proprio ingresso.

Successivamente si è proceduto allo sviluppo di un banco a soli 8 canali tramite il linguaggio VHDL. Questo è stato il punto di partenza per lo sviluppo di strategie e metodi operativi che hanno portato, attraverso continue evoluzioni del progetto, ad ottenere un sistema estremamente riconfigurabile e portabile.

4.1 Descrizione dei moduli software

Osservando lo schema a blocchi in figura 3.1 si può notare che l’elaborazione può essere suddivisa in alcune sotto-operazioni ciascuna delle quali costituisce un pro-

31

(31)

32 CAPITOLO 4. SIMULAZIONE TEORICA blema autonomo. Queste sotto-azioni sono state sintetizzate, ciascuna, con un mo- dulo software. I moduli vengono utilizzati dal front end poly.exe, quale accetta in ingresso lo stream di campioni reali e genera in uscita tante coppie di file quanti sono i canali. Ogni canale è dato da una coppia di file in quanto l’uscita di un filtro passa-banda è un segnale complesso nel dominio del tempo.

Decima.exe

Sintassi: DECIMAnomefile n_rami

Effettua il multiplexing di nomefile su n_rami rami, creando n_rami file di usci- ta e demultiplexando i valori letti da nomefile sulle uscite. Ogni file contiene la decimazione dell’ingresso con fase crescente.

Esempio: decima prova.txt 4 Genera quattro file:

prova1.txt contenente i campioni decimati con fase 0 prova2.txt contenente i campioni decimati con fase 1 prova3.txt contenente i campioni decimati con fase 2 prova0.txt contenente i campioni decimati con fase 3

Il diagramma di flusso del modulo è riportato in figura 4.1.

Filtri.exe

Sintassi: FILTRIfile_filtro file_campioni file_uscita

Questo modulo software effettua la convoluzione fra file_filtro e file_campioni scrivendo il risultato su file_uscita. Il calcolo è fatto misurando la lunghezza del fil- tro (n. valori componenti file_filtro) e precaricando un buffer con questo numero di campioni. La convoluzione viene quindi calcolata in maniera canonica. Ogni valo- re entra nel buffer seguendo una politica FIFO. Questa viene implementata tramite shift di una posizione perdendo il valore più vecchio e inserimento del nuovo valore nella posizione rimasta libera. In figura 4.2 è riportato il diagramma di flusso.

(32)

4.1. DESCRIZIONE DEI MODULI SOFTWARE 33

Figura 4.1: Diagramma di flusso del programma che implementa il multiplexer.

Interp.exe

Sintassi: INTERPfile_ingresso n_rami file_uscita

Il presente modulo effettua l’operazione inversa della decimazione. Preleva un valore alla volta, in sequenza, dai file_ingresso e li interpola sul file file_uscita.

Gli n_rami file in ingresso devono essere nominati come file_ingresso ma con un numero che indica l’indice prima del “.” dell estensione. Il primo valore viene preso dall indice 1 e l’ultimo dall indice 0 (lavora in maniera inversa al programma decima).

Esempio: consideriamo di disporre di quattro file chiamati “prova1.txt”, “pro- va2.txt”, “prova3.txt” e “prova0.txt”. L’invocazione di interp prova.txt out.txt ge- nera un file chiamato out.txt prelevando a turno un valore ordinatamente da prova1, prova2, prova3 e prova0 fino ad esaurimento dei valori. L’effetto è quello di un mul-

(33)

34 CAPITOLO 4. SIMULAZIONE TEORICA

Figura 4.2: Diagramma di flusso del blocco di convoluzione.

tiplexer che ha al suo ingresso 4 stream di valori corrispondenti ai file e viene co- mandato da un conteggio crescente dell’address. La figura 4.3 riporta il diagramma di flusso del software.

Dft.exe

Sintassi: DFTfile_ingresso file_uscita n_punti

Calcola la trasformata discreta di fourier della sequenza in file_ingresso ad n_punti e scrive il modulo delle n_punti bin di uscita nel file file_uscita. Il bin i-esimo si troverà alla frequenza     dove è la frequenza di campiona- mento della sequenza in ingresso. Se nel file d ingresso ci sono più di n_punti

Riferimenti

Documenti correlati

Campo nominale di misura: Per ogni estensione della scala, insieme dei valori del misurando per i quali uno strumento per misurazione fornisce dei valori

[r]

 Per gestire un segnale un processo deve dire al kernel che cosa intende fare nel caso riceva tale segnale.  Tipicamente

Esercizio 1 Per ciascuno dei seguenti segnali (a tempo continuo o a tempo discreto) dire se `e periodico e, in caso affermativo, trovarne il periodo

Il segnale s(t) = sinc 2 (40t)cos(100πt) viene campionato idealmente alla minima frequen- za di campionamento che permette di evitare il fenomeno dell’aliasing, quindi ogni cam-

Considerando che il tempo che si impiega a trasmettere 1 ora di segnale pari 21.6 secondi calcolare quanti bit vengono utilizzati per memorizzare il singolo campione5. Calcolare

Sapendo che per la memorizzazione di ogni campione vengono utilizzati 16 bit si determini il valore minimo di f c che permette una corretta ricostruzione del segnale e il numero di

Il tracking di solito è realizzato su linee di Ascensione Retta, tali quindi da seguire la normale traiettoria delle sorgenti nella volta celeste dalla loro alba al loro