Sei sulla pagina 1di 16

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 microfoniche
Candidato: Paolo MORANDINI Relatore:

Prof. Ing. Enzo MUMOLO


Correlatore:

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 antialiasing
TCP 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 RCA
Schema 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 Assembly
Controllo PIC32 Starter Kit USB USB to PC

MAX11046 Dati

Versione 3: Sviluppo di una scheda audio multicanale


Timing 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 <-30,30> 20 localizzazioni per ogni posizione (esclusi i falsi positivi) Utilizzate le massime frequenze di campionamento
Pos.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