• Non ci sono risultati.

3.3

L’algoritmo

A questo punto, quindi, si sono possibili due strade per individuare il ritardo. Entrambe si basano sulla cross-correlazione, ma una percorre l’analisi nel tempo, l’altra in frequenza. Come mostrato nel paragrafo 3.2.3, l’approccio in frequenza consente di evidenziare con semplici operazioni i parametri da individuare nei segnali raccolti. Data la velocit`a con cui i moderni Digital Signal Processor (DSP) effettuano la FFT, il fatto di operare in frequenza ha un’evidente ricaduta positiva anche sui tempi di calcolo di un sistema che deve operare in tempo reale.

Il linguaggio con cui viene affrontato il problema `e IDL. Esso mette a disposizione la funzione per effettuare la correlazione (c correlate) e la funzione per effettuare la trasformata veloce di Fourier (fft ).

3.3.1

Stima in frequenza

Grazie all’algoritmo che implementa la Fast Fourier Transform, l’approccio in fre- quenza `e molto veloce. La cross-correlazione generalizzata `e stimata come antitra- sformata del cross-spettro modificato. Anche per la trasformazione inversa `e possibile utilizzare l’algoritmo fft.

Lo spettro `e stimato nel seguente modo (metodo di Welch). Si considera una sequenza di N campioni per la quale si ipotizza la stazionariet`a almeno del secondo ordine. Essa `e a sua volta suddivisa in R sottosequenze di lunghezza M . Per ogni sottosequenza si applica una finestra di Hann per evitare effetti di leakage; questo problema `e dovuto al troncamento delle sequenze, `e limitato grazie alla convoluzione con un segnale che ai bordi tende a zero come in fig. 3.4, dove `e mostrata la finestra di Hann.

Si calcola la trasformata discreta di Fourier per i due segnali registrati: X1M(f ) = 1 M M −1 X k=0 x1(kT )e− j2πf kT M , (3.42) X2M(f ) = 1 M M −1 X k=0 x2(kT )e− j2πf kT M . (3.43)

Dalla (3.25) sappiamo che il quadrato del modulo della trasformata di Fourier di un segnale stocastico converge, sotto determinate ipotesi, asintoticamente allo spettro. Sfruttando questa relazione, per ogni sottosequenza si calcola una stima del cross spet- tro, normalizzandolo per`o rispetto alla densit`a spettrale dei segnali di partenza come

Cap. 3 Sistema con due idrofoni in verticale §3.3 L’algoritmo

Figura 3.4: Finestra di Hann. abbiamo visto in SCOT (3.36):

ˆ γ12M(f ) = X1M∗ (f ) · X2M(f ) pΦx1M(f ) · Φx2M(f ) = Φ12M(f ) pΦx1M(f ) · Φx2M(f ) . (3.44)

Quindi il cross-spettro `e stimato come la media degli R cross-spettri di ogni sequenza di lunghezza M : ˆ γ12N(f ) = 1 R R−1 X k=0 ˆ γ12M(k) (f ). (3.45)

Adesso `e possibile stimare la cross-correlazione generalizzata come trasformata in- versa di ˆγ12N(f ). Individuando quindi l’istante in cui questa funzione raggiunge il

massimo, `e possibile ottenere la stima del ritardo che il segnale emesso dall’intruso impiega a raggiungere i due idrofoni.

Considerazioni sulla scelta di N , M e R

Per quanto esposto in precedenza, la scelta dei parametri N , M e R `e un fattore critico per il buon funzionamento dell’algoritmo. La loro scelta va effettuata in base al posizionamento effettivo e agli scopi del sistema, oltre ovviamente alla frequenza con cui sono campionati i dati (48 [kHz] nel nostro caso); come gi`a fatto notare una

Cap. 3 Sistema con due idrofoni in verticale §3.3 L’algoritmo

buona idea potrebbe essere farli variare dinamicamente in funzione della distanza (e magari velocit`a) stimata dell’intruso. Tuttavia, negli esperimenti effettuati, un buon compromesso trovato `e stato il seguente:

• N =32768 (circa 0.6827 secondi). • M =512.

• R=64.

Con l’operazione di media (3.45) ottengo una perdita di risoluzione in frequenza, ma allo stesso tempo lo spettro si addolcisce (smooth) e si attua un filtraggio del segnale gi`a in questa fase. In effetti ci`o `e proprio funzionale agli scopi del sistema: non importa sapere con esattezza la frequenza emessa dalla sorgente, quanto piuttosto rilevare le componenti principali del segnale sui due canali e vedere la relazione che corre fra questi. Un ulteriore opera di filtraggio `e ottenuta con l’operazione di media della funzione di coerenza che appiattisce le componenti del rumore. Per sfruttare la velocit`a della Fast Fourier Transform conviene scegliere sequenze multiple di potenze di 2.

3.3.2

La funzione di correlazione

Un metodo alternativo `e quello che opera direttamente nel tempo. La funzione c correlate di IDL calcola la cross-correlazione fra due sequenze in funzione di una finestra di ritardi L effettuando normalizzazioni rispetto alla media e ala varianza delle due sequenze: Rxy(L) =                    PN −|L|−1 k=0 xk+|L|− ¯x (yk− ¯y) r h PN −1 k=0 (xk− ¯x) 2i hPN −1 k=0 (yk− ¯y) 2i L < 0 PN −L−1 k=0 (xk− ¯x) (yk+L− ¯y) r h PN −1 k=0 (xk− ¯x) 2i hPN −1 k=0 (yk− ¯y) 2i L ≥ 0. (3.46)

Per fare un paragone con l’altro metodo, ma soprattutto per irrobustire la pro- cedura, si `e deciso di procedere in maniera analoga a quanto visto nel precedente metodo.

Il segnale `e considerato suddiviso in sequenze di N campioni. A sua volta questa sequenza `e suddivisa in R parti di M campioni ciascuna. Per ogni sequenza si effettua la

Cap. 3 Sistema con due idrofoni in verticale §3.3 L’algoritmo

media delle R funzioni di cross-correlazione e questa rappresenta la stima della funzione di correlazione rappresentativa della specifica sequenza.

Considerazioni sulla scelta di N , M , R e L

Per mantenere attinenza con il metodo precedente, la scelta dei parametri dell’al- goritmo `e stata analoga al caso precedente:

• N =32768 (circa 0.6827 secondi) • M =512

• R=64 • L=512

La finestra L `e un parametro importante: da un lato la sua dimensione stabilisce il massimo ritardo registrabile, dall’altro pi`u `e grande pi`u il tempo di calcolo aumen- ta. Visto che il massimo ritardo corrisponde ad un intruso il pi`u vicino possibile (nel punto sulla verticale dei due idrofoni), `e comunque possibile calcolare in funzione della profondit`a dei due idrofoni quale deve essere la dimensione opportuna della finestra. Oltre questa grandezza la finestra non avr`a senso e comporter`a solamente un aggravio dei tempi di calcolo.

Da notare che per i file in nostro possesso si effettuano i calcoli su spezzoni di 32768 campioni, ma lo spezzone successivo si sovrappone per met`a a quello precedente. Questo comporta una certa ridondanza dei calcoli, magari ottimizzabile, ma si `e pensato cos`ı di cogliere meglio gli spostamenti dell’intruso.

Capitolo 4

Prove e Simulazioni

4.1

I Dati

Questa sezione propone la prova dell’algoritmo nelle sue differenti versioni. Essa verr`a effettuata su due tipologie di segnali in nostro possesso: la prima riguarda i dati simulati, la seconda `e costituita da dati reali.

4.1.1

I Dati Simulati

Grazie alla collaborazione con CO.L.MAR., sono state raccolte le registrazioni di un vasto campionario di possibili situazioni. Purtroppo esse sono state effettuate quando era allo studio un sistema ad un unico idrofono. Ci`o significa che non `e possibile stimare la distanza dell’intruso con il metodo proposto. Tuttavia, per poter verificare la bont`a del sistema di identificazione, `e stata effettuata la modifica software, sempre con IDL, dei file audio tale da simulare il risultato che produrrebbero due idrofoni.

Per fare questo, si considera il file audio mono come se questo fosse ci`o che registra l’idrofono 1. Questa traccia `e assunta come riferimento. Dopodich´e `e stabilito a priori il percorso radiale che deve essere identificato. Bisogna notare che, per i dati simulati, tutto l’interesse `e stato focalizzato sulla traslazione temporale del segnale, e non sull’ef- fettivo movimento che il singolo idrofono, in sede d’esperimento, aveva registrato. Ci`o pu`o sembrare, a prima vista, un po’ semplicistico e forse scorretto. Tuttavia, il fatto che poi l’identificazione avvenga in maniera corretta a prescindere dall’intensit`a dei segnali in gioco, rappresenta sicuramente un aspetto positivo della simulazione. Stabi- lito il percorso, si genera il corrispettivo ritardo che l’altro idrofono (in posizione nota) percepisce, secondo la relazione dell’iperbole (eq. (3.3)) che riportiamo per comodit`a

p (xmare+ c)2+ y2− p (xmare− c)2+ y2 = ∆t · csuono. (4.1)

Documenti correlati