Prelaurea Buriola

16
Implementazione in ambiente DSP di Implementazione in ambiente DSP di algoritmi di beamforming audio algoritmi di beamforming audio UNIVERSITÀ DEGLI STUDI DI TRIESTE FACOLTÀ DI INGEGNERIA Dipartimento di Elettrotecnica, Elettronica ed Informatica Tesi di Laurea in SISTEMI OPERATIVI Laureando: Matteo Buriola Relatore: Enzo MUMOLO Correlatore: Massimiliano NOLICH Anno Accademico 2008-2009

description

Slides di presentazione

Transcript of Prelaurea Buriola

Page 1: Prelaurea Buriola

Implementazione in ambiente DSP di Implementazione in ambiente DSP di algoritmi di beamforming audioalgoritmi di beamforming audio

UNIVERSITÀ DEGLI STUDI DI TRIESTE FACOLTÀ DI INGEGNERIA Dipartimento di Elettrotecnica, Elettronica ed Informatica

Tesi di Laurea in SISTEMI OPERATIVI

Laureando: Matteo Buriola

Relatore: Enzo MUMOLO

Correlatore: Massimiliano NOLICH

Anno Accademico 2008-2009

Page 2: Prelaurea Buriola

IntroduzioneIntroduzione

• Applicazione in corso: interazione robot-ambiente tramite segnali Applicazione in corso: interazione robot-ambiente tramite segnali audioaudio– Controllo del robot con comadi vocali Controllo del robot con comadi vocali – Riconoscimento del parlatoreRiconoscimento del parlatore– Riconoscimento di segnali audio presenti nell'ambienteRiconoscimento di segnali audio presenti nell'ambiente

• Tecniche basate sull'elaborazione di array microfoniciTecniche basate sull'elaborazione di array microfonici– Localizzazione audioLocalizzazione audio– Eliminazione dei disturbiEliminazione dei disturbi– Beamforming (creazione di diagrammi di ricezione audio Beamforming (creazione di diagrammi di ricezione audio

direttivi)direttivi)

Page 3: Prelaurea Buriola

ObiettiviObiettivi

Gli obiettivi di qesta tesi sono:Gli obiettivi di qesta tesi sono: Sviluppo dell'hardware degli array microfoniciSviluppo dell'hardware degli array microfonici Analisi off line degli algoritmi di beamformingAnalisi off line degli algoritmi di beamforming Implementazione su un processore DSP degli algoritmi sceltiImplementazione su un processore DSP degli algoritmi scelti Svolgimento di test per valutare la correttezza delle Svolgimento di test per valutare la correttezza delle

implementazioni e la bontà dei risultatiimplementazioni e la bontà dei risultati

Page 4: Prelaurea Buriola

Sviluppo del lavoroSviluppo del lavoro

Periodo di tirocinio per conoscere meglio l'ambiente di Periodo di tirocinio per conoscere meglio l'ambiente di sviluppo.sviluppo.

Modifiche del programma di acquisizione sul DSPModifiche del programma di acquisizione sul DSP Analisi della documentazione Analisi della documentazione Scelta degli algoritmi da implementare Scelta degli algoritmi da implementare Implementazione su pc Implementazione su pc Implementazione su DSPImplementazione su DSP Svolgimento di test, sia off-line che in tempo realeSvolgimento di test, sia off-line che in tempo reale

Page 5: Prelaurea Buriola

Il sistema di acquisizioneIl sistema di acquisizioneIl sistema di acquisizione audio è composto da:Il sistema di acquisizione audio è composto da:

Schiera microfonica con 8 uscite mono (usate solo 4)Schiera microfonica con 8 uscite mono (usate solo 4)

Scheda Edirol per acquisizione sincronizzata dei segnali Scheda Edirol per acquisizione sincronizzata dei segnali

Scheda con dsp della Texas InstrumentScheda con dsp della Texas Instrument

Page 6: Prelaurea Buriola

Il DSP 6713Il DSP 6713

La scheda TMS320C6713 DSK della Texas Instrument è una piattarforma di La scheda TMS320C6713 DSK della Texas Instrument è una piattarforma di sviluppo stand alone con le seguenti caratteristiche:sviluppo stand alone con le seguenti caratteristiche:

Cpu a 225 MhzCpu a 225 Mhz Memoria flash a 512 Kb Memoria flash a 512 Kb Memoria DRAM asincrona a 16MbMemoria DRAM asincrona a 16Mb Daughter card DUAL3006 rev d che dispone di: Daughter card DUAL3006 rev d che dispone di:

– 2 ingressi e uscite stereo 2 ingressi e uscite stereo – 48 kHz, 12 bit48 kHz, 12 bit

Page 7: Prelaurea Buriola

Ambiente softwareAmbiente software

Programmi Utilizzati:Programmi Utilizzati: Elaborazione off-lineElaborazione off-line

– Samplitude 7.0 per acquisizione segnali audioSamplitude 7.0 per acquisizione segnali audio– Matlab 6.5 per analisi off-lineMatlab 6.5 per analisi off-line– Compilatore wxDev 6.10Compilatore wxDev 6.10

Elaborazione in tempo realeElaborazione in tempo reale– Code Composer Studio per programmazione su DSPCode Composer Studio per programmazione su DSP– Audacity e Adobe Audition per l'ascolto dei risultatiAudacity e Adobe Audition per l'ascolto dei risultati

Page 8: Prelaurea Buriola

Algoritmi studiatiAlgoritmi studiati

Tutti gli algoritmi di beamforming sfruttano lo sfasamento tra i Tutti gli algoritmi di beamforming sfruttano lo sfasamento tra i microfoni:microfoni:

a) Beamforming Delay and Suma) Beamforming Delay and Sum

b) Beamforming LMS con matrice di bloccob) Beamforming LMS con matrice di blocco

c) Beamforming in frequenzac) Beamforming in frequenza

Page 9: Prelaurea Buriola

X2 = 6.4

microfono 1 microfono 2 microfono 3 microfono 4

X4 = 24.1

X3 = 17.7

ξ

θ

Principio di funzionamento

Page 10: Prelaurea Buriola

a) Implementazione del Delay a) Implementazione del Delay and Sumand Sum

Il più semplice tra gli algoritmi di beamforming. Il più semplice tra gli algoritmi di beamforming. Opera effettuando un filtraggio spaziale sfruttando i ritardi spazialiOpera effettuando un filtraggio spaziale sfruttando i ritardi spazialiImplementazione: Implementazione: 4 buffer circolari da 512 allocazioni4 buffer circolari da 512 allocazioni due indici, uno per la scrittura e uno per la lettura.due indici, uno per la scrittura e uno per la lettura.Schema del programma:Schema del programma: Inizializzazione dei buffer e calcolo dei ritardiInizializzazione dei buffer e calcolo dei ritardi Serie di acquisizioni senza calcolo dell'uscitaSerie di acquisizioni senza calcolo dell'uscita Scrittura e lettura dei buffer con applicazione dei ritardi ad ogni Scrittura e lettura dei buffer con applicazione dei ritardi ad ogni

chiamata dell'interruptchiamata dell'interrupt

m=xm⋅f⋅cos /c

Page 11: Prelaurea Buriola

b) LMS con matrice di bloccob) LMS con matrice di blocco

Lo scopo è minimizzare l'errore quadratico medio con filtri adattativi.

Matrice per il calcolo delle differenze:I filtri sono basati sulle seguenti formule:

Sono state fatte 2 implementazionipiù una terza in combinazionecon il delay and sumÉ stato implementato ma poi abbandonato per problemi hardware.

[١ −١ ٠ ٠٠ ١ −١ ٠٠ ٠ ١ −١]

w n١=w nenx ny n=w nx nen= y n−d n

Page 12: Prelaurea Buriola

c) Beamforming in frequenzac) Beamforming in frequenza

Algoritmo molto simile al delay and sum ma che lavora in frequenza.Algoritmo molto simile al delay and sum ma che lavora in frequenza. Applicazione della fast fourier transform per portare il segnale nel Applicazione della fast fourier transform per portare il segnale nel

dominio della frequenzadominio della frequenza Calcolo degli sfasamenti tra i canali Calcolo degli sfasamenti tra i canali Annullamento delle differenzeAnnullamento delle differenze Il risultato è riportato nel dominio del tempo con la trasformata Il risultato è riportato nel dominio del tempo con la trasformata

inversa.inversa.A causa di mancanza di tempo questo algoritmo non è stato A causa di mancanza di tempo questo algoritmo non è stato

implementato sul dsp. implementato sul dsp. Per i test off line è stata modificato un programma in matlab già Per i test off line è stata modificato un programma in matlab già

esistente per adattarlo ai 4 canali in ingresso e alla frequenza di esistente per adattarlo ai 4 canali in ingresso e alla frequenza di 48KHz.48KHz.

Testato solo off-line ma non è stato implementato in tempo realeTestato solo off-line ma non è stato implementato in tempo reale

Page 13: Prelaurea Buriola

Risultati sperimentaliRisultati sperimentali

La maggior parte dei test è stata effettuata off line utilizzando sia toni La maggior parte dei test è stata effettuata off line utilizzando sia toni puri sia registrazioni vocali.puri sia registrazioni vocali.

I test sull'algoritmo delay and sum, anche combinato con l'Lms, hanno I test sull'algoritmo delay and sum, anche combinato con l'Lms, hanno prodotto scarsi risultati su tutte le acquisizioni audio.prodotto scarsi risultati su tutte le acquisizioni audio.

Osservando i grafici dei file risultato dell'elaborazione si possono Osservando i grafici dei file risultato dell'elaborazione si possono vedere differenze tra i test della stessa acquisizione fatti con angoli vedere differenze tra i test della stessa acquisizione fatti con angoli diversi. La differenza è più marcata usando toni puri invece che voci diversi. La differenza è più marcata usando toni puri invece che voci umane.umane.

Page 14: Prelaurea Buriola

Risultati sperimentali a 1kHzRisultati sperimentali a 1kHzTest con toni puri a 1000Hz con sorgente a destra, sinistra e centro.Test con toni puri a 1000Hz con sorgente a destra, sinistra e centro.

Page 15: Prelaurea Buriola

Risultati sperimentali a 2kHzRisultati sperimentali a 2kHzToni puri a 2000Hz con sorgente a destra e sinistra dell’arrayToni puri a 2000Hz con sorgente a destra e sinistra dell’array

Page 16: Prelaurea Buriola

ConclusioniConclusioni

In questa tesi sono stati ottenuti i seguenti risultati: Analisi off-line del delay and sum con stima dei diagrammi di ricezione Implementazione real time del delay and sum Implmentazine real time dell'algoritmo lms in combinazione al delay

and sum. Analisi del beamforming in frequenza. Di questo si sono fatti solo test

off-line, senza procedere all'implementazione su DSP.