un nuovo approccio alla stima della direzione di arrivo

60
U NIVERSITÀ DEGLI S TUDI DI N APOLI F EDERICO II FACOLTÀ DI I NGEGNERIA C ORSO DI L AUREA S PECIALISTICA IN I NGEGNERIA DELLE T ELECOMUNICAZIONI DIPARTIMENTO DI I NGEGNERIA B IOMEDICA,E LETTRONICA E DELLE T ELECOMUNICAZIONI E LABORATO DI L AUREA UN NUOVO APPROCCIO PER LA STIMA DELLA DIREZIONE DI ARRIVO R ELATORI C H. MO P ROF.AMEDEO C APOZZOLI I NG.C LAUDIO C URCIO I NG.GIOVANNI I ADAROLA I NG.ANGELO L ISENO C ANDIDATO I VAN I UDICE MATR . 887/429 ANNO ACCADEMICO 2009/2010

Upload: krono86

Post on 25-Jul-2015

96 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Un nuovo approccio alla stima della direzione di arrivo

UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II

FACOLTÀ DI INGEGNERIACORSO DI LAUREA SPECIALISTICA IN

INGEGNERIA DELLE TELECOMUNICAZIONI

DIPARTIMENTO DI INGEGNERIA BIOMEDICA, ELETTRONICA

E DELLE TELECOMUNICAZIONI

ELABORATO DI LAUREA

UN NUOVO APPROCCIO PER LA STIMA DELLA DIREZIONE DI

ARRIVO

RELATORI

CH.MO PROF. AMEDEO CAPOZZOLI

ING. CLAUDIO CURCIO

ING. GIOVANNI IADAROLA

ING. ANGELO LISENO

CANDIDATO

IVAN IUDICE

MATR. 887/429

ANNO ACCADEMICO 2009/2010

Page 2: Un nuovo approccio alla stima della direzione di arrivo

1

Ivan IudiceElaborato di Laurea Specialistica

(Classe delle Lauree Specialistiche in Ingegneria delle TLC N.30/S)Universitá degli Studi di Napoli Federico II

A.A. 2009/2010, 23 Settembre 2010Relatori: Capozzoli A., Curcio C., Iadarola G., Liseno A.

Page 3: Un nuovo approccio alla stima della direzione di arrivo

2

A tutti coloro che senza riservahanno sempre creduto in me

Page 4: Un nuovo approccio alla stima della direzione di arrivo

3

Eccomi, ormai siamo agli sgoccioli. Sembra finire qui il mio percorsoaccademico.

Ora va messo in pratica tutto ció che ho appreso negli anni, non solo intermini di nozioni, ma anche stare con la gente, condividere la conoscenza,ed arricchire la propria.

Mi ritengo una persona fortunata. Non sono mai stato il primo dellaclasse, ne eccellente in nessuna occasione, ho semplicemente fatto lo strettonecessario deludendo spesso le aspettative. Questo prima che trovassi ció chefa per me. Dopo é cambiato tutto, studiare quelle materie mi veniva naturale,sentivo ad ogni paragrafo il piacere della conoscenza. In questo mi ritengofortunato.

Non posso che ringraziare tutti coloro che hanno fatto di me una figu-ra professionale, tutti i docenti che sono stati in grado di trasmettermi co-noscenza e passione, colleghi e amici che hanno alleggerito il percorso distudi.

Ringrazio infinitamente il Prof. A. Capozzoli per avermi permesso dilavorare a questa tesi.

Ringrazio A. Liseno e C. Curcio per la professionalitá e la passione conla quale mi hanno seguito nel percorso di tesi.

Un ringraziamento particolare é dovuto a G. Iadarola non solo per l’as-sistenza professionale, ma per avermi supportato e sopportato durante gliultimi mesi.

In ultimo, ma non per importanza, ringrazio tutti coloro che mi hannoreso l’uomo che sono, Tu, la famiglia, gli amici, e chiunque mi sia statovicino nei momenti di bisogno.

Grazie a tutti!!!

Page 5: Un nuovo approccio alla stima della direzione di arrivo

Indice

Introduzione 6

1 DOA estimation 81.1 Radar, smart antennas e DOA . . . . . . . . . . . . . . . . . . 81.2 Metodi Spettrali . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.2.1 MUltiple SIgnal Classification: MUSIC . . . . . . . . . 111.2.2 Matrix Pencil: MP . . . . . . . . . . . . . . . . . . . . 12

1.3 Problematiche elettromagnetiche . . . . . . . . . . . . . . . . 12

2 Sintesi dell’antenna 152.1 Modello analitico sintesi . . . . . . . . . . . . . . . . . . . . . 152.2 Ostacoli fisici . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.3 Mutuo accoppiamento . . . . . . . . . . . . . . . . . . . . . . 182.4 Ottimizzazione dei Valori Singolari . . . . . . . . . . . . . . . 19

3 Algoritmo MSE 243.1 Stima di parametri . . . . . . . . . . . . . . . . . . . . . . . . 243.2 Modello analitico DOA . . . . . . . . . . . . . . . . . . . . . . 25

3.2.1 Calcolo efficiente dell’integrale: Quadratura . . . . . . 273.2.2 Dimensionamento dell’antenna . . . . . . . . . . . . . . 29

3.3 Ottimizzazione Globale . . . . . . . . . . . . . . . . . . . . . . 303.3.1 Multistart . . . . . . . . . . . . . . . . . . . . . . . . . 313.3.2 Clustering Methods . . . . . . . . . . . . . . . . . . . . 323.3.3 Multi Level Methods . . . . . . . . . . . . . . . . . . . 33

4

Page 6: Un nuovo approccio alla stima della direzione di arrivo

4 Calcolo parallelo su GPU 354.1 General Purpose Computing on Graphics Processing Unit . . . 354.2 Il modello di programmazione CUDA . . . . . . . . . . . . . . 374.3 Gestione della memoria . . . . . . . . . . . . . . . . . . . . . . 37

4.3.1 Global memory . . . . . . . . . . . . . . . . . . . . . . 384.3.2 Constant memory . . . . . . . . . . . . . . . . . . . . . 394.3.3 Shared memory . . . . . . . . . . . . . . . . . . . . . . 404.3.4 Registri . . . . . . . . . . . . . . . . . . . . . . . . . . 40

4.4 MLSL su GPU . . . . . . . . . . . . . . . . . . . . . . . . . . 404.4.1 Generazione dei punti . . . . . . . . . . . . . . . . . . 414.4.2 Assegnazione alle celle . . . . . . . . . . . . . . . . . . 414.4.3 Ordinamento con chiavi . . . . . . . . . . . . . . . . . 414.4.4 Calcolo dei flag e passaggio all’host . . . . . . . . . . . 424.4.5 Ottimizzazione locale, funzionale e controlli . . . . . . 42

5 Risultati Numerici e Conclusioni 445.1 Confronto metodi spettrali . . . . . . . . . . . . . . . . . . . . 445.2 Sintesi dell’antenna: Ostacolo . . . . . . . . . . . . . . . . . . 465.3 Sintesi dell’antenna: Mutuo accoppiamento . . . . . . . . . . . 485.4 MLSL parallelo . . . . . . . . . . . . . . . . . . . . . . . . . . 535.5 DOA estimation . . . . . . . . . . . . . . . . . . . . . . . . . . 545.6 Conclusioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

5

Page 7: Un nuovo approccio alla stima della direzione di arrivo

Introduzione

I moderni sistemi radar non sono in grado di rivelare soltanto la presenzadi oggetti metallici, ma consentono di eseguire il tracking del bersaglio alvariare del tempo effettuando una stima della direzione d’arrivo del segnale.

Array di antenne che fanno uso di questo principio vengono denominatesmart antennas, e trovano spazio negli ambienti piú variegati, dalle comunica-zioni satellitari alla telefonia di ultima generazione, dalle local area networksad applicazioni militari.

Quest’ultima applicazione é particolarmente interessante in quanto unsistema in grado di stimare la direzione di arrivo di un jammer a bandastretta, ha la possibilitá di modellare il pattern in modo tale da non subiregli effetti del disturbo.

La varietá delle applicazioni ha spinto negli anni la ricerca ad interessarsidel problema e sviluppare algoritmi in grado di effettuare operazioni di questotipo nel modo piú rapido ed accurato possibile.

Il problema di stima puó essere risolto con metodi spettrali o para-metrici. I metodi spettrali intendono estrarre l’informazione dalle carat-teristiche spettrali delle tensioni misurate dagli elementi dell’array, calco-landone sostanzialmente la matrice di correlazione ed i relativi autovetto-ri [Stoica & Moses, 1997]. I metodi parametrici sfruttano le caratteristichestatistiche e deterministiche del segnale (ad esempio la modulazione) perricavarne la direzione d’arrivo [Izzo et al., 1992].

Nel lavoro di tesi verrá svolta un’analisi dal punto di vista elettromagneti-co dando enfasi alle problematiche dovute alla presenza di ostacoli e al mutuoaccoppiamento tra gli elementi. Sará realizzato un modello, e poi fornita unasoluzione al problema, in grado di determinare le posizioni degli elementi

6

Page 8: Un nuovo approccio alla stima della direzione di arrivo

dell’array tali da ottimizzare la dinamica dei valori singolari dell’operatoreche lega le tensioni misurate allo spettro d’onde piane del campo incidente.Verrá poi mostrato un algoritmo, basato sull’ottimizzazione globale multi-start, in grado di effettuare la stima della direzione d’arrivo tenendo contodelle problematiche citate pocansi.

L’ottimizzazione globale per la stima della direzione d’arrivo sembrerebbeparticolarmente onerosa in termini di risorse e tempi di calcolo richiesti, tantoda essere proibitiva in applicazioni di tipo real-time.

I recenti sviluppi nell’ambito del GPU computing e la disponibilitá di am-bienti di programmazione ben supportati come CUDA di NVIDIA R© offronola possibilitá di sfruttare le potenzialitá del calcolo parallelo su piattaformedi tipo general purpose.

A tal proposito é stato deciso di implementare l’algoritmo di ottimizza-zione globale su scheda grafica, in modo da poter risolvere il problema del-la stima in tempi notevolmente ridotti rispetto alla corrispondente versionesequenziale.

L’ultima fase del lavoro consisterá nella validazione numerica degli algo-ritmi realizzati, mediante simulazione dei casi pratici piú comuni.

7

Page 9: Un nuovo approccio alla stima della direzione di arrivo

Capitolo 1

Direction of Arrival (DOA)estimation

1.1 Radar, smart antennas e DOA

I primi sistemi di telerilevamento attivi (radar), sviluppati e messi a punto apartire dal secondo conflitto mondiale, erano in grado solamente di rivelareoggetti metallici sfruttando il fenomeno di backscattering legato al campoelettromagnetico.

A distanza d’anni il principio di base é rimasto lo stesso ma i radar han-no subito una forte evoluzione fino a riuscire non solo a rivelare i bersagli,ma anche a determinarne informazioni quali distanza, altezza sull’orizzonte,velocitá, direzione di arrivo. Un sistema radar é quindi in grado di inseguireun bersaglio, ovvero di eseguirne il tracciamento delle posizioni al variare deltempo.

Nell’ambito del signal processing, la direzione di arrivo denota la direzionedalla quale l’onda elettromagnetica incide in un punto, ove é usualmenteposizionato un array di sensori che prende il nome di smart antenna .

Le smart antennas rappresentano degli array di antenne che impieganorapidi algoritmi di signal processing per estrarre informazioni caratteristi-che del segnale, come appunto la direzione di arrivo, e le utilizzano per laformazione del fascio.

8

Page 10: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 1. DOA ESTIMATION 9

Ció fornisce notevoli vantaggi in applicazioni con requisiti di potenza ele-vata in quanto permette di innalzare notevolmente il guadagno dell’antennaconcentrando il fascio nella direzione d’interesse [Fig.1.1].

Figura 1.1: Beamforming da satellite

Tecniche di questo tipo sono previste anche dagli standard per reti WLANdi nuova generazione (802.11n, MIMO) e di telefonia cellulare (W-CDMA eUMTS) non solo per innalzare i guadagni, ma anche per consentire l’accessoad un maggior numero di utenti mediante multiplazione a divisione di spazio,e limitarne le interferenze [Fig.1.2].

Figura 1.2: Crosstalk avoidance

Page 11: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 1. DOA ESTIMATION 10

Altra applicazione particolarmente importante specialmente in ambitomilitare é la stima della direzione di arrivo di un jammer a banda stretta,per rendere immune la ricezione di segnali GPS [Fig.1.3] [Mele, 2010].

Figura 1.3: Array pattern nulling

Negli anni sono stati sviluppati vari algoritmi atti alla stima della di-rezione di arrivo [Stoica & Moses, 1997] [Izzo et al., 1992], divisi in metodispettrali e metodi parametrici.

1.2 Metodi Spettrali

I metodi spettrali per la stima della direzione di arrivo provengono dalletecniche di stima spettrale della frequenza di un segnale.

Consideriamo un array composto da N punti diffusori omnidirezionaliisotropi disposti uniformemente, sul quale incidono P segnali provenienti daP direzioni distinte φ0, . . . , φP−1. Trascuriamo il fattore di array ed eventualieffetti di accoppiamento e/o presenza di ostacoli, e supponiamo che le sor-genti si trovino in zona lontana. In queste particolari condizioni le tensionimisurate da ciascun sensore assumeranno (in termini di inviluppo complesso)la forma [Sarkar et al., 2003]:

x(n) =P−1∑p=0

Ap exp (jγp + j2π∆n sin (φp)) 0 ≤ n ≤ N − 1 (1.1)

Dove Ap,γp e φp sono rispettivamente l’ampiezza, la fase e la direzione diarrivo di ognuna delle P onde piane incidenti.

Page 12: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 1. DOA ESTIMATION 11

In questa forma risulta evidente la possibilitá di utilizzare gli algoritmi distima della frequenza anche per l’estrazione della direzione di arrivo.

1.2.1 MUltiple SIgnal Classification: MUSIC

L’algoritmo MUSIC [Stoica & Moses, 1997] estrae le frequenze dal segnalericevuto agendo sui valori principali della matrice di correlazione. Ne esistonodue varianti:

• Spectral MUSIC

• Root MUSIC

Il primo passo consiste in entrambi i casi nella stima della matrice dicorrelazione del segnale ricevuto.

Per quanto riguarda lo Spectral MUSIC, si procede massimizzando unfunzionale dipendente dagli autovettori della matrice di correlazione. L’ap-pellativo spectral é dovuto al fatto che tale funzionale viene spesso denomi-nato pseudo-spettro, dal momento che fornisce un’idea chiara del contenutospettrale del segnale pur non corrispondendo alla densitá spettrale di potenza.

L’algoritmo Root Music invece risolve il problema di stima della frequenzavalutando gli sfasamenti delle radici dell’equazione costituita a partire daglistessi autovettori.

Gli algoritmi MUSIC mostrati per la stima della frequenza, possono essereutilizzati senza modifiche sostanziali per la DOA estimation. Vi sono soltantoalcuni aspetti da mettere in conto:

1. Per la DOA estimation é possibile scegliere ad arbitrio l’uno o l’altro al-goritmo soltanto nel caso in cui gli elementi dell’array sono equispaziati.Per geometrie diverse é necessario ricorrere allo Spectral MUSIC.

2. Gli algoritmi MUSIC standard falliscono la stima della direzione di ar-rivo in presenza di segnali coerenti [Stoica & Moses, 1997]. Esiste co-munque una variante dell’algoritmo che, se l’array é lineare é uniforme,puó essere utilizzata anche per segnali coerenti.

Page 13: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 1. DOA ESTIMATION 12

1.2.2 Matrix Pencil: MP

MP é un algoritmo di stima sviluppato recentemente, e subito applicato allaDOA estimation [Sarkar et al., 2003] in quanto particolarmente efficiente insistemi di tipo real time e in presenza di segnali correlati.

Anch’esso rappresenta un metodo spettrale in quanto basato sulla ricercadei valori singolari della matrice di Hankel costruita a partire dalle tensionimisurate dall’array, per stimare il numero di segnali incidenti.

1.3 Problematiche elettromagnetiche

Nell’ambito dello sviluppo delle tecniche di stima della direzione d’arrivo ini-zialmente non si e tenuto conto della complessitá del problema elettromagne-tico ch’é alla base del funzionamento. Vanno analizzati senza dubbio aspetticome il diagramma di radiazione di ciascun elemento, il pattern d’array, ilmutuo accoppiamento tra gli elementi, e l’effetto causato dalla presenza diostacoli in prossimitá dell’antenna.

La presenza di mutuo accoppiamento in un allineamento di antenne é unfenomeno molto ricorrente. É dovuta principalmente al desiderio di ottenereprestazioni elevate (array aperiodici) ed alle necessitá, dipendente dall’appli-cazione, di evitare i grating lobes. La spaziatura fra gli elementi viene quindiridotta fino a valori dell’ordine di 0.3λ−0.4λ. I disagi dovuti alla presenza diostacoli in prossimitá dell’antenna sono strettamente legati allo scenario. Inambito militare ad esempio puó rivelarsi utile stimare la direzione di arrivodi jammers a banda stretta e generare un pattern che elimini il disturbo, inmodo tale da garantire la corretta ricezione di segnali GPS. Per applicazionidi questo tipo puó essere necessario installare l’antenna su di un aereomobile[Fig.1.4]. In tal caso la carcassa dell’aereo rappresenterebbe un ostacolo dalpunto di vista elettromagnetico interagente con la schiera utilizzata per lastima DOA.

Nella (1.1) si fa riferimento a P onde piane che incidono sugli elementidell’array. In presenza di ostacoli in near-field, o di mutuo accoppiamento

Page 14: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 1. DOA ESTIMATION 13

160 DIRECTION OF ARRIVAL ESTIMATION A N D ADAPTIVE PROCESSING

It is interesting to note that even though the near-field scatter is blocking the direct path of the signal arriving from 1 lo", it can still be picked up by this two- step algorithm. Therefore, the technique presented in this section can be used not only in estimating DOAs using nonuniformly spaced arrays using a single snapshot of data, but the procedure can also simultaneously take into account mutual coupling effects between the antenna elements and the presence of near- field scatterers located close to the array. Algorithms like MUSIC can indeed estimate the DOAs using a nonuniformly spaced array, but have problems when dealing with coherent signals. In addition, MUSIC requires a number of snapshots of the data equal to or greater than the number of antenna elements. Here we not only deal with nonuniformly spaced elements operating in the presence of mutual coupling and near-field scatterers but can also deal with coherent signals. The last point is that all these can be achieved using a single snapshot of data.

Figure 6.7. Geometry of a microstrip patch array on the side of an aircraft and an equivalent ULVA representing the microstrip patch array mounted on a conformal surface.

6.3.3 the Side of a Fokker Aircraft

DOA Estimation Using a Conformal Microstrip Patch Array on

In this example, we estimate the DOA of the various signals impinging on a conformal microstrip patch array on the side of a Fokker aircraft. As seen in Figure 6.7, the elements of the 1 I-element microstrip patch array are not placed uniformly, nor do they lie on one flat surface. A detailed view of the microstrip

Figura 1.4: Patch Array installato su un aereo

tra gli elementi, l’assunzione piana del fronte d’onda non é piú lecita, per cuigli algoritmi finora citati non sono in grado di risolvere il problema.

La questione viene in parte risolta in letteratura calcolando, in pre-processing,la matrice di trasformazione in grado di compensare gli effetti elettromagne-tici indesiderati ed applicarla ai dati [Sarkar et al., 2003].

I A(φ) = Av(φ) (1.2)

dove A(φ) é la matrice di steering (pattern) dell’array reale, Av(φ) la matricedi steering dell’array ideale, e I rappresenta la matrice di trasformazione.

Un metodo frequentemente utilizzato per il calcolo della matrice I con-siste nel risolvere il problema:

arg minI

∥∥∥Av(φ)− I A(φ)∥∥∥ (1.3)

Ottenuta la matrice di trasformazione sará possibile applicarla ai dati, edeffettuare la stima mediante gli algoritmi proposti.

Va detto che il metodo di compensazione proposto in [Sarkar et al., 2003]é piuttosto grossolano in quanto gli effetti di accoppiamento sul patternvengono compensati a valle dell’acquisizione delle tensioni rumorose.

Page 15: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 1. DOA ESTIMATION 14

Nelle pagine seguenti verrá mostrata la possibilitá di compensare le pro-blematiche di cui discusso, in fase di sintesi dell’antenna.

Page 16: Un nuovo approccio alla stima della direzione di arrivo

Capitolo 2

Sintesi dell’antenna

2.1 Modello analitico sintesi

Gli algoritmi in genere sono in grado di effettuare efficientemente la stimadella direzione di arrivo a partire dalle tensioni a vuoto che insistono suglielementi di un array lineare uniforme, modellato come una schiera di elementiisotropi.

Il problema sorge nel momento in cui vengono presi in considerazioneaspetti elettromagnetici fondamentali come la caratterizzazione dei singolielementi, il pattern d’array, il mutuo accoppiamento, e la presenza di ostacolifisici in prossimitá dell’antenna.

In queste condizioni l’ipotesi di fronte d’onda piano dei segnali incidentidecade, per cui non sará piú possibile utilizzare gli algoritmi proposti.

Se in effetti é possibile ignorare le non idealitá del modello, in genere ilprogetto di un sistema per la stima DOA non viene condotto introducendoulteriori gradi di libertá da utilizzarsi per far fronte agli effetti del mutuoaccoppiamento e alla presenza di ostacoli. In particolare sarebbe possibileagire sulla distribuzione spaziale non uniforme degli elementi per migliorarele prestazioni.

In questo capitolo verrá fornito un criterio ed uno strumento in grado diconsentire il progetto di un array non uniforme.

Per semplificare la trattazione verrá considerato soltanto il problema sca-

15

Page 17: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 2. SINTESI DELL’ANTENNA 16

lare, ma negli esempi numerici verrá poi mostrato come il discorso puófacilmente essere adeguato al problema vettoriale.

Le tensioni a vuoto che insistono su un array lineare composto da elemen-ti omnidirezionali isotropi possono essere rappresentate mediante lo spettrod’onde piane a meno di costanti inessenziali e con abuso dimensionale nellaforma [Collin, 1985]:

Vn =

∫ 1

−1

E(u) exp (−jβuxn) du (2.1)

dove E(u) rappresenta lo spettro d’onde piane del campo incidente.Volendo essere piú generali introduciamo un modello in grado di contem-

plare tutti i fenomeni elettromagnetici che interessano l’antenna:

Vn =

∫ 1

−1

E(u)G(u, xn)du (2.2)

dove G(u, xn) é l’operatore in grado di inglobare le non idealitá.La soluzione del problema é legata alla possibiliá o meno di determinare

l’espressione dell’operatore HG 〈·〉 definito come:

HG 〈g(u)〉 (x) =

∫ 1

−1

g(u)G(u, x) du (2.3)

∀g(·) ∈ L2[−1,1] (2.4)

2.2 Ostacoli fisici

Si consideri un’onda piana incidente in presenza d’ostacoli fisici in prossimitádi un’antenna composta da diffusori omnidirezionali isotropi. Verrá mostratocome sia possibile, in queste condizioni, determinare il nucleo dell’operatore(2.3).

Qualora l’ostacolo Ω fosse composto da conduttore elettrico perfetto (c.e.p.),le tensioni osservate dagli elementi dell’array non saranno legate soltanto alcampo incidente, ma anche al campo diffuso dall’ostacolo [Fig.2.1].

Page 18: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 2. SINTESI DELL’ANTENNA 17

Figura 2.1: Ostacolo

In particolare su ogni elemento insisterá un campo pari a:

E = Ei + Ed (2.5)

dove Ei rappresenta il campo incidente (che si avrebbe in assenza dell’o-stacolo), ed Ed il campo dovuto alle correnti JS indotte sulla superficiedell’ostacolo ∂Ω.

Le correnti indotte devono essere tali da rispettare le condizioni a contornodel c.e.p.:

[Et]∂Ω =[Ei,t + Ed,t (JS)

]∂Ω

= 0 (2.6)

dove col pedice t si intendono le componenti tangenti.La (2.6) prende il nome di equazione della diffusione [Collin, 1985], dove:

Ed (JS) = −jωA+∇∇ · Ajωεµ

(2.7)

Page 19: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 2. SINTESI DELL’ANTENNA 18

con A potenziale vettore [Collin, 1985]:

A =µ

∫∂Ω

JS(r′)exp (−jβ ‖r − r′‖)

‖r − r′‖dr′ (2.8)

Risolvendo l’equazione (2.6) si disporrá di Ed, dunque nel caso scalare ilnucleo dell’operatore HG 〈·〉 assumerá la forma:

G(u, x) = Ed(u, x) + exp(−jβux) (2.9)

dove per Ed(u, x) s’intende il campo diffuso dall’ostacolo per effetto dell’ondapiana incidente proveniente dalla direzione u, calcolato nel punto x.

2.3 Mutuo accoppiamento

L’approccio classico per lo studio degli array di antenne sfrutta il principiodi moltiplicazione del pattern [Collin, 1985]. In un array lineare e uniformedi elementi identici il fattore d’elemento é uguale al pattern della singolaantenna, pertanto puó essere messo in evidenza. Cosí facendo sono trascuratiquelli che sono i fenomeni di mutuo accoppiamento tra gli elementi dell’array[Fig.5.7].

Gli effetti del mutuo accoppiamento giocano un ruolo molto importantein quanto alterano le caratteristiche elettromagnetiche dell’antenna e ne al-terano le prestazioni. Va quindi introdotta la definizione di active elementpattern, vale a dire il pattern del singolo elemento quando é alimentato dasolo in presenza degli altri elementi chiusi su un carico adattato [Pozar, 1994].

Calcolata la matrice di scattering dell’array, é possibile calcolare in modosemplice il pattern attivo f(u) dell’array a partire dai singoli pattern attivid’elemento. Il pattern attivo consente perció di determinare il campo radiatodalla schiera con accuratezza in presenza di mutuo accoppiamento.

Detto ció le tensioni a vuoto degli elementi di un array affetto da mutuoaccoppiamento tra gli elementi possono essere messe nella forma:

Vn =

∫ 1

−1

E(u)fn(u) exp(−jβuxn) du (2.10)

Page 20: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 2. SINTESI DELL’ANTENNA 19

Figura 2.2: Array di patch alimentato da cavi coassiali

dove E(u) rappresenta lo spettro, ed fn(u) il pattern attivo dell’array, percui il nucleo dell’operatore (2.3) assumerá la forma:

G(u, x) = f(u) exp(−jβux) (2.11)

2.4 Ottimizzazione dei Valori Singolari

L’operatore HG 〈·〉 dipende praticamente dalle posizioni degli elementi, per-tanto queste possono essere determinate in modo da minimizzare la mal posi-zione del problema e quindi il mal condizionamento1 della matrice associata

1Il condizionamento riguarda il rapporto tra l’errore commesso sul risultato di un calcoloe l’incertezza sui dati in ingresso. Un problema é ben condizionato quando la soluzione delproblema con delle piccole variazioni sui dati non differisce molto dalla soluzione del proble-ma originale; al contrario, un problema mal condizionato é un problema in cui le soluzioni

Page 21: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 2. SINTESI DELL’ANTENNA 20

ad HG 〈·〉 [Quarteroni et al., 2008].L’operatore puó essere discretizzato campionando nei nodi spettrali uk

con k = 0 . . . K − 1, in modo che la (2.2) si riduce alla forma matriciale:

V = GE (2.12)

V =

V (0)

V (1)...

V (N − 1)

(2.13)

G =

G0,0 · · · G0,K−1

... . . . ...GN−1,0 · · · GN−1,K−1

(2.14)

E =

E(0)

E(1)...

E(K − 1)

(2.15)

Il condizionamento di una matrice A, data la norma matriciale ‖·‖, puóessere definito come [Quarteroni et al., 2008]:

K(A)

=∥∥A∥∥∥∥A−1

∥∥ (2.16)

tuttavia si é soliti ricorrere al condizionamento spettrale:

K(A)

=σmaxσmin

(2.17)

dove σmax e σmin rappresentano rispettivamente il valore singolare massimoe minimo della matrice A, ottenuti dalla decomposizione SVD:

A = U ΣV H (2.18)

sono molto sensibili a piccole perturbazioni dei dati iniziali [Quarteroni et al., 2008]

Page 22: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 2. SINTESI DELL’ANTENNA 21

con U e V matrici unitarie e Σ matrice diagonale composta dai valori singolaridella matrice A [Quarteroni et al., 2008].

Visto il legame tra il numero di condizionamento e i valori singolaridella matrice, minimizzare il condizionamento della matrice G corrispon-de a sollevare la dinamica dei suoi valori singolari [Capozzoli et al., 2010a][Capozzoli et al., 2010c]. Questa operazione puó essere effettuata ricorrendoad un algoritmo d’ottimizzazione da applicare al funzionale:

J(x) = −N−1∑i=0

σiσ1

(2.19)

dove σi rappresenta l’i-esimo valore singolare della matrice G, e x il vettoredelle posizioni degli elementi dell’array:

x =

x0

x1

...xN−1

(2.20)

Le posizioni degli elementi verranno dunque determinate risolvendo ilproblema:

x∗ = arg minxJ (x) = arg min

x

(−

N−1∑i=0

σiσ1

)(2.21)

La complessitá degli algoritmi d’ottimizzazione cresce esponenzialmentecon la dimensionalitá dello spazio di ricerca, pertanto se il numero d’elemen-ti dell’array diventa considerevolmente elevato, la risoluzione del problemarisulta particolarmente onerosa. Ricorrere ad una opportuna rappresentazio-ne delle posizioni puó ridurre il numero di incognite, quindi semplificare lacomplessitá computazionale.

I polinomi di Legendre sono uno strumento funzionale per la rappresenta-zione, in quanto approssimano accuratamente funzioni con un numero esiguodi coefficienti. Essi rappresentano le soluzioni dell’equazione differenziale di

Page 23: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 2. SINTESI DELL’ANTENNA 22

Legendre [Abramowitz & Stegun, 1965]:

d

dx

[(1− x2)

d

dxPn(x)

]+ n(n+ 1)Pn(x) = 0 (2.22)

-1

-0.5

0

0.5

1

1.5

2

-1 -0.5 0 0.5 1

Legendre Polynomials

n = 0

n = 1

n = 2

n = 3

n = 4

n = 5

Pn(x)

x

Figura 2.3: Polinomi di Legendre

Sono particolarmente attraenti dal punto di vista computazionale in quan-to calcolabili ricorsivamente [Abramowitz & Stegun, 1965]:

P0(x) = 1 P1(x) = x (2.23)

(n+ 1)Pn+1(x) = (2n+ 1)xPn(x)− nPn−1(x) (2.24)

Il mapping delle posizioni avviene decomponendo la variabile in polinomi

Page 24: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 2. SINTESI DELL’ANTENNA 23

di Legendre con un fissato numero di coefficienti:

x (ξ) =L∑l=1

clPl (ξ) (2.25)

con ξ ∈ [0, 1].Per cui la sintesi consisterá nel risolvere il problema:

c∗ = arg mincJ [x (c, ξ)] (2.26)

Se L < N il problema d’ottimizzazione avrá una complessitá inferiorerispetto al problema di partenza.

Dai test pratici effettuati emerge che per la rappresentazione accuratadella posizione degli elementi dell’array sono sufficienti L = 4 coefficienti.

Page 25: Un nuovo approccio alla stima della direzione di arrivo

Capitolo 3

Algoritmo Minimum Square Error

3.1 Stima di parametri

La teoria della stima si occupa dell’estrazione di informazione da sue osser-vazioni rumorose [Kay, 1993].

Sulla scorta di osservazioni, o misurazioni, con una opportuna regola distima, occorre stabilire quali siano i parametri d’interesse.

Spesso si é interessati a stimare i parametri di un segnale x(n, θ) a partireda una sua versione rumorosa y(n):

yn = xn(θ) + wn (3.1)

con w(n) rumore di caratteristiche non note.In tal caso effettuare la stima del segnale equivale ad effettuarne la stima

dei parametri.La stima dei parametri del segnale verrá realizzata mediante un approccio

Minimum Square Error (MSE):

θ(y) = arg minθ

N−1∑n=0

|xn(θ)− yn|2 (3.2)

La principale ragione per la quale l’approccio considerato puó sembra-re poco indicato alla risoluzione del problema é rappresentata dalla com-

24

Page 26: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 3. ALGORITMO MSE 25

plessitá dell’algoritmo in termini d’onere computazionale e tempi di calco-lo, parametri cruciali in applicazioni di tipo real-time. Esso infatti richiedel’ottimizzazione globale del funzionale (3.2).

Verrá mostrato in seguito come il problema possa essere ridimensionato,considerando algoritmi particolarmente efficienti, implementati su architet-ture di tipo parallelo general purpose (GPGPU).

3.2 Modello analitico DOA

Verrá mostrato come opera un algoritmo Minimum Square Error (MSE) esaranno valutate le prestazioni ottenibili.

Consideriamo un array di N punti diffusori isotropi, disposti lungo l’assex, in geometria bidimensionale [Fig.3.1].

−1 0 1 2 3 4 5 6−1

−0.5

0

0.5

1y

x

Figura 3.1: Rappresentazione dell’allineamento

Il vettore delle tensioni a vuoto misurate sará dato da:

V (u∗, E) = V (u∗, E) + n (3.3)

dove n rappresenta il rumore, e V il vettore delle tensioni ideali.

V =

V0

V1

...VN−1

(3.4)

Page 27: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 3. ALGORITMO MSE 26

La tensione misurata sulla generica antenna puó essere espressa mediantelo spettro d’onde piane nella forma:

Vn =

∫ 1

−1

E(u) exp (−jβuxn) du (3.5)

con u coseno direttore, E(u) lo spettro, xn la posizione, e β la costante dipropagazione del vuoto.

Qualora il campo incidente fosse composto da una sola onda piana pro-veniente dalla direzione u∗ si avrebbe:

E(u) = E δ (u− u∗) (3.6)

Vn = E exp (−jβu∗xn) (3.7)

dove δ(·) rappresenta l’impulso di Dirac.É chiaro che, visto il legame di trasformata di Fourier e le dimensioni

finite dell’array, lo spettro d’onde piane non puó essere rappresentato corret-tamente dalla distribuzione impulsiva. Si preferisce dunque ricorrere ad unarappresentazione di tipo sinc(·) secondo la quale:

E(u) = E sinc

(u− u∗

∆u

)(3.8)

Vn = E

∫ 1

−1

sinc

(u− u∗

∆u

)exp (−jβuxn) du (3.9)

Con ∆u strettamente legato alle dimensioni elettriche dell’array. In parti-colare esso rappresenta il passo di campionamento in u tale da non perderealcuna informazione.

Volendo effettuare un campionamento secondo Nyquist:

1

∆u=A

λ−→ ∆u =

λ

A(3.10)

dove A rappresenta la dimensione dell’array, e λ la lunghezza d’onda elettro-magnetica nel vuoto.

La stima della direzione di arrivo verrá poi effettuata minimizzando la

Page 28: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 3. ALGORITMO MSE 27

funzione obiettivo:

F (θ) =∥∥∥V (θ)− V

∥∥∥2

=N−1∑n=0

∣∣∣Vn(θ)− Vn∣∣∣2 (3.11)

con θ =[u∗, Ere, Eim

], risolvendo dunque il problema:

θ = arg minθF (θ) = arg min

θ

N−1∑n=0

∣∣∣Vn(θ)− Vn∣∣∣2 (3.12)

Si tratta di un classico problema di ottimizzazione in 3 variabili, di cuisoltanto u∗ risulta d’interesse.

L’utilizzo della sinc(·) per la rappresentazione dello spettro provoca unosmooth del funzionale, che aiuta la ricerca del minimo. Analizzandone l’an-damento emerge comunque il comportamento oscillante dovuto alla perio-dicitá degli esponenziali complessi [Fig.3.2]. Ció implica che, con elevataprobabilitá, i classici algoritmi di ricerca resterebbero intrappolati nei mini-mi locali della funzione obbiettivo. Tale problema verrá risolto utilizzandoun algoritmo di ottimizzazione globale.

3.2.1 Calcolo efficiente dell’integrale: Quadratura

La quadratura rappresenta uno strumento molto potente per effettuare ilcalcolo di integrali anche molto complessi in maniera efficiente. Nell’ambitodel signal processing spesso una approssimazione di tipo polinomiale non ésufficiente a rappresentare correttamente l’andamento di un segnale, per cuisi ricorre a strumenti molto piú potenti in grado di ricostruire in manieraottimale funzioni a banda limitata.

Una funzione f : R → R viene definita a banda limitata se esiste unaγ ∈ L2[−1, 1] e un c reale positivo tali che:

f(x) =

∫ 1

−1

exp(jcxt)γ(t) dt (3.13)

Si puó mostrare che le funzioni sferoidali prolate rappresentano il set

Page 29: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 3. ALGORITMO MSE 28

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 10

5

10

15

20

25

u*

F(u

* )Funzionale 1D

Figura 3.2: Andamento del funzionale fissato il coefficiente E

ideale di funzioni utili a rappresentare funzioni a supporto essenzialmentelimitato sia nel dominio spaziale che nel dominio spettrale [Slepian, 1978].

Definito l’operatore Fc : L2[−1, 1]→ L2[−1, 1]:

Fc(φ)(x) =

∫ 1

−1

exp(jcxt)φ(t) dt (3.14)

si definiscono funzioni sferoidali prolate le relative autofunzioni, per cui:

λiψi(x) =

∫ 1

−1

exp(jcxt)ψi(t) dt (3.15)

‖ψi‖L2[−1,1] = 1 ∀i ∈ N (3.16)

Le funzioni sferoidali prolate sono particolarmente attraenti dal punto divista computazionale in quanto sviluppabili in polinomi di Legendre con un

Page 30: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 3. ALGORITMO MSE 29

numero ridotto di coefficienti, e costituiscono una base ortonormale completain L2[−1, 1].

Mediante tali funzioni é possibile ottenere i nodi xk e i pesi wk tali che[Xiao et al., 2001]:

K−1∑k=0

wkf(xk) '∫ 1

−1

f(x) dx (3.17)

per cui a partire dalla [3.9], l’integrale puó essere risolto numericamentecome:

Vn ' EK−1∑k=0

wk exp(−jβukxn)sinc

(uk − u∗

∆u

)(3.18)

Se definiamo:Fnk = wk exp(−jβukxn)

s∗k = sinc(uk−u∗

∆u

) (3.19)

l’espressione delle tensioni puó essere riscritta in forma matriciale:

V = EF s∗ (3.20)

3.2.2 Dimensionamento dell’antenna

Visto lo stretto legame tra le dimensioni elettriche dell’antenna e ∆u, sorgespontanea l’idea di voler valutare le dimensioni elettriche tali da poter ga-rantire una risoluzione appropriata della direzione di arrivo. Va osservatodunque il legame tra ∆u e la risoluzione angolare ∆θ [Fig.3.3].

In coordinate cartesiane:u = cos θ (3.21)

du

dθ= − sin θ → du = − sin θdθ → ∆u ' − sin θ∆θ (3.22)

Volendo investigare una regione compresa tra [5, 175], il valore minimodi ∆u dovrá essere ∆umin = sin(5)∆θ, per cui:

∆θ = 1 → ∆umin = 0.0015→ A = 667λ

∆θ = 5 → ∆umin = 0.0076→ A = 132λ(3.23)

Page 31: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 3. ALGORITMO MSE 30

0 0.5 1 1.5 2 2.5 3

−1

−0.5

0

0.5

1

θ

u

Figura 3.3: Risoluzione DOA

Per ottenere dimensioni piú ragionevoli é necessario rilassare i vincoli:

[10, 170]→ ∆θ = 10 → ∆umin = 0.0303→ A = 33λ (3.24)

3.3 Ottimizzazione Globale

Si consideri una funzione obbiettivo reale e continua f : Rn → R. Si definiscex∗ minimo locale se esiste un intorno B di x∗ tale che:

f(x∗) ≤ f(x) ∀x ∈ B (3.25)

In generale una funzione ammette piú minimi locali, in corrispondenzadei quali puó assumere valori anche molto diversi tra loro. Gli algoritmi ingrado di estrarre il migliore possibile tra i minimi locali vengono denominatiottimizzatori globali [Capozzoli & G.D’Elia, 2006].

Un problema di ottimizzazione globale si propone di trovare il minimo

Page 32: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 3. ALGORITMO MSE 31

globale x∗ di una funzione obbiettivo reale f : Rn → R tale che:

f(x∗) ≤ f(x) ∀x ∈ Rn (3.26)

I vari algoritmi di ottimizzazione globale utilizzano approcci fondamen-talmente diversi, che si dividono in:

• Deterministici:

• Stocastici

Molto attraenti da un punto di vista computazionale sono i metodi sto-castici, i quali constano sostanzialmente di due fasi:

• Fase Globale: nel corso della quale il funzionale viene valutato in uncerto numero, dipendente dalla dimensionalitá del problema, di samplepoints casuali.

• Fase Locale: durante la quale i sample points vengono manipolati perdiventare dei candidati minimi globali.

Generalmente utilizzando un metodo stocastico non si ha la certezza di ot-tenere la soluzione esatta, ma sotto alcune ipotesi sulla distribuzione dei sam-ple points e sul funzionale la probabilitá di ottenere un risultato corretto ten-de ad 1 al crescere del numero di campioni. In particolare qualora i campionifossero distribuiti in maniera uniforme, ed il funzionale f fosse continuo, ilpunto a valore minimo convergerebbe ad un punto di un intorno di un minimoglobale con probabilitá tendente ad 1 [Rinnooy Kan & Timmer, 1987b].

3.3.1 Multistart

Il piú semplice degli algoritmi di natura stocastica, che offre la convergenzaasintotica in termini probabilistici, viene denominato Pure Random Search[Rinnooy Kan & Timmer, 1987b]. Esso consta della sola fase globale duran-te la quale vengono tracciati N punti estratti da una distribuzione unifor-me per poi valutarne il funzionale f . Il punto in corrispondenza del quale

Page 33: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 3. ALGORITMO MSE 32

il funzionale assume il valore minimo sará candidato ad essere un minimoglobale.

Fra i metodi stocastici piú attraenti per la risoluzione di problemi dei qualinon si dispone alcuna informazione prendono il nome di algoritmi Multistart,secondo i quali vengono aggiunti iterativamente punti estratti da una distri-buzione uniforme (fase globale), da utilizzare come punti iniziali per un algo-ritmo di ricerca locale (fase locale). Il criterio d’arresto puó essere stabilitoeffettuando la stima Bayesiana del numero di minimi localiW , e della dimen-sione delle relative regioni d’attrazione [Rinnooy Kan & Timmer, 1987b]:

Θl = m(Rx∗ )m(S)

l = 1, . . . ,W (3.27)

detti Rx∗ regione d’attrazione del minimo locale x∗, ed S il dominio di ricerca.Pur fornendo una efficienza superiore al Pure Random Search, il Mul-

tistart soffre del fatto che piú ottimizzazioni possano giungere allo stessominimo locale.

Per limitare il tempo speso nelle minimizzazioni locali, onerose da unpunto di vista computazionale, l’ottimizzazione andrebbe lanciata non piúdi una volta per ogni regione di attrazione. Inoltre si puó pensare di partiresoltanto da punti il cui funzionale assume valori inferiori ai minimi locali giávalutati.

3.3.2 Clustering Methods

Si tratta di varianti dei metodi Multistart, che cercano di soddisfare richiesteapparentemente in contrasto: la correttezza asintotica (consistenza), e l’effi-cienza. Constano di tre passi principali [Rinnooy Kan & Timmer, 1987b]:

• Step 1. Vengono generati N punti casuali distribuiti uniformemente ese ne calcola il funzionale. Questi punti vengono aggiunti ad un paniereinizialmente vuoto, diciamolo X∗.

• Step 2. Una procedura seleziona un sottoinsieme di punti del panie-re, ed avvia le procedure di minimizzazione locale. I punti stazionaririsultanti verranno poi riposti nel paniere X∗ inizialmente vuoto.

Page 34: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 3. ALGORITMO MSE 33

• Step 3. Una regola d’arresto stabilisce se tornare allo Step 1 o arre-stare le iterazioni. Se il metodo viene bloccato, l’elemento di X∗ confunzionale piú piccolo sará la soluzione assoluta al problema.

Il metodo proposto in [Rinnooy Kan & Timmer, 1987b] permette di farpartire la procedura di minimizzazione locale esattamente una sola volta inogni regione d’attrazione, in probabilitá.

In prima battuta viene scartata una percentuale di punti prestabilita(1− γ, con 0 < γ < 1) con funzionale relativamente elevato. Non é possibiledire molto su questo parametro se non che generalmente gli si attribuisconovalori del tipo 0.1 o 0.2, e che a valle della riduzione i campioni sarannoancora distribuiti uniformemente.

I clusters vengono creati uno ad uno. I punti selezionati dal paniere ridot-to vengono aggiunti al cluster corrispondente secondo un criterio prestabilito.Al termine della selezione si avvia l’ottimizzazione locale da uno dei puntidel cluster [Rinnooy Kan & Timmer, 1987b].

3.3.3 Multi Level Methods

I metodi precedenti non assolvono completamente al proprio compito, inquanto non si riesce a garantire che l’ottimizzazione locale avvenga una solavolta in ogni regione d’attrazione. In particolare non é possibile escluderela possibilitá che non venga avviata anche nel caso in cui sarebbe giunta adun nuovo minimo locale. Vengono peró applicati gli stessi criteri d’arrestosupponendo che la probabilitá che ció accada sia nulla.

I metodi Multi Level [Rinnooy Kan & Timmer, 1987a] risolvono questoproblema osservando il valore del funzionale valutato in tutti i sample pointsper stabilirne la regione d’attrazione. Nello specifico permettono di invo-care una sola ricerca locale per ogni regione d’attrazione con probabilitá 1[Rinnooy Kan & Timmer, 1987a].

La giusta assegnazione di un sample point x alla regione d’attrazione Rx∗

é legata all’esistenza o meno di un percorso decrescente da x verso x∗. Ovvia-mente sarebbe impossibile considerare tutti i percorsi di discesa a partire dax, per cui viene considerata la sequenza di sample points, posti a distanza rk

Page 35: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 3. ALGORITMO MSE 34

[Rinnooy Kan & Timmer, 1987a] l’uno dall’altro, in cui il funzionale é mo-notono decrescente. L’idea di base del Multi Level segue dunque i seguentipassi:

• Step 1. Noti w minimi locali, vengono inizializzati w clusters contenentiognuno un minimo locale.

• Step 2. I sample points vengono ordinati secondo la regola f(xi) ≤f(xi+1), 1 ≤ i ≤ kN − 1 e si imposta i = 1.

• Step 3. Il punto xi viene assegnato ad ogni cluster che contiene un puntoa distanza rk. Qualora xi non venisse assegnato a nessun cluster verráfatta partire la ricerca locale, per giungere al punto x∗. Se x∗ /∈ X∗,x∗ verrá aggiunto ai minimi locali X∗, w = w + 1 e verrá inizializzatoun nuovo cluster a partire da x∗. Il punto xi verrá assegnato al nuovocluster.

• Step 4. Se i = kN verranno arrestate le iterazioni, altrimenti i = i+ 1

e si tornerá allo Step 3.

Va notato che l’assegnazione al cluster non é píu necessaria in quanto laricerca locale va effettuata soltanto se non vi sono altri punti a distanza rkin cui il funzionale assume valore minore.

L’algoritmo Multi Level Single Linkage (MLSL) opera correttamente se:

rk = π−1/2

(Γ(

1 +n

2

)m(S)

σ log kN

kN

)1/n

(3.28)

con σ > 0.

Page 36: Un nuovo approccio alla stima della direzione di arrivo

Capitolo 4

Calcolo parallelo su GPU

4.1 General Purpose Computing on Graphics

Processing Unit

Negli ultimi anni lo sviluppo tecnologico dei microprocessori ha subito unasostanziale battuta d’arresto in termini di crescita delle frequenze di clock. Inquesta situazione é necessario orientarsi su tecniche di calcolo massicciamenteparallelo per ottenere sistemi di calcolo con prestazioni sempre piú elevate.

In quest’ottica piú che ricorrere a calcolatori dotati di un numero elevatodi CPU, é possibile optare per le GPU (Graphics Processing Unit), in quantoi recenti sviluppi nel mercato dei chip grafici fanno si che tali prodotti risul-tino essere particolarmente indicati per il calcolo numerico general purposemassicciamente parallelo.

Le GPU odierne sono processori caratterizzati da un forte parallelismo ecompletamente programmabili. Dispositivi di questo tipo si prestano egre-giamente anche ad applicazioni diverse dalla Computer Graphics aprendo lastrada ad una serie di applicazioni descritte dall’acronimo GPGPU (GeneralPurpose Computing on Graphics Processing Unit) di tipo HPC (High Perfor-mance Computing) [Capozzoli et al., 2010b]. L’interesse che si é manifestatoper questo tipo di applicazioni é legato al fatto che, grazie all’elevato paral-lelismo, le prestazioni di questi dispositivi nel calcolo in virgola mobile sonosignificativamente superiori a quelle delle moderne CPU [Fig.4.1].

35

Page 37: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 4. CALCOLO PARALLELO SU GPU 36!"#$%&'()*(+,%'-./0%1-,!

!

!

2( ( !345(6'-7'#881,7(9/1.&(:&';1-,(<*=!!

!!

>17/'&()?)*( >@-#%1,7?6-1,%(A$&'#%1-,;($&'(B&0-,.(#,.(C&8-'D(E#,.F1.%"(G-'(%"&(!63(#,.(963(

!

"#$!%$&'()!*$#+),!-#$!,+'.%$/&).0!+)!12(&-+)34/(+)-!.&/&*+2+-0!*$-5$$)!-#$!678!&),!-#$!978!+'!-#&-!-#$!978!+'!'/$.+&2+:$,!1(%!.(;/<-$4+)-$)'+=$>!#+3#20!/&%&22$2!.(;/<-&-+()! !$?&.-20!5#&-!3%&/#+.'!%$),$%+)3!+'!&*(<-! !&),!-#$%$1(%$!,$'+3)$,!'<.#!-#&-!;(%$!-%&)'+'-(%'!&%$!,$=(-$,!-(!,&-&!/%(.$''+)3!%&-#$%!-#&)!,&-&!.&.#+)3!&),!12(5!.()-%(2>!&'!'.#$;&-+.&220!+22<'-%&-$,!*0!@+3<%$!A4BC!

!"#$%

&'(%

)$$#%

&*(% +,-%

)$$.% )$$/% )$$0%)$$1% )$$2%

!"#/% !".$%30$%

304%

32$%

35)%

36)$$%

&*(% !78%9'-% 9':% &*(%

9H2==(I(9&>-'0&(9HJ(2K=(

9L2(I(9&>-'0&(LK==(9HJ!

9K=!I!9&>-'0&!KK==!9HJ(

9M)!I!9&>-'0&!ML==!9HJ!

9M=!I!9&>-'0&!MK==!9HJ!

N:O=!I!9&>-'0&!PK==!3@%'#!

N:<Q!I!9&>-'0&!>J!QLQ=!3@%'#!

N:<=!I!9&>-'0&!>J!QK==!

#;$%3<=%>7-?)%@*7%

#;)%3<=%<'-,?-A7B(%

!"#$%

!".$%

304%

32$%

32$%CDA-'%

32$%CDA-'%

!7-AEB77F%G-?HI7AA%JJ%

K77FI-?HA%

<'-,?-A7B(%

Figura 4.1: Prestazioni GPU Vs CPU

I maggiori produttori di GPU hanno deciso di organizzare gli elementi delprocessore in gruppi che lavorano secondo la logica SIMD (Single InstructionMultiple Data): ciascun elemento del processore esegue la stessa istruzionesu un dato diverso e non vi é interazione tra le elaborazioni condotte dai varielementi. Se, a seguito di un’istruzione di salto, elementi dello stesso gruppodevono eseguire istruzioni diverse, queste non vengono eseguite in paralleloma in sequenza.

La chiave di volta nel panorama del GPGPU é stata il rilascio di strumentidi sviluppo espressamente dedicati allo scopo, basati tutti sullo stesso prin-cipio di funzionamento: il programmatore definisce una griglia di thread daeseguire in parallelo ciascuno dei quali é costituito da operazioni matematichee operazioni di lettura e scrittura nella memoria della scheda grafica.

Lo strumento messo a disposizione da NVIDIA R© prende il nome di CUDA(Compute Unified Device Architecture). Si tratta di un ambiente in linguag-

Page 38: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 4. CALCOLO PARALLELO SU GPU 37

gio C standard con estensioni per la programmazione del chip grafico chepermette anche a programmatori meno smaliziati di sfruttare le potenzialitádel calcolo parallelo su GPU.

Le applicazioni CUDA nell’ambito del calcolo scientifico ed ingegneri-stico si stanno moltiplicando, tanto da suscitare interesse anche in ambitoaccademico.

Nel lavoro di tesi l’algoritmo di stima della direzione d’arrivo é statoimplementato in ambiente CUDA per funzionare su scheda GPU NVIDIA R©

GTX 260.

4.2 Il modello di programmazione CUDA

Il sistema di elaborazione visibile al programmatore CUDA é composto da unhost, PC tradizionale che esegue le istruzioni sequenziali del calcolo ed ospitala scheda grafica, e da uno o piú device, le GPU che eseguono le istruzioniparallele. Un sorgente CUDA é costituito da istruzioni per l’host ed istruzioniper il device. Il codice da eseguire sul device é organizzato in speciali blocchifunzionali C, detti kernel che, quando chiamati, generano un certo numero dithread eseguiti in parallelo dalla GPU. Terminata l’esecuzione dei thread, ilcontrollo passa all’host e vi resta finché non viene invocato un nuovo kernel[Kirk & mei W. Hwu, 2010].

I thread generati da ogni kernel vengono organizzati secondo un ordi-ne gerarchico ben definito. Il flusso elaborativo di ogni kernel viene di-viso in griglie, strutture bidimensionali formate da blocchi. Ogni bloccoa sua volta rappresenta una struttura tridimensionale composta da thread[Kirk & mei W. Hwu, 2010] [Fig.4.2].

4.3 Gestione della memoria

Il modello di programmazione CUDA permette al programmatore di acce-dere ad una serie di memorie aggiuntive rispetto alla memoria globale pre-sente sulla scheda grafica [Fig.4.3]. Il loro corretto utilizzo rappresenta un

Page 39: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 4. CALCOLO PARALLELO SU GPU 38

Figura 4.2: Struttura gerarchica dei thread

aspetto cruciale per la realizzazione di codici efficienti. Innanzitutto il de-vice non ha accesso diretto alla memoria centrale dell’host e viceversa. Itrasferimenti tra host e constant/global memory sono possibili solo median-te l’utilizzo di apposite funzioni API (Application Programming Interface)[Kirk & mei W. Hwu, 2010].

4.3.1 Global memory

La global memory é una memoria esterna alla GPU montata sulla schedagrafica, e rappresenta la risorsa piú capiente a disposizione del programma-tore (la scheda utilizzata dispone di 896 MB). La GPU non é equipaggiata dicache per gli accessi alla global memory, per cui tali operazioni sono carat-terizzate da lunghi tempi di latenza (centinaia di colpi di clock). L’uso dellaglobal memory va quindi evitato per dati utilizzati frequentemente nel corso

Page 40: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 4. CALCOLO PARALLELO SU GPU 39

Figura 4.3: Struttura delle memorie su GPU

dell’elaborazione.

4.3.2 Constant memory

La constant memory é accessibile in lettura e scrittura dall’host ed in solalettura dal device. A differenza di quanto accade per la global memory,ogni Streaming Multiprocessor é dotato di una cache per la lettura dallaconstant memory, di conseguenza solo la prima lettura di una locazione saráun’operazione a lunga latenza dopodiché gli accessi saranno molto piú rapidi.In particolare se tutti i thread appartenenti allo stesso flusso elaborativoaccedono alla stessa locazione della constant memory, l’operazione di letturasará equivalente all’accesso ad un registro della GPU. La nota dolente dellaconstant memory é rappresentata dalle dimensioni sostanzialmente ridotte

Page 41: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 4. CALCOLO PARALLELO SU GPU 40

rispetto alla global memory (64 KB nel nostro caso).

4.3.3 Shared memory

Ogni streaming multiprocessor é dotato di 16 KB di shared memory, acces-sibile e condivisa da tutti i thread di un blocco. Trattondosi di una memoriadirettamente implementata sul chip é molto piú veloce rispetto alla globalmemory presentando tempi di accesso praticamente pari a quelli dei registri.La quantitá di shared memory da allocare per ogni streaming multiproces-sor viene stabilita all’invocazione del kernel, e viene deallocata al terminedell’esecuzione dell’ultimo thread. Bisogna porre particolare attenzione anon saturare la shared memory in quanto essa viene utilizzata in manieraassolutamente trasparente al programmatore come stack per il passaggio deidati.

4.3.4 Registri

Ogni streaming multiprocessor é dotato di un certo numero di registri. Ven-gono utilizzati per allocare le variabili automatiche dichiarate nei kernel esono caratterizzati da un’elevata velocitá d’accesso. Gli array dichiarati neikernel al contrario vengono allocati in local memory, memoria con caratte-ristiche del tutto analoghe alla global memory, per questa ragione l’utilizzorappresenta un fattore determinante per la velocitá di trasferimento quindiper i tempi di latenza.

4.4 MLSL su GPU

Visto l’onere computazionale e i tempi di calcolo dei metodi di ottimizzazioneglobale si é pensato d’implementare l’algoritmo Multi Level Single Linkagesu GPU per renderlo utilizzabile in applicazioni di tipo real-time sfruttandole capacitá di calcolo parallelo delle moderne schede grafiche.

Come descritto nel capitolo precedente l’algoritmo consta di una faseglobale (generazione e clustering) ed una fase locale (ottimizzazione locale

Page 42: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 4. CALCOLO PARALLELO SU GPU 41

e controllo). Si é scelto di realizzare l’algoritmo in forma ibrida, scindendoquindi le fasi per realizzarne la prima su GPU e la seconda su CPU.

4.4.1 Generazione dei punti

Il primo passo dell’algoritmo consiste nella generazione di un numero fissatodi punti casuali nello spazio di ricerca per poi calcolarne il funzionale. Questaoperazione si presta naturalmente molto bene ad una implementazione di tipoparallelo su GPU. Nello specifico é stato realizzato un kernel che a partiredai semi generati dall’host, fosse in grado di generare il numero di puntidesiderati.

In seconda battuta il calcolo del funzionale é stato effettuato riscrivendoil problema in forma matriciale e sfruttando le librerie CUBLAS (implemen-tazione parallela ed ottimizzata CUDA delle librerie BLAS sviluppate per ilcalcolo matriciale).

4.4.2 Assegnazione alle celle

Anche nel caso dell’assegnazione dei punti alle celle é preferibile effettuarnel’implementazione su GPU. In particolare, seguendo il solito approccio, adogni punto é stato assegnato un thread che calcola la cella di appartenenzadel punto in base alla posizione, alle dimensioni del dominio e al numerod’intervalli fissati.

4.4.3 Ordinamento con chiavi

L’algoritmo MLSL prevede che i punti debbano essere ordinati per ridurneil numero di confronti, prima in base alle celle (i punti appartenenti ad unacella vengono confrontati soltanto con i punti appartenenti alle celle vicine),e poi in base al funzionale (i punti appartenenti a ciascuna cella vengonoconfrontati soltanto con punti a funzionale piú basso appartenenti alla stessacella). É stato dunque effettuato un ordinamento mediante l’algoritmo pa-rallelo implementato nelle librerie Thrust (Radix Sort e Merge Sort), dopo

Page 43: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 4. CALCOLO PARALLELO SU GPU 42

aver generato, sempre in parallelo, delle chiavi che permettessero di effet-tuare l’ordinamento su due livelli, prima rispetto alle celle, poi rispetto alfunzionale.

4.4.4 Calcolo dei flag e passaggio all’host

Il calcolo dei flag rappresenta l’operazione cruciale dell’algoritmo MLSL, inquanto da essa dipende la scelta dei punti dai quali far partire o meno laricerca locale tra quelli generati. É stata implementata anch’essa su GPUpoiché il successo dell’implementazione parallela dell’algoritmo é legato so-stanzialmente alla rapiditá di esecuzione di questa funzione in quanto piúonerosa delle altre dal punto di vista computazionale.

Effettuato il calcolo dei flag é necessario passare i punti all’host per l’ese-cuzione della fase locale dell’algoritmo. Poiché il passaggio dei dati dal deviceall’host e viceversa rappresenta il collo di bottiglia delle capacitá elaborativedella GPU (latenze dell’ordine delle centinaia di clock [Kirk & mei W. Hwu, 2010]),é stato utilizzato l’algoritmo parallelo Prefix Scan delle librerie Thrust chepermette di estrarre da un array di elementi soltanto quelli di interesse. Inquesto modo é stato possibile limitare i tempi di latenza riducendo la moledi dati da passare all’host ai soli punti significativi.

4.4.5 Ottimizzazione locale, funzionale e controlli

Per quanto riguarda l’ottimizzazione locale, é stato implementato un algo-ritmo ibrido C/CUDA. Nello specifico per la ricerca locale é stato realizzatol’algoritmo del gradiente coniugato sequenziale in C [Press et al., 1992], maad ogni iterazione il funzionale richiamato é stato implementato in CUDAsfruttando ancora una volta le librerie CUBLAS per i prodotti matrice vettoree le librerie Thrust per le riduzioni.

Per quanto riguarda il gradiente, é stato realizzato un gradiente numericocol metodo delle differenze finite [Quarteroni et al., 2008], per cui il funzio-nale verrá richiamato piú volte per la stima del gradiente. Probabilmentesarebbe possibile migliorare ancora le prestazioni dell’ottimizzazione locale

Page 44: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 4. CALCOLO PARALLELO SU GPU 43

calcolando l’espressione del gradiente analitico ed implementandolo in formaparallela.

Per quanto riguarda i controlli riguardanti la scelta dei minimi locali edil criterio d’arresto l’esecuzione é stata lasciata in forma sequenziale.

Page 45: Un nuovo approccio alla stima della direzione di arrivo

Capitolo 5

Risultati Numerici e Conclusioni

5.1 Confronto metodi spettrali

Sono stati effettuati vari test per verificare le caratteristiche che contraddi-stinguono i vari algoritmi di stima spettrale.

Una prima analisi é stata svolta sui tempi di calcolo. Dai test emerge,come affermato in precedenza, che l’algoritmo MP presenta tempi di calcolomolto ridotti [Fig.5.1]. Ció lo rende particolarmente attraente in ambientireal time.

Per quanto riguarda l’immunitá al rumore, sono state effettuate dellestime su dati affetti da rumore gaussiano bianco facendo variare il rapportosegnale rumore (SNR). I test evidenziano quanto l’algoritmo Spectral MUSICsoffra la presenza di rumore anche di piccola entitá. Al contrario gli algo-ritmi MP e Root MUSIC continuano a garantire buone prestazioni [Fig.5.2].Da notare che questi ultimi due algoritmi forniscono esattamente le stesseprestazioni in presenza di rumore.

In conclusione gli algoritmi spettrali si contraddistinguono quanto a rapi-ditá e risoluzione. Tra tutte spiccano senza dubbio le caratteristiche dell’al-goritmo MP, il quale riesce a garantire le medesime prestazioni degli algoritmiMUSIC, pur abbattendo notevolmente i tempi di calcolo. Tuttavia MP é ingrado di stimare N+1

2direzioni contro le N − 1 di MUSIC.

44

Page 46: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 5. RISULTATI NUMERICI E CONCLUSIONI 45

0 5 10 15 20 25 30 35 40 45 50−9

−8

−7

−6

−5

−4

−3

−2

−1

0

N

log

(tim

e)

Tempi di calcolo

MP

Spectral MUSIC

Root MUSIC

Figura 5.1: Tempi di calcolo dei metodi spettrali

0 5 10 15 20 25 30 35 40 45 50−90

−80

−70

−60

−50

−40

−30

−20

−10

SNR [dB]

err

or

[dB

]

Errore

Figura 5.2: Errore al variare dell’SNR

Page 47: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 5. RISULTATI NUMERICI E CONCLUSIONI 46

5.2 Sintesi dell’antenna: Ostacolo

Per mostrare la validitá di quanto affermato sono stati prodotti degli espe-rimenti numerici. Nello specifico é stata considerata (in geometria bidi-mensionale) un’onda piana incidente in presenza di un cilindro indefinitodi conduttore elettrico perfetto [Fig.5.3].

Figura 5.3: Scenario

Per un problema di questo tipo é possibile giungere alla soluzione esattadel campo diffuso dall’ostacolo in coordinate cilindriche [Harrington, 2001]:

Ed = E0

+∞∑n=−∞

j−n[Jn(kρ) + anH

(2)n (kρ)

]ejn(φ−φ′) (5.1)

dove con ρ si identifica la distanza del punto d’osservazione dall’origine, con φl’angolo formato con l’asse x, con φ′ la direzione di provenienza dell’onda pia-na, e con Jn(·) e H(2)

n (·) rispettivamente la funzione di Bessel d’ordine n e lafunzione di Hankel di seconda specie d’ordine n [Abramowitz & Stegun, 1965].

Imponendo le condizioni a contorno sul cilindro:

an =−Jn(ka)

H(2)n (ka)

(5.2)

dove a rappresenta il raggio del cilindro di c.e.p.Di seguito sono riportati i parametri utilizzati per la simulazione:

Page 48: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 5. RISULTATI NUMERICI E CONCLUSIONI 47

VARIABILE SETUPλ 1 ma 3λ

N 10

1 2 3 4 5 6 7 8 9 10−5

−4.5

−4

−3.5

−3

−2.5

−2

−1.5

−1

−0.5

0Singular Values

Uniform

Optimized

Figura 5.4: Dinamiche dei valori singolari

Dalla [Fig.5.4] mostra il miglioramento della dinamica dei valori singo-lari ottenuto dalla distribuzione ottimizzata rispetto alla distribuzione uni-forme, pertanto il numero di condizionamento della matrice é passato daK(Ginit

)= 1.7232 a K

(Gopt

)= 1.3858.

Page 49: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 5. RISULTATI NUMERICI E CONCLUSIONI 48

−2 −1 0 1 2 3 4 5 6 7 8 9

−4

−3

−2

−1

0

1

2

3

4

x/λ

y/λ

Cilindro

Uniforme

Ottimizzato

Figura 5.5: Posizionamento degli elementi

5.3 Sintesi dell’antenna: Mutuo accoppiamen-

to

Per mostrare l’efficacia della sintesi é stato effettuato un test riguardante iproblemi di mutuo accoppiamento di un patch array lineare, trattandosi dellatipologia classica utilizzata per la DOA estimation. Nello specifico é statosimulato il pattern attivo di una schiera di patch in aria, alimentati median-te cavo coassiale, e progettati in modo tale da garantire la polarizzazionecircolare [James, 1988] necessaria in applicazioni GPS [Fig.5.6].

In particolare nelle simulazioni é stato considerato il caso vettoriale, percui il modello analitico introdotto nel secondo capitolo é stato adeguato allatrattazione.

La tensione a vuoto misurata dall’n-esimo elemento dell’array va espressa

Page 50: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 5. RISULTATI NUMERICI E CONCLUSIONI 49

Figura 5.6: Singolo patch a polarizzazione circolare

come:

Vn =

∫ 1

−1

⟨E(u), f

n(u)⟩

exp(−jβuxn) du (5.3)

dove:E(u) = Eθ(u)iθ + Eφ(u)iφ

fn(u) = fn,θ(u)iθ + fn,φ(u)iφ

(5.4)

per cui svolgendo i prodotti matriciali:

Vn =

∫ 1

−1

Eθfn,θ(u) exp(−jβuxn) du+

∫ 1

−1

Eφfn,φ(u) exp(−jβuxn) du (5.5)

Campionando nei nodi spettrali uk con k = 0, . . . , K − 1 si puó passarealla notazione matriciale:

V = FθEθ + F

φEφ (5.6)

L’ottimizzazione dei valori singolari andrá effettuata ottimizzando la ma-trice costruita a righe alterne a partire da F

θed F

φ.

Page 51: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 5. RISULTATI NUMERICI E CONCLUSIONI 50

Tramite il tool di progettazione HFSSTM é stato generato un database deipattern attivi dell’array campionato in u al variare delle distanze tra elementiadiacenti [Fig.5.7].

Figura 5.7: Patch array

Di seguito sono riportati i parametri impostati per la simulazione.

VARIABILE SETUPλ 0.075 m∆xinit 0.6λ

N 33

In tal caso vi é un miglioramento estremamente accentuato della dinamicadei valori singolari [Fig.5.8], in particolare effettuando un taglio a −10dB

l’array uniforme perderebbe ben 13 direzioni (13 valori singolari sarebberosommersi da rumore).

Page 52: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 5. RISULTATI NUMERICI E CONCLUSIONI 51

5 10 15 20 25 30−90

−80

−70

−60

−50

−40

−30

−20

−10

0Singular Values

Uniform

Optimized

Figura 5.8: Dinamiche dei valori singolari

In queste condizioni il condizionamento della matrice, quindi dell’opera-tore continuo, subisce una variazione notevole passando da 104 per l’arrayuniforme, a 1.5 per l’array ottimizzato.

Page 53: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 5. RISULTATI NUMERICI E CONCLUSIONI 52

0 0.5 1 1.5−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

x

y

Array uniforme

Figura 5.9: Posizioni array di partenza (uniforme)

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

x

y

Array ottimizzato

Figura 5.10: Posizioni array ottimizzato

Page 54: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 5. RISULTATI NUMERICI E CONCLUSIONI 53

5.4 MLSL parallelo

L’implementazione parallela dell’algoritmo d’ottimizzazione globale MLSLproposto nel quarto capitolo é stato confrontata con lo stesso algoritmoimplementato in sequenziale in ambiente MATLAB R©.

Le varie funzioni sono state analizzate separatamente valutandone i tempidi calcolo ed analizzandone il comportamento mediante l’ausilio del cudaprofvisual profiler compreso nel toolkit CUDA. I risultati sono stati tabellati in[Tab.5.1].

FUNZIONE PUNTI MATLAB CUDAGenerazione punti e calcolo funzionale 10240 2030 ms 5 msAssegnazione alle celle 1024 114.01 ms 0.04 msOrdinamento 1024 4.32 ms 1.65 msCalcolo dei flag 1024 15834 ms 123 msMinimizzazione locale 1 640 ms 890 ms

Tabella 5.1: Prestazioni delle singole funzioni del MLSL

Le statistiche evidenziano la netta superioritá dell’algoritmo parallelo nel-l’effettuare operazioni analoghe su dati diversi. I tempi di calcolo vengononotevolmente ridotti in gran parte delle funzioni, in particolare nella genera-zione dei punti. Ció é dovuto principalmente all’utilizzo di funzioni di libreriaottimizzate per il calcolo parallelo su GPU quali CUBLAS, come evidenziatodall’output del profiler [Fig.5.11].

Per quanto riguarda le ricerche locali, le prestazioni sono falsate per diver-si aspetti. L’algoritmo MATLAB R© utilizza per la minimizzazione la funzionefminunc, basata su un approccio a norma variabile che passa per la stimadell’hessiano. Ció permette di giungere alla soluzione del problema con unnumero ridotto di passi rispetto agli algoritmi a norma costante.

Al contrario l’algoritmo realizzato in CUDA si serve del gradiente co-niugato per determinare la soluzione del problema di ottimizzazione, il qualeutilizzando un approccio a norma costante, impiegherá piú passi per la ricercadel minimo rispetto agli algoritmi a norma variabile.

Page 55: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 5. RISULTATI NUMERICI E CONCLUSIONI 54

Figura 5.11: Profiler output

Analizzando l’output del profiler si nota che la ragione per la quale l’ot-timizzazione locale impiega piú tempo nel codice CUDA rispetto al codi-ce MATLAB R© é rappresentata dal numero di chiamate a funzionale, checoincide col numero di passi impiegati per la ricerca.

Il confronto di velocitá tra le due funzioni di ricerca locale non rappresentadunque una scelta di valutazione obiettiva dal momento che le procedureutilizzate sono diverse.

5.5 DOA estimation

L’ultimo test effettuato riguarda la stima della direzione d’arrivo di un segna-le proveniente da piú angolazioni in presenza di rumore additivo complesso

Page 56: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 5. RISULTATI NUMERICI E CONCLUSIONI 55

gaussiano bianco a media nulla.

V = V +W (5.7)

W (n) = Wr(n) + jWi(n) (5.8)

Wr(n) ∼ N(

0, σ2

2

)Wi(n) ∼ N

(0, σ

2

2

)(5.9)

L’esperimento é stato effettuato utilizzando l’array sintetizzato nel terzoparagrafo considerando il problema del mutuo accoppiamento.

Va notato come l’ottimizzazione del condizionamento dell’operatore ap-porti vantaggi considerevoli in termini di reiezione al rumore additivo [Tab.5.2].

SNR [dB] - ANGOLO [rad] 0.7854 (π/4) 1.0472 (π/3) 1.5708 (π/2)10 dB 0.7764 1.0445 1.571815 dB 0.7865 1.0461 1.566220 dB 0.7827 1.0441 1.5689

Tabella 5.2: Realizzazioni di stima della direzione d’arrivo con rumore

5.6 Conclusioni

Il lavoro di tesi ha riguardato la stima della direzione d’arrivo di un jammer abanda stretta con particolare attenzione alle problematiche elettromagneticheche ne derivano.

Sono stati illustrati alcuni algoritmi presenti in letteratura atti allo scopoe ne sono state valutate le caratteristiche in termini di prestazioni quanto areiezione a rumore e tempi di elaborazione.

Sono state individuate alcune delle problematiche elettromagnetiche chevanno affrontate in problemi di questo tipo, quali presenza di ostacoli in pros-simitá dell’array e mutuo accoppiamento tra gli elementi, ed é stato fornitoun metodo basato sull’ottimizzazione dei valori singolari per determinare laposizione degli elementi tale da ottimizzarne le condizioni di lavoro. Il me-todo é stato validato numericamente mediante simulazioni, in particolare éstata considerata la presenza di ostacoli di forma tale da poter determinare

Page 57: Un nuovo approccio alla stima della direzione di arrivo

CAPITOLO 5. RISULTATI NUMERICI E CONCLUSIONI 56

l’espressione del campo diffuso in forma chiusa, ed il mutuo accoppiamentodi un patch array alimentato da cavo coassiale realizzato in aria.

É stato presentato un algoritmo di stima della direzione d’arrivo basatosu un metodo efficiente di ottimizzazione globale che possa tenere conto delleproblematiche di cui discusso.

L’onere computazionale tipico dei metodi di ricerca globale é stato in par-te alleggerito optando per una implementazione parallela dell’algoritmo dafar girare su GPU, nello specifico realizzato in ambiente CUDA su NVIDIA R©

GeForce GTX 260.I risultati di stima, a valle della sintesi, sono molto soddisfacenti in termini

di reiezione al rumore e tempi di elaborazione.Gli algoritmi presentati non sfruttano in alcun modo le caratteristiche

del segnale incidente. In futuro potranno tener conto delle sue proprietástatistiche ed essere estesi al funzionamento con segnali a banda larga.

Page 58: Un nuovo approccio alla stima della direzione di arrivo

Bibliografia

[Abramowitz & Stegun, 1965] Abramowitz, M. & Stegun, I. A., eds (1965).Handbook of Mathematical Functions: with Formulas, Graphs, andMathematical Tables. Dover Publications.

[Capozzoli et al., 2010a] Capozzoli, A., Curcio, C., D’Elia, G. & Liseno, A.(2010a). Antennas and Propagation Magazine, IEEE 52, 103 –112.

[Capozzoli et al., 2010b] Capozzoli, A., Curcio, C., D’Elia, G., Liseno, A.& Vinetti, P. (2010b). Appl. Comput. Electrom. Soc. J. - Special Issueon hardware Accelerated Computational Techniques for ElectromagneticSimulations of Complex Problems 25, 355–372.

[Capozzoli et al., 2010c] Capozzoli, A., Curcio, C., Liseno, A. & Vinetti, V.(2010c). in press on Radio Science 1.

[Capozzoli & G.D’Elia, 2006] Capozzoli, A. & G.D’Elia (2006). Prog.Electromagn. Res. 1, 195–232.

[Collin, 1985] Collin, R. E. (1985). Antennas and Radiowave Propagation(Mcgraw Hill Series in Electrical and Computer Engineering). Mcgraw-HillCollege.

[Harrington, 2001] Harrington, R. F. (2001). Time-Harmonic Electromagne-tic Fields (IEEE Press Series on Electromagnetic Wave Theory). 2ndedition, Wiley-IEEE Press.

[Izzo et al., 1992] Izzo, L., Paura, L. & Poggi, G. (1992). Signal Processing,IEEE Transactions on 40, 1682 –1686.

57

Page 59: Un nuovo approccio alla stima della direzione di arrivo

BIBLIOGRAFIA 58

[James, 1988] James, J. R. (1988). Handbook of Microstrip Antennas (IEEElectromagnetic Waves Series, 28) (2-Vol Box Set) (Iee ElectromagneticWaves Series ; 28). The Institution of Engineering and Technology.

[Kay, 1993] Kay, S. M. (1993). Fundamentals of Statistical Signal Processing,Volume I: Estimation Theory (v. 1). Prentice Hall.

[Kirk & mei W. Hwu, 2010] Kirk, D. B. & mei W. Hwu, W. (2010). Pro-gramming Massively Parallel Processors: A Hands-on Approach. 1 edition,Morgan Kaufmann.

[Mele, 2010] Mele, S. (2010). Tesi di Laurea Università degli studi di Na-poli Federico II Corso di Laurea Specialistica in Ingengeria ElettronicaA.A.2009/2010, Relatori: A.Capozzoli, G.Ciccariello, C.Curcio, G.D’Elia,G.Iadarola, A.Liseno, A.Masciavè 1.

[Pozar, 1994] Pozar, D. (1994). Antennas and Propagation, IEEETransactions on 42, 1176 –1178.

[Press et al., 1992] Press, W. H., Teukolsky, S. A., Vetterling, W. T. & Flan-nery, B. P. (1992). Numerical recipes in C (2nd ed.): the art of scientificcomputing. Cambridge University Press, New York, NY, USA.

[Quarteroni et al., 2008] Quarteroni, A. M., Sacco, R. & Saleri, F. (2008).Matematica numerica. UNITEX, La Matematica per il 3+2, Springer-Italia, Milan, IT. Scritto per: studenti e ricercatori dei corsi di laurea inmatematica, ingegneria, fisica e informatica.

[Rinnooy Kan & Timmer, 1987a] Rinnooy Kan, A. & Timmer, G. (1987a).Mathematical Programming 39, 57–78. 10.1007/BF02592071.

[Rinnooy Kan & Timmer, 1987b] Rinnooy Kan, A. H. G. & Timmer, G. T.(1987b). Math. Program. 39, 27–56.

[Sarkar et al., 2003] Sarkar, T. K., Wicks, M. C., Salazar-Palma, M. & Bon-neau, R. J. (2003). Smart Antennas (Wiley Series in Microwave andOptical Engineering). Wiley-IEEE Press.

Page 60: Un nuovo approccio alla stima della direzione di arrivo

BIBLIOGRAFIA 59

[Slepian, 1978] Slepian, D. (1978). AT T Technical Journal 57, 1371–1430.

[Stoica & Moses, 1997] Stoica, P. & Moses, R. L. (1997). Introduction toSpectral Analysis. Prentice Hall.

[Xiao et al., 2001] Xiao, H., Rokhlin, V. & Yarvin, N. (2001). InverseProblems 17, 805.