If you can't read please download the document
Upload
paolo-elwood-morandini
View
100
Download
0
Embed Size (px)
Citation preview
UNIVERSITA DEGLI STUDI DI TRIESTE FACOLTA DI INGEGNERIA Dipartimento di Ingegneria Industriale e dell'Informazione Tesi di laurea in SISTEMI OPERATIVI
Sviluppo di sistemi embedded per la localizzazione automatica di sorgenti acustiche mediante schiere microfonicheCandidato: Paolo MORANDINI Relatore:
Prof. Ing. Enzo MUMOLOCorrelatore:
Prof. Ing. Massimiliano NOLICH
Introduzione
Motivazioni principali:
Sviluppo e integrazione con le applicazioni robotiche che sono in corso presso il laboratorio Il sistema di localizzazione deve essere di dimensioni e peso adeguato necessit di un sistema dedicato
Introduzione: Strumenti Utilizzati, Hardware
Schiera microfonica
Edirol FA-101
MaxEVKIT 11046
Filtri antialiasing
PIC32 Kit USB
Webcam Orbit AF
Introduzione: Strumenti Utilizzati, Software
GNU/Linux Jack daemon Libsnd Libusb GCC C compiler Audacity Octave Processing MPLab
Versione 1: Sistema dedicato per la localizzazione continua mediante scheda di acquisizione Edirol con architettura client/server
Microfoni
Edirol FA-101 Jack daemon TCP Server
Caratteristiche principali 96 kHz @ 24 bit Acquisizione real-time Interfaccia Firewire Client/Server
TCP Client
Localizzazione
Webcam
Versione 1: Sistema dedicato per la localizzazione continua mediante scheda di acquisizione Edirol con architettura client/server
TCP/Server: Listen; While (running) { Dati = Ricevi frame da jack; Invia Dati tramite TCP; } TCP/Client: Connect; While (running) { Ricevi tramite TCP; If (completo) avvia localizzazione; }
Localizzazione: Avvia TCP/Client thread; While (running) { Aspetta dati; If (energia < soglia) continue; Calcola cross-correlazioni; Ritardi = Trova massimo xcorr; Algoritmo di ricerca( Ritardi ); }
Fase 1: Demo degli algoritmi di localizzazione
Versione 2: Sistema dedicato per la localizzazione discreta mediante scheda di acquisizione multicanale USB
Microfoni
Antialiasing
MaxEVKIT 11046 Driver USB TCP Server
Caratteristiche principali 16 kHz @ 16 bit Acquisizione non -continua Interfaccia USB con -protocollo proprietario -non documentato Client/Server Necessit di antialiasingTCP Client Localizzazione Webcam
Versione 2: Sistema dedicato per la localizzazione discreta mediante scheda di acquisizione multicanale USB
Reverse engineering del protocollo di comunicazione USB tra scheda Maxim e il driver fornito dal produttore L'acquisizione possibile ogni 240 ms Invio tramite TCP/IP possibile 3 volte al secondo
Lettura dati tramite USB + TCP/Server: Listen; While (running) { Setup acquisizione; Lancia acquisizione; While (mancano dati) Dati[N] = Lettura da USB; Invia Dati tramite TCP; }
Versione 2: Sistema dedicato per la localizzazione discreta mediante scheda di acquisizione multicanale USB
Caratteristiche antialiasing Taglio a 7 kHz Secondo ordine Sallen-Key 8 canali Connettori RCASchema circuitale dell'antialiasing per un canale
Fase 2: Demo della localizzazione in tre settori
Versione 3: Sviluppo di una scheda audio multicanale
Microfoni
Antialiasing
Caratteristiche principali 48 kHz @ 16 bit Acquisizione continua Interfaccia USB Necessit di antialiasing USB Audio Class Device PIC32 programmato in -C e AssemblyControllo PIC32 Starter Kit USB USB to PC
MAX11046 Dati
Versione 3: Sviluppo di una scheda audio multicanaleTiming Diagram per la comunicazione con l'ADC MAX11046
Versione 3: Sviluppo di una scheda audio multicanale
Firmware PIC32 Setup registri interni; Setup ADC; Setup TIMER interrupt; While (true) { Gestione USB(); }
Interrupt TIMER Reset TIMER; Acquisizione; Conversione; Wait; For (i = 1..8) Buffer = Leggi dato relativo al canale i-esimo; If (buffer pieno) Invia tramite USB i dati; Scambia buffer;
molto importante assicurarsi che il segnale di acquisizione che chiude i circuiti di sample and hold venga attivato con una cadenza quanto pi regolare possibile.
Risultati sperimentali
5 posizioni entro 20 localizzazioni per ogni posizione (esclusi i falsi positivi) Utilizzate le massime frequenze di campionamentoPos.1 -29,07 -27,45 1,48% Pos. 2 -21,54 -17,77 3,01% Pos. 3 -6,75 -3,27 0,57% Pos. 4 23,78 25,75 1,66% Pos. 5 29,20 33,64 4,14%
Edirol (v1)PIC32 (v2)
Errore %
Errore massimo del 4,14%
Conclusioni e sviluppi futuri
I sistemi sviluppati soddisfano le specifiche richieste Periferica con PIC32, ADC e Antialiasing di dimensioni compatte Integrazione con processore ARM per l'elaborazione dei dati acquisiti