PRINCIPIO DI FUNZIONAMENTOCon sound location
si intende la capacità di poter determinare la direzione e la distanza
di una o più sorgenti acustiche considerando come note le sole
caratteristiche del segnale che viene emesso. Nel caso di questo
progetto siamo interessati alla stima della sola direzione di arrivo,
in quanto si suppone nota la distanza della sorgente acustica (che
comunque in fase di elaborazione non è un parametro di significativa
importanza).
Per la stima dell'angolo di arrivo esistono
numerosi algoritmi il cui principio di funzionamento è basato
sull'emulazione del sistema orecchie-cervello del corpo umano che,
elaborando il segnale acustico ricevuto, riesce a capire,
approssimativamente, dove si trova la sorgente. Nell'elaborazione dei
segnali, gli algoritmi di Direction of Arrival (DOA) si basano sul
principio che un'onda propagandosi in un mezzo giunge in punti diversi
con tempi diversi. In questo modo, conoscendo la posizione di punti ben
precisi nei quali vengono posti i microfoni, attraverso alcune
semplici trasformazioni trigonometriche il ritardo che si viene a
generare può così essere tradotto in un ritardo di fase dell'onda
rilevata dai sensori.
L'algoritmo utilizzato si basa sulla
funzione di Cross-correlazione per la stima del tempo di ritardo con
cui l'onda acustica giunge ai microfoni. La Cross-correlazione
infatti permette di calcolare approssimativamente quanto due segnali
sono simili tra loro e quindi, se il segnale è lo stesso, permette di
determinare il ritardo di fase. In questo progetto per
la stima della direzione di arrivo si è scelto di utilizzare due schede
di acquisizione audio i cui dati in uscita vengono trasmessi via USB ad un
computer portatile dove risiede il software di calcolo. I dati ricevuti in ingresso da MATLAB
sono presentati sottoforma di un vettore di quattro righe ognuna delle
quali è rappresentativa dei quattro
canali totali delle due schede. Il vettore viene quindi
elaborato dal software di calcolo che esegue la
Cross-correlazione tra il canale 1 e 2 della prima scheda e il canale 1 e 2
della seconda. L'elaborazione finale fornisce una stima per due angoli
di
arrivo della voce, uno per ogni scheda, che vengono poi combinati
insieme per generare il risultato
finale che rappresenterà quindi il movimento che il motore dovrà essere in grado di
eseguire.
Questo dato viene convertito in un carattere ASCII prima di essere
inviato
in modo seriale alla scheda di controllo del motore passo passo. La scheda di
controllo del motore riceve il dato in ingresso e, tramite il software
MPIDE, lo converte in un
numero intero corrispondente ad un numero di passi consono al movimento
angolare da far compiere al motore.
PARAMETRI DI TEST
Il
sistema è stato testato nel caso di una videoconferenza in cui i
partecipanti siano disposti omogeneamente lungo un tavolo che presenta
un profilo lineare e situato parallelamente alla posizione del sistema
di acquisizione audio. Per il progetto si suppone che la stanza in cui
si svolge la conferenza non presenti un livello di rumore
particolarmente elevato e che i partecipanti parlino una alla volta
senza sovrapporsi, come è normale che sia.
Il test finale è stato condotto in un
ambiente che
rispetta le seguenti condizioni:
- distanza
tavolo-sistema pari a 1.5m
- lunghezza
tavolo pari a 3m
- numero di
partecipanti pari a 5
- angolo di
inquadratura pari a 30°
Per
soddisfare i requisiti dell'applicazione si sono poste le schede ad una
distanza di 58cm
l'una dall'altra con il motore e la webcam che
sono posizionati in mezzo alle
due schede audio in una posizione che rappresenterà il punto di
riferimento dell'intero sistema. Nelle due immagini seguenti si può
osservare quanto appena descritto e il sistema di acquisizione
realizzato.
Cliccando su video test si può vedere
il test finale di funzionamento del sistema: video
test.
Nota :
In fase di test finale non è stata utilizzata la webcam perchè
risultava essere un peso eccessivo per il motore (causato
anche dalla batteria parzialmente carica). Considerando che lo
scopo del progetto è la corretta indicazione del soggetto che parla
durante la conferenza, abbiamo deciso per semplicità di porre un
indicatore sull'asse del motore passo passo.
|