Presentazione Tesi: "Sviluppo di sistemi embedded per la localizzazione automatica di sorgenti acustiche mediante schiere microfoniche"

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