72
Università degli Studi di Pavia Facoltà di Ingegneria Sede di Mantova Corso di Laurea Triennale in Ingegneria Informatica Confronto di tecniche di localizzazione per le WSN basate su RSSI Relatore: Prof. Paolo Gamba Correlatore: Dott. Ing. Emanuele Goldoni Tesi di laurea di: Marco Risi Anno Accademico 2008/09

Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

Università degli Studi di PaviaFacoltà di Ingegneria

Sede di Mantova

Corso di Laurea Triennale in Ingegneria Informatica

Confronto di tecniche dilocalizzazione per le WSN basate

su RSSI

Relatore:Prof. Paolo Gamba

Correlatore:Dott. Ing. Emanuele Goldoni

Tesi di laurea di:Marco Risi

Anno Accademico 2008/09

Page 2: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di
Page 3: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

Ringraziamenti

Il lavoro di tesi svolto e presentato in questo elaborato non avrebbe mai potutoessere portato avanti e finito senza il supporto di tutte quelle persone che hannodedicato parte del loro tempo e delle loro energie per aiutarmi e per ascoltarmi.In primo luogo vorrei ringraziare il prof. Paolo Gamba per avere permesso

di svolgere il mio lavoro nel laboratorio di Telecomunicazioni dell’Università, unambiente veramente sereno ed informale. Un ringraziamento di dovere va anche alDott. Ing. Emanuele Goldoni, mio correlatore, per avermi seguito amichevolmente eper avere saputo darmi i consigli e i suggerimenti necessari a portare avanti la tesi.Desidero inoltre ringraziare il Dott. Alberto Savioli, mio compagno di lavoro senzal’aiuto del quale non sarei stato in grado di portare a termine la parte sperimentalee non del mio lavoro e grazie al quale le giornate in laboratorio sono state menopesanti.

Ringrazio poi di cuore la mia famiglia: i miei genitori, che mi hanno sostenutosia moralmente che economicamente durante questo percorso di studi universitario,permettendomi di giungere all’importante traguardo che rappresenta la laurea, emio fratello Matteo, per aver reso le giornate a casa sempre allegre e spensierate.Impossibile poi dimenticarsi della nonna Luigina e del nonno Giovanni, i qualihanno avuto un importante ruolo nella mia educazione e crescita. Ringrazio poi dicuore gli zii Lorenza, Ivano e Antonella; un ringraziamento va inoltre ai miei cuginiRebecca, Martina, Alessio e Sara.

Ringrazio poi di cuore tutti gli amici della mia compagnia: Paolo, Filippo,Giacomo, Nicola, Niccolò, Daniela, compagni in mille avventure e disavventure,per essermi sempre stati vicini in ogni momento e per aver riposto in me la lorofiducia; ringrazio inoltre Matteo, compagno e amico in tante esperienze musicali.Desidero infine ringraziare tutti i compagni conosciuti in questi anni di università,in particolare Davide, per ogni suo aiuto e supporto durante tutto il mio percorsouniversitario.

Page 4: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di
Page 5: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

Indice

Ringraziamenti iii

Indice v

1 Introduzione 1

2 Wireless Sensor Network 32.1 Caratteristiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.2 Applicazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.3 Standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.3.1 Standard IEEE 802.15.4 . . . . . . . . . . . . . . . . . . . . 62.3.2 Standard IEEE 802.15.4a . . . . . . . . . . . . . . . . . . . . 82.3.3 Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3 La localizzazione nelle WSN 113.1 Tecniche di localizzazione . . . . . . . . . . . . . . . . . . . . . . . 113.2 Ranging: stima della distanza . . . . . . . . . . . . . . . . . . . . . 12

3.2.1 Received Signal Strength (RSSI) . . . . . . . . . . . . . . . . 123.2.2 Time Based . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.3 Algoritmi di localizzazione . . . . . . . . . . . . . . . . . . . . . . . 163.3.1 Min-Max . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.3.2 Maximum Likelihood . . . . . . . . . . . . . . . . . . . . . . 173.3.3 Trilaterazione . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4 La localizzazione con RSSI 234.1 Analisi dell’indice RSSI . . . . . . . . . . . . . . . . . . . . . . . . . 234.2 Analisi del canale . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234.3 Algoritmi per stimare la posizione . . . . . . . . . . . . . . . . . . . 244.4 Problemi ancora aperti . . . . . . . . . . . . . . . . . . . . . . . . . 25

5 Il sistema realizzato 295.1 I componenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

5.1.1 Scheda Arduino . . . . . . . . . . . . . . . . . . . . . . . . . 295.1.2 Modulo radio XBee . . . . . . . . . . . . . . . . . . . . . . . 29

5.2 Il sistema di raccolta dati . . . . . . . . . . . . . . . . . . . . . . . 305.2.1 Modellizzazione del canale radio . . . . . . . . . . . . . . . . 315.2.2 Dislocazione dei nodi . . . . . . . . . . . . . . . . . . . . . . 325.2.3 Raccolta dei dati dai nodi anchor e processing dei dati . . . 32

v

Page 6: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

vi INDICE

5.2.4 Ranging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335.2.5 Localizzazione . . . . . . . . . . . . . . . . . . . . . . . . . . 34

6 Analisi dei risultati sperimentali 376.1 Caratterizzazione canale . . . . . . . . . . . . . . . . . . . . . . . . 376.2 Comparazione con tre Anchor nodes . . . . . . . . . . . . . . . . . 40

6.2.1 Scenario 1 - L’ambiente indoor . . . . . . . . . . . . . . . . . 406.2.2 Scenario 2 - L’ambiente semi-indoor . . . . . . . . . . . . . . 42

6.3 Antenne multiple . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436.4 Costo computazionale degli algoritmi . . . . . . . . . . . . . . . . . 45

7 Conclusioni 47

A Script Matlab 49A.1 Modello del canale . . . . . . . . . . . . . . . . . . . . . . . . . . . 49A.2 Script per effettuare il ranging . . . . . . . . . . . . . . . . . . . . . 51A.3 Script per individuare il numero minimo di letture di RSSI . . . . . 52A.4 Algoritmi di localizzazione . . . . . . . . . . . . . . . . . . . . . . . 53

A.4.1 Min-Max . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53A.4.2 Maximum Likelihood . . . . . . . . . . . . . . . . . . . . . . 54A.4.3 Trilaterazione . . . . . . . . . . . . . . . . . . . . . . . . . . 54

B Codice sorgente per Arduino 59

C Tabelle Risultati 61

Bibliografia 65

Page 7: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

Capitolo 1

Introduzione

Recenti sviluppi nell’ambito delle telecomunicazioni e dell’elettronica hannopermesso la diffusione di micro-sensori in grado di raccogliere dati dall’am-biente e comunicare via radio. Avendone a disposizione un grande numero e

riuscendo a collegarli tra loro attraverso moduli radio si potrebbe creare una retedi sensori impiegabile per monitorare vaste aree e in una grande varietà di campi,come ad esempio il monitoraggio dell’ambiente, dell’aria, dell’acqua o del suolo.Ogni nodo, infatti, è in grado di misurare grandezze fisiche come temperatura,umidità, luminosità, ecc...

Tutte le volte che un nodo raccoglie un dato, questo può essere inviato ad unelaboratore centrale (sink node). Questo procedimento vale ovviamente per ogninodo della rete, in modo da permettere così all’elaboratore di collezionare i datiraccolti da ciascun nodo e di elaborarli nel modo per il quale è stato progettato.Tuttavia non sempre siamo a conoscenza dell’esatta posizione di questi sensori (inodi potrebbero essere lanciati da un aereo sul cratere di un vulcano) e, poiché idati raccolti non hanno significato se è sconosciuta la posizione del sensore (bastipensare ad applicazioni per il monitoraggio della qualità dell’acqua, a sistemi ingrado di rilevare intensità sismiche...), diventa di fondamentale importanza riuscirea localizzare ogni singolo nodo della nostra rete. Sebbene il GPS (Global PositioningSystem) sia un accurato sistema di stima della posizione, purtroppo non si puòutilizzare in ambienti indoor poiché usa segnali provenienti da satelliti GPS. Diventachiaro quindi come una localizzazione accurata e a basso costo sia un requisitocritico per un corretto funzionamento di una rete di sensori wireless in ambientichiusi.

In questo elaborato verranno descritti i principi e le caratteristiche di una Wi-reless Sensor Network e analizzate le performance di alcuni tra i più conosciutialgoritmi di localizzazione per queste reti in ambienti indoor e outdoor. Più precisa-mente, sono stati implementati gli algoritmi del Min-Max, della Trilaterazione edella Massima Verosimiglianza. Questi algoritmi si differenziano sia per i principisui quali viene realizzata la localizzazione, geometrici piuttosto che statistici, eper una differente complessità computazionale per la loro esecuzione. Tra tutta lapletora di possibili schemi di localizzazione, si è deciso di concentrare la ricerca suquelli basati sulla misura della potenza del segnale radio (RSSI - Received SignalStrength Indicator), dal momento che non necessitano di circuiteria aggiuntiva cheporterebbe ad alzare i costi e i consumi di energia delle nostre schede. Proprio

1

Page 8: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

per questo motivo, molti degli algoritmi di localizzazione proposti in letteraturafanno uso del Received Signal Strength Indicator per stimare la distanza tra untrasmettitore ed un ricevitore (ranging). Infatti, metodi basati su RSSI possonoessere implementati in qualsiasi piattaforma di rete di sensori wireless, poichéla circuiteria RSSI è nativamente supportata dalla grande maggioranza dei chipesistenti, senza costi hardware aggiuntivi.

Questo argomento è ben conosciuto ed è stato ampiamente investigato, spe-cialmente tramite simulazioni. Sfortunatamente, numerosi studi hanno evidenziatoche molti degli algoritmi di localizzazione basati su questo principio, una voltasperimentati su banchi di prova reali, non sono adeguatamente accurati. In altreparole, l’analisi teorica e le simulazioni sono molto più precise rispetto alle verificheempiriche. Il canale radio indoor, infatti, è difficile da modellizzare, in quantofenomeni come la riflessione e la rifrazione del segnale attraverso pareti, pavimentoe soffitto interferiscono fortemente sulla pulizia del segnale ricevuto dall’antenna. Èinevitabile tener conto di questo ed avere dunque la consapevolezza che le misuresono affette da errore e vanno adeguatamente processate.

Per una comparazione dettagliata tra le possibili tecniche studiate, sono stateraccolte centinaia di misurazioni di potenza del segnale radio in diversi ambienti(indoor e outdoor) e ripulito questi dati dagli eventuali errori o outlier (datianomali) nelle misurazioni. A questo punto, sfruttando la relazione distanza-RSSI,l’indicatore di potenza viene convertito in distanza, permettendo l’applicazione didiversi algoritmi di localizzazione.

È stato sperimentato quanto sia difficile stabilire il miglior algoritmo in assoluto,tuttavia è stato interessante notare quanto un algoritmo molto sofisticato e complessodal punto di vista computazionale come l’algoritmo di Massima Verosimiglianzadia risultati peggiori di altri algoritmi più leggeri e semplici come la Trilaterazionee il Min-Max.

Inoltre è stato verificato sperimentalmente quanto diversamente si comporti ilsegnale radio in ambienti chiusi e aperti. Da ciò si deduce l’importanza di averesempre un buon modello di canale dell’ambiente sul quale si va ad effettuare lalocalizzazione o altre operazioni utilizzando segnali radio.

Nei capitoli successivi verrà ampliato quanto brevemente indicato nell’introdu-zione. I successivi capitoli sono pertanto così strutturati: nel capitolo 2 verrannodescritti i principi e le caratteristiche di una WSN, nel capitolo 3 verrà presentatoe spiegato il problema e il significato della localizzazione, il capitolo 4 illustrerà lostato dell’arte, nel capitolo 5 verrà presentato il sistema realizzato. L’analisi deirisultati sperimentali è descritta nel capitolo 6. Nel capitolo 7, infine, sono riassuntele conclusioni dell’intero lavoro.

Page 9: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

Capitolo 2

Wireless Sensor Network

Una Wireless Sensor Network (WSN ) è una rete wireless formata da dispositiviautonomi (nodi) distribuiti nello spazio che usano dei sensori per monitorarecooperativamente grandezze fisiche o condizioni ambientali, come temperatura,

suoni, vibrazioni, pressioni, movimenti, livelli di rumore e di inquinamento.Lo sviluppo delle Wireless Sensor Network è stato motivato originariamente da

possibili applicazioni militari come la sorveglianza dei campi di battaglia. Tuttavia,le WSN sono oggi utilizzate in molte aree di applicazione civile ed industriale,come ad esempio il monitoraggio e il controllo dei processi industriali, applicazionimedico-sanitarie, domotica e controllo del traffico.

Oltre ad essere equipaggiati con uno o più sensori, per ogni nodo della rete sonopredisposti un trasmettitore radio, un microcontrollore e una sorgente di energia,tipicamente una batteria. La dimensione di un nodo può variare parecchio, dalladimensione di una moneta a quella di una piccola scatola e il prezzo di questi sensoriè anch’esso variabile, da poche decine di euro a qualche euro. Il prezzo dipende dalladimensione della rete di sensori e dalla complessità richiesta individualmente ai nodi.Dimensione e costo sono dei vincoli che limitano le prestazioni in termini di energia,memoria, velocità computazionale e larghezza della banda di comunicazione.

Il modo più efficiente per trasmettere dati nelle reti di sensori è la tecnicamulti-hop (rimbalzi multipli), che consente di avere meno perdita di segnale rispettoad una comunicazione diretta. Invece cioè di instaurare una comunicazione direttatra ogni singolo nodo e gateway, molto dispendiosa dal punto di vista energeticoper i nodi più lontani, si utilizzano una serie di piccoli salti che necessitano di menoenergia e garantiscono una maggiore affidabilità. Al posto di un sistema centralizzatoche si occupa di raccogliere, trasportare e portare a destinazione le informazioni,si ha una rete distribuita formata da nodi tutti uguali che si auto-organizzano inmodo da creare un efficiente sistema di comunicazione. La rete infatti, in caso diun guasto ad un nodo che potrebbe essere dovuto all’esaurimento della batteria dialimentazione, è in grado automaticamente di riconfigurarsi e trovare comunque unavia per far comunicare tra loro i vari nodi e raggiungere la stazione riferimento. Ognisensore è in grado quindi di far rimbalzare automaticamente le informazioni versoun altro nodo che si trova più vicino alla destinazione prescelta. Questo processo èmostrato in Figura 2.1.

3

Page 10: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

4 CAPITOLO 2. WIRELESS SENSOR NETWORK

Figura 2.1: Architettura Multihop in una Wireless Sensor Network

2.1 CaratteristicheLe caratteristiche di una WSN sono le seguenti:

• deployment casuale: non è necessaria una conoscenza a priori della topologiadella rete;

• auto-organizzazione: i nodi si possono riconoscere e possono comunicaretra loro senza l’intervento umano e senza un controllo centralizzato;

• mobilità: i nodi non devono necessariamente stare fermi;

• basso consumo energetico: altissima efficienza dal punto di vista energetico,il periodo di vita di una rete può essere di anni;

• scalabilità: la rete può crescere o decrescere a seconda della disponibilità edella necessità;

• fault tolerance: la rete, in caso di guasti, è in grado di riconfigurarsi.

I nodi di una WSN possono essere immaginati come piccoli computer, estrema-mente semplici dal punto di vista delle loro interfacce e dei loro componenti. Essimontano solitamente un piccolo processore con potenza computazionale limitatae poca memoria, sensori (dispositivi che leggono grandezze fisiche), uno o piùdispositivi di comunicazione radio e una sorgente di alimentazione (tipicamente unabatteria).

È presente molte volte una stazione riferimento (gateway), la quale si differenziadalle altre componenti della rete per una maggior capacità computazionale eenergetica. La sua funzione è di collegamento tra i nodi e l’utente finale.

Page 11: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

2.2. APPLICAZIONI 5

2.2 ApplicazioniTra le innumerevoli applicazioni di tale tecnologia troviamo le applicazioni ambien-tali, militari, domestiche e sociali, commerciali e in particolare quelle riguardanti lasicurezza e la salute. In base all’applicazione che si vuole realizzare, i nodi possonoessere dotati di tipi di sensori differenti. Diverse sono inoltre le tecnologie perl’implementazione delle WSN, ognuna delle quali si presta in varia maniera a fornirei servizi necessari a queste tipologie di rete di sensori. Una presentazione abbastanzadettagliata delle applicazioni disponibili nel campo delle WSN si può trovare in [2].

Applicazioni militari

Alcune caratteristiche tipiche delle reti di sensori wireless come la tolleranza aiguasti e l’auto-organizzazione fanno delle WSN una tecnologia promettente per leapplicazioni militari.

In questo ambito possono trovare sviluppo applicazioni dedicate al monitoraggiodi forze alleate, di equipaggiamenti e munizioni, alla sorveglianza del campo dibattaglia, riconoscimento di nemici oppure riconoscimento del tipo di attacco subito(nucleare, biologico o chimico).

Applicazioni ambientali

Nel contesto delle applicazioni ambientali, i casi più diffusi dove trovano possibilitàdi sviluppo le reti di sensori sono quelli riguardanti il monitoraggio di foreste per larilevazione tempestiva di eventuali incendi. È stato realizzato inoltre negli Stati Unitiun sistema chiamato Alert System [1] in grado di prevedere e rilevare le inondazioni.Questo sistema è costituito da molti sensori capaci di leggere la quantità di pioggiacaduta, il livello dell’acqua in un fiume e altre condizioni climatiche come umidità,temperatura etc...

Le reti di sensori possono essere utilizzate inoltre anche nel settore dell’agricolturadi precisione. In questo campo troviamo la possibilità di monitorare in tempo realeil livello dei pesticidi nell’acqua, il livello di erosione del terreno e il grado diinquinamento dell’aria.

Sempre nel settore ambientale, le reti di sensori vengono utilizzate per studiaregli spostamenti ed il dinamismo all’interno dei ghiacciai. I sensori, in questo contesto,vengono distribuiti all’interno del ghiaccio a profondità differenti e sono in gradodi rilevare temperatura e pressione e comunicare questi dati ad una stazione basesituata in cima al ghiacciaio.

Le reti di sensori, infine, potrebbero essere usate per alcune applicazioni cheriguardano, ad esempio, il monitoraggio del movimento di uccelli o piccoli animali.

Applicazioni sanitarie

Gli utilizzi delle reti di sensori in questo campo sono dedicate a fornire un serviziodi interfaccia per le persone affette da disabilità, al controllo di parametri fisiolo-gici, all’amministrazione ospedaliera sia essa relativa ai pazienti che ai medici, adesempio per una facile rintracciabilità. È anche possibile, inoltre, usare i sensori perl’identificazione di allergie.

Page 12: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

6 CAPITOLO 2. WIRELESS SENSOR NETWORK

Applicazioni domestiche

L’automazione della casa o domotica [19] è uno dei numerosi settori in via disviluppo dove trovano spazio le reti di sensori. I nodi, inseriti in questo casonegli elettrodomestici, sono in grado di interagire reciprocamente e anche versol’esterno tramite Internet o dispositivi di comunicazione mobile come i cellularipermettendone la gestione da distanze remote.

La casa diventa quindi, come prospettato in film che sembravano fantascientificifino a poco tempo fa, un piccolo centro dotato di rete in grado di far comunicaretra loro tutti i vari elementi di cui è composta.

Applicazioni commerciali

In questo ambito, i sensori potrebbero essere usati ad esempio per il rilevamentodel furto di auto: alcuni nodi sensore vengono disposti per identificare minacceprovenienti da una determinata zone geografica. Tutte le informazioni rilevatesono inviate, tramite Internet, agli utenti finali in modo che, essendo informati,possano intervenire opportunamente. Un’altra possibile applicazione è quella delrilevamento della posizione e del movimento di veicoli (car tracking): tramite unarete di sensori è possibile infatti controllare la posizione di un’auto in movimentoe tracciarne gli spostamenti. In aggiunta alle applicazioni già elencate, sarebbepossibile effettuare un controllo dell’ambiente in ufficio: il sistema di gestione delriscaldamento o dell’aria condizionata infatti, solitamente è centralizzato. Esistendosolo un termometro e un solo bocchettone da cui l’aria esce, la temperatura inufficio può essere diversa a seconda della zona. Con un sensore in ogni stanza èpossibile controllare la temperatura e la distribuzione dell’aria calda nelle variezone in maniera più efficiente.

2.3 StandardDiversi sono gli standard attualmente ratificati o in fase di sviluppo per le WSN.ZigBee [7] è una specifica per reti mesh che utilizzano piccole antenne a bassapotenza ed è usato in diversi contesti, come in sistemi di rilevamento dedicati, per laraccolta di dati medici, in applicazioni come controllo remoto della televisione o, piùin generale, applicazioni di home automation. Zigbee è promosso da un consorziodi grandi operatori del settore ed è basato sullo standard radio IEEE 802.15.4 [5].

2.3.1 Standard IEEE 802.15.4Le caratteristiche di questo standard sono:

• bassi consumi

• bassa latenza

• basso costo

• bassa complessità

Page 13: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

2.3. STANDARD 7

• bassa velocità di trasmissione dati

• robustezza

Lo standard 802.15.4 definisce il livello 1 (livello Fisico) e il livello 2 (livello MAC)(Figura 2.2). I dispositivi basati sulle specifiche IEEE 802.15.4 possono lavorarein due diverse modalità: Reduced Function Device (RFD) e Full Function Device(FFD). Un nodo FFD lavora come coordinatore e può operare con qualsiasi topologiadi rete: in questa modalità il nodo si fa carico infatti delle connessioni con gli altridispositivi. L’RFD è in grado invece di comunicare solamente con il coordinatore, eviene quindi utilizzato solamente nelle topologie a stella. Questo standard permettedi creare reti complesse e di grande dimensioni, grazie alla possibilità di instaurareun collegamento con altri dispositivi adiacenti. Una panoramica delle caratteristichegenerali di questo standard è presente in [10].

Figura 2.2: Standard IEEE 802.15.4

Livello fisico

I servizi che il livello fisico offre intervengono sull’accensione e sullo spegnimentodel modulo radio; questi consentono il risparmio energetico al sistema, effettuanoinoltre la scelta del canale di comunicazione calcolando una stima sull’occupazionedello stesso. Viene analizzato e calcolato il rapporto segnale/rumore di un canale perscegliere il migliore in modo da diminuire la possibilità di errori in trasmissione, isegnali in ricezione e trasmissione infine vengono ovviamente modulati e demodulati.Il livello fisico opera nella banda ISM utilizzando tre possibili bande libere.

• 868-868.6 MHz: utilizzata nella maggior parte dei paesi europei, offre undata-rate di 20 Kbps e si ha a disposizione un solo canale;

• 902-928 MHz: utilizzata nel continente oceanico e nel continente americanocon un data-rate di 40 Kbps e 10 canali disponibili;

Page 14: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

• 2400-2483.5 MHz: utilizzabile in quasi tutto il mondo con un data-rate massimodi 250 Kbps e 16 canali a disposizione.

Livello MAC

Il secondo livello (MAC) offre come servizi la possibilità di creare una rete PAN, latrasmissione dei beacon e l’accesso al canale tramite il protocollo CSMA/CA. Sonoprevisti, per la sicurezza dei dati, algoritmi di cifratura basata su AES-128. Il livelloMAC gestisce, inoltre, l’handshake, cioè gli Acknowledge per la ritrasmissione deidati in caso di mancata o erronea ricezione e calcola e verifica l’integrità della PDU.Può supportare reti fino ad un massimo di 65536 nodi, viene utilizzato infatti unindirizzamento fino a 16 bit.

Il livello MAC prevede una struttura chiamata superframe, costruita dal coordi-natore della rete ed è contenuta tra due messaggi chiamati beacon. Questi messaggivengono utilizzati per la sincronizzazione dei dispositivi, per l’identificazione dellarete, per descrivere la struttura della superframe stessa e la periodicità di spedizionedei beacon. La superframe è divisa in 16 slot temporali di uguale grandezza, dove ilbeacon frame è trasmesso nel primo e nell’ultimo slot di ogni superframe. Esistonodue tipi di superframe: senza GTS (Guaranteed Time Slot) e con GTS. Nel casovenga inviata una frame senza GTS, l’accesso al canale è regolarizzato dal protocolloCSMA/CA, ogni dispositivo deve quindi competere con gli altri per assicurarsil’accesso ad uno slot.

2.3.2 Standard IEEE 802.15.4aUn altro standard più recente, sempre supportato da ZigBee, è lo standard IEEE802.15.4a [15]. Quest’ultimo permette una frequenza di trasmissione dati moltopiù elevata, si parla infatti di banda ultra-larga (UWB - Ultrawide Bandwidth).Rappresenta la tecnologia più promettente in grado di risolvere i problemi di loca-lizzazione con un’ottima accuratezza ed è in grado di ottenere ottime performanceanche in ambienti ostili. Purtroppo, questo standard è molto costoso poichè ancorascarsamente diffuso.

2.3.3 BluetoothUn ulteriore standard che si potrebbe utilizzare per la comunicazione nelle WSNè Bluetooth [4]. Bluetooth fornisce un metodo standard (802.15.1), economico esicuro per scambiare informazioni tra dispositivi diversi attraverso una frequenzaradio sicura a corto raggio. La tecnologia Bluetooth opera anch’essa nella bandadi frequenze tra 2,4 e 2,5 GHz (ISM), usando una modulazione FSK con un data-rate di 720Kbps. Tuttavia questo standard presenta delle notevoli limitazioni permolte applicazioni vista la ridotta efficienza energetica e il numero massimo di nodidell’eventuale rete limitato a 7.

Una tabella che riassume le caratteristiche di questi tre standard è proposta inTabella 2.1.

Page 15: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

2.3. STANDARD 9

Tabella 2.1: Standard a confronto

Bluetooth ZigBee (IEEE802.15.4)

ZigBee (UWBIEEE 802.15.4a)

Durata Batteria Giorni Anni AnniDimensione rete 7 Fino a 65536 Fino a 65536

Bit Rate 1-3 Mbit/s 250 Kbit/s 850 Kbit/s - 27Mbi-t/s

Range (m) 100 ca. 50-100 50-100Architettura direte Stella Stella, Albero, Me-

shStella, Albero, Me-sh

Ottimizzato per Bassi costiBassi costi, riusabi-lità, scalabilità, bas-si consumi

Riusabilità, scalabi-lità, bassi consumi,ranging

Page 16: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di
Page 17: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

Capitolo 3

La localizzazione nelle WSN

L’operazione di localizzazione è di centrale importanza per una rete wireless,soprattutto nel caso in cui questa venga utilizzata per il monitoraggio difenomeni dei quali si vuole conoscere con accuratezza la posizione in cui

questi potrebbero verificarsi. Tenendo conto inoltre del fatto che molte volte, apriori, non si conosce l’esatta disposizione spaziale dei nodi della nostra rete, comeè facile intuire, i dati raccolti senza informazioni sulla posizione e sul tempo diraccolta risultano privi di significato. Diventa quindi cruciale, per implementareuna buona rete, il processo di localizzazione.

I requisiti per una buona localizzazione sono una buona accuratezza anche inambienti ostili (es. indoor con molti ostacoli), bassa complessità dei dispositivi(costi e dimensioni ridotti) e infine la necessità di rispettare gli standard (es. IEEE802.15.4).

Data una serie di misurazioni, lo scopo di ogni algoritmo di localizzazione ètrovare la posizione dei nodi target le cui coordinate sono sconosciute. Questoprocesso avviene in due passi fondamentali: raccolta delle misurazioni dai nodi edelaborazione dei dati per determinare la posizione dei nodi (tramite algoritmi dilocalizzazione).

3.1 Tecniche di localizzazioneDi seguito è riportata una classificazione delle più comuni tecniche di stima dellaposizione.

• Anchor based: un sottoinsieme di nodi della rete (chiamati anchor o beacon)sono a conoscenza della loro posizione, ottenuta grazie al GPS o avendostabilito un sistema di coordinate predefinite. Gli altri nodi (target) usanole informazioni di posizione dai nodi anchor per determinare la propriadisposizione. Il ranging tra i beacon e gli altri nodi può essere ottenuto con

– interazione diretta (Single-Hop)– indirettamente, per mezzo di nodi intermedi (Multi-Hop)

• Anchor free: nessun nodo nella rete è a conoscenza della propria posizione;in questo modo ciò che si ottiene è un insieme di coordinate relative.

11

Page 18: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

12 CAPITOLO 3. LA LOCALIZZAZIONE NELLE WSN

A questo punto, deciso il tipo di scenario, cioè avendo stabilito se nella retevi siano nodi anchor o meno, il processo di localizzazione può essere affrontatomediante una delle seguenti tecniche:

• Range based: vengono effettuate una serie di misurazioni per conoscerela distanza tra beacon e target (ranging). A questo punto, con differentialgoritmi, come il Min-Max (sezione 3.3.1), la Trilaterazione (sezione 3.3.3),o la Massima Verosimiglianza (sezione 3.3.2), queste informazioni vengonoanalizzate per stimare la posizione dei nodi target.

• Angle based: in questo caso le informazioni riguardano la distanza angolaretra i nodi della rete. Per stimare la posizione si applicano algoritmi come latriangolazione.

• Range free: gli algoritmi di localizzazione range free non utilizzano diret-tamente l’indice RSSI per stimare la distanza. È richiesta un’operazionepreliminare volta a costruire una mappa accurata dell’area di interesse con idati dell’indicatore di potenza del segnale ricevuto. Successivamente, andandoa confrontare il segnale ricevuto con la mappa precedentemente costruita, unnodo può stimare la sua particolare posizione nell’area.

3.2 Ranging: stima della distanzaNel lavoro di tesi è stato scelto di utilizzare tecniche di tipo range-based e anchor-based poichè sono tra le più economiche per le WSN, essendo l’economicità unodei requisiti fondamentali e maggiormente apprezzabili quando si va a realizzareun’applicazione. Il primo passo da affrontare in un processo di localizzazione diquesto tipo è quindi il ranging. Il ranging tra due nodi è dunque la tecnica utilizzatada questi per determinare la distanza che li separa. Le possibili tecniche si basanofondamentalmente su due tipi di approcci: Received Signal Strength e Time-based.

3.2.1 Received Signal Strength (RSSI)Valutando l’intensità di un segnale ricevuto è possibile stimare la distanza dallastazione che l’ha trasmesso. Nel caso delle WSN quello che si va ad utilizzare è unindicatore di potenza, l’RSSI (Received Signal Streght Indicator), il quale indica unastima della potenza del segnale ricevuto misurato in dBm. Per andare a valutare ladistanza dalla quale questo segnale è stato trasmesso si può utilizzare l’equazionedi Friis:

PR = PTGTGRλ

2

(4π)2dn(3.1)

dove:

• PR : potenza del segnale ricevuto in Watt

• PT : potenza del segnale trasmesso in Watt

Page 19: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

3.2. RANGING: STIMA DELLA DISTANZA 13

• GR : guadagno dell’antenna ricevente

• GT : guadagno dell’antenna trasmettente

• λ : lunghezza d’onda: λ = c/f dove c è la velocità della luce (299792458 m/s)e f è la frequenza

• d : distanza in metri

• n : costante di propagazione del segnale, detto anche esponente di propagazione,dipendente dall’ambiente in cui ci si trova

Risulta molto utile, dal punto di vista pratico, la seguente formula, che cipermette di convertire la potenza da Watt a dBm, dal momento che l’indicatoreRSSI è solitamente espresso in dBm.

P [dBm] = 10 · log10 (P [W] · 103) (3.2)

Nel nostro caso, la potenza d’uscita è pari a 1mW (0 dBm), i guadagni delleantenne si possono considerare uguali a 1 e la frequenza è 2441,75 MHz.

Per voler calcolare, ad esempio, la potenza ricevuta ad un metro di distanza inambiente aperto (n=2) si ottiene:

PR = PTGTGRλ

2

(4π)2dn= 1 · 10−3 ·

1 · 1 · ( 2997924582441,75·106 )2

(4π)2 · 12∼= 9, 55 · 10−8W

Ora, per convertire il valore da Watt a dBm basta utilizzare la relazione 3.2:

P [dBm] = 10 · log10 (P [W] · 103) = 10 · log10 (9, 55 · 10−8 · 103) ∼= −40, 6 dBm

Per motivi di semplicità, è possibile combinare assieme la 3.1 e la 3.2. Applicandole note proprietà dei logaritmi, si ottiene la seguente formula:

RSSI = −(10 · n · log10 d− A) (3.3)

Dove A è la potenza del segnale ricevuto, in dBm, alla distanza di riferimento diun metro e n è la costante di propagazione del segnale.

In Figura 3.1 è rappresentato l’andamento ideale dell’indicatore RSSI in ambienteaperto (n = 2, A = −40 dBm).

A questo punto è conveniente aggiustare la relazione sopra scritta:

log10d = A−RSSI10 · n (3.4)

Infine, isolando la distanza:

d = 10(A−RSSI10·n ) (3.5)

Quest’ultima formula, ci permette quindi di calcolare la distanza tra due nodi apartire conoscendo il valore di RSSI ed i parametri A e n.

Page 20: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

14 CAPITOLO 3. LA LOCALIZZAZIONE NELLE WSN

Figura 3.1: Andamento ideale della potenza ricevuta in funzione della distanza

3.2.2 Time BasedÈ possibile stimare la distanza tra due stazioni riuscendo a misurare con precisioneil tempo di propagazione del segnale. Nel caso delle onde radio, la velocità dipropagazione è di poco inferiore a quella della luce (c = 299792458 m/s). Percomprendere la complessità e l’accuratezza necessaria per utilizzare questo tipodi tecnologia, è sufficiente pensare che la luce impiega 3,3 ns per percorrere unmetro. Per avere un sistema in grado di assicurare una precisione dell’ordinedel centimetro occorrerebbe quindi essere in grado di rilevare intervalli di tempodell’ordine delle decine di picosecondi. Oltretutto, è evidente la necessità di unaperfetta sincronizzazione tra i dispositivi della rete. Il sistema GPS funziona inquesto modo (le distanze in questo caso però sono molto più elevate). Tale precisioneè disponibile anche nei dispositivi UWB che però, come già detto, sono anche moltocostosi.

Time of Arrival

La stima della distanza tra due nodi A e B può essere ricavata misurando il tempodi propagazione (Time of Flight)

Tf = d/c

Page 21: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

3.2. RANGING: STIMA DELLA DISTANZA 15

dove d è la distanza tra i nodi. In Figura 3.2 e in Figura 3.3 sono mostrati due tipidi modalità di ranging basati sul tempo.

Nel caso dell’One-way TOA (Figura 3.2) è indicato con t1 l’istante in cui il nodoA inizia a trasmettere e t2 il tempo al quale il messaggio è arrivato a destinazione:il Time of Fligth (Tf ) è la differenza tra questi due istanti di tempo.

Con il Two-Way TOA (Figura 3.3) il processo è leggermente più raffinato: vienemandato un segnale dal nodo A al nodo B che ha un tempo di volo pari a t2-t1. Ilnodo B elaborerà il messaggio in un tempo Td e manderà un messaggio di risposta,che avrà a sua volta un tempo di volo pari alla differenza tra l’istante di arrivoe l’istante di partenza del messaggio di risposta. Il Time of Flight Tf è calcolatoquindi come la media dei due tempi di volo, ovvero come

Tf = (t2 − t1) + (t4 − t3)2

È evidente anche da questi semplici esempi quando sia importante la sincronizzazionetra i nodi. Risulta inoltre chiaro che questo metodo, quando si riescono a misuraretempistiche molto piccole, si dimostra molto accurato.

Time Difference of Arrival

In questo caso il nodo A emette un segnale che andrà a raggiungere tre o piùstazioni. Quando un impulso è emesso da una piattaforma, questo raggiungerà adun tempo leggermente diverso i differenti ricevitori. Infatti, a parità di distanza trai ricevitori, una serie di impulsi dall’emettitore darebbe la stessa misurazione delTDOA. Con due ricevitori di cui si conoscono le coordinate, l’emettitore può esserelocalizzato entro un iperboloide. È importante notare che il ricevitore non devenecessariamente conoscere il tempo assoluto al quale l’impulso è stato trasmesso, solola differenza di tempo è necessaria. Consideriamo a questo punto un terzo ricevitoreposizionato in una terza posizione. Questo fornisce una seconda misurazione delTDOA e ci permette quindi di individuare l’emettitore riferendosi ad un secondoiperboloide. L’intersezione di questi due iperboloidi descrivono una curva sulla qualesta l’emettitore. Se un quarto ricevitore fosse introdotto, una terza misurazione delTDOA sarebbe utilizzabile e così si potrebbe individuare nella nuova intersezione(un punto questa volta) la posizione dell’emettitore, determinata perciò in manieratridimensionale.

Figura 3.2: One-way TOA ranging

Page 22: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

16 CAPITOLO 3. LA LOCALIZZAZIONE NELLE WSN

Figura 3.3: Two-way TOA ranging

3.3 Algoritmi di localizzazioneIn questa sezione verranno spiegati gli algoritmi di localizzazione utilizzati nelnostro sistema. Come illustrato in precedenza, nel lavoro di tesi sono stati impiegatialgoritmi di localizzazione range-based e anchor-based: è necessaria quindi la pre-senza di un numero limitato di nodi target, dei quali cioè si conoscono le coordinatee che vengono usati come riferimento per localizzare gli altri nodi della rete. Nesono stati provati più di uno per poter fare un confronto tra i risultati e, quindi, perverificare la rispettiva efficienza e complessità computazionale. È importante notareche tutti gli algoritmi implementati non necessitano di mappature del segnale radiodel nostro scenario (non vengono utilizzate tecniche range-free), riducendo cosìfortemente il tempo richiesto per la calibrazione e, allo stesso tempo, garantendomaggior flessibilità al dinamismo e alle modifiche dell’ambiente.

3.3.1 Min-MaxIl Min-Max, ideato da Andreas Savvides [8, 17, 21], è un algoritmo di localizzazionemolto diffuso, il cui successo è dovuto principalmete alla sua estrema semplicitàdi implementazione. Ogni nodo target crea un’associazione tra la posizione diun beacon e la potenza del segnale radio ricevuta da quel beacon. Convertendograzie all’equazione 3.5 il valore di RSSI in una distanza, questi nodi possonostimare la propria distanza dal beacon. A questo punto, vengono disegnate duelinee orizzontali e due linee verticali attorno ad ogni beacon, in modo tale chela distanza tra ogni linea e la posizione del beacon risulta uguale alla distanzadi−esima stimata precedentemente. Il nodo target si calcola la propria posizione alcentro del quadrilatero ottenuto dall’intersezione di queste linee immaginarie, i cuiestremi possono essere facilmente calcolati prendendo i massimi e i minimi di tuttele coordinate:

[max (xi − di),max (yi − di)]× [min (xi + di),min (yi + di)]

La media di queste coordinate coincide con il centro del quadrilatero di interse-zione e rappresenta la posizione stimata.

Page 23: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

3.3. ALGORITMI DI LOCALIZZAZIONE 17

Intuitivamente, più è piccola l’area del rettangolo di intersezione, maggiore èl’accuratezza della localizzazione. Il principio di funzionamento di questo algoritmoè mostrato in Figura 3.4

Figura 3.4: Il centro del quadrilatero formato dall’intersezione dei tre quadrati da’una stima della posizione del nodo mobile

3.3.2 Maximum LikelihoodLo stimatore ML (Maximum Likelihood) [16, 20] della posizione del nodo targetpuò essere ottenuto utilizzando il criterio di minimizzazione dell’errore quadraticomedio (MMSE, Minimum Mean Square Error), in modo da determinare la posizionetenendo conto che i dati utilizzati potrebbero essere affetti da errori. Verrà illustratoil calcolo nel caso bi-dimensionale. In questo caso sono necessari tre o più sensoribeacon. Prima di tutto raccogliamo come al solito le misure di RSSI dagli anchornodes e le convertiamo in distanze. A questo punto la differenza tra distanze stimatee misurate è definita da:

fi(x0, y0) = di −√

(xi − x0)2 + (yi − y0)2, (3.6)

dove (x0, y0) rappresentano le coordinate sconosciute, (xi, yi) con i = 1, 2, ..Nsono le coordinate dei nodi beacon e N(≥ 3) è il numero totale di dati collezionatidai nodi riferimento e di è la distanza tra il beacon i e il nodo target. Per minimizzarel’errore quadratico medio basta imporre uguale a 0 la fi. L’equazione 3.6 si trasformain:

− x2i − y2

i + d2i = (x2

0 + y20) + x0(−2xi) + y0(−2yi). (3.7)

Page 24: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

18 CAPITOLO 3. LA LOCALIZZAZIONE NELLE WSN

Possiamo eliminare i termini x20 + y2

0 sottraendo la k-esima equazione comesegue.

− x2i − y2

i + d2i − (−x2

k − y2k + d2

k) = 2x0(xk − 2xi) + 2y0(y0 − 2yi). (3.8)

L’equazione 3.8 si trasforma nell’equazione 3.9, la quale può essere risoltautilizzando la 3.10. Le coordinate (x0, y0) si ottengono calcolando la 3.10.

y = Xb (3.9)

b = (XTX)−1XTy (3.10)dove

X =

2(xk − x1) 2(yk − y1)

... ...2(xk − xk−1) 2(yk − yk−1)

(3.11)

y =

−x2

1 − y21 + d2

1 − (−x2k − y2

k + d2k)

...−x2k−1 − y2

k−1 + d2k−1 − (−x2

k − y2k + d2

k)

(3.12)

b =[x0y0

](3.13)

Il metodo della Massima Verosomiglianza è molto più complesso degli altri, maminimizza l’errore di stima all’aumentare del numero di ossevazioni, azzerando lavarianza quando questo numero tende all’infinito. Sfortunatamente, nei più realisticiscenari il numero dei beacon è limitato, perciò le performance dell’ML possonoessere insoddisfacenti.

3.3.3 TrilaterazioneLa Trilaterazione è un algoritmo di localizzazione basato su principi geometrici.Come al solito, vengono collezionati messaggi dai beacon per leggere l’indicatoredi potenza e successivamente viene stimata la distanza da ogni beacon. Vengonoquindi disegnati dei cerchi avente come centro le coordinate del nodo riferimento eraggio uguale alla distanza stimata. Idealmente, il nodo target si trova nel puntodi intersezione tra i tre cerchi, come mostrato in Figura 3.5. Sapendo che ognicirconferenza è descritta dall’equazione

(x− xi)2 + (y − yi)2 = r2i

con (xi, yi) coordinate dei vari centri e ri raggio del cerchio i−esimo, per trovarel’intersezione basta risolvere il seguente sistema:

(x− x1)2 + (y − y1)2 = r21

(x− x2)2 + (y − y2)2 = r22

(x− x3)2 + (y − y3)2 = r23

Page 25: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

3.3. ALGORITMI DI LOCALIZZAZIONE 19

Figura 3.5: Le coordinate del nodo target si trovano nel punto di intersezione deitre cerchi

In pratica, tuttavia, le stime della distanza non sono mai così perfette e nonviene quasi mai ottenuto un unico punto come intersezione. È più probabile che ilnodo target si trovi all’interno di un’area di intersezione tra i cerchi, o è addiritturapossibile che i cerchi non si tocchino. Per ovviare a questi inconveniente utilizziamodei piccoli accorgimenti al metodo tradizionale della Trilaterazione, ispirandoci aquanto proposto in [13]. Questo metodo che andremo a descrivere viene realizzatoiterativamente per tutti e tre i nodi beacon.

1. vengono disegnati due cerchi attorno a due nodi beacon a scelta

2. se il punto di intersezione è unico, si salvano le coordinate di questo

3. se i cerchi non si toccano, vengono aumentati i raggi in maniera proporzionalein modo che si tocchino in un unico punto

4. se i due cerchi si toccano in due punti, viene considerato quello che ha distanzadal terzo nodo beacon più vicina alla stima della distanza calcolata per questonodo

5. alla fine di questo procedimento, iterato per tutti e tre i nodi, viene calcolatala media delle coordinate, che corrispondono alla posizione stimata del nodotarget

Questo algoritmo è leggermente più complesso del Min-Max, almeno in linea diprincipio, ma offre, come vedremo, performance migliori. In Figura 3.8, Figura 3.6 eFigura 3.7 è mostrato come opera questo adattamento all’algoritmo di Trilaterazione.

Page 26: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

20 CAPITOLO 3. LA LOCALIZZAZIONE NELLE WSN

Figura 3.6: Esempio del caso in cui il punto di intersezione non sia unico

Figura 3.7: Esempio del caso in cui i cerchi non si tocchino. Vengono aumentati iraggi in maniera proporzionale fin quando non si raggiunge il punto di incontro

Page 27: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

3.3. ALGORITMI DI LOCALIZZAZIONE 21

Figura 3.8: Esempio del caso in cui vi siano due punti di intersezione. Il puntotenuto in considerazione è quello con distanza più vicina a quella stimata

Page 28: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di
Page 29: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

Capitolo 4

La localizzazione con RSSI

Dal momento che l’indicatore RSSI è utilizzabile senza altro hardware aggiuntivoin tutti i dispositivi presenti in commercio, molte attività di ricerca negliultimi anni si sono focalizzate soprattutto sull’utilizzo di questo indice per

la localizzazione. Gli sforzi si sono concentrati inizialmente nell’analisi di questoindicatore, ed in particolar modo si è cercato di studiare meglio quali siano le causedella sua fortissima variabilità.

4.1 Analisi dell’indice RSSIIl problema principale della localizzazione basata sull’indicatore di potenza delsegnale ricevuto è il suo elevato grado di irregolarità, dovuto principalmente allanatura del segnale radio. I ricercatori che lavorano sugli algoritmi di localizzazionebasati su RSSI sono consapevoli di questo problema e hanno tenuto in considerazionequesto nei loro algoritmi. Tuttavia, solo poche misure hardware sono state proposte.

Andreas Savvide [9] ha identificato come maggiori cause della variabilità di RSSIgli effetti di multipath e dissolvenza del canale radio e l’orientamento delle antennedi ricevitore e trasmettitore. Come provvedimento per diminuire il multipath eglipropone un aumento dell’altezza dell’antenna.

Sungwon Yang e Hojung Cha [23] hanno studiato come la lunghezza dell’antennainfluenza il modello di radiazione. Hanno scoperto che le antenne con una lunghezzapari a 5/8λ, dove λ è la lunghezza d’onda, hanno un migliore modello di radiazionerispetto alle comuni antenne con lunghezza pari a 1/4λ. I due ricercatori propongonoinoltre di sollevare l’antenna dalla circuiteria hardware al fine di evitare interferenzeelettriche.

4.2 Analisi del canaleUno studio accurato riguardante la natura e i problemi del canale nelle comuni-cazioni wireless è stato effettuato da Davide Dardari e al. [11]. Egli spiega, comedel resto è ben conosciuto, quanto si mostri imprevedibile il comportamento diun segnale elettromagnetico e quindi quanto sia difficile modellizzare un canaleper la propagazione di queste onde. La comunicazione senza fili infatti è sempreaffetta dalla presenza di elementi che interferiscono con la propagazione delle onde

23

Page 30: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

24 CAPITOLO 4. LA LOCALIZZAZIONE CON RSSI

elettromagnetiche. In mancanza di ostacoli questi effetti possono essere trascurati ela formula di Friis 3.1 può essere utilizzata per esprimere l’andamento della potenzatra le antenne di trasmettitore e ricevitore come una funzione della distanza d edella lunghezza d’onda λ.

Ciononostante, in molte applicazioni di sistemi wireless la presenza di elementiche interferiscono con la propagazione delle onde elettromagnetiche (la terra, primadi tutto) non può essere trascurata. Essi introducono effetti che rendono la potenzaricevuta un processo casuale.

L’effetto di shadowing è causato dall’ostruzione del segnale da parte di ostacoli,in movimento o fermi, che il segnale incontra nel suo percorso. In particolare, le ondeelettromagnetiche tendono ad essere disturbate da oggetti che hanno dimensionedella stessa grandezza della lunghezza d’onda. Per esempio, qualsiasi ostacolo condimensione di circa 10 cm può essere potenzialmente una fonte di disturbo nellabanda dei 2.4 GHz.

Il fenomeno del multipath introduce sia interferenze costruttive che distruttivedovute al fatto che segnali diversi possono percorrere percorsi diversi per arrivare adestinazione.

Per questi motivi, data l’estrema difficoltà di avere scenari con ostacoli o inambienti ostili, il lavoro di tesi si è concentrato su ambienti privi di ostacoli, incondizioni di vista (line-of-sight) tra i nodi, in modo da cercare di ottenere ilmassimo dell’efficienza nell’ambito della localizzazione utilizzando l’indicatore dipotenza del segnale ricevuto.

4.3 Algoritmi per stimare la posizioneMolte diverse tecniche sono state proposte per ricavare la posizione tramite lemisurazioni di RSSI.

Il lavoro di ricerca preso come riferimento, data la somiglianza con questopresente, è stata la comparazione sperimentale di tecniche di localizzazione basatasu RSSI per WSN in ambiente indoor effettuata da Zorzi e Zanca [12]. Il lorolavoro prevedeva una serie di analisi di vari algoritmi di localizzazione come l’ML,il Min-Max, la Multilaterazione e il ROCRSSI. È stato verificato che l’algoritmodella Massima Verosimiglianza ottiene le migliori performance quando il numero dianchor nodes è piuttosto alto (errore di 2 metri con 25 nodi beacon). Il Min-Maxsembrerebbe, dai loro risultati, essere l’algoritmo che offre il miglior compromesso,data l’estrema facilità computazionale e i risultati migliori rispetto alla multilatera-zione. Tuttavia è stato evidenziato che la relativa buona performance del Min-Maxè dovuta principalmente al fatto che viene stimata la posizione del nodo target alcentro dell’area ricavata, limitando perciò l’errore alla metà della massima distanzatra i due nodi più distanti nel quadrilatero considerato. Il presente lavoro di tesi,oltre a confermare le loro considerazioni ha voluto provare a spingersi oltre, e provarea trovare delle tecniche più efficienti per la localizzazione, avendo a disposizioneinoltre un numero ben inferiori di target node (nel loro lavoro potevano contare su35 nodi beacon). Alcuni dei loro risultati sono riportati in Figura 4.1, Figura 4.2 eFigura 4.3 .

In altre attività di ricerca è stato applicato l’algoritmo di Massima Verosimi-

Page 31: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

4.4. PROBLEMI ANCORA APERTI 25

glianza con incorporato un modello di propagazione radio per stimare la distanzadai valori misurati di RSSI. La posizione stimata è quella che minimizza l’erroredi multilaterazione delle distanze. Masashi Sugano [18] utilizza questo metodo perstimare la posizione di un nodo mobile in un ambiente chiuso. In questi esperimentisono stati utilizzati un elevato numero di beacon in modo da avere una densità di0,27 nodi/m2 per ottenere un’accuratezza nell’errore tra 1,5 e 2 metri.

Cho Hyunggi [14] assume la variabilità dell’indicatore RSSI essere gaussiana. Egliutilizza l’algoritmo a gradiente coniugato per trovare la posiziona con la MassimaVerosimiglianza. Esperimenti in ambiente indoor di 8 x 9 metri hanno prodotto unerrore medio di posizione di 1,6 m.

Un altro metodo per la localizzazione basata su RSSI consiste nell’effettuarequella che si definisce l’analisi della scena. Questo approccio considera l’irregolaritàdella potenza del segnale radio mediante la costruzione di una base di dati, nellaquale è assegnato ad ogni luogo un vettore contenente i valori di RSSI di tutti inodi di comunicazione di quella particolare zona. Per trovare la posizione del nodo,la banca dati cerca tra i dati salvati quelli più simili agli attuali valori di RSSI. Isistemi RADAR [22] si basano su questo approccio, e sono in grado di ottenere unerrore medio di 2 metri circa.

4.4 Problemi ancora apertiCome si può facilmente intuire, data l’importanza del tema e i possibili sviluppifuturi, l’argomento della localizzazione è stato ampiamente investigato in letteratura,tuttavia i risultati non sono ancora pienamente soddisfacenti. Considerando l’enormedifficoltà nel modellizzare il canale radio, è stato visto come sia anche molto difficile,se non impossibile, definire il miglior algoritmo in assoluto per stimare la posizionedi un nodo target. In questo lavoro si è cercato quindi certamente di dare dellerisposte e di verificare la bontà di alcuni risultati già ottenuti, ma anche di trovaredelle nuove soluzioni, delle alternative a quelle già proposte e studiate dalla comunitàscientifica.

Si è provato ad utilizzare diverse tecniche per estrapolare i valori di RSSI econvertirli in distanza, con la convinzione che con un buon ranging poi diventadi secondaria importanza l’algoritmo applicato. Si è cercato di simulare quindi lapresenza di più antenne di ricezione, e invece di utilizzare il valor medio di RSSI èstato provato ad utilizzare il valor massimo con dei risultati a volte sorprendenti.

Inoltre, un’altra cosa che ha differenziato questo lavoro rispetto ad altri giàeseguiti è stato la volontà di rispettare gli standard. Quasi certamente l’IEEE802.15.4 diventerà lo standard per la comunicazione wireless, per adesso infattisi tratta di uno standard de facto, tuttavia molti esperimenti hanno utilizzato ilprecedente (802.15.1) o altre tecnologie proprietarie.

Page 32: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

26 CAPITOLO 4. LA LOCALIZZAZIONE CON RSSI

Figura 4.1: Mappa degli errori di localizzazione (simulata)

Figura 4.2: Errori di localizzazione al crescere degli anchor nodes

Page 33: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

4.4. PROBLEMI ANCORA APERTI 27

Figura 4.3: Errori di localizzazione al crescere degli anchor nodes

Page 34: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di
Page 35: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

Capitolo 5

Il sistema realizzato

L’obiettivo del lavoro di tesi è quello di confrontare tra loro differenti tecnicheo algoritmi di localizzazione basati sull’indice RSSI. Il sistema prevede uncerto numero di nodi fissi (anchor) dislocati in differenti tipi di ambiente

(indoor e outdoor) di cui conosciamo le coordinate e un certo numero di nodi di cuisi vuole determinare, con la maggiore precisione possibile, la posizione.

5.1 I componenti

5.1.1 Scheda ArduinoI nostri nodi sono costituito dalla scheda Arduino ([3]) Diecimila (Figura 5.1).Arduino è una piattaforma hardware per il physical computing. È basata su unasemplicissima scheda di I/O e su un ambiente di sviluppo che usa una libreriaWiring per facilitare la scrittura di programmi in C e C++ a neofiti o appassionati.

La scheda Arduino è formata da un microcontroller a 8-bit AVR prodotto dallaAtmel e da altri componenti complementari in modo da facilitare l’interfacciamentoo l’incorporazione in altri circuiti.

Con Arduino è possibile interagire con l’ambiente esterno ricevendo informazionida una grande varietà di sensori con la possibilità di controllare luci, motori eattuatori di vario genere.

L’ambiente di sviluppo di Arduino, derivato dal linguaggio di programmazioneProcessing, è un’applicazione multipiattaforma scritta in Java che permette facil-mente la scrittura di codice anche a utenti neofiti. L’editor di testo incluso, oltreconsentire la compilazione e l’esecuzione del programma eseguibile, permette ulte-riori funzionalità come il syntax highlithing, l’indentazione automatica e il controllodelle parentesi.

È possibile inserire espansioni o moduli aggiuntivi alla scheda Arduino inserendodelle schede a circuito stampato (shields) negli appositi connettori. Nel nostro casoviene montato su Arduino un modulo radio XBee.

5.1.2 Modulo radio XBeeNel caso delle WSN, è evidente la necessità di comunicare senza fili e di avere quindia disposizione un protocollo di comunicazione affidabile e sicuro. I moduli radio

29

Page 36: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

30 CAPITOLO 5. IL SISTEMA REALIZZATO

Figura 5.1: Esemplare di Arduino Diecimila

XBee della Digi [6] sono conformi allo standard IEEE 802.15.4, non richiedonoalcuna particolare configurazione per funzionare e permettono uno scambio di datiaffidabile tra dispositivi diversi.

Tra le caratteristiche spiccano il bitrate (250 KBps), la distanza massima ditrasmissione (circa 40m) e il costo accessibile.

Montare un modulo radio XBee (Figura 5.2) su Arduino è semplicissimo: èsufficiente inserire i piedini di questo nello slot dedicato. Una volta posizionatoil jumper nella configurazione xbee, i dati, invece di essere inviati o ricevuti dallaporta seriale di Arduino (come sarebbe di default) vengono mandati o ricevuti dalmodulo radio.

5.2 Il sistema di raccolta datiIl lavoro di raccolta dati durante i vari esperimenti effettuati sul campo è statoimplementato nei seguenti passi:

• modellizzazione del canale radio dell’ambiente;

• dislocazione dei nodi anchor e dei nodi target;

• raccolta delle misurazione dell’indice RSSI dai vari nodi;

• processing dei dati raccolti (pulizia di eventuali errori, calcoli statistici) econversione RSSI - distanza (ranging);

• applicazione degli algoritmi di localizzazione;

• analisi dei risultati.

Page 37: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

5.2. IL SISTEMA DI RACCOLTA DATI 31

Figura 5.2: Modulo radio XBee

5.2.1 Modellizzazione del canale radioIl primo e più importante passo da svolgere è il calcolo di un modello in gradodi descriverci matematicamente il comportamento del segnale radio nel nostroambiente. L’equazione 3.3 ci permette modellizzare l’andamento dell’indice RSSIal variare della distanza a partire dalla conoscenza dei parametri A (potenza delsegnale ricevuto, in dBm, alla distanza di riferimento di un metro) e n (costantedi propagazione del segnale). I calcoli teorici spiegano che A = −40 dBm e n = 2in ambiente aperto; tuttavia queste ipotesi sono piuttosto semplicistiche poichè inrealtà questi due parametri cambiano piuttosto fortemente a seconda dell’ambientein cui operiamo.

Per calcolare i parametri corretti per il nostro ambiente di prova è stato effettuatoil seguente procedimento:

1. campionamento: vengono raccolti 25 valori di RSSI a distanze differenti,da 1 a 15 (può variare) metri.

2. pulizia dei valori: per ogni set di dati (a parità di distanza), viene calcolatala media e la deviazione standard di questo. Vengono quindi tolti gli outlier(dati anomali), quei dati cioè che si discostano dalla media di un valore piùgrande della deviazione standard.

3. calcolo della media sul nuovo set di dati.

4. interpolazione logaritmica dei valori: a partire dall’elaborazione prece-dente, si cerca di individuare quella funzione f(x) del tipo f(x) = a · log10 x+bche riesca ad approssimare meglio la 3.3. Si ottengono così i parametri A e nper il nostro modello.

Page 38: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

32 CAPITOLO 5. IL SISTEMA REALIZZATO

Il processo di modellizzazione è realizzato tramite uno script Matlab, riportato inAppendice A.1.

In Figura 5.3, Figura 5.4, Figura 5.5 e Figura 5.6 sono presentati i risultatiapprezzabili con questo script.

Figura 5.3: Valori di RSSI raccolti per ogni distanza

5.2.2 Dislocazione dei nodiUna volta calcolati i parametri per il nostro modello, è possibile passare alla secondafase. Vengono dislocati i nodi anchor in posizioni di cui noi conosciamo le coordinate.In Figura 5.7 è illustrato uno dei possibili scenari.

5.2.3 Raccolta dei dati dai nodi anchor e processing deidati

Viene caricato un semplice programma sui nodi anchor, il quale si occupa di inviarecontinuamente pacchetti verso il nodo target. Il programma è riportato in AppendiceB.

È stato scritto inoltre un programma Java che, sfruttando le librerie XBee (XBeeAPI ), ci permette di interfacciarci facilmente con la nostra scheda Arduino (il nodotarget). Questo programma estrae il valore di RSSI dal messaggio, sapendo cheil quinto byte del messaggio rappresenta proprio l’indice RSSI. Di seguito sonoriportate alcune righe di codice Java del programma implementato sul nodo target.

try {// my end devicexbee.open("/dev/ ttyUSB0 ", 115200);

int c=0;

Page 39: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

5.2. IL SISTEMA DI RACCOLTA DATI 33

Figura 5.4: Media per ogni set di dati

// leggo 25 valori per ogni distanzawhile (c <25) {

try {XBeeResponse response = xbee. getResponse ();

// Leggo il valore di RSSIrssi_value = response . getPacketBytes ()[5];c++;

} catch ( Exception e) {log.error(e);

}}

} finally {// chiudo xbeexbee.close ();

}

5.2.4 RangingUna volta collezionati i dati con i valori di RSSI dai vari nodi anchor, applichiamo unulteriore script Matlab (A.2), che ci consente, avendo ora a disposizione i parametriA ed n, applicando l’equazione 3.5, riportata per comodità di seguito

d = 10(A−RSSI10·n ),

di effettuare il ranging, ovvero di stimare la distanza tra il nodo target e ciascunnodo riferimento. Lo script si occupa, ancora una volta, di eliminare gli outliersecondo il procedimento illustrato precedentemente.

Page 40: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

34 CAPITOLO 5. IL SISTEMA REALIZZATO

Figura 5.5: Nuova media, calcolata dopo aver pulito i dati dagli outlier

5.2.5 LocalizzazioneSiamo arrivati al momento di poter applicare gli algoritmi di localizzazione e distimare finalmente la posizione del nodo target. Una volta effettuato il ranginginfatti, costruendo una matrice del tipo

data =

x1 y1 d1... ... ...xn yn dn

con le coordinate di ogni nodo anchor (xn, yn) e la distanza da ciascuno di questi

(dn), è possibile applicare gli algoritmi di localizzazione, implementati ancora unavolta con degli script Matlab. Gli algoritmi del Min-Max, del Maximum Likelihoode della Trilaterazione sono riportati in Appendice A.4.

Si è scelto, per l’elaborazione dei dati e l’applicazione degli algoritmi, di lavorarein modalità offline. In questo modo, una volta raccolti tutti i dati necessari per idiversi target, nelle diverse posizioni e nei differenti scenari, sono state applicatele elaborazioni a sistema spento in modo da velocizzare le verifiche, i risultati e iconfronti tra le tecniche di localizzazione implementate.

Page 41: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

5.2. IL SISTEMA DI RACCOLTA DATI 35

Figura 5.6: Interpolazione logaritmica dei dati. La curva descrive l’andamentodell’indice RSSI al variare della distanza

Figura 5.7: Possibile scenario: in un’area rettangolare di 24 m2 vengono posizionati3 anchor nodes e 2 nodi target

Page 42: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di
Page 43: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

Capitolo 6

Analisi dei risultati sperimentali

In fase di analisi sul campo delle tecniche di localizzazione sono stati affrontatialcuni dei problemi ancora aperti. Inizialmente si è deciso di affrontare il problemadella caratterizzazione del canale, andando studiare il miglior procedimento per

ricavare in maniera ottimale i parametri A e n della nostra equazione presa comemodello per il canale radio. Successivamente si è proceduto alla comparazione verae propria dei principali algoritmi di localizzazione con dati in ambiente indoor osemi-indoor. In particolare si è deciso di studiarne il comportamente in presenza disoli tre anchor nodes, che rappresentano il numero minimo di dispositivi per potereffettuare la Trilaterazione e che comunque sono sufficienti per poter applicare ilMin-Max e il Maximum Likelihood. Infine si è voluto verificare sperimentalmentel’impatto della diversità spaziale con antenne multiple, approccio suggerito in alcunialtri lavori e verificato sul campo ancora da un numero esiguo di ricercatori.

6.1 Caratterizzazione canalePrima di tutto è necessario modellizzare il canale radio del nostro ambiente, equindi ricavare i parametri A e n per la nostra equazione. Vengono quindi lette uncerto numero di misure dell’indice RSSI per ogni metro, da una distanza minima diun metro fino a dieci metri. Viene quindi utilizzato lo script riportato in AppendiceA.1 per calcolare il best fit e determinare, grazie ad una interpolazione logaritmica,la nostra funzione del tipo f(x) = a · log10 x+ b che lega RSSI e distanza, da cuiricavare i parametri caratteristici A e n del modello del canale. Un esempio digrafico risultate dall’elaborazione è visibile in Figura 6.1.

Si è cercato di individuare il numero minimo di letture di RSSI necessarieper stimare con sufficiente precisione il canale. Un maggior numero di lettureimplica infatti una maggior significatività del dato stesso rispetto a disturbi ma,nel contempo, richiede maggior tempo e, di conseguenza, una maggior occupazionedel canale e consumi energetici più elevati. I test effettuati hanno evidenziato comeil valor medio di RSSI misurato in una posizione non vari più dello 0,5% dopo unmassimo di 25 letture. Nel caso le distanze tra i due nodi siano inferiori ai tre metri,le letture sufficienti potrebbero essere anche meno di dieci, tuttavia, in ambienteindoor e a distanze più elevate il numero di letture minimo per avere una variazionepercentuale trascurabile sale, come ad esempio mostrato in Figura 6.2. Questi

37

Page 44: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

38 CAPITOLO 6. ANALISI DEI RISULTATI SPERIMENTALI

Figura 6.1: Valore di RSSI al variare della distanza in ambiente indoor

risultati concordano con quanto trovato in [18], dove il valore di RSSI utilizzatoper il ranging viene calcolato dalla media di dieci letture. Lo script Matlab perindividuare il numero minimo di letture è riportato in Appendice A.3.

Questo numero di campioni può pertanto essere ritenuto sufficiente per determi-nare il valore di RSSI di una comunicazione tra due nodi in una WSN da convertirein distanza.

Un’ulteriore prova di localizzazione è stata realizzata modellizzando il canale inmaniera diversa. Ci siamo chiesti quanti valori di RSSI, ottenuti a varie distanze dalnodo di riferimento, sia necessario collezionare per poter determinare empiricamenteun modello accurato del canale. Abbiamo quindi effettuato il calcolo dei parametriA e n del nostro modello con un diverso numero di campioni, raccolti posiziondandoil nodo prima ad un metro dall’anchor node, quindi a 2 metri, poi a 3 metri e cosìvia. Impiegando quindi solo un certo numero di questi campioni è stato calcolato ilmodello del canale con il semplice algoritmo descritto nella sezione 5.2.1; i risultaticosì ottenuti sono mostrati in Tabella 6.1 e in Tabella 6.2. Un resoconto più completoe dettagliato è riportato Appedice C.

Tabella 6.1: Valori di A e n determinati empiricamente

Numero di campioni2 3 4 5 6 7 8 9 10

A (dBm) -41 -41.1 -40.4 -41.3 -41.3 -41.6 -41.8 -41.8 -40.5n 1.99 1.90 2.33 1.89 1.88 1.81 1.73 1.74 2.06

Questo esperimento mostra come non siano necessari troppi campioni a variedistanze per la modellizzazione del canale: gli errori di localizzazione non decresco-no sensibilmente aumentando il numero di misurazioni. Al contrario, effettuando

Page 45: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

6.1. CARATTERIZZAZIONE CANALE 39

Figura 6.2: Variazione percentuale della media dell’indicatore RSSI

Tabella 6.2: Errore medio (in metri) nel primo scenario

Numero di target (a distanza crescente)2 3 4 5 6 7 8 9 10

Min-Max 0.67 0.67 0.71 0.67 0.67 0.67 0.67 0.67 0.67ML 2.19 2.32 1.92 2.25 2.26 2.33 2.38 2.38 2.22Trilaterazione 0.40 0.46 0.28 0.45 0.47 0.48 0.51 0.51 0.39

esclusivamente due rilevazioni a distanza rispettivamente di 1 m e 2 m dal nodo diriferimento, i valori di A e n ricavati sono molto simili a quelli teorici. Infatti, incondizione ideali (fading trascurabile, perfetto line-of-sigth, allineamento e pola-rizzazione tra le due antenne) i valori dovrebbere essere A = −40, 6 dBm e n = 2.È perciò possibile concludere che la caratterizzazione del canale in ambienti noncritici possa essere effettuata empiricamente impiegando solo due letture a distanzedifferenti, ad esempio 1 e 2 metri, e calcolando quindi i valori per interpolazione.

È stato analizzato anche un’altro aspetto legato alla densità di distribuzionedegli anchor nodes, legato alla massima distanza accettabile tra nodi target e ancore.È possibile concludere che è sconveniente avere nodi a distanza maggiore di 5 metri,poichè oltre questo valore la curva logaritmica comincia ad appiattirsi e a rendereinefficaci le conversioni in distanza, portando ad errori relativi superiori al 30%. Unresoconto di quest’analisi è mostrato in Tabella 6.3. Questo implica anche che ladisposizione di un sistema di localizzazione basato su WSN come quello studiatodovrebbe essere fatto in modo da garantire una copertura uniforme di almeno 1nodo ogni 12,5 m2, ovvero con una densità di 0,08 nodi per m2, ben maggiore del

Page 46: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

40 CAPITOLO 6. ANALISI DEI RISULTATI SPERIMENTALI

valore di 0,27 nodi per m2 suggerito in [18] per avere degli errori al di sotto dei duemetri.

Tabella 6.3: Errori di localizzazione a distanza crescente in ambiente aperto(A = −40, 29 dBm, n = 1,7981)

Distanza (m) Errore (m) Errore (%)

1 0.14 142 0.34 173 0.65 224 0.44 115 0.58 126 1.8 307 2.11 308 2.91 379 2.38 3010 0.69 711 1.59 1512 2.34 2013 4.32 3314 6.27 45

6.2 Comparazione con tre Anchor nodesIl lavoro di verifica sperimentale degli algoritmi di localizzazione è stato effettuato indue diversi tipi di ambienti: un garage, per verificare il comportamento del segnaleradio e la bontà e l’accuratezza della localizzazione in caso di ambienti indoor e nelcortile universitario, preso come modello per l’ambiente aperto. A onor del verobisogna specificare che il cortile non è un vero e proprio ambiente aperto, ma si puòconsiderare più propriamente come una grande palestra dove il soffitto è alto danon influire significativamente sulla propagazione del segnale radio; verrà chiamatoperciò, nel proseguio trattazione, ambiente semi-indoor. In ogni caso, le differenzedel segnale radio in questi due ambienti sono notevoli.

6.2.1 Scenario 1 - L’ambiente indoorApplicando gli script e le elaborazioni descritte in precedenza si è provveduto acaratterizzare il canale radio in questo primo ambiente di test: il grafico in Figura 6.3mostra l’andamento dell’indicatore di potenza al variare della distanza nel nostroambiente indoor e i parametri A e n ricavati empiricamente sono A = −59, 8368dBm, n = 1, 2059. È evidente come, in questo specifico caso, i valori di A e nsi differenziano molto da quelli teorici. Questo rappresenta la prova dell’estremaimprevedibilità del segnale radio.

A questo punto la fase di dislocazione prevede il posizionamento di tre nodi-anchor ai vertici di un triangolo nel nostro garage (area di 24 m2) come mostratoin Figura 6.4.

Page 47: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

6.2. COMPARAZIONE CON TRE ANCHOR NODES 41

Figura 6.3: Valore di RSSI al variare della distanza in ambiente indoor

Il nodo target si trova all’interno dell’area del triangolo delimitata dai 3 nodiriferimento e viene registrato il valore di RSSI nella posizione di A. Successivamenteviene ripetuto lo stesso procedimento con i nodi B e C. A questo punto, con gliscript realizzati e descritti precedentemente, questi valori vengono ripuliti. Vienecalcolato il valore medio di RSSI e convertito in distanza, utilizzando la relazionedistanza-RSSI appena ottenuta. A questo punto viene fatta la localizzazione conMin-Max, Trilaterazione e Maximum Likelihood (ML). Un’esempio di localizzazioneottenuta in questo modo è riportato in Tabella 6.4.

Tabella 6.4: Errori di localizzazione in ambiente indoor

Errore T1 (m) Errore T2 (m) Errore T3 (m)Min-Max 0.85 1.56 1.07ML 1.28 1.53 2.9Trilaterazione 0.57 1.29 1.60

Sono state quindi calcolate le posizioni dei tre nodi target per almeno otto volteed è stato quindi calcolato l’errore medio di localizzazione per l’intero scenarioconsiderato. Come riportato in Tabella 6.5, l’algoritmo che si comporta meglio èquello della Trilaterazione, con un errore medio di localizzazione di 1, 15 m. Risultatianaloghi sono stati ottenuti nel complesso con l’algoritmo del Min-Max, che presentaun errore medio di 1, 16 m ma con deviazione standard inferiore. In questo casol’algoritmo più semplice, versatile e meno pesante dal punto di vista computazionalesi comporta quindi meglio degli altri.

Page 48: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

42 CAPITOLO 6. ANALISI DEI RISULTATI SPERIMENTALI

Figura 6.4: Disposizione di anchor nodes e nodi target nello scenario 1

Tabella 6.5: Confronto tra i diversi algoritmi di localizzazione nel primo scenario

Errore medio (m) Deviazione Standard (m)Min-Max 1.16 0.33ML 1.92 1.24Trilaterazione 1.15 0.49

6.2.2 Scenario 2 - L’ambiente semi-indoorLa seconda serie di verifiche sperimentali è stata effettuata nel cortile universitario(area di 234 m2) verificando le differenze dell’ambiente aperto rispetto all’indoor. Lafase di modellizzazione ha portato ovviamente a dei diversi valori dei parametri A en della nostra equazione. La nuova relazione RSSI-distanza è mostrata in Figura 6.5e i nuovi valori ottenuti sono A = −40, 2955 dBm e n = 1, 7981 Come è facileintuire, il valore di n è leggermente diverso da quello precedente, e in ogni caso nonè pari a 2 come sarebbe suggerito in letteratura. I tre nodi-anchor e i nodi targetsono stati posizionati, in questo secondo scenario, come mostrato in Figura 6.6 eun esempio degli errori di misurazione ottenuti in questo ambiente è riportato inTabella 6.6.

Tabella 6.6: Errori di localizzazione in ambiente semi-indoor (in metri)

Errore T4 Errore T5 Errore T6Min-Max 4.98 1.72 0.94ML 8.61 6.34 17.02Trilaterazione 5.09 1.44 3.83

Page 49: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

6.3. ANTENNE MULTIPLE 43

Figura 6.5: Valore di RSSI al variare della distanza in ambiente aperto

Tabella 6.7: Confronto tra i diversi algoritmi di localizzazione nel secondo scenario

Errore medio (m) Deviazione Standard (m)Min-Max 2.55 2.14ML 10.66 5.63Trilaterazione 3.46 1.85

Sono state quindi calcolate le posizioni dei tre nodi target per almeno otto volteed è stato quindi calcolato l’errore medio di localizzazione per l’intero scenarioconsiderato; i risultati sono visibili in Tabella 6.7. L’algoritmo che si comportameglio in questo caso è il Min-Max. È facile notare che in questo caso gli errori sonopiuttosto più elevati rispetto all’ambiente precedente, questo perché le distanzein gioco sono molto più elevate e la densità di nodi disposti nel nostro scenariomolto minore. Infatti 3 nodi riferimento in un’area di 234 metri quadrati sonoeffettivamente pochissimi ma, tuttavia, i risultati sono ancora accettabili.

6.3 Antenne multipleL’ultimo aspetto analizzato ha invece riguardo la possibilità di impiegare più antenneper migliorare l’accuratezza del valore di RSSI letto, così come suggerito in [24].

Si è proceduto quindi a ripetere i test effettuati in 6.2.2 impiegando alternativa-mente due antenne distanti tra loro 10 cm circa (nell’ordine della lunghezza d’ondautilizzata per trasmettere) ed è stato utilizzato il valore massimo di RSSI ricevuto.Questa scelta è motivata dal fatto che, in linea di principio, il valore massimo diRSSI rappresenta il miglior segnale ricevuto dal nodo, quello cioè che ha subitomeno rifrazioni, riflessioni e altri fenomeni di attenuazione. In ambiente indoor

Page 50: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

44 CAPITOLO 6. ANALISI DEI RISULTATI SPERIMENTALI

Figura 6.6: Disposizione di anchor nodes e nodi target nello scenario 2

questa tecnica non è propriamente corretta poichè, come studiato in [11], è piùaccentuato il fenomeno del multipath, che introduce interferenze sia costruttiveche distruttive tra i percorsi di diversi segnali causando un incremento del fadingdel segnale. È più corretto quindi, utilizzare il valore medio. In ambiente esterno,invece, questa sceltà è percorribile dal momento che è minore l’effetto di multipath,ed è perciò meno forte la presenza di queste interferenze.

I risultati sono presentati in Tabella 6.8 e in Tabella 6.9.

Tabella 6.8: Errori di localizzazione in ambiente semi-indoor (2 antenne)

Errore T4 Errore T5 Errore T6Min-Max 2.12 1.61 0.4ML 1.13 4.91 9.97Trilaterazione 2.08 1.3 2.1

Come si può vedere dalla Tabella 6.9, la localizzazione effettuata con il secondometodo è molto più efficiente: in tutti i casi si ha una riduzione dell’errore dilocalizzazione del 20% circa, e in alcuni casi singoli l’errore viene più che dimezzato.

Page 51: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

6.4. COSTO COMPUTAZIONALE DEGLI ALGORITMI 45

Tabella 6.9: Confronto tra i diversi algoritmi di localizzazione

Errore medio (1 antenna) Errore medio (2 antenne)Min-Max 2.55 1.96ML 10.66 8.0Trilaterazione 3.46 2.64

6.4 Costo computazionale degli algoritmiIn ultima analisi è stata effettuata una comparazione del costo computazionale,ovvero è stato studiata qualitativamente la quantità di risorse di calcolo necessarieal computer per effettuare la localizzazione. Confrontare il costo computazionaledi algoritmi che risolvono lo stesso problema è utile perchè permette di sceglierel’algoritmo più efficiente. Per fare ciò è stata stilata una tabella con tutte leoperazioni effettuate dai diversi algoritmi.

Il risultato è riportato in Tabella 6.10.

Tabella 6.10: Complessità computazionale degli algoritmi di localizzazione

Operazione Min-Max ML TrilaterazioneLettura in memoria 4 ∗ n 6 ∗ n 6Somme/Differenze 2 ∗ (2 ∗ n+ 1) 2 ∗ (5 ∗ n+ 1) 120Moltiplicazioni 0 22 + 4 ∗ n 63Divisioni 2 1 24Radici 0 0 6

Nella tabella n è il numero di anchor-node. È subito evidente che l’algoritmo delMin-Max è molto semplice e richiede poche risorse per la localizzazione, mentre ilML, con il crescere del numero di beacon diventa molto pesante. L’algoritmo dellaTrilaterazione, invece, è indipendente dal numero di nodi (devono essere semprechiaramente tre).

Page 52: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di
Page 53: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

Capitolo 7

Conclusioni

L’indice RSSI, come dice l’acronimo, non è la potenza reale ricevuta dall’an-tenna del nodo ricevente, ma un’indice di questa. L’indice viene calcolatoinfatti basandosi sul numero di errori di trasmissione rilevati nel pacchetto

appena ricevuto, in quanto è giusto aspettarsi un numero di errori più elevato perpotenze più basse.

Le prove effettuate hanno confermato come sia estremamente complesso costruireun modello che caratterizzi al meglio il canale radio dell’ambiente in cui si va arealizzare la rete wireless. Troppe sono infatti le variabili in gioco che possono portarea cambiare significativamente il comportamento del sistema. Tra queste variabili,di cui bisogna tenere necessariamente conto, ci sono riflessioni del segnale radio,rifrazioni, multipath e altri disturbi come oggetti in movimento. Di conseguenzal’indice RSSI non è sicuramente il metodo migliore per effettuare la localizzazione.

Tuttavia, con degli accorgimenti e con una buona modellizzazione, abbiamovisto che si possono ottenere discreti risultati, tenendo conto anche dell’estremaeconomicità di un sistema come il nostro.

Dalle verifiche sperimentali è emerso anche che, per una buona localizzazione,non sono necessari algoritmi troppo complessi. L’algoritmo del Min-Max e dellaTrilaterazione, estremamente semplici dal punto di vista logico e computazionale, sisono dimostrati i più accurati e i più precisi.

L’algoritmo della Massima Verosimiglianza si è dimostrato il peggiore, come ciaspettavamo. Per i principi su cui si basa, questo algoritmo per ben funzionare habisogno di un numero elevato di anchor nodes, tende infatti a minimizzare l’errorequadratico medio quando il numero degli anchor cresce all’infinito. Per questomotivo, dato che nelle ipotesi più realistiche il numero di beacon è molto limitato,le performance di questa tecnica possono essere insoddisfacenti.

Il fatto di utilizzare più antenne in ricezione per compensare eventuali disturbirappresenta una soluzione molto efficace per aumentare la qualità e l’efficienzadella localizzazione, tenuto conto infatti del costo ridotto dell’implementazione diulteriori antenne.

In ambiente outdoor abbiamo visto che il metodo ideale per fare la localizzazioneè considerare il valore massimo di RSSI ricevuto piuttosto che il valore medio. Questoperchè i fenomeni di riflessione e rifrazione sono minori rispetto all’ambiente indoor eil valore massimo di RSSI quindi rappresenta proprio il segnale migliore proveniente

47

Page 54: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

48 CAPITOLO 7. CONCLUSIONI

da quell’antenna. Utilizzando questo valore per effettuare il ranging gli errori dilocalizzazione si riducono e l’efficienza aumenta.

Infine, per otterenere dei buoni risultati basandosi sull’indicatore RSSI è sconsi-gliabile avere scenari molto ampi con pochi nodi beacon. È stata calcolata quindila densità nodi per metro quadro minima per avere una buona accuratezza e perevitare che nella fase di ranging vengano introdotti errori grandi e difficilmentecompensabili o eliminabili che porterebbero a dei risultati totalmente insoffisfacenti.

Nel complesso, nonostante la debolezza intrinseca dell’indice RSSI, si puòcomunque affermare che il sistema realizzato si comporti bene, ottenendo dellebuone localizzazioni con degli errori di circa 1 metro in ambiente indoor e 2-2,5 min ambienti outdoor con gli algoritmi di Min-Max e Trilaterazione.

In futuro, il primo miglioramento da apportare potrebbe essere l’implementazionediretta degli algoritmi di localizzazione nei sensori target. Allo stato attuale, è unelaboratore centrale che, dopo aver raccolto tutti i dati necessari, stima le posizionidei nodi, e poi eventualmente invia i risultati a questi. Con l’implementazionediretta degli script nei nodi, questi riuscirebbero automaticamente a stimare la loroposizione.

Un ulteriore miglioramento potrebbe essere quello di realizzare un procedimentodi calibratura automatica per quanto riguarda il calcolo dei parametri A e n,in modo da velocizzare la fase di caratterizzazione del canale ogni qualvolta sipresenti la necessità di operare in un nuovo ambiente. Una procedura di questogenere dovrebbe richiedere all’utente di porre a varie distanze note un dato nodomobile rispetto ad un nodo riferimento, posizionato nell’ambiente per cui si voglionocalcolare i parametri ambientali. I parametri A e n, caratteristici del canale, sipossono quindi ricavare provando ad interpolare una funzione di tipo logaritmicoutilizzando i valori di RSSI misurati.

Page 55: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

Appendice A

Script Matlab

A.1 Modello del canale

function [A, n] = scriptMat ()% lo script calcola i parametri A e n per il mio modello

% carico il file con tutti i valori di RSSIclear allpar = load (’nome_file ’);

% metto nella matrice data tutti i valori di RSSI% (tolgo la prima colonna)% secondo il mio formato salvo venti valori per riga ,% la prima colonna e’ la distanzan_col = 21;data = par (:, 2: n_col );

% vengono collezionati 100 campioni , quindi in 5 righen_righe = 5;

% metto nel vettore dist tutte le distanzeriga1 = par (:, 1)’;n_distance = length (riga1) / n_righe ;for i = 1: n_distance

dist(i) = riga1 (i* n_righe );end

% calcolo media e dev. standard per ogni mio set di datifor i = 1: n_distance% carico i valori che mi interessano

value = data (((i -1)* n_righe +1:i* n_righe ) ,:);% metto a posto per poter fare le operazioni seguenti

v(i, :) = [value (1,:), value (2,:), value (3,:),value (4,:), value (5 ,:)];

media(i) = mean (v(i ,:));st_dev(i) = std (v(i ,:));

% pulisco errorilungh = length(v);c = 1;

49

Page 56: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

50 APPENDICE A. SCRIPT MATLAB

for j = 1: lunghif ( v(j) - media(i) < 2* st_dev(i) )

clear_data (c) = v(j);c = c+1 ;

endend

media2(i) = mean ( clear_data );st_dev2 (i) = std ( clear_data );

clear clear_data ;

end

% stampo i risultatifigure (1)title(’Values ’);hold on;ylabel(’RSSI_Values ’);xlabel(’Distance_ (m)’);plot(dist , v, ’o’);hold off;

figure (2)title(’Media ’);hold on;ylabel(’RSSI_Values ’);xlabel(’Distance_ (m)’);plot (dist , media , ’o’);hold off;

figure (3)title(’Clean_Data ’);hold on;ylabel(’RSSI_Values ’);xlabel(’Distance_ (m)’);plot (dist , media2 , ’o’);hold off;

figure (4)title(’BOX_PLOT ’);hold on;ylabel(’RSSI_Values ’);xlabel(’Vector_ (n)’);boxplot (v);hold off;

% trasformo le distanzelogdist = log10(dist );% applico un modello di interpolazione logaritmica% il mio modello di interpolazione e’ y = a +logx% cerco una retta di primo gradofit = polyfit (logdist , media2 , 1);% trovo i miei valori A e nn = - (fit (1)/10) ;A = fit (2);% plotto la funzione RSSI/distanzaf = inline (’ -10*n*log10(x)+A’);

Page 57: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

A.2. SCRIPT PER EFFETTUARE IL RANGING 51

x = linspace (0 ,15 ,200);f1 = f(A,n,x);figure (4)plot (x, f1);hold on;ylabel(’RSSI ’);xlabel(’Distance_ (m)’);plot (dist , media2 , ’ro’);grid on;hold off;

% trovo errorifor i=1: n_distance

error(i) = f(A,n,dist(i)) - media2(i);error(i) = abs(error(i));

endfigure (5)title(’ERROR_[dBm]’);hold on;bar (dist , error );ylabel(’RSSI ’);xlabel(’Distance_ (m)’);hold off;

A.2 Script per effettuare il ranging

% script per il calcolo della distanza dato il valore% RSSI settare i parametri A e n adeguati

function [distA , distB , distC] = distance (A, n)

parA = load (’NodoA ’);parB = load (’NodoB ’);parC = load (’NodoC ’);n_col = 21;dataA = parA (:, 2: n_col );dataB = parB (:, 2: n_col );dataC = parC (:, 2: n_col );

vA(1, :) = [dataA (1,:), dataA (2,:), dataA (3,:),dataA (4,:), dataA (5 ,:)];

vB(1, :) = [dataB (1,:), dataB (2,:), dataB (3,:),dataB (4,:), dataB (5 ,:)];

vC(1, :) = [dataC (1,:), dataC (2,:), dataC (3,:),dataC (4,:), dataC (5 ,:)];

mediaA = mean (vA (1 ,:));st_devA = std (vA (1 ,:));mediaB = mean (vB (1 ,:));st_devB = std (vB (1 ,:));mediaC = mean (vC (1 ,:));st_devC = std (vC (1 ,:));

lungh = length(vA);

Page 58: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

52 APPENDICE A. SCRIPT MATLAB

c = 1;for j = 1: lungh

if ( vA(j) - mediaA <= 2* st_devA )clear_dataA (c) = vA(j);c = c+1 ;

endendmedia2A = mean ( clear_dataA );st_dev2A = std ( clear_dataA );

distA = 10^((A- media2A )/(10*n));

c = 1;for j = 1: lungh

if ( vB(j) - mediaB <= 2* st_devB )clear_dataB (c) = vB(j);c = c+1 ;

endendmedia2B = mean ( clear_dataB );st_dev2B = std ( clear_dataB );

distB = 10^((A- media2B )/(10*n));

c = 1;for j = 1: lungh

if ( vC(j) - mediaC <= 2* st_devC )clear_dataC (c) = vC(j);c = c+1 ;

endendmedia2C = mean ( clear_dataC );st_dev2C = std ( clear_dataC );

distC = 10^((A- media2C )/(10*n));

A.3 Script per individuare il numero minimo diletture di RSSI

function [n] = min_read ()

% carico il file con tutti i valori di RSSIclear allpar = load (’CortileCanaleAll ’);

% metto nella matrice data tutti i valori di RSSI% (tolgo la prima colonna)% secondo il mio formato salvo venti valori per riga ,% la prima colonna e’ la distanzan_col = 21;data = par (1:5 , 2: n_col );

v = [data (1,:), data (2,:), data (3,:), data (4,:), data (5 ,:)];c=1;

for i=1:100

Page 59: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

A.4. ALGORITMI DI LOCALIZZAZIONE 53

clear vettore ;vettore = v(1:i);media(i) = mean( vettore );dev_st(i)=std( vettore );if (i~=1)

variaz_perc (c)=abs (100 -(( media(i )*100)/ media(i -1)))num2(c) = (i);c=c+1;

endend

for i=1:100num(i) = (i);

end

figure (1)title(’Values ’);hold on;ylabel(’Variazione_percentuale ’);xlabel(’# Campioni ’);plot(num2 , variaz_perc , ’o’);grid on;hold off;

A.4 Algoritmi di localizzazione

A.4.1 Min-Max

function [xminmax , yminmax ] = minmax (data)% struttura DATA% [x1, y1, d1; x2, y2, d2, ...; xn, yn, dn]

% tengo tutte le righe della prima colonna (x)X = data (: ,1);

% tengo tutte le righe della seconda colonna (y)Y = data (: ,2);

% tengo tutte le righe della terza colonna (distance)D = data (: ,3);

lungh = length(X);

% costruisco i vari quadratifor i=1: lungh

[Q(i ,:)] = [X(i)-D(i),Y(i)-D(i),X(i)+D(i),Y(i)+D(i)];end

% quadrato dove si trova il nodo stimato[Qf] = [max(Q(: ,1)) , max(Q(: ,2)) , min(Q(: ,3)) , min(Q(: ,4))];

% calcolo il baricentro dell ’ultimo quadrato per avere le% coordinate stimate della posizione del nodoxminmax = (Qf (1)+ Qf (3)) / 2;yminmax = (Qf (2)+ Qf (4)) / 2;

Page 60: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

54 APPENDICE A. SCRIPT MATLAB

A.4.2 Maximum Likelihood% script per la localizzazione con l’algoritmo della% Massima Verosomiglianza

% formato data = [x1, y1, d1; x2, y2, d2; x3, y3, d3]function [xML , yML] = ML (data)

% tengo tutte le righe della prima colonna (x)X = data (: ,1);% tengo tutte le righe della seconda colonna (y)Y = data (: ,2);% tengo tutte le righe della terza colonna (data)D = data (: ,3);

lungh = length (X);

% inizializzazioniXp = zeros (lungh -1, 2);Yp = zeros (lungh -1, 1);b = zeros (2, 1);

% costruisco le varie matrici per applicare l’algoritmo% di Massima Verosomiglianza , che minimizza l’errore% quadratico mediofor i=1:( lungh -1)

% prima riga prima colonnaXp(i ,1) = 2*(X(lungh) - X(i));Xp(i ,2) = 2*(Y(lungh) - Y(i));Yp(i ,1) = -(X(i)^2) -(Y(i)^2) -(D(i)^2) -

(-(X(lungh )^2) -(Y(lungh )^2) -(D(lungh )^2));end

% trovo soluzioni% b contiene le coordinate stimate Xf e Yf del nodob = ((Xp ’ * Xp )^( -1))*Xp ’*Yp;

xML = b(1);yML = b(2);

A.4.3 Trilaterazione% script per la localizzazione con l’algoritmo% della Trilaterazione

% formato data = [x1, y1, d1; x2, y2, d2; x3, y3, d3]

function [x, y] = trilat (data)

%data = [1, 1, 6; 8, 3, 7;5, 8, 7; ];

% tengo tutte le righe della prima colonna (x)X = data (: ,1);% tengo tutte le righe della seconda colonna (y)Y = data (: ,2);% tengo tutte le righe della terza colonna (data)D = data (: ,3);

Page 61: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

A.4. ALGORITMI DI LOCALIZZAZIONE 55

% se i due cerchi si incrocianoif (sqrt ((X(1)-X (2))^2+( Y(1)-Y(2))^2) <(D(1)+D(2)))

a1 = -2*X(1);b1 = -2*Y(1);c1 = X(1)^2 + Y(1)^2 - D(1)^2 ;

a2 = -2*X(2);b2 = -2*Y(2);c2 = X(2)^2 + Y(2)^2 - D(2)^2 ;

if (a1 ~= a2 )

Yp =[1+(b2 -b1 )^2/(a1 -a2 )^2 ,2*(b2 -b1 )*(c2 -c1)/(a1 -a2 )^2+ a1*(b2 -b1 )/(a1 -a2)+b1 ,c1+a1*(c2 -c1 )/(a1 -a2 )+(c2 -c1 )^2/(a1 -a2 )^2];

Ysol = roots (Yp);Xsol = (c2 -c1 )/(a1 -a2) + (b2 -b1)* Ysol /(a1 -a2);

if ( Xsol (1)== Xsol (2) && Ysol (1)== Ysol (2))x = Xsol (1);y = Ysol (1);

else% distanza nodo stimato dal terzo anchord1=sqrt (( Xsol (1)-X (3))^2+( Ysol (1)-Y (3))^2);d2=sqrt (( Xsol (2)-X (3))^2+( Ysol (2)-Y (3))^2);if ( (d1 -D(3)) < (d2 - D(3)) )

x = Xsol (1);y = Ysol (1);

elsex = Xsol (2);y = Ysol (2);

endend

else

Xp =[1+(a2 -a1 )^2/(b1 -b2 )^2 ,2*(a2 -a1 )*(c2 -c1)/(b1 -b2 )^2+ b1*(a2 -a1 )/(b1 -b2)+a1 ,c1+b1*(c2 -c1 )/(b1 -b2 )+(c2 -c1 )^2/(b1 -b2 )^2];

Xsol = roots (Xp);Ysol = (c2 -c1 )/(b1 -b2) + (a2 -a1)* Xsol /(b1 -b2);

if ( Xsol (1)== Xsol (2) && Ysol (1)== Ysol (2))x = Xsol (1);y = Ysol (1);

else% distanza nodo stimato dal terzo anchord1=sqrt (( Xsol (1)-X (3))^2+( Ysol (1)-Y (3))^2);d2=sqrt (( Xsol (2)-X (3))^2+( Ysol (2)-Y (3))^2);if ( (d1 -D(3)) < (d2 - D(3)) )

x = Xsol (1);y = Ysol (1);

elsex = Xsol (2);

Page 62: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

56 APPENDICE A. SCRIPT MATLAB

y = Ysol (2);end

end

end

% altrimenti , se i due cerchi non si incrocianoelse

alfa =( sqrt ((X(1)-X (2))^2+( Y(1)-Y(2))^2) -(D(1)+D (2)))/( D(1)+D(2));

% nuovi raggiD(1) = D(1)*(1 + alfa );D(2) = D(2)*(1 + alfa );

a1 = -2*X(1);b1 = -2*Y(1);c1 = X(1)^2 + Y(1)^2 - D(1)^2 ;

a2 = -2*X(2);b2 = -2*Y(2);c2 = X(2)^2 + Y(2)^2 - D(2)^2 ;

if (a1 ~= a2 )

Yp =[1+(b2 -b1 )^2/(a1 -a2 )^2 ,2*(b2 -b1 )*(c2 -c1)/(a1 -a2 )^2+ a1*(b2 -b1 )/(a1 -a2)+b1 ,c1+a1*(c2 -c1 )/(a1 -a2 )+(c2 -c1 )^2/(a1 -a2 )^2];

Ysol = roots (Yp);Xsol = (c2 -c1 )/(a1 -a2) + (b2 -b1)* Ysol /(a1 -a2);

if ( Xsol (1)== Xsol (2) && Ysol (1)== Ysol (2))x = Xsol (1);y = Ysol (1);

else% distanza nodo stimato dal terzo anchord1=sqrt (( Xsol (1)-X (3))^2+( Ysol (1)-Y (3))^2);d2=sqrt (( Xsol (2)-X (3))^2+( Ysol (2)-Y (3))^2);if ( (d1 -D(3)) < (d2 - D(3)) )

x = Xsol (1);y = Ysol (1);

elsex = Xsol (2);y = Ysol (2);

endend

else

Xp =[1+(a2 -a1 )^2/(b1 -b2 )^2 ,2*(a2 -a1 )*(c2 -c1)/(b1 -b2 )^2+ b1*(a2 -a1 )/(b1 -b2)+a1 ,c1+b1*(c2 -c1 )/(b1 -b2 )+(c2 -c1 )^2/(b1 -b2 )^2];

Xsol = roots (Xp);Ysol = (c2 -c1 )/(b1 -b2) + (a2 -a1)* Xsol /(b1 -b2);

if ( Xsol (1)== Xsol (2) && Ysol (1)== Ysol (2))x = Xsol (1);y = Ysol (1);

Page 63: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

A.4. ALGORITMI DI LOCALIZZAZIONE 57

else% distanza nodo stimato dal terzo anchord1=sqrt (( Xsol (1)-X (3))^2+( Ysol (1)-Y (3))^2);d2=sqrt (( Xsol (2)-X (3))^2+( Ysol (2)-Y (3))^2);if ( (d1 -D(3)) < (d2 - D(3)) )

x = Xsol (1);y = Ysol (1);

elsex = Xsol (2);y = Ysol (2);

endend

end

end

Page 64: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di
Page 65: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

Appendice B

Codice sorgente per Arduino

int ledPin = 13; // LED connected to pin 13

void setup (){

Serial.begin (115200); // 115200 = standard rate XBee

pinMode (ledPin , OUTPUT ); // sets the pin as output

// wait for the long string to be sentdelay (100);

}

void loop (){

digitalWrite (ledPin , HIGH ); // sets the LED onSerial.print (0x7E , BYTE );Serial.print (0x00 , BYTE );Serial.print (0x0A , BYTE );Serial.print (0x01 , BYTE );Serial.print (0x01 , BYTE );Serial.print (0x50 , BYTE );Serial.print (0x01 , BYTE );Serial.print (0x00 , BYTE );Serial.print (0x48 , BYTE );Serial.print (0x65 , BYTE );Serial.print (0x6C , BYTE );Serial.print (0x6C , BYTE );Serial.print (0x6F , BYTE );Serial.print (0xB8 , BYTE );digitalWrite (ledPin , LOW ); // sets the LED off

delay (100); // allow some time for the data to be sent}

59

Page 66: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di
Page 67: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

Appendice C

Tabelle Risultati

Figura C.1: Tabella riassuntiva dei risultati di localizzazione in ambiente indoorcon numero crescente di campioni (1/3)

61

Page 68: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

62 APPENDICE C. TABELLE RISULTATI

Figura C.2: Tabella riassuntiva dei risultati di localizzazione in ambiente indoorcon numero crescente di campioni (2/3)

Page 69: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

63

Figura C.3: Tabella riassuntiva dei risultati di localizzazione in ambiente indoorcon numero crescente di campioni (3/3)

Page 70: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di
Page 71: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

Bibliografia

[1] Alert System Web Site. http://alert.dot.pima.gov.

[2] Applicazioni per le wsn. http://it.wikipedia.org/wiki/Wireless_Sensor_Network.

[3] Arduino. http://www.arduino.cc.

[4] Bluetooth special interest group site (includes specifications). https://www.bluetooth.org.

[5] IEEE standard 802.15.4-2003. http://standards.ieee.org/getieee802/download/802.15.4-2003.pdf.

[6] XBee Datasheet. http://www.rev-ed.co.uk/docs/XBE001.pdf.

[7] Zigbee. http://www.zigbee.org.

[8] M. Srivastava A. Savvides, H. Park. The bits and flops of the n-hop multi-lateration primitive for node localization problems. IEEE Sensors Journal,7:557–561, September 2002.

[9] Q. Lindsey A. Savvides, D. Lymberopoulos. An Empirical Characterizationof Radio Signal Strenght Variability in 3-D IEEE 802.15.4 Networks UsingMonopole Antennas. Proc. of the third Workshop on European Wireless SensorNetworks (EWSN 2006), 2006.

[10] Marco Beltrame. Sviluppo di una rete wireless di sensori per il monitoraggiodi strutture in tempo reale. 2008.

[11] Gianluca Mazzini Andrea Conti Davide Dardari, Roberto Verrone. WirelessSensor And Actuator Networks. 2008.

[12] Andrea Zanella Michele Zorzi Giovanni Zanca, Francesco Zorzi. Experimentalcomparison of RSSI-based localization algorithms for indoor wireless sensornetworks. 2008.

[13] Sema Oktug Gulnur Selda Kuruoglu, Melike Erol. Localization in WirelessSensor Networks with Range Measurement Errors. 2009.

[14] J. Park B. Park H. Kim H. Cho, M. Kang. Performance Analysis of LocationEstimation Algorithm in ZigBee Networks Using Received Signal Strength,volume 2. 2007.

65

Page 72: Confrontoditecnichedi localizzazioneperleWSNbasate suRSSInetlab-mn.unipv.it/thesis/BSc/Risi_Thesis.pdf · UniversitàdegliStudidiPavia FacoltàdiIngegneria SedediMantova Corso di

66 BIBLIOGRAFIA

[15] IEEE Computer Society. IEEE Standard 802.15.4-2006, September 2006.

[16] S.M. Kay. Fundamentals of Statistical Signal Processing: Estimation Theory.Prentice Hall, 1993.

[17] K. Langendoen and N. Reijers. Distributed localization in wireless sensornetworks: a quantitative comparison, volume 43. Comput. Networks, 2003.

[18] Y. Ohta M. Murata M. Sugano, T. Kawazoe. Indoor Localization System usingRSSI Measurement of Wireless Sensor Network based on ZigBee Standard.,volume 7. 2006.

[19] Miloš Drutarovsky Michal Varchola. Zigbee Based Home Automation WirelessSensor Network, volume 7. Acta Electrotechnica et Informatica, 2007.

[20] R. O’Dea N. Patwari and Y. Wang. Relative location in wireless networks.Proc. IEEE Veh. Tech. Conf. (VTC), 2001.

[21] X. Nguyen and T. Rattentbury. Localization algorithms for sensor networksusing RF signal strength. May 2003.

[22] V. N. Padmanabhan P. Bahl and A. Balachandran. Enhancements to the radaruser location and tracking system. 2000.

[23] H. Cha S. Yang. An Empirical Study of Antenna Characteristic Toward RF-Based Localization for IEEE 802.15.4 Sensor Nodes. Lecture notes in computerscience, 2007.

[24] Daisuke Anzai Shinsuke Hara. Comparison of Three Estimation Methods forRSSI-Based Localization with Multiple Transmit Antennas. 2007.