Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Sviluppo di sistemi embedded per la localizzazione automatica di sorgenti acustiche mediante schiere microfoniche
Candidato: Paolo MORANDINI Relatore:
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
Schiera microfonica
Edirol FA-101
MaxEVKIT 11046
Filtri antialiasing
Webcam Orbit AF
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
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 ); }
Versione 2: Sistema dedicato per la localizzazione discreta mediante scheda di acquisizione multicanale USB
Microfoni
Antialiasing
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
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
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 %
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