Sei sulla pagina 1di 16

UNIVERSITÀ DEGLI STUDI DI TRIESTE

FACOLTÀ DI INGEGNERIA
Dipartimento di Elettrotecnica, Elettronica ed Informatica

Tesi di Laurea in SISTEMI OPERATIVI

Implementazione in ambiente DSP di


algoritmi di beamforming audio

Laureando: Relatore: Correlatore:


Matteo Buriola Enzo MUMOLO Massimiliano NOLICH

Anno Accademico 2008-2009


Introduzione
• Applicazione in corso: interazione robot-ambiente tramite segnali
audio
– Controllo del robot con comadi vocali
– Riconoscimento del parlatore
– Riconoscimento di segnali audio presenti nell'ambiente
• Tecniche basate sull'elaborazione di array microfonici
– Localizzazione audio
– Eliminazione dei disturbi
– Beamforming (creazione di diagrammi di ricezione audio
direttivi)
Obiettivi

Gli obiettivi di qesta tesi sono:



Sviluppo dell'hardware degli array microfonici

Analisi off line degli algoritmi di beamforming

Implementazione su un processore DSP degli algoritmi scelti

Svolgimento di test per valutare la correttezza delle
implementazioni e la bontà dei risultati
Sviluppo del lavoro

 Periodo di tirocinio per conoscere meglio l'ambiente di


sviluppo.
 Modifiche del programma di acquisizione sul DSP
 Analisi della documentazione
 Scelta degli algoritmi da implementare
 Implementazione su pc
 Implementazione su DSP
 Svolgimento di test, sia off-line che in tempo reale
Il sistema di acquisizione
Il sistema di acquisizione audio è composto da:

Schiera microfonica con 8 uscite mono (usate solo 4)


Scheda Edirol per acquisizione sincronizzata dei segnali


Scheda con dsp della Texas Instrument
Il DSP 6713

La scheda TMS320C6713 DSK della Texas Instrument è una piattarforma di


sviluppo stand alone con le seguenti caratteristiche:

Cpu a 225 Mhz

Memoria flash a 512 Kb

Memoria DRAM asincrona a 16Mb

Daughter card DUAL3006 rev d che dispone di:
– 2 ingressi e uscite stereo
– 48 kHz, 12 bit
Ambiente software

Programmi Utilizzati:
 Elaborazione off-line

– Samplitude 7.0 per acquisizione segnali audio


– Matlab 6.5 per analisi off-line
– Compilatore wxDev 6.10
 Elaborazione in tempo reale
– Code Composer Studio per programmazione su DSP
– Audacity e Adobe Audition per l'ascolto dei risultati
Algoritmi studiati

Tutti gli algoritmi di beamforming sfruttano lo sfasamento tra i


microfoni:

 a) Beamforming Delay and Sum

 b) Beamforming LMS con matrice di blocco

 c) Beamforming in frequenza
Principio di funzionamento

microfono 1 microfono 2 microfono 3 microfono 4


X 2 = 6.4
X 3 = 17.7
X 4 = 24.1
a) Implementazione del Delay
and Sum
Il più semplice tra gli algoritmi di beamforming.
Opera effettuando un filtraggio spaziale sfruttando i ritardi spaziali
Implementazione:

4 buffer circolari da 512 allocazioni

due indici, uno per la scrittura e uno per la lettura.
Schema del programma:

Inizializzazione dei buffer e calcolo dei ritardi  m=x m⋅f ⋅cos /c

Serie di acquisizioni senza calcolo dell'uscita

Scrittura e lettura dei buffer con applicazione dei ritardi ad ogni
chiamata dell'interrupt
b) 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:


w n١=w ne n x n
y n=w  n x n
e n= y  n−d n
Sono state fatte 2 implementazioni
più una terza in combinazione
con il delay and sum
É stato implementato ma poi abbandonato per problemi hardware.
c) Beamforming in frequenza

Algoritmo molto simile al delay and sum ma che lavora in frequenza.


 Applicazione della fast fourier transform per portare il segnale nel
dominio della frequenza
 Calcolo degli sfasamenti tra i canali
 Annullamento delle differenze
 Il risultato è riportato nel dominio del tempo con la trasformata
inversa.
A causa di mancanza di tempo questo algoritmo non è stato
implementato sul dsp.
Per i test off line è stata modificato un programma in matlab già
esistente per adattarlo ai 4 canali in ingresso e alla frequenza di
48KHz.
Testato solo off-line ma non è stato implementato in tempo reale
Risultati sperimentali

La maggior parte dei test è stata effettuata off line utilizzando sia toni
puri sia registrazioni vocali.
I test sull'algoritmo delay and sum, anche combinato con l'Lms, hanno
prodotto scarsi risultati su tutte le acquisizioni audio.
Osservando i grafici dei file risultato dell'elaborazione si possono
vedere differenze tra i test della stessa acquisizione fatti con angoli
diversi. La differenza è più marcata usando toni puri invece che voci
umane.
Risultati sperimentali a 1kHz
Test con toni puri a 1000Hz con sorgente a destra, sinistra e centro.
Risultati sperimentali a 2kHz
Toni puri a 2000Hz con sorgente a destra e sinistra dell’array
Conclusioni

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.

Potrebbero piacerti anche