Aggregazione e fusione di dati per la gestione energetica in reti di...

123
Corso di Progettazione dei sistemi di controllo Docente Prof. Luca Schenato Aggregazione e fusione di dati per la gestione energetica in reti di sensori wireless in applicazioni di stima Alessandro Agnoli 546997 - IAM, Pierdomenico D’Errico 566895 - IAM, Andrea Pegoraro 547343 - IAM 11 luglio 2007 1

Transcript of Aggregazione e fusione di dati per la gestione energetica in reti di...

Page 1: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

Corso di Progettazione dei sistemi di controllo

Docente Prof. Luca Schenato

Aggregazione e fusione di dati per lagestione energetica in reti di sensori

wireless in applicazioni di stima

Alessandro Agnoli 546997 - IAM,Pierdomenico D’Errico 566895 - IAM,

Andrea Pegoraro 547343 - IAM

11 luglio 2007

1

Page 2: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

Sommario

I recenti progressi tecnologici dell’elettronica a bassa potenza hanno resopossibile la produzione in massa, a costi relativamente ridotti, di piccoli nodidotati di capacita di misura, calcolo e comunicazione via radio. Queste reti disensori wireless possono essere applicate efficacemente alla stima di grandezzedistribuite su regioni anche relativamente vaste, implementando un approcciomulti-hop; tuttavia in numerose applicazioni non e necessario disporre dellastima dello stato del processo osservato in ogni singolo nodo, ma e sufficientepoterla calcolare ad un nodo particolare, detto unita centrale.

Ogni nodo ha risorse limitate, in termini di energia, capacita computazionalee memoria: di qui l’esigenza di soluzioni hardware e software altamente effici-enti. L’operazione che, fra tutte, determina tipicamente il maggiore consumoenergetico e la comunicazione tra i nodi. Esiste in letteratura una nutri-ta classe di soluzioni al problema, fondata essenzialmente sull’instaurazionenella rete di una architettura che consenta di aggregare i dati in un singo-lo pacchetto, via via che questi vengono instradati verso la radice. Questafamiglia di soluzioni sara detta nell’articolo metodo I.

Nelle applicazioni di stima quest’approccio puo non essere efficiente, perchel’eventuale ridondanza dell’informazione non viene rilevata ne dunque soppres-sa. Nell’ipotesi di disporre di un modello (lineare) del processo osservato epossibile adottare tecniche di fusione dell’informazione trasmessa per ridurreulteriormente il traffico in rete.

Nell’articolo vengono proposte tre tecniche di fusione: il metodo II, piuintuitivo, fonde le misure considerandone la media pesata (si vedra essereun approccio ottimo sotto condizioni abbastanza restrittive); il metodo III sibasa sulla riscrittura del filtro di Kalman in forma d’informazione; il meto-do IV, infine, fonde le stime calcolate localmente da ciascun nodo combi-nandole linearmente in maniera opportuna, per ottenere a livello dell’unitacentrale un’approssimazione della stima ottima globale. Tutti i quattro ap-procci sono presentati, analizzati e confrontati al simulatore nel caso generaledi comunicazioni afflitte sia da ritardi, sia da perdite di pacchetti, al variaredell’architettura e delle dimensioni della rete.

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

2

Page 3: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

1 Introduzione

1 Introduzione

I recenti progressi tecnologici dell’elettronica a bassa potenza hanno reso possibile laproduzione in massa, a costi relativamente ridotti, di piccoli nodi dotati di capacitadi misura, calcolo e comunicazione via radio. Cio ha posto le reti di sensori wirelessall’attenzione di molti studi negli ultimi anni. Per facilitare la loro disposizione, isensori dovrebbero essere poco costosi, piccoli e avere un tempo di vita lungo, ilche richiede lo sviluppo di soluzioni hardware e software molto efficienti. Per questaragione, i protocolli per le reti di sensori wireless dovrebbero essere progettati inmodo da fare un uso il piu efficiente possibile delle risorse limitate, in termini dienergia, capacita computazionale e memoria.

In questo articolo ci si concentra su un aspetto importante per le reti di sensoriwireless: l’aggregazione e la gestione dei dati in rete. Il principio di base e con-traccambiare comunicazione con complessita computazionale: l’esecuzione locale dicalcoli, infatti, consuma una quantita di energia significativamente inferiore rispet-to alla comunicazione. Le tecniche di aggregazione sono intimamente legate sia allemodalita di acquisizione dei dati da parte dei sensori, sia al metodo di instradamentodei pacchetti lungo la rete e influenzano, oltre che il consumo energetico, l’efficienzaglobale della rete, ad esempio, riducendo il numero delle trasmissioni o la lunghezzadei pacchetti trasmessi.

Si puo pertanto definire l’aggregazione in rete come il processo globale di ac-quisizione ed instradamento dell’informazione attraverso una rete multi-hop, cheprevede l’elaborazione dei dati ai nodi intermedi con lo scopo di ridurre il con-sumo di risorse (energia in particolare), aumentando quindi il tempo di vita dellarete. La riduzione della dimensione dei dati trasmessi non deve tuttavia ridurrel’informazione sul processo osservato.

2 Stato dell’arte

In letteratura il problema dell’aggregazione di dati in rete e stato largamente dis-cusso e affrontato sotto ipotesi molto diverse. Si possono classificare le tecniche diaggregazione in due gruppi basilari [11]:

1. Tecniche di aggregazione dei dati in rete senza riduzione della dimensione: idati provenienti da sorgenti differenti vengono fusi in un unico pacchetto sen-za (quasi) alcuna elaborazione; i singoli dati originali sono ancora ricostruibilidopo la fusione. L’idea di base e la seguente: ciascun pacchetto e dotatodi header, che includono l’indirizzo del destinatario, sequenze di controllo, disincronizzazione degli orologi, campi indicanti il tipo e la lunghezza dei datiinviati, campi riservati e codici di rilevamento e correzione degli errori. Questi

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

3

Page 4: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

2 Stato dell’arte

header sono necessari per la comunicazione ma non portano alcuna infor-mazione sul fenomeno osservato. Poiche tipicamente i controllori, destinataridell’informazione, sono in numero nettamente inferiore rispetto ai sensori, lafusione in un unico pacchetto dei dati generati periodicamente puo consentireun notevole incremento dell’efficienza della trasmissione, come mostrato in [14]e [17].

Il vantaggio di queste tecniche e la possibilita di fondere dati relativi a grandezzefisiche completamente scorrelate o, addirittura, non commensurabili, comead esempio temperatura ed umidita. Non viene qui posta alcuna ipotesi sulprocesso osservato (application unawareness).

2. Tecniche di aggregazione dei dati in rete con riduzione della dimensione: ilprocedimento di fusione prevede l’elaborazione dei dati provenienti da sensoridistinti. Cio che si trasmette e il risultato di tale elaborazione, e non i datioriginari, che non sono piu ricostruibili dopo la fusione. Un esempio: se duesensori inviano delle misure di temperatura di uno stesso ambiente ad un nodo,questo puo calcolarne e trasmetterne la media, anziche i singoli dati originari.

L’efficienza di questi algoritmi dipende in maniera cruciale dalla correlazionetra i dati generati dalle varie sorgenti di informazione (sensori). La correlazionepuo essere spaziale, quando dati prodotti da sensori vicini sono correlati, tem-porale, quando le letture variano nel tempo lentamente rispetto alla frequenzadi trasmissione dei sensori, oppure semantica, quando il contenuto di pacchet-ti distinti puo essere raggruppato in un unico gruppo semantico (ad esempio,in un edificio, i dati generati dai sensori di umidita, quelli di temperatura,ecc.). Queste tecniche presuppongono la disponibilita a priori di informazionesul processo osservato (application awareness), ma consentono, in cambio, diraggiungere livelli di efficienza superiori a quelli ottenibili con i metodi dellaclasse precedente.

Spesso le espressioni aggregazione di dati e fusione di dati sono utilizzate comesinonimi. Nel seguito invece si converra di utilizzare il termine aggregazione conriferimento alle tecniche della prima classe e fusione in relazione a quelle dellaseconda.

La maggior parte delle tecniche di fusione di dati in reti di sensori wirelessdisponibili attualmente, ad eccezione della codifica di sorgenti distribuite, si fondanosu euristici e non su un’analisi matematica della correlazione tra i dati [11]. D’altrocanto esiste una nutrita letteratura sulla stima, per lo piu basata sul filtro di Kalman,nel caso di molti sensori, ma spesso vengono trascurate le problematiche relative airitardi e alle perdite di pacchetto che affliggono le reti wireless. Tipicamente questofilone di letteratura prende in considerazione tre architetture alternative [29]:

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

4

Page 5: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

3 Definizione del problema

1. Centralizzata. In un paradigma centralizzato tutti i dati raccolti dai sensorivengono inviati ad una unita centrale (base-station) senza alcuna elaborazione.

2. Decentralizzata. In una architettura decentralizzata i dati vengono fusi lo-calmente, senza alcuna unita centrale. Ogni sensore puo essere visto comeun agente intelligente, con un certo grado di autonomia decisionale. Il coor-dinamento dei sensori e raggiunto grazie alla comunicazione tra i vari nodidella rete. Questo approccio ha tre vantaggi rispetto al precedente: scala-bilita della struttura, essendo evitati i colli di bottiglia delle limitate capacitacomputazionali dell’unita centrale e della limita larghezza di banda delle comu-nicazioni, robustezza alla morte di un nodo o al cambiamento dinamico dellarete e, infine, modularita nella progettazione dei nodi. Tuttavia, lo scambio diinformazioni puo avvenire unicamente tra nodi vicini, rendendo notevolmentepiu complicato il coordinamento dell’intera rete.

3. Gerarchica. Puo essere considerato come un approccio intermedio ai due prece-denti. L’unita centrale e al vertice della gerarchia, svolge mansioni di altolivello per il miglior impiego possibile dell’informazione disponibile e comunicacon i nodi che occupano il gradino immediatamente inferiore nella scala gerar-chica. Gli altri nodi sono divisi in gruppi e sotto-gruppi, a capo di ciascuno deiquali e posto un leader responsabile della gestione dei dati prodotti dai nodidel proprio gruppo e della comunicazione con i superiori. Questo approcciooffre un buon compromesso tra i vantaggi dell’architettura decentralizzata ela semplicita di coordinamento di quella centralizzata.

Nel seguito si fara riferimento a reti con architettura gerarchica.

3 Definizione del problema

Il principio guida di questo lavoro e che l’elaborazione dei dati provenienti da unarete di sensori e un problema di stima. Di qui l’idea che il filtro di Kalman puo essereapplicato per risolvere in maniera ottima il problema della fusione dei dati nel casodi processi stocastici lineari. Quest’approccio richiede di disporre di un modello(lineare) del processo osservato e di una statistica del secondo ordine dei disturbiagenti su di esso. Si tratta di richieste forti sulla disponibilita di informazione apriori, ma ragionevoli nelle applicazioni di controllo.

Sia dato il processo aleatorio n-dimensionale {x(t)}, cosı definito sull’intervallotemporale [0, +∞):

x(t + 1) = A(t)x(t) + B(t)u(t) + w(t), (1)

x(0) = x0,

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

5

Page 6: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

3 Definizione del problema

dove {u(t)} e un segnale deterministico il cui valore e noto all’istante t, {w(t)} e unprocesso di rumore bianco di media nulla e varianza Q(t), mentre lo stato iniziale x0

e una variabile aleatoria di media µ0 e varianza P0 scorrelata dalla storia presente efutura di {w(t)}:

E[x0w(t)T ] = 0, ∀t > 0. (2)

Il processo e osservato da M sensori rumorosi

yi(t) = Ci(t)x(t) + vi(t) i = 1, 2 . . . ,M (3)

dove yi(t) e la misura dell’i-esimo sensore effettuata all’istante t e {vi(t)} e il processodi rumore di misura. Si definisce il vettore delle misure complessivo del sistema come

y(t) = C(t)x(t) + v(t), (4)

dove

y(t) = [y1(t)T , . . . , yM(t)T ]T (5)

C(t) = [C1(t)T , . . . , CM(t)T ]T (6)

v(t) = [v1(t)T , . . . , vM(t)T ]T . (7)

Il processo {v(t)} si assume bianco, di media nulla, di varianza R(t) e, in generale,correlato con {w(t)}:

E[(

w(t)v(t)

) (w(s)T v(s)T

)]=

(Q(t) S(t)S(t)T R(t)

)δt,s. (8)

Nelle applicazioni wireless e spesso ragionevole assumere {w(t)} e {v(t)} mutua-mente scorrelati, cioe S(t) nulla, e {vi(t)} e {vj(t)} scorrelati per i 6= j, cioe R(t)diagonale. Nella formulazione generale del problema ci si astiene dall’imporre talirestrizioni, che saranno introdotte nella trattazione solamente ove necessarie.

E noto che la stima globale ottima (nel senso dei minimi quadrati) dello statox(t) all’istante t, e data dall’aspettazione di x(t) condizionata all’insieme di tutte lemisure y effettuate fino all’istante t:

x(t|t) = E[x(t)|y(t), . . . , y(0)]. (9)

Problema 1. Si ipotizzi che le misure (3) del processo (1) siano effettuate da sen-sori che costituiscano i nodi di una rete wireless multi-hop; si assumano note A,C, Q, R e S ad ogni istante t; si ipotizzi inoltre che i nodi siano dotati di capacitacomputazionali (smart sensors). Si vuole calcolare la stima ottima globale (9), odalmeno una sua approssimazione, ad un nodo particolare, detto base station, ges-tendo al tempo stesso il traffico in rete in modo efficiente. In particolare si vuoleminimizzare la quantita di dati trasmessa utilizzando tecniche di fusione.

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

6

Page 7: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

4 Organizzazione dell’articolo

Il ritardo di comunicazione sull’i-esimo link all’istante k, τi(k), si modella comeuna variabile aleatoria a valori in N ∪ {∞} (l’insieme N dei numeri naturali siassume contenente lo zero), dove τi(k) = ∞ denota la perdita dell’informazionetrasmessa sull’i-esimo link all’istante k. Si assume inoltre che E[τi(k)τi(t)] = 0 ∀k 6=t e che E[τi(k)τj(k)] = 0 ∀i 6= j.

4 Organizzazione dell’articolo

Nel seguito si prenderanno in analisi quattro approcci distinti al problema.

1. Il primo metodo, cui e dedicata la sezione 5, impiega unicamente tecniche diaggregazione, senza far uso di alcun tipo di fusione dei dati. In realta questaclasse racchiude una varieta di protocolli di aggregazione presenti in letter-atura, tra cui si segnalano, a titolo d’esempio, [14] e [17]. Quest’approccio sivedra essere poco efficiente nelle condizioni del problema sopra formulato, inparticolare nel caso in cui il numero M di sensori sia elevato, poiche non sfrut-ta l’informazione a priori data dal modello: la correlazione delle informazionitrasmesse, che in questo lavoro si assume nota a priori, non viene presa in con-siderazione. Inoltre le prestazioni di un algoritmo di aggregazione dipendonoin maniera cruciale dal metodo scelto per l’instradamento dei dati, ovvero daltipo di gerarchia che si impone alla rete.

Le altre tre tecniche sono invece basate sulla fusione dei dati, e non sullasemplice aggregazione. Questo permettera di svincolare la trattazione dalmetodo d’instradamento (routing) prescelto. In altri termini la discussionedi questi algoritmi prescinde, almeno in prima analisi, dal fatto che i datiprovenienti dai nodi piu lontani arrivino alla base-station utilizzando strategiedi routing a cluster, piuttosto che ad albero.

2. La seconda soluzione, proposta nella sezione 6, e quella di scrivere le equazionidel filtro di Kalman nel caso di molti sensori, utilizzando come funzione per lafusione delle misure la media pesata. Questa tecnica e stata proposta per laprima volta da [27]. Tale approccio prevede cioe il computo e la trasmissionedella media pesata delle letture che pervengono ad uno stesso nodo. La sti-ma di Kalman viene effettuata nell’unita centrale sulla media ottenuta e nonsui singoli dati. Si vedra che questo metodo e ottimo sotto ipotesi piuttostostringenti.

3. Un’altra alternativa e la riscrittura del filtro di Kalman in forma di infor-mazione [9]. Alla discussione di quest’approccio e dedicata la sezione 7. Comesi avra modo di notare questa formalizzazione e del tutto equivalente al filtro

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

7

Page 8: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

5 Metodo I: approccio aggregativo

di Kalman classico, ma consente di ridurre il carico computazionale dovuto al-l’inversione di matrici che nel caso multi-sensore possono essere di dimensioneelevata. Nell’ipotesi di incorrelazione dei rumori di misura dei sensori, inoltre,questa nuova formulazione delle equazioni di Kalman consente di fondere inrete i dati trasmessi con una semplice addizione.

4. Si presentera infine, nella sezione 8, una quarta tecnica, basata sull’esecuzionelocale della stima di Kalman da parte di ciascun nodo della rete e sul suoinvio [26]. Si vedra come sia possibile ricavare la migliore (nel senso dei mini-mi quadrati) approssimazione della stima globale a partire dalle stime locali.Tale approccio risulta sub-ottimo rispetto al metodo classico di Kalman. Tut-tavia, si vedra che questa tecnica raggiunge le migliori prestazioni in terminidi efficienza della comunicazione se il numero di nodi e sufficientemente piugrande della dimensione dello spazio di stato del processo. In particolare siosservera essere un approccio scalabile, poiche ciascun nodo invia una quantitadi byte costante, indipendentemente dal numero di nodi della rete e dalla suaarchitettura.

Nella sezione 9 si confronteranno i metodi visti in precedenza. Si presenteranno ecommenteranno i risultati ottenuti tramite simulazioni.

5 Metodo I: approccio aggregativo

5.1 In assenza di ritardi di comunicazione e perdite di pac-chetto

Un metodo efficiente per il calcolo della stima (9) e, come noto, l’impiego del filtrodi Kalman. Si ipotizza inizialmente che le comunicazioni tra i nodi della rete sianoesenti da ritardi e perdite di pacchetti.

Si consideri il sistema definito dalle equazioni (1) e (4). Si definiscono le matrici:

F (t) =A(t)− S(t)R(t)−1C(t) (1)

Q =Q− S(t)R(t)−1S(t)T . (2)

Si noti che, nel caso particolare in cui {w(t)} e {v(t)} siano mutuamente scorrelati,cioe S(t) = 0, allora F (t) si riduce semplicemente ad A(t) e Q(t) = Q(t).

Per semplicita di notazione sara omesso di specificare la dipendenza temporaledelle matrici F , B, C, Q e R. Le equazioni classiche del filtro di Kalman per talesistema sono, come noto, date da

Inizializzazione: t = 0

x(0| − 1) = µ0 (3)

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

8

Page 9: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

5.1 In assenza di ritardi di comunicazione e perdite di pacchetto

P (0| − 1) = P0 (4)

Stima: t = 0, 1, . . .

K(t) = P (t|t− 1)CT [CP (t|t− 1)CT + R]−1 (5)

x(t|t) = x(t|t− 1) + K(t)[y(t)− Cx(t|t− 1)] (6)

P (t|t) = [I −K(t)C]P (t|t− 1) (7)

Predizione: t = 0, 1, . . .

x(t + 1|t) = Fx(t|t) + Bu(t) + SR−1y(t) (8)

P (t + 1|t) = FP (t|t)F T + Q (9)

Il cuore del problema e l’invio alla base-station delle misure yi(t), da aggregarein un unico vettore y(t), secondo (5), per il calcolo di (6) e , nel caso di correlazionetra {w(t)} e {v(t)}, di (8). Le altre equazioni del filtro, infatti, non dipendono day(t), ma solamente da variabili gia presenti nella memoria del nodo base-station eda u(t), che non deve essere misurato dai sensori, ma e imposto dal controllore.

Una soluzione bruta e di inviare separatamente ciascuna delle misure (3) alla basestation, quindi aggregarle secondo (5). Ovviamente questo approccio non minimizzail traffico in rete.

Una soluzione migliore potrebbe essere quella di imporre una gerarchia all’internodella rete. Ad esempio, la si potrebbe dividere in regioni (cluster) e stabilire unmeccanismo di elezione di un leader, con il compito di aggregare tutte le lettureeffettuate dai membri del cluster in un unico pacchetto da inoltrare alla radice.Oppure si potrebbe costruire un albero con radice nella base station. Anziche inviareseparatamente le singole misure alla radice, ciascun nodo padre potrebbe aggregarele misure ricevute da tutti i suoi figli, assieme alla propria, in un unico pacchettoe inviare questo al proprio padre. In tal modo si garantirebbe che ciascun nodotrasmetta una sola volta per periodo. Questo tipo di approccio e alla base di tuttigli algoritmi di aggregazione presenti in letteratura, tra i quali si citano [14] e [17].Si garantisce cosı una considerevole riduzione del traffico in rete, in quanto i datiprovenienti da molteplici sensori sono inviati in un unico frame, quindi con un soloheader. Inoltre si incrementa l’efficienza della trasmissione, poiche il rapporto tra ilnumero di bit contenenti informazione sensoriale e quello dei bit di controllo dellacomunicazione aumenta.

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

9

Page 10: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

5.2 In presenza di ritardi di comunicazione e perdite di pacchetto

5.2 In presenza di ritardi di comunicazione e perdite dipacchetto

Nelle applicazioni reali la comunicazione tra i nodi di una rete wireless e affetta daritardi e da perdite di pacchetto. Quindi i pacchetti potrebbero pervenire all’unitacentrale non ordinati, o addirittura, non essere ricevuti del tutto.

Il problema diviene percio quello di adattare l’algoritmo di aggregazione al casodi comunicazioni non ideali. Si deve quindi comprendere come si modificano glialgoritmi visti in precedenza, sia a livello del singolo nodo generico, sia a livellodell’unita centrale.

5.2.1 Aggregazione nel nodo generico

Per quanto riguarda il metodo I, puramente aggregativo, la strategia piu naturaleda perseguire a livello di un nodo generico consiste nell’aggregare, possibilmentein un unico pacchetto, e inviare, istante per istante, l’informazione ricevuta. Lapresenza di ritardi aleatori comporta la possibilita che i dati vengano ricevuti daun nodo generico non secondo l’ordine cronologico. Per poter ricostruire l’ordinetemporale delle misure a livello dell’unita centrale e necessario che ciascun frameriporti l’indicazione dell’istante in cui e stata registrata la misura. Si ipotizza che inodi della rete siano sincronizzati. Ogni pacchetto trasmesso dovra comporsi perciodi tre campi:

1. Campo dati, contenente la lettura yi effettuata dall’i-esimo sensore;

2. Indirizzo del sensore che ha trasmesso l’informazione, necessario per poterordinare correttamente i dati yi nel vettore complessivo delle misure y =[yT

1 , . . . , yTM ] nella base-station;

3. Istante della misurazione (time-stamp), per consentire di ricostruire l’ordinecronologico delle misurazioni prima dell’esecuzione della stima. E necessarioassumere che tutti i nodi della rete siano sincronizzati.

La strategia di aggregazione puo essere schematizzata come in figura 1. Tutti isensori della rete trasmettono ad ogni istante un pacchetto ad un nodo successivo,che appartiene ad un cammino orientato verso l’unita centrale. Tutti i pacchettiricevuti da un generico nodo i all’istante t vengono allocati in un unico nuovo pac-chetto, assieme al frame prodotto dallo stesso nodo i, e ritrasmessi verso l’unitacentrale.

La gestione dell’instradamento dei dati non deve sottostare a vincoli partico-lari. Ovviamente, dal punto di vista del risparmio energetico nelle comunicazioni,si auspica che il protocollo di routing prevenga la trasmissione multipla di uno stes-so dato; cio puo comunque non essere vero in applicazioni in cui sia da utilizzare

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

10

Page 11: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

5.2 In presenza di ritardi di comunicazione e perdite di pacchetto

Figura 1: Aggregazione dei dati a livello del generico nodo i

un protocollo di routing multi-path: ai fini della stima, infatti, copie multiple diuno stesso dato possono sempre essere rilevate e soppresse nell’unita centrale. Peruna maggiore efficienza della comunicazione, inoltre, il protocollo di routing dovraadottare un qualche approccio TDMA, affinche i nodi attendano a trasmettere perun numero di finestre temporali inversamente proporzionale alla distanza dall’unitacentrale: solo cosı un nodo intermedio avra la possibilita di ricevere dati dai nodipiu lontani, aggregarli con i propri e ritrasmetterli in direzione della base-station.

5.2.2 Computo della stima nell’unita centrale

Una volta individuata la strategia da perseguire a livello del nodo generico, rimaneda comprendere come si modificano le equazioni dello stimatore, che dev’essereimplementato nell’unita centrale, nell’eventualita di ritardi e perdite di pacchet-to. Una discussione approfondita sull’adattamento del filtro di Kalman a questocaso si puo trovare in [24] e in [25], sotto l’ipotesi di una singola trasmissione.Negli articoli citati si assume, cioe, che il vettore delle misure possa essere intera-mente ricevuto con ritardo aleatorio o completamente perso. Qui invece ciascunsensore trasmette informazione, pertanto e possibile che il vettore complessivo ditutte le misure y(t) = [y1(t)

T , . . . , yM(t)T ], effettuate all’istante t, venga ricevutosolo parzialmente: le varie componenti del vettore potrebbero arrivare ad istantidifferenti od essere perse.

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

11

Page 12: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

5.2 In presenza di ritardi di comunicazione e perdite di pacchetto

In maniera analoga a [24] e [25], si modella il processo di arrivo di un pacchettoall’unita centrale come un processo aleatorio binario

γti(k) =

{1 se yi(k) e stata ricevuta entro l’istante t, t ≥ k;0 altrimenti

Dalla definizione segue che se γti(k) = 1, allora γt+h

i (k) = 1 ∀h ∈ N, ovvero chese yi(k) e presente al ricevitore all’istante t, lo sara per tutti gli istanti successivi. Sidefinisce poi il ritardo di ricezione τi(k) ∈ {N,∞} dell’osservazione yi(k) in manieraseguente:

τ ti (k) =

{ ∞ se γti(k) = 0 ∀t ≥ k

tki− k altrimenti

dove tki:= min{t| γt

i(k) = 1} e l’istante di arrivo della lettura yi(k).Poiche il ritardo e aleatorio le misure possono arrivare al ricevitore non ordinate.

E poi possibile che tra due istanti di campionamento successivi non si abbia alcunaricezione, oppure si possono avere molteplici trasmissioni. Si osservi infine che τ t

i (k)e definito come il ritardo visto dall’unita centrale e sara dato dalla sommatoriadei ritardi delle comunicazioni del pacchetto contenente yi(k) tra nodi consecutivi,lungo il cammino dal nodo i alla base-station, con la convenzione che la somma diun numero naturale con il simbolo ∞ sia ∞.

Seguendo [24], si assume di memorizzare uno zero qualora l’osservazione yi(k) nonsia stata ricevuta dalla base-station all’istante t ≥ k. In realta e possibile allocareun valore qualsivoglia, dato che, come si vedra nel seguito, tale dato viene esclusodal computo. La scelta dello zero e dettata da ragioni di semplicita. Formalmente,il valore allocato nel buffer sara

yti(k) := γt

i(k)yi(k) = γti(k)Ci(k)x(k) + γt

i(k)vi(k). (10)

L’obiettivo e, ad ogni istante t, il calcolo dello stimatore ottimo ai minimiquadrati, date l’informazione sullo stato iniziale e le misure pervenute all’unitacentrale entro t:

x(t| t) := E[x(t)| y(t), γ(t), x0, P0] (11)

dove y(t) = (yt(1), yt(2), . . . , yt(t)) e γ(t) = (γt(1), γt(2), . . . , γt(t)).Si definiscono le variabili

xt(k|h) = E[x(k)| yt(h), . . . , yt(0), γt(h), . . . , γt(0), x0, P0] (12)

P t(k|h) = E[(x(k)− xt(k|h))(x(t)− xt(k|h))T | yt(h), . . . , yt(0),

γt(h) , . . . , γt(0), x0, P0]

da cui si vede che xt(t| t) = x(t| t) e P t(t| t) = P (t| t). E opportuno riscrivere leequazioni del sistema (1) esplicitando l’informazione disponibile all’unita centrale:

x(k + 1) = A(k)x(k) + B(k)u(k) + w(k), (13)

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

12

Page 13: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

5.2 In presenza di ritardi di comunicazione e perdite di pacchetto

Figura 2: Rappresentazione del processo di memorizzazione dei dati nel buffer del nodocentrale

yti(k) = Ct

i (k)x(k) + vti(k) i = 1, . . . , M (14)

dove Cti (k) = γt

i(k)Ci(k) e le variabili aleatorie vi(k) = γti(k)vi(k) hanno media nulla

e covarianza (Rt(k))i,j = E[vti(k)vt

j(k)T ] = γti(k)γt

j(k)Ri,j. La correlazione mutua di

{w(t)} e {vti(k)} e data da coli(S

t(k)) := E[w(k)vti(k)T ] = γt

i(k)coli(S(k)), dovecoli(S) indica l’i-esima colonna della matrice S.

Il sistema di M equazioni (14) si vede agevolmente potersi scrivere in formamatriciale, come di seguito:

yt(k) = Ct(k)x(k) + v(k) (15)

dove

yt(k) = [yt1(k)T , . . . , yt

M(k)T ]T (16)

Ct(k) = [Ct1(k)T , . . . , Ct

M(k)T ]T (17)

vt(k) = [vt1(k)T , . . . , vt

M(k)T ]T . (18)

Si nota che la riga i-esima della matrice Ct(k) coincide con quella di C(k) se γti(k) = 1

ed e nulla altrimenti. Analogamente la matrice varianza Rt(k) del vettore vt(k)coincide con R(k) fuorche sulle righe e sulle colonne di indice i tale che γt

i(k) = 0.Infine St(k) coincide con S(k) a parte che sulle colonne di indice i tale che γt

i(k) = 0.Equivalentemente Ct(k) = Γt(k)C(k), Rt(k) = Γt(k)R(k)Γt(k) e St(k) = S(k)Γt(k),dove la matrice di selezione Γt(k) e quadrata di dimensione M ed e definita comediag(γt

1(k), . . . , γtM(k)).

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

13

Page 14: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

5.2 In presenza di ritardi di comunicazione e perdite di pacchetto

Si noti che Ct(k), Rt(k) e St(k) sono matrici tempo-varianti anche se C, R e S,rispettivamente, non lo sono. Si e pertanto ricondotto il problema della stima all’is-tante t di un processo stocastico lineare (1, 4), eventualmente tempo-variante, conritardi nella trasmissione delle misure o perdite di pacchetto, al problema della stima,nello stesso istante t, di un processo stocastico (necessariamente) tempo-variante (1,15), governato dalle stesse equazioni del sistema originario, con l’accorgimento disostituire C con Ct(k), R con Rt(k) e S con St(k). Si osservi che Rt(k) non e ingenerale invertibile, anche se R lo e; si deve pertanto utilizzare la pseudo-inversaladdove nell’equazione del filtro di Kalman classico si usa l’inversa.

La teoria del filtraggio statistico assicura allora che il miglior stimatore, nel sensodei minimi quadrati, per il processo originario (1, 3)

x(k + 1) = A(k)x(k) + B(k)u(k) + w(k),

yi(k) = Ci(k)x(k) + vi(k) i = 1, . . . ,M.

all’istante t, affetto da comunicazioni imperfette e proprio lo stimatore di Kalmanapplicato al processo stocastico artificiale (1, 15). Lo stimatore ottimo x(t|t) =xt(t|t) date le misure arrivate fino all’istante t si ottiene per iterazione su k secondoil seguente algoritmo:

Inizializzazione

xt(0| − 1) = µ0 (19)

P t(0| − 1) = P0 (20)

Stima: k = 0, . . . , t

Kt(k) = P t(k| k − 1)Ct(k)T [Ct(k)P t(k| k − 1)Ct(k)T + Rt(k) ]† (21)

xt(k| k) = xt(k| k − 1) + Kt(k)[yt(k)− Ct(k)xt(k| k − 1)] (22)

P t(k| k) = [I −Kt(k)Ct(k)]P t(k| k − 1) (23)

Predizione: k = 0, . . . , t

xt(k + 1| k) = Axt(k| k) + Bu(k) + St(k)Rt(k)†yt(k) (24)

P t(k + 1| k) = FP t(k| k)F T + Q (25)

Il calcolo dello stima di Kalman xt(t|t), richiede il computo di xt(k|k) e di P t(k|k)per k = 0, . . . , t. In altri termini, ad ogni istante t, l’algoritmo di stima deve essereinizializzato alla condizione iniziale ed iterato t volte. Evidentemente si tratta di unapproccio inapplicabile.

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

14

Page 15: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

5.2 In presenza di ritardi di comunicazione e perdite di pacchetto

La difficolta risiede nel fatto che, non essendo il ritardo superiormente limitato,l’informazione che arriva all’istante t puo riferirsi ad un istante arbitrariamenteremoto nel passato.

Si introduce percio l’ipotesi che il ritardo non sia superiore ad un valore massimoτmax: quest’assunzione garantisce di poter implementare il filtro di Kalman con unbuffer di dimensione finita. L’ipotesi e verificata per alcuni protocolli, ma non ecomunque restrittiva: a tale condizione ci si puo sempre ricondurre semplicementeconsiderando come persi i pacchetti ricevuti con ritardo superiore a τmax. Ovvi-amente cio si paga con la sub-ottimalita della stima, ma si tratta di un’approccioragionevole, poiche, euristicamente, dati relativi ad un passato remoto portano pocainformazione sullo stato presente di un sistema.

Equivalentemente l’assunto si scrive come γt+1i (k) = γt

i(k) ∀t ≥ k + τmax, k ≥0, 1 ≤ i ≤ M . Da cio segue immediatamente che

Ct+1(k) = Ct(k) e vt+1(k) = vt(k) ∀t ≥ k + τmax, k ≥ 0.

Allora anche

xt+1(h| k) = xt(h| k) e P t+1(h| k) = P t(h| k) ∀t ≥ k+τmax, h ≥ k, k ≥ 0.

Pertanto, per il calcolo di xt(t|t) e di P t(t + 1|t), per t ≥ τmax, non e necessarioreinizializzare l’algoritmo con le condizioni xt(0| − 1) = µ0 e di P t(0| − 1) = P0, mae sufficiente utilizzare la relazione

xt+1(t− τmax + 1| t− τmax) = xt(t− τmax + 1| t− τmax)

P t+1(t− τmax + 1| t− τmax) = P t(t− τmax + 1| t− τmax),

ottenuta dalle precedenti osservando che esse valgono in particolare per k = t−τmax

e h = k + 1 = t − τmax + 1. In altri termini la condizione iniziale all’istantet+1 ≥ τmax+1 e stata calcolata al passo precedente t: per ottenerne xt+1(t+1| t+1)e P t+1(t + 1| t + 1) sono dunque sufficienti τmax + 1 iterazioni. L’algoritmo e percioimplementabile con un buffer finito di dimensione τmax + 1, che memorizzi tuttele osservazioni registrate dai sensori nell’istante presente e negli ultimi τmax istantipassati.

In definitiva l’algoritmo di stima da implementare nell’unita centrale e il seguente:ad ogni istante t = 0, 1, . . . si eseguono

Inizializzazione: se t ≤ τmax, t0 = 0

xt(t0| t0 − 1) = µ0 (26)

P t(t0| t0 − 1) = P0 (27)

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

15

Page 16: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

5.3 I limiti dell’approccio aggregativo

altrimenti t0 = t− τmax

xt(t0| t0 − 1) = xt−1(t0| t0 − 1) (28)

P t(t0| t0 − 1) = P t−1(t0| t0 − 1) (29)

Stima: k = t0, . . . , t

Formule (21 - 23)

Predizione: k = t0, . . . , t

Formule (24 - 25)

5.3 I limiti dell’approccio aggregativo

L’approccio aggregativo e relativamente semplice da implementare e al tempo stessoconsente di incrementare l’efficienza della comunicazione riducendo il volume deltraffico in rete dovuto ai frame di controllo. Se poi utilizzato in combinazione conuna tecnica di instradamento efficace (come, ad esempio, quella proposte in [14] oin [17]), che cioe scelga in maniera efficiente i dati di quali nodi aggregare e in qualeordine, e possibile ottenere un notevole risparmio energetico e il prolungarsi dellavita media delle batterie dei sensori.

Tuttavia due misure distinte potrebbero contenere della ridondanza, dovuta allacorrelazione dei fenomeni osservati. Benche in generale le tecniche di aggregazionepossano raggiungere elevati livelli di efficienza, nell’ipotesi di disporre di un modelloa priori e auspicabile un’analisi piu approfondita dell’eventuale correlazione tra lemisure dei vari sensori.

Come appare evidente, inoltre, la discussione di tecniche di aggregazione nonpuo prescindere dalla scelta di algoritmi di instradamento dei dati, che imponganoun’architettura alla rete e gestiscano in maniera efficiente la sequenza con cui vannoaggregati i diversi dati e il cammino che questi devono compiere per giungere allaradice. Appare, ad esempio, evidente che l’aggregazione dei dati implementata suuna rete il cui grafo di connettivita e del tipo ”a catena” risultera essere altamenteinefficiente. In generale e difficile capire se una tecnica di routing e migliore diun’altra. Cio puo dipendere da molteplici fattori, prime fra tutti le priorita diprogettazione: alcune tecniche di routing possono garantire un maggiore risparmioenergetico, ma in alcuni casi puo essere desiderabile garantire la robustezza dellacomunicazione alla morte o al semplice spostamento di uno o piu nodi, anche alcosto di un maggiore dispendio energetico, come nel caso delle tecniche di multi-path routing. Lo stesso concetto di risparmio energetico puo essere ambiguo: comeben sottolineato in [14] le prestazioni di un protocollo di comunicazione per reti

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

16

Page 17: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

6 Metodo II: media pesata delle misure

di sensori wireless dipendono dal modello prescelto per rappresentare ogni singolonodo. Altro fattore cruciale e la topologia della rete: per reti di estensione limitata ein generale preferibile sfruttare al massimo la potenza di trasmissione di ogni singolonodo, riducendo il numero di balzi (hop) da far compiere al segnale, dato che anchela ricezione consuma energia, per reti vaste, al contrario, un protocollo multi-hopgarantisce normalmente una piu lunga vita media dei nodi.

Le precedenti considerazioni inducono dunque a concentrare l’analisi su tecnichedi fusione dei dati e a tentare un confronto dell’efficienza delle trasmissioni peril singolo nodo, a prescindere dalla scelta, dettata da condizioni contingenti, delprotocollo di routing.

L’importanza dei metodi basati sulla pura aggregazione, senza alcun tipo di fu-sione, e comunque quella di costituire un paradigma di confronto per tutte le tecnicheintrodotte nel seguito. Benche insoddisfacente dal punto di vista del traffico in rete,l’invio alla base-station di tutta l’informazione sensoriale rozza raccolta garantiscela miglior stima possibile. Nel seguito si dovra valutare sotto quali condizioni e conquali metodologie sia possibile ottenere questa stessa stima ottima, pur riducendola congestione della rete.

6 Metodo II: media pesata delle misure

6.1 In assenza di ritardi di comunicazione e perdite di pac-chetto

Il problema maggiore che la stima centralizzata di (9) pone e l’invio attraverso la retedelle misure (5). L’obiettivo di questa e delle sezioni seguenti e quello di fonderetutte le letture yi(t) che pervengono ad un qualche nodo della rete in un unicodato da trasmettere. In questa sezione si fara l’ipotesi che {w(t)} e {v(t)} sianomutuamente scorrelati, cioe S(t) sia nulla.

Una soluzione proposta in [27] e analizzata in [12] e di fondere le misure calcolan-done e ritrasmettendone la media pesata. Anziche utilizzare le equazioni (metodoI)

y(t) = y(1)(t) = [y1(t)T , . . . , yM(t)T ]T , (1)

C(t) = c(1)(t) = [C1(t)T , . . . , CM(t)T ]T , (2)

identiche alle (5) e (6) viste in precedenza, sotto l’ipotesi di incorrelazione dei rumoridi misura

R(t) = R(1)(t) = diag(R1(t), . . . , RM(t)), (3)

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

17

Page 18: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

6.2 In presenza di ritardi di comunicazione e perdite di pacchetto

si utilizza come funzione aggregatrice la media pesata (metodo II):

y(t) = y(2)(t) =

[M∑i=1

R−1i (t)

]−1 M∑i=1

R−1i (t)yi(t), (4)

C(t) = C(2)(t) =

[M∑i=1

R−1i (t)

]−1 M∑i=1

R−1i (t)Ci(t), (5)

R(t) = R(2)(t) =

[M∑i=1

R−1i (t)

]−1

. (6)

L’espressione dello stimatore di Kalman rimane la stessa dell’approccio precedente,l’unica differenza risiede nella sostituzione di (4-6) dentro a (3-9). L’implementazionedi quest’approccio per la fusione dei dati e intuitiva: il generico sensore i compiead ogni istante t una misurazione yi(t), la moltiplica per l’inverso della varianzadel proprio rumore di misura, ottenendo R−1

i (t)yi(t), quindi attende di ricevere dainodi vicini che hanno distanza maggiore dalla radice la comunicazione delle loroletture pesate, le somma alla propria e infine ritrasmette il risultato verso il nodoche lo precede nel cammino alla radice. Una volta che il dato risultato della fusione,∑M

i=1 R−1i (t)yi(t), e pervenuto alla radice, per ottenere (4) basta moltiplicarlo per

R(t) dato da (6).Dal punto di vista della quantita di dati da trasmettere il metodo II e natural-

mente piu efficiente della tecnica I, poiche prevede di fondere a un nodo piu misureritrasmettendo solamente un dato. Lo svantaggio e che, al contrario del primo, ilsecondo metodo non e sempre applicabile. Basti osservare che se le matrici d’uscitaCi, i = 1, . . . , M non hanno tutte le stesse dimensioni, le (4-6) perdono di significato.Esistono tuttavia delle condizioni sotto le quali le due strategie sono funzionalmenteequivalenti, come si vedra nella sotto-sezione 6.3.

6.2 In presenza di ritardi di comunicazione e perdite dipacchetto

6.2.1 Aggregazione nel nodo generico

L’adattamento del metodo II al caso di ritardi e perdite di pacchetti si compie inmaniera del tutto analoga a quanto fatto per il metodo I nella precedente sezione.Anche in questo caso e necessario che ciascun pacchetto contenga, oltre al dato,il relativo time-stamp e l’indirizzo di tutti i nodi coinvolti nella sua elaborazione.L’aggregazione a livello del singolo nodo si esegue come nel caso senza ritardi, conl’accortezza di fondere solamente dati con lo stesso time-stamp. Se due dati ricevutihanno differenti time-stamp a causa dei ritardi aleatori di comunicazione, questi

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

18

Page 19: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

6.2 In presenza di ritardi di comunicazione e perdite di pacchetto

non possono essere fusi, ma vanno concatenati in un unico pacchetto e inviati. Unesempio e riportato in figura 3.

Figura 3: Esempio di fusione delle misure a livello del generico nodo i all’istante t nelcaso in cui τh = τj > 0

6.2.2 Computo della stima nell’unita centrale

Come gia visto per il metodo I, si modella il processo di arrivo di un pacchettoall’unita centrale come un processo aleatorio binario

γti(k) =

{1 se il dato del nodo i con time-stamp k e stato ricevuto entro t, t ≥ k,0 altrimenti

Il buffer nell’unita centrale conterra, ad ogni istante t, i t dati∑M

i=1 γti(k)R−1

i yi(k)con k = 1, . . . , t. Con ragionamenti del tutto analoghi a quelli condotti per il primometodo, si deduce che l’estensione naturale di (4-6) al caso di ritardi si ottiene

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

19

Page 20: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

6.3 I limiti del metodo II

introducendo:

yt(k) :=

[M∑i=1

γti(k)R−1

i (k)

]−1 M∑i=1

γti(k)R−1

i (k)yi(k) (7)

Ct(k) :=

[M∑i=1

γti(k)R−1

i (k)

]−1 M∑i=1

γti(k)R−1

i (k)Ci(k) (8)

Rt(k) :=

[M∑i=1

γti(k)R−1

i (k)

]−1

. (9)

Con queste definizioni si verifica immediatamente che l’espressione dello stimatoredi Kalman e ancora dato dalle (19-25) nell’ipotesi che il ritardo di comunicazionenon sia superiormente limitato. Come si e gia osservato, tale calcolo richiederebbedi disporre di un buffer infinito e non e praticamente implementabile. Se invece ilritardo di comunicazione attraverso l’intera rete non e superiore ad un valore τmax

lo stimatore puo essere realizzato nell’unita centrale con un buffer di dimensioneτmax + 1 implementando l’algoritmo dato da (26-29,21-25).

6.3 I limiti del metodo II

Come gia accennato in precedenza, il metodo II non e sempre applicabile. Tuttaviaesistono delle condizioni in cui questo approccio fornisce la stessa stima ottenibilecon il piu generale metodo I, come affermato dal seguente

Teorema 6.1. Per la fusione dei dati, il metodo I e funzionalmente equivalenteal metodo II se e solo se gli M sensori sono affetti da rumori di misura scorrelati(vi ⊥ vj, i 6= j) e hanno matrici di misura Ci identiche (C1 = C2 = . . . = CM).

Dimostrazione. Si rimanda a [12] per la prova del teorema.

Se sono verificate le condizioni del teorema 6.1 l’impiego del metodo II o delmetodo I conducono esattamente alla stessa stima. Il metodo II e in tal caso van-taggioso in termini di riduzione del traffico in rete, poiche garantisce che ciascunnodo invii una sola lettura. Nel caso I invece, piu letture vengono semplicementeconcatenate all’interno di un pacchetto.

Le ipotesi del teorema sono pero molto stringenti: in sostanza si richiede chetutti i sensori osservino indipendentemente lo stesso processo. Per reti di estensioneridotta o per piccoli sottoinsiemi di nodi (ad esempio, i sensori che misurano latemperatura in una stessa stanza di un edificio) cio puo essere ragionevole, ma pergrandi reti tali assunzioni divengono inverosimili. Pur esistendo delle applicazioniin cui molteplici sensori identici osservano indipendentemente uno stesso processo,si pensi ad esempio alla radio-localizzazione, quest’approccio al problema soffre discarsa generalita e non e da ritenersi una soluzione soddisfacente del problema ??.

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

20

Page 21: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

7 Metodo III: il filtro di Kalman in forma di informazione

7 Metodo III: il filtro di Kalman in forma di in-

formazione

7.1 In assenza di ritardi di comunicazione e perdite di pac-chetto

Un’alternativa e di riscrivere le equazioni del filtro di Kalman in forma di infor-mazione. Il cosiddetto vettore di stato d’informazione e definito come

z(h| k) := P−1(h| k)x(h| k). (1)

Riscrivendo le equazioni (3)-(9) rispetto a z si perviene al sistema seguente, notoin letteratura con il nome di filtro di Kalman in forma di informazione o di filtro acovarianza inversa:

Inizializzazione: t = 0

z(0| − 1) = P−10 µ0 (2)

P (0| − 1) = P0 (3)

Stima: t = 0, 1, . . .

z(t|t) = z(t|t− 1) + CT R−1y(t) (4)

P−1(t|t) = P−1(t|t− 1) + CT R−1C (5)

Predizione: t = 0, 1, . . .

z(t + 1|t) = P−1(t + 1|t)[AP (t|t)z(t|t) + Bu(t)] (6)

P (t + 1|t) = AP (t|t)AT + Q (7)

Come si puo notare, nelle equazioni precedenti si e fatta l’ipotesi che i rumori dimodello {w(t)} e misura {v(t)} siano scorrelati. Pertanto S = 0, F = A e Q = Q.Quest’ipotesi sara mantenuta per tutta la sezione presente. Il motivo di quest’as-sunto sta nel fatto che, per S generico, si dovrebbe aggiungere un termine conte-nente y(t) in (6): benche il filtro a covarianza inversa si possa scrivere formalmente,si perderebbero i vantaggi implementativi che si presenteranno nel seguito, poichel’aggiornamento di (6) richiederebbe l’invio, da parte di ogni nodo i, della proprialettura yi, fatto che si vuole evitare. Prima di enunciare la prova delle relazioniprecedenti, e utile introdurre il seguente

Lemma 7.1. Sussiste l’identita K(t) = P (t| t)CT R−1.

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

21

Page 22: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

7.1 In assenza di ritardi di comunicazione e perdite di pacchetto

Dimostrazione.

P (t| t)CT R−1 = [I −K(t)C]P (t| t− 1)CT R−1 =

= P (t| t− 1)CT R−1 − P (t| t− 1)CT [CP (t| t− 1)CT + R]−1CP (t| t− 1)CT R−1 =

= P (t| t− 1)CT{R−1 − [CP (t| t− 1)CT + R]−1CP (t| t− 1)CT R−1} =

= P (t| t− 1)CT [CP (t| t− 1)CT + R]−1 ×× {[CP (t| t− 1)CT + R]R−1 − CP (t| t− 1)CT R−1} =

= P (t| t− 1)CT [CP (t| t− 1)CT + R]−1 = K(t)

Si dimostra ora come si ottengono le relazioni del filtro di Kalman in formad’informazione (2) - (7) da quelle classiche (3) - (9).

Dimostrazione. Per quanto riguarda le equazioni di inizializzazione non c’e nulla daprovare, trattandosi di un’immediata conseguenza della definizione (1). Si prova la(4):

x(t| t) = x(t| t− 1) + K(t)[y(t)− Cx(t| t− 1)] =

= [I −K(t)C]x(t| t− 1) + K(t)y(t) =

= [I −K(t)C]P (t| t− 1)P−1(t| t− 1)x(t| t− 1) + K(t)y(t)

Sfruttando (7) e il lemma precedente si ottiene

x(t| t) = P (t| t)z(t| t− 1) + P (t| t)CT R−1y(t)

da cuiz(t| t) = P (t| t)−1x(t| t) = z(t| t− 1) + CT R−1y(t)

La formula di aggiornamento della varianza dell’errore di stima (5) si ottiene dall’e-quazione standard del filtro di Kalman (7) con il lemma di inversione di matrice:

P (t| t)−1 = {[I −K(t)C]P (t| t− 1)}−1 =

= {P (t| t− 1)− P (t| t− 1)CT [CP (t| t− 1)CT + R]−1CP (t| t− 1)}−1 =

= P (t| t− 1)−1 + P (t| t− 1)−1P (t| t− 1)CT{[CP (t| t− 1)CT + R] +

− CP (t| t− 1)P (t| t− 1)−1P (t| t− 1)CT}−1CP (t| t− 1)P (t| t− 1)−1 =

= P (t| t− 1)−1 + CT R−1C

L’equazione (6), che da la predizione z(t + 1| t), si ricava agevolmente dallacorrispondente formulazione classica (8) per x(t + 1| t), semplicemente utilizzandola definizione (1):

z(t + 1| t) = P−1(t + 1| t)x(t + 1| t) = P−1(t + 1| t)[Ax(t| t) + Bu(t)]

= P−1(t + 1| t)[AP (t| t)z(t| t) + Bu(t)]

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

22

Page 23: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

7.2 In presenza di ritardi di comunicazione e perdite di pacchetto

La fase di stima con questa riformulazione e piu semplice rispetto all’equazioneclassica (6): il calcolo di K(t) richiede infatti l’inversione, da compiere a livello dellabase station, della matrice [CP (t|t − 1)CT + R]: per sistemi con molti sensori e didimensioni elevate e tipicamente non diagonale. Qui invece il computo di CT R−1

offre minori difficolta. Per sistemi tempo-invarianti e addirittura calcolabile a priori.Inoltre nell’ipotesi in cui i rumori di misura siano scorrelati (vi ⊥ vj, i 6= j),

la matrice R diviene diagonale, quindi l’innovazione della stima di z(t| t) si puoriscrivere piu semplicemente:

CT R−1y(t) = [CT1 , . . . , CT

M ]diag(R−11 , . . . , R−1

M )[y1(t)T , . . . , yM(t)T ]T (8)

=M∑i=1

CTi R−1

i yTi (t) =

M∑i=1

ii(t).

dove ii(t) e l’informazione inviata all’istante t dall’ i-esimo sensore. Quindi il com-puto della stima z(t| t) diviene particolarmente semplice: basta sommare alla predi-zione z(t| t − 1), precedentemente calcolata dal nodo radice, gli ii(t) trasmessi daciascun nodo. Per eseguire la compressione degli ii(t) in rete basta sommarli traloro. In tal modo si puo far sı che ogni nodo trasmetta un solo vettore di dimen-sione n, cioe pari a quella dello stato. Per la proprieta associativa dell’addizionenon ha alcuna importanza in quale ordine avvenga tale somma: quindi l’algoritmodi instradamento puo essere qualsiasi (ad esempio, ad albero oppure cluster-based).L’unica condizione imposta all’algoritmo di routing e che non deve sommare duevolte lo stesso dato.

Inoltre, euristiamente, nei nodi piu lontani dalla base-station, i vettori ii(t) con-terranno molte componenti nulle, per cui un’ulteriore ottimizzazione possibile e l’in-vio dei soli elementi non nulli. Questa compressione e tanto piu efficiente, quantopiu elevato e il numero delle colonne nulle di C. Se la j-esima colonna di C e nulla,infatti, la j-esima componente di ik, k = 1, . . . , M e nulla e il suo invio puo essereevitato da parte di tutti i sensori della rete.

7.2 In presenza di ritardi di comunicazione e perdite dipacchetto

Si considera inizialmente il caso generico in cui il ritardo di comunicazione non siasuperiormente limitato. Si e osservato nella sotto-sezione 5.2 che la stima ottimaall’istante t per il sistema (1, 4), dato che la comunicazione con i sensori e soggetta aritardi e a perdite di pacchetto, e data dalla stima di Kalman iterata t passi (19 - 25)per il sistema che si ottiene sostituendo (4) con (15). La struttura delle equazionidel processo e immutata: l’unica differenza sta nel cambiamento della matrice C conla matrice Ct definita in (17) e nella sostituzione di R con Rt. Anche la struttura

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

23

Page 24: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

7.2 In presenza di ritardi di comunicazione e perdite di pacchetto

delle equazioni del filtro di Kalman rimane la stessa del caso classico senza ritardi,con l’unica eccezione dell’apice t.

Dalle precedenti considerazioni appare quindi chiaro come si generalizzi la stima(2 - 7) nel caso di perdita comunicazioni affette da ritardi e perdite di pacchetto.Definito

zt(h| k) = P t(h| k)−1xt(h| k) ∀k ≥ 0, h ≥ k, t ≥ k. (9)

la miglior stima ai minimi quadrati di zt(t|t) e data dal seguente algoritmo:

Inizializzazione

zt(0| − 1) = P−10 µ0 (10)

P t(0| − 1) = P0 (11)

Stima: k = 0, . . . , t

zt(k| k) = zt(k|k − 1) + Ct(k)T Rt(k)†y(k) (12)

P t(k| k)−1 = P t(k| k − 1)−1 + Ct(k)T Rt(k)†Ct(k) (13)

Predizione: k = 0, . . . , t

zt(k + 1| k) = P t(k + 1|k)−1[AP t(k|k)zt(k|k) + Bu(k)] (14)

P t(k + 1| k) = AP t(k| k)AT + Q (15)

Dimostrazione. La prova e del tutto analoga a quella condotta nel caso senza ritardiper derivare le (2 - 7) dalle equazioni classiche del filtro di Kalman (3 - 9). Conpassaggi del tutto analoghi si perviene alle (10 - 15) a partire dalle (19 - 25).

Si osserva che, se R e diagonale, ovvero se i rumori vi di misura dei sensori sonomutuamente scorrelati, anche Rt(k) e diagonale ∀k ≥ 0, t ≥ k, poiche si ottieneda R annullando delle righe e delle colonne. Quindi anche Rt(k)−1 e diagonale el’equazione (12) di aggiornamento della stima si semplifica notevolmente. Si hainfatti:

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

24

Page 25: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

7.2 In presenza di ritardi di comunicazione e perdite di pacchetto

Ct(k)T Rt(k)†y(k) = [Ct1(k)T , . . . , Ct

M(k)T ]diag(γt

1(k)R1(k)−1, . . . , γtM(k)RM(k)−1

)×× [yt

1(k), . . . , ytM(k)]T =

=M∑i=1

γti(k)Ct

i (k)T Ri(k)−1yti(k) =

=M∑i=1

γti(k)Ci(k)T Ri(k)−1yi(k) =

=M∑i=1

γti(k)ii(k) =

M∑i=1

iti(k)

dove iti(k) e l’informazione trasmessa dall’i-esimo sensore all’istante k e ricevutadall’unita centrale entro l’istante t. Formalmente:

iti(k) := γti(k)ii(k) = γt

i(k)Ci(k)T Ri(k)−1yi(k).

Quest’osservazione consente di comprendere come condurre la fusione a livello delnodo generico: il generico nodo i-esimo, all’istante k, anziche inviare la proprialettura yi(k), calcola la propria informazione ii(k) = Ci(k)Ri(k)−1yi(k), riceve letrasmissioni dei suoi vicini, quindi somma tra loro tutte le informazioni di cui dispone(quelle ricevute e la propria) purche relative allo stesso istante temporale k e infinetrasmette in direzione dell’unita centrale il vettore delle somme delle informazionicosı ottenuto. Ad ogni ciclo l’informazione da elaborare e quella prodotta e ricevutanell’istante presente, non quella passata, che viene di volta in volta sovrascritta.

Si noti incidentalmente che l’aggiornamento di (12) cosı riscritto, non richiedenemmeno di disporre nell’unita centrale dell’indirizzo dei sensori che hanno con-tribuito al calcolo di iti(k): e sufficiente il puro dato iti(k) e il time stamp k.

Sotto le stesse ipotesi, anche il termine di aggiornamento della matrice di infor-mazione della stima (13) si puo riscrivere in maniera analoga alla precedente:

Ct(k)T Rt(k)†Ct(k) =M∑i=1

γti(k)Ct

i (k)T Ri(k)−1Cti (k) =

=M∑i=1

γti(k)Ci(k)T Ri(k)−1Ci(k) =

=M∑i=1

γti(k)I(k) =

M∑i=1

I ti (k)

dove, I ti (k) := γt

i(k)Ii(k) = γti(k)Ci(k)T Ri(k)−1Ci(k). Tuttavia la I(k) e una matrice

di dimensione n × n, dove n e la lunghezza del vettore di stato. L’invio di I(k) di

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

25

Page 26: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

7.2 In presenza di ritardi di comunicazione e perdite di pacchetto

Figura 4: Esempio di fusione dell’informazione a livello del nodo i all’istante t, nell’ipotesiche τj(t) = τh(t) > 0

k da parte di un nodo causerebbe un notevole incremento del traffico in rete, comesi avra modo di vedere nella sezione conclusiva dedicata all’analisi dei vari metodi.Una soluzione piu efficiente e invece il computo del termine Ct(k)T Rt(k)†Ct(k) di(13) nell’unita centrale. C(k) e R(k) sono, infatti, noti; resta da conoscere γt

i(k). E pertanto necessario che venga trasmesso alla base station l’indirizzo di tutti inodi che hanno contribuito all’elaborazione del dato iti(k). In definitiva la strategiadi aggregazione, a livello del nodo generico, puo rappresentarsi come in figura 4.

L’assenza di ipotesi sull’esistenza di un ritardo massimo di comunicazione ha con-dotto, come accadeva per il primo metodo, ad un algoritmo di stima che richiede lamemorizzazione di yt(k) e di γt(k) con k = 0, . . . , t in un buffer di dimensione infini-ta. Si tratta di una soluzione non praticamente implementabile. Con ragionamentidel tutto analoghi a quelli condotti per il metodo I, si conclude che se e possibilestabilire l’esistenza di un ritardo massimo τmax nella comunicazione tra ciascun nodoe l’unita centrale, l’algoritmo (10-15) si puo riscrivere nel modo seguente:

Inizializzazione: se t ≤ τmax, t0 = 0

zt(t0| t0 − 1) = P−10 µ0 (16)

P t(t0| t0 − 1) = P0 (17)

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

26

Page 27: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8 Metodo IV: fusione lineare di stime locali dello stato

altrimenti t0 = t− τmax

zt(t0| t0 − 1) = zt−1(t0| t0 − 1) (18)

P t(t0| t0 − 1) = P t−1(t0| t0 − 1) (19)

Stima: k = t0, . . . , t

Formule (12, 13)

Predizione: k = t0, . . . , t

Formule (14, 15).

8 Metodo IV: fusione lineare di stime locali dello

stato

Sono due i principali approcci per la fusione delle informazioni derivanti da piusensori: l’unificazione delle misure y e l’unificazione delle stime locali x. Nel pri-mo ([28]) si ottiene una stima ottima del vettore di stato (i.e. filtro di Kalman),percio, teoricamente, si tratta di un approccio migliore rispetto al secondo, che gen-eralmente non riesce ad ottenerla. Tuttavia, per diverse ragioni pratiche questaaffermazione potrebbe non essere vera: ad esempio, il volume di dati y che devonoessere trasmessi dalle diverse stazioni alla fusion station potrebbe essere eccessivorispetto alla capacita/portata dei collegamenti di rete a disposizione. Emerge dacio l’importanza del secondo approccio, in cui ogni sensore implementa uno stima-tore dello stato basato sulle proprie misure, caratterizzato da una propria matricevarianza dell’errore di predizione. Le stime locali dello stato vengono trasmesse aduna fusion station oppure fuse via via da nodi intermedi, lungo il cammino dellatrasmissione, ottenendo alla fine una stima globale dello stato; alcuni approcci (uti-lizzo di algoritmi di consensus o addirittura di reti neurali) presenti in letteraturanon verranno esaminati in questo lavoro, che puntera invece sullo sfruttamento dellecorrelazioni degli errori di stima locali.

Per inciso, vi e in generale una distinzione tra stimatori a struttura distributed odecentralized : il primo aggettivo sta ad indicare che ogni nodo abbia conoscenza lo-cale, non possedendo conoscenze neppure sulla struttura globale del grafo, e che nonricopra alcun ruolo particolare o “centrale” nella rete; il secondo aggettivo, invece,prevede la presenza di una base station, avente il compito elaborare le informazioniad essa trasmesse dai diversi nodi, che possono avere conoscenza piu o meno ridottadella rete in cui sono inseriti. Faremo riferimento, nel nostro caso, ad uno stimatore

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

27

Page 28: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.1 Formulazione del problema e ipotesi

decentralizzato.

Alcuni lavori, in letteratura, riguardo alla fusione di stime locali si fondano sul-l’ipotesi che gli errori di stima dello stato dei diversi sensori siano incorrelati. Questaassunzione non e corretta nello scenario che stiamo delineando, poiche il rumore dimodello e comune a tutti gli stimatori locali, come esporremo con piu dettaglio; per-cio, le stime locali dello stato sono correlate anche se i rispettivi rumori di misuranon lo sono.

8.1 Formulazione del problema e ipotesi

Si consideri il sistema lineare tempo-variante, a tempo discreto t = 0, 1, . . . com-prendente M sensori:

{x(t + 1) = A(t)x(t) + B(t)u(t) + w(t)

yi(t) = Ci(t)x(t) + vi(t), i = 1, 2, . . . , M(1)

dove lo stato x e di dimensione n e la misura di ciascun sensore e di dimensione mi1.

Ipotesi 1. w(t) e v(t), i = 1, 2, . . . , M siano rumori bianchi, a media nulla e ingenerale correlati, con:

E{[

w(t)vi(t)

] [wT (s) vT

i (s)]}

=

[Q(t) Si(t)ST

i (t) Ri(t)

]δts, (2)

E[vi(t)vTj (s)] = Rij(t)δts i 6= j . (3)

Si noti che RTij(t) = E[vj(t)v

Ti (s)] = Rji(t). Le matrici Q, Ri, Si, Rij si

suppongono note ad ogni istante t 2.

Ipotesi 2. Lo stato iniziale x(0) sia una variabile aleatoria indipendente dai rumoriw(t), vi(t), i = 1, . . . , M . Sia inoltre E[x(0)] = µ0 altresı esprimibile come

1Sun e Deng ([26]) considerano piu in generale un rumore di modello ω(t) , Γ(t)w(t), cherisulta ancora bianco poiche E[Γ(t)w(t)wT (s)ΓT (s)] = Γ(t)Q(t)ΓT (t)δts

2Il modello (37) e equivalente al seguente:

x(t + 1) = [A(t)− Si(t)R−1i (t)Ci(t)]x(t) + Si(t)R−1

i (t)Ci(t)x(t) + B(t)u(t) + w(t)

= Fi(t)x(t) + Si(t)R−1i (t)[yi(t)− vi(t)] + B(t)u(t) + w(t)

= Fi(t)x(t) + Si(t)R−1i (t)yi(t) + B(t)u(t) + w(t)− Si(t)Ri(t)−1vi(t)︸ ︷︷ ︸

,wi(t)

yi(t) = Ci(t)x(t) + vi(t), i = 1, 2, . . . , M

(4)

in cui Fi(t) , A(t)− Si(t)R−1i (t)Ci(t) e i rumori bianchi wi(t) e vi(t) sono tra loro incorrelati.

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

28

Page 29: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.2 Difficolta generali nella ricostruzione della stima di Kalman comecombinazione lineare di stime locali

x(0| − 1); sia infine E[(x(0)− µ0)(x(0)− µ0)T ] = E[(x(0)− x(0| − 1))(x(0)−

x(0| − 1))T ] = E[x(0| − 1)xT (0| − 1)] = P0 (µ0 e P0 si suppongono note).

Ipotesi 3. L’ingresso u(t), t = 0, 1, . . . sia noto per ogni t ad ogni nodo; questoimplica anche che non vi sia alcuna retroazione da y(0), . . . , y(t) a u(t)3.

Ogni sensore sia dotato di capacita computazionale, in modo da poter stimarelocalmente lo stato xi(t|t), inviando la sua stima ad una base station che ricavi lamiglior stima globale possibile. L’obiettivo che ci poniamo, in questo senso, e diindividuare lo stimatore globale xo(t|t) costruito come combinazione lineare dellestime locali che abbia le seguenti caratteristiche:

1. sia unbiased (E[xo(t|t)] = E[x(t)]);

2. minimizzi la varianza d’errore nel senso della traccia, ovvero Po(t|t) abbia latraccia minima tra le P (t|t) possibili per questa tipologia di stimatori.

Nella prossima sezione ed in appendice accenneremo brevemente ad altri due ap-procci alla fusione di stime locali, aventi formulazioni ed obiettivi differenti rispetto aquelli ora enunciati; la costruzione e l’analisi dello stimatore globale xo(t|t) occuperainvece tutte le sezioni successive.

8.2 Difficolta generali nella ricostruzione della stima di Kalmancome combinazione lineare di stime locali

Consideriamo in questa sezione il modello di stato globale derivante da quello appenaenunciato, cioe definiamo:

C(t) ,

C1(t)...

CM(t)

, v(t) ,

v1(t)...

vM(t)

, y(t) ,

y1(t)...

yM(t)

= C(t)x(t) + v(t)

R(t) , E

v1(t)...

vM(t)

[vT

1 (t) · · · vTM(t)

] =

R1(t) R12(t) · · · R1M(t)

R21(t) R2(t)...

.... . .

...RM1(t) · · · · · · RM(t)

3Se u(t) fosse funzione di un processo esogeno e della storia passata di y(·), i.e. u(t) = f(Y t) +r(t), cambierebbero le equazioni del predittore di un passo dello stato e bisognerebbe aumentarela dimensione del modello (vedi [18, pp.301-304]). Un’altra possibilita per cui valgono le equazionidel filtro in oggetto e che l’ingresso sia esclusivamente funzione della storia passata di y; si veda atal proposito [18, pp.301-304].

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

29

Page 30: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.2 Difficolta generali nella ricostruzione della stima di Kalman comecombinazione lineare di stime locali

S(t) , E[w(t)

[vT

1 (t) · · · vTM(t)

]]=

[S1(t) · · · SM(t)

]Ogni Si ha n righe ⇒ S e n×M

F (t) , A(t)− S(t)R−1(t)C(t) .

Per semplicita, d’ora in poi in questa sezione evitiamo di considerare l’ingressou(t) e consideriamo le matrici A, C, Q, R, S, ecc. costanti nel tempo.

Richiamiamo brevemente le equazioni del filtro di Kalman centralizzato:

aggiornamento

K(t) = P (t|t− 1)CT [CP (t|t− 1)CT + R]−1

P (t|t) = [In −K(t)C]P (t|t− 1)

x(t|t) = x(t|t− 1) + K(t)[y(t)− Cx(t|t− 1)]

(5)

predizione

{P (t + 1|t) = FP (t|t)F T + Q− SR−1ST

x(t + 1|t) = Fx(t|t) + SR−1y(t)(6)

e concentriamo la nostra attenzione sull’equazione di aggiornamento della stimadello stato: supponendo R definita positiva e utilizzando il lemma di inversione dimatrice, essa puo essere riscritta4 osservando che:

K(t) = P (t|t− 1)CT [CP (t|t− 1)CT + R]−1

= P (t|t− 1)CT{R−1 −R−1C[P−1(t|t− 1) + CT R−1C]−1CT R−1}= P (t|t− 1){CT R−1 − CT R−1C[P−1(t|t− 1) + CT R−1C]−1CT R−1}= P (t|t− 1){In − CT R−1C[P−1(t|t− 1) + CT R−1C]−1}CT R−1

ed ottenendo:

x(t|t) = x(t|t− 1) + K(t)[y(t)− Cx(t|t− 1)]

= x(t|t− 1) + P (t|t− 1){In − CT R−1C[P−1(t|t− 1) + CT R−1C]−1}CT R−1[y(t)− Cx(t|t− 1)]

4Per inciso, puo essere riscritta anche come segue:

x(t|t) = x(t|t− 1) + K(t)[y(t)− Cx(t|t− 1)]= [In −K(t)C]x(t|t− 1) + K(t)y(t)

= [In − P (t|t− 1)CT [CP (t|t− 1)CT + R]−1C]x(t|t− 1) + K(t)y(t)

= [In + P (t|t− 1)CT R−1C]−1x(t|t− 1) + K(t)y(t)

= [In + P (t|t− 1)CT R−1C]−1x(t|t− 1) + P (t|t− 1)CT [CP (t|t− 1)CT + R]−1Cy(t)

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

30

Page 31: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.2 Difficolta generali nella ricostruzione della stima di Kalman comecombinazione lineare di stime locali

Assumiamo per un momento che E[vi(t)vj(t)] = Rij = 0, i 6= j: sotto quest’ipote-si l’equazione precedente puo essere riscritta come:

x(t|t) = x(t|t− 1) + P (t|t− 1){In − CT R−1C[P−1(t|t− 1) + CT R−1C]−1}·

· [ CT1 · · · CT

M

]

R−11 0

. . .

0 R−1M

y1(t)− C1x(t|t− 1)...

yM(t)− CM x(t|t− 1)

= x(t|t− 1) + P (t|t− 1)

In −

∑i

CTi R−1

i Ci

[P−1(t|t− 1) +

∑i

CTi R−1

i Ci

]−1 ·

· [ CT1 R−1

1 · · · CTMR−1

M

]

y1(t)− C1x(t|t− 1)...

yM(t)− CM x(t|t− 1)

In generale, x(t|t − 1) sara diverso dal vettore nullo, poiche la sua evoluzione edata da: x(t + 1|t) = Ax(t|t− 1) + [K(t) + SR−1][y(t)− Cx(t|t− 1)].

Confrontando l’equazione di aggiornamento ora ottenuta

x(t|t)=x(t|t−1)+P (t|t−1)n

In−P

i CTi R−1

i Ci[P−1(t|t−1)+P

i CTi R−1

i Ci]−1o·Pi CT

i R−1i [yi(t)−Cix(t|t−1)]

con l’equazione d’aggiornamento iniziale dello stimatore locale i:

xi(t|t)=xi(t|t−1)+Pi(t|t−1){In−CTi R−1

i Ci[P−1i (t|t−1)+CT

i R−1i Ci]

−1}CTi R−1

i [yi(t)−Cixi(t|t−1)]

osserviamo, in generale, le difficolta di una possibile ricostruzione della stima x(t|t)tramite una combinazione lineare delle stime locali xi(t|t):

• con lo scorrere del tempo, xi(t|t − 1) evolve diversamente da sensore a sen-sore (nell’istante iniziale, invece, vale µ0 per tutti i filtri locali); conseguente-mente, i termini yi(t) − Cixi(t|t − 1) non coincidono con le effettive compo-nenti dell’innovazione globale yi(t)−Cix(t|t− 1), che ritroviamo nelle formuleprecedenti;

• osserviamo inoltre la matrice varianza dell’errore globale di predizione P (t|t−1): essa ha sulla diagonale le matrici varianza degli errori di predizione locali e,come altri elementi, le matrici covarianza tra i diversi errori di predizione locali.Un’eventuale combinazione lineare delle xi(t|t) dovrebbe percio utilizzare talimatrici covarianza: non facendo esse parte delle equazioni di aggiornamentolocali, dovrebbero in qualche modo essere presenti nei combinatori lineari.

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

31

Page 32: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.3 Filtri di Kalman locali: covarianze Pij(t|t)

Non ci soffermiamo ulteriormente sull’analisi del problema della ricostruzione del-la stima globale di Kalman dalle stime locali, rimandando all’appendice per qualchealtra considerazione.

Accenniamo solamente che un caso particolare in cui tale ricostruzione e possibilee quando, invece di un sistema tempo-variante, si abbia un modello lineare statico,in cui il vettore aleatorio (di dimensione n) x da stimare in base al vettore delle Mmisure y = Sx + v abbia media nulla; si puo dimostrare che in tale situazione lostimatore x basato sulle misure y si puo scrivere come funzione lineare degli stimatoribasati sulle singole misure yi, i = 1, . . . , M , secondo la forma x =

∑i Lixi.

Cercheremo, in questo lavoro, non una soluzione al problema qui sopra espostoma un procedimento che consenta di ottenere una combinazione lineare “soddi-sfacente” delle stime locali, secondo un criterio che preciseremo con dettaglio.

8.3 Filtri di Kalman locali: covarianze Pij(t|t)Sotto le ipotesi precedenti, lo stimatore locale ottimo5 alla Kalman e, al genericoistante t = 0, 1, . . .:

aggiornamento

Ki(t) = Pi(t|t− 1)CTi (t)[Ci(t)Pi(t|t− 1)CT

i (t) + Ri(t)]−1

Pi(t|t) = [In −Ki(t)Ci(t)]Pi(t|t− 1)

xi(t|t) = xi(t|t− 1) + Ki(t)[yi(t)− Ci(t)xi(t|t− 1)]

(7)

predizione

{Pi(t + 1|t) = Fi(t)Pi(t|t)F T

i (t) + Q(t)− Si(t)Ri(t)−1ST

i (t)

xi(t + 1|t) = Fi(t)xi(t|t) + Si(t)Ri(t)−1yi(t) + B(t)u(t)

(8)

dove6 Fi(t) , A(t) − Si(t)Ri(t)−1Ci(t)

7. Per t = 0, Pi(0|0) = f(Pi(0| − 1)) exi(0|0) = g(xi(0| − 1)) si calcolano utilizzando le condizioni iniziali Pi(0| − 1) = P0

e xi(0| − 1) = µ0.

5L’aggettivo “ottimo” fin da qui rappresenta una caratterizzazione non esatta: l’ottimalita(minimizzazione della matrice varianza dell’errore di predizione) delle equazioni del filtro di Kalmansi ottiene sotto alcune ipotesi aggiuntive, oltre a quelle che qui assumiamo, i.e. la gaussianita deirumori w(t), vi(t). Senza tali ipotesi, il termine “ottimo” sta in realta ad indicare lo stimatoreottimo tra quelli lineari.

6Nota sulle dimensioni: Ki(t)Ci(t) e una matrice quadrata di dimensione n, poiche Ki(t) en× pi e Ci(t) e pi × n. Per inciso, il prodotto Ci(t)Ki(t) avrebbe dimensioni pi × pi

7Si noti l’equazione di Kalman della predizione dello stato:

xi(t + 1|t) = Fi(t)xi(t|t) + Si(t)Ri(t)−1yi(t) + B(t)u(t)

ci domandiamo se e equivalente alla predizione:

xi(t + 1|t) = A(t)xi(t|t) + B(t)u(t)

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

32

Page 33: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.3 Filtri di Kalman locali: covarianze Pij(t|t)

E bene notare, per i risultati che ricaveremo, che lo stimatore xi(t|t) e unbiasedpoiche e, per definizione, E[x(t)|yi(t), . . . , yi(0), ui(t), . . . , ui(0)]; in effetti l’errorexi(t|t) ha media E[x(t)]− E[x(t)|yi(t), . . . , yi(0), ui(t), . . . , ui(0)] = 0 nulla.Come referenza, si rimanda a [18]8 o [1].

In generale, per il sensore i, l’errore di stima xi(t|t) e:

xi(t|t) , x(t)− xi(t|t)= x(t)− xi(t|t− 1)−Ki(t)[yi(t)− Ci(t)xi(t|t− 1)]

= xi(t|t− 1)−Ki(t)[yi(t)− Ci(t)xi(t|t− 1)]

= xi(t|t− 1)−Ki(t)[Ci(t)x(t) + vi(t)− Ci(t)xi(t|t− 1)]

= xi(t|t− 1)−Ki(t)Ci(t)[x(t)− xi(t|t− 1)]−Ki(t)vi(t)

= [In −Ki(t)Ci(t)]xi(t|t− 1)−Ki(t)vi(t)

ed essendo xi(t|t− 1) pari a

x(t)− xi(t|t− 1) = A(t− 1)xi(t− 1|t− 1) + w(t− 1)

= Fi(t− 1)xi(t− 1|t− 1) + w(t− 1)− Si(t− 1)R−1i (t− 1)vi(t− 1)

si ottiene l’espressione cercata per xi(t|t):[In −Ki(t)Ci(t)] · [Fi(t− 1)xi(t− 1|t− 1) + w(t− 1)− Si(t− 1)R−1

i (t− 1)vi(t− 1)]−−Ki(t)vi(t)

Il prossimo teorema ricava la covarianza incrociata tra gli errori di stima deisensori i e j: Pij(t|t) , E[xi(t|t)xT

j (t|t)].Teorema 8.1. Sotto le ipotesi 1, 2 e 3, la covarianza incrociata Pij(t|t) tra gli erroridi stima xi(t|t) e xj(t|t) si puo calcolare in forma ricorsiva come segue

Pij(t|t) = [In −Ki(t)Ci(t)] · [Fi(t− 1)Pij(t− 1|t− 1)F Tj (t− 1) + Ξij(t− 1)]·

· [In −Kj(t)Cj(t)]T + Ki(t)Rij(t)K

Tj (t) (9)

In effetti non lo e:

A(t)xi(t|t) + B(t)u(t) =

[A(t)− Si(t)R−1i (t)Ci(t)]︸ ︷︷ ︸

Fi(t)

x(t) + Si(t)R−1i (t)[yi(t)− vi(t)] + B(t)u(t)

poiche compare l’addendo −Si(t)R−1i (t)vi(t), che in generale non e nullo dato che vi(t) e una

particolare realizzazione del processo vi, in generale non nulla.Tuttavia, se Si(t) e la matrice nulla, le due predizioni considerate sono equivalenti.

8Si presti eventualmente attenzione al fatto che Picci chiama w e v quelli che qui denominiamorispettivamente v e w (ma concorda con la notazione: R e Q)

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

33

Page 34: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.3 Filtri di Kalman locali: covarianze Pij(t|t)

dove:

Ξij(t− 1) , Q(t− 1)− Sj(t− 1)Rj(t− 1)−1STj (t− 1)− Si(t− 1)Ri(t− 1)−1ST

i (t− 1)

+ Si(t− 1)Ri(t− 1)−1Rij(t− 1)Rj(t− 1)−1STj (t− 1)

+ Fi(t− 1)Ki(t− 1) · [Rij(t− 1)Rj(t− 1)−1STj (t− 1)− ST

i (t− 1)]

+ [Si(t− 1)Ri(t− 1)−1Rij(t− 1)− Sj(t− 1)] ·KTj (t− 1)F T

j (t− 1)

con condizione iniziale Pij(0|0) = [In−Ki(0)Ci(0)]P0[In−Kj(0)Cj(0)]T +Ki(0)Rij(0)KTj (0).

Dimostrazione. Dall’espressione precedentemente ricavata di xi(t|t):

xi(t|t) = [In −Ki(t)Ci(t)]·· [Fi(t− 1)xi(t− 1|t− 1) + w(t− 1)− Si(t− 1)R−1

i (t− 1)vi(t− 1)]−−Ki(t)vi(t)

si osserva che xi(t|t) e combinazione lineare delle variabili aleatorie (vettoriali) {w(t−1), . . . , w(0), vi(t), . . . , vi(0), x(0)}, ovvero, applicando ai processi aleatori le teoriesugli spazi vettoriali come in [18, pp.22-27, 79, 291-2]9:

xi(t|t) ∈ span{x(0), w(s− 1), vi(s); s ≤ t} .

Da cio, si osserva che xi(t− 1|t− 1) ⊥ vi(t): l’espressione precedentemente ricavatadi xi(t|t) e somma (algebrica) di due addendi ortogonali.Attenzione che, pero, xi(t|t) non e incorrelato da w(t) (ovvero w(t) - span{x(0), w(s−1), vi(s); s ≤ t}), poiche vi(t) non lo e. Si ha infatti:

E[xi(t|t)wT (t)] = E[x(t)wT (t)− xi(t|t)wT (t)]

= −E[xi(t|t)wT (t)] = . . . = −E[Ki(t)vi(t)wT (t)]

= −Ki(t)STi (t)

Calcoliamo xi(t|t)xTj (t|t), non riportando i termini derivanti da quei prodotti

misti che, all’applicazione futura dell’operatore di aspettazione, si elideranno in virtudell’osservazione sull’ortogonalita dei due addendi fatta qualche riga qui sopra:

[In −Ki(t)Ci(t)][Fi(t− 1)xi(t− 1|t− 1) + w(t− 1)− Si(t− 1)R−1i (t− 1)vi(t− 1)]·

· [xTj (t− 1|t− 1)F T

j (t− 1) + wT (t− 1)− vTj (t− 1)R−1

j (t− 1)STj (t− 1)][In −Kj(t)Cj(t)]

T

+ Ki(t)vi(t)vTj (t)KT

j (t)

9Ne riportiamo un breve richiamo in appendice.

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

34

Page 35: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.3 Filtri di Kalman locali: covarianze Pij(t|t)

(lo svolgimento dei prodotti e riportato in nota a pie pagina10) e ne eseguiamol’aspettazione, ricordando l’ipotesi 1 e utilizzando i fatti: w(s) ⊥ vi(t), vi(s) ⊥vi(t), t 6= s, vi(t) ⊥ xi(t− 1|t− 1):

E[xi(t|t)xTj (t|t)] = Pij(t|t) =

[In −Ki(t)Ci(t)] · {Fi(t− 1)Pij(t− 1|t− 1)F Tj (t− 1)− Sj(t− 1)KT

j (t− 1)F Tj (t− 1)

− Si(t− 1)R−1i (t− 1)E[vi(t− 1)xT

j (t− 1|t− 1)]F Tj (t− 1)− Fi(t− 1)Ki(t− 1)ST

i (t− 1) + Q(t− 1)

− Si(t− 1)R−1i (t− 1)ST

i (t− 1)− Fi(t− i)E[xi(t− 1|t− 1)vTj (t− 1)]R−1

j (t− 1)STj (t− 1)

− Sj(t− 1)R−1j (t− 1)ST

j (t− 1) + Si(t− 1)R−1i (t− 1)Rij(t− 1)R−1

j (t− 1)STj (t− 1)}·

· [In −Kj(t)Cj(t)]T + Ki(t)Rij(t)K

Tj (t) .

Si passa quindi a calcolare:

E[xi(t− 1|t− 1)vTj (t− 1)] = E[x(t− 1)vT

j (t− 1)− xi(t− 1|t− 1)vTj (t− 1)]

= −E[xi(t− 1|t− 1)vTj (t− 1)]

= −E[xi(t− 1|t− 2)vTj (t− 1)]

−Ki(t− 1)E[(Ci(t− 1)x(t− 1) + vi(t− 1)− Ci(t− 1)xi(t− 1|t− 2))vTj (t− 1)]

in cui (ricordando che supponiamo noto l’ingresso u):

xi(t− 1|t− 2) ∈ span{yi(t− 2)}+ span{xi(t− 2|t− 2)}= span{yi(t− 2), . . . , yi(0)}= span{Ci(t− 2)x(t− 2) + vi(t− 2), . . . , Ci(0)x(0) + vi(0)}= span{x(0), w(t− 3), . . . , w(0), vi(t− 2), . . . , vi(0)}

⇒ E[xi(t− 1|t− 2)vTj (t− 1)] = 0

10E sufficiente svolgere il conto:

[In −Ki(t)Ci(t)]·{Fi(t− 1)xi(t− 1|t− 1)xT

j (t− 1|t− 1)FTj (t− 1) + w(t− 1)xT

j (t− 1|t− 1)FTj (t− 1)

− Si(t− 1)R−1i (t− 1)vi(t− 1)xT

j (t− 1|t− 1)FTj (t− 1) + Fi(t− 1)xi(t− 1|t− 1)wT (t− 1)

+ w(t− 1)wT (t− 1)− Si(t− 1)R−1i (t− 1)vi(t− 1)wT (t− 1)

− Fi(t− 1)xi(t− 1|t− 1)vTj (t− 1)R−1

j (t− 1)STj (t− 1)− w(t− 1)vT

j (t− 1)R−1j (t− 1)ST

j (t− 1)

+ Si(t− 1)R−1i (t− 1)vi(t− 1)vT

j (t− 1)R−1j (t− 1)ST

j (t− 1)} · [In −Kj(t)Cj(t)]T

+ Ki(t)vi(t)vTj (t)KT

j (t)

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

35

Page 36: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.3 Filtri di Kalman locali: covarianze Pij(t|t)

percio:

E[xi(t− 1|t− 1)vTj (t− 1)] =

= −Ki(t− 1)E[Ci(t− 1)x(t− 1)vTj (t− 1) + vi(t− 1)vT

j (t− 1)]

= −Ki(t− 1)E[Ci(t− 1)x(t− 1)vTj (t− 1)]−Ki(t− 1)E[vi(t− 1)vT

j (t− 1)]

= −Ki(t− 1)E[Ci(t− 1)x(t− 1)vTj (t− 1)]−Ki(t− 1)Rij(t− 1)

e, ricordando che:

x(t−1) = A(t−2)x(t−2)+B(t−2)u(t−2)+w(t−2) ∈ span{x(0), w(t−2), . . . , w(0)} ,

si ottiene:E[xi(t− 1|t− 1)vT

j (t− 1)] = −Ki(t− 1)Rij(t− 1) .

che, sostituita nell’espressione precedente di Pij(t|t), permette di concludere:

Pij(t|t) =

[In −Ki(t)Ci(t)] · {Fi(t− 1)Pij(t− 1|t− 1)F Tj (t− 1)− Sj(t− 1)KT

j (t− 1)F Tj (t− 1)

+ Si(t− 1)R−1i (t− 1)Rij(t− 1)KT

j (t− 1)F Tj (t− 1)− Fi(t− 1)Ki(t− 1)ST

i (t− 1) + Q(t− 1)

− Si(t− 1)R−1i (t− 1)ST

i (t− 1) + Fi(t− i)Ki(t− 1)Rij(t− 1)R−1j (t− 1)ST

j (t− 1)

− Sj(t− 1)R−1j (t− 1)ST

j (t− 1) + Si(t− 1)R−1i (t− 1)Rij(t− 1)R−1

j (t− 1)STj (t− 1)}·

· [In −Kj(t)Cj(t)]T + Ki(t)Rij(t)K

Tj (t) .

Infine, definendo:

Ξij(t− 1) , −Sj(t− 1)KTj (t− 1)F T

j (t− 1)

+ Si(t− 1)R−1i (t− 1)Rij(t− 1)KT

j (t− 1)F Tj (t− 1)− Fi(t− 1)Ki(t− 1)ST

i (t− 1) + Q(t− 1)

− Si(t− 1)R−1i (t− 1)ST

i (t− 1) + Fi(t− i)Ki(t− 1)Rij(t− 1)R−1j (t− 1)ST

j (t− 1)

− Sj(t− 1)R−1j (t− 1)ST

j (t− 1) + Si(t− 1)R−1i (t− 1)Rij(t− 1)R−1

j (t− 1)STj (t− 1)

si ottiene l’espressione ricorsiva dell’enunciato:

Pij(t|t) = [In −Ki(t)Ci(t)] · {Fi(t− 1)Pij(t− 1|t− 1)F Tj (t− 1) + Ξij(t− 1)}·

· [In −Kj(t)Cj(t)]T + Ki(t)Rij(t)K

Tj (t) .

C’e ora da precisare la condizione iniziale della formula ricorsiva appena ricavata.Tutti gli M stimatori locali sono sensatamente inizializzati con x(0|−1) = E[x(0)] =x0 (quindi ∀i = 1, . . . , M xi(0| − 1) = x(0)− x(0| − 1)), percio:

Pij(0| − 1) = E[xi(0| − 1)xj(0| − 1)T ] = E[x(0| − 1)x(0| − 1)T ] = P0 . (10)

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

36

Page 37: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.3 Filtri di Kalman locali: covarianze Pij(t|t)

Si tratta quindi di trovare una relazione tra Pij(t|t− 1) e Pij(t|t).Ricordiamo la formula ricavata all’inizio di questa sezione:

xi(t|t) = [In −Ki(t)Ci(t)]xi(t|t− 1)−Ki(t)vi(t)

da cui osserviamo ancora una volta che:

vi(t) e vj(t) ⊥ span{x(0), w(t− 2), . . . , w(0), vi(t− 1), . . . , vi(0)} 3 xi(t|t− 1)

percio

Pij(t|t) = E[xi(t|t)xj(t|t)]= E[{[In −Ki(t)Ci(t)]xi(t|t− 1)−Ki(t)vi(t)}{[In −Kj(t)Cj(t)]xj(t|t− 1)−Kj(t)vj(t)}T ]

= E[[In −Ki(t)Ci(t)]xi(t|t− 1)xTj (t|t− 1)[In −Kj(t)Cj(t)]

T + Ki(t)vi(t)vTj (t)KT

j (t)]

= [In −Ki(t)Ci(t)]Pij(t|t− 1)[In −Kj(t)Cj(t)]T + Ki(t)Rij(t)K

Tj (t)

da cui appare immediato imporre come Pij(0|0):

Pij(0|0) = [In −Ki(0)Ci(0)]P0[In −Kj(0)Cj(0)]T + Ki(0)Rij(0)KTj (0) (11)

Osservazione 1. Nel caso in cui ci sia incorrelazione tra tutti i rumori, ovverow(t) ⊥ vi(t) ⊥ vj(t) (per i 6= j) le matrici Si(t), Rij(t) sono tutte nulle, tranneRii(t) che e uguale a Ri(t). Di conseguenza, il termine Ki(t)Rij(t)K

Tj (t) com-

pare comunque nell’aggiornamento di Pii(t|t) (= Pi(t|t)) e vale Ki(t)Ri(t)KTi (t).

Osservazione 2. Per calcolare Pij(t|t) servono Pij(t − 1|t − 1), Ki(t) (e quindiPi(t|t − 1)), Kj(t) (quindi Pj(t|t − 1)), Ki(t − 1) (quindi Pi(t − 1|t − 2)),Kj(t− 1) (quindi Pj(t− 1|t− 2)).

Osservazione 3. Per calcolare Pij(t|t) e necessario invertire le due matrici: Ri(t−1)e Rj(t − 1), oltre alle inversioni per il calcolo dei K richiesti. Tuttavia, nelcaso in cui Ri e Rj non dipendano effettivamente dal tempo, la loro inversionesarebbe eseguita solamente all’istante iniziale.

Osservazione 4. Pij(t|t) non e in generale una matrice simmetrica (i.e. Pij(t|t) 6=P T

ij (t|t)), anche se P0 lo e; pero Pij(t|t) = P Tji (t|t): infatti, supponendo che

P Tji (0|0) = P T

ji (0|0) (per questo sono sufficienti le proprieta di simmetria di P0

e di Rij(0)), si procede per induzione:

P Tji (t|t) = [In −Ki(t)Ci(t)] · [Fi(t− 1)P T

ji (t− 1|t− 1)F Tj (t− 1) + ΞT

ji(t− 1)]·· [In −Kj(t)Cj(t)]

T + Ki(t)RTji(t)K

Tj (t)

= Pij(t|t) = [In −Ki(t)Ci(t)] · [Fi(t− 1)Pij(t− 1|t− 1)F Tj (t− 1) + Ξij(t− 1)]·

· [In −Kj(t)Cj(t)]T + Ki(t)Rij(t)K

Tj (t)

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

37

Page 38: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.3 Filtri di Kalman locali: covarianze Pij(t|t)

dato che, tralasciando l’argomento temporale (t) e note le simmetrie di Q, Si, Ri, Rij:

ΞTji = −FiKiS

Ti + FiKiRjiR

−1j ST

j + Q− SjKTj F T

j − SjR−1j ST

j

+ SiR−1i RjiK

Tj F T

j − SiR−1i ST

i + SiR−1i RjiR

−1j ST

j

= Ξij = −SjKTj F T

j + SiR−1i RijK

Tj F T

j − FiKiSTi + Q− SiR

−1i ST

i

+ FiKiRijR−1j ST

j − SjR−1j ST

j + SiR−1i RijR

−1j ST

j

Osservazione 5. Pij(t|t) non e in generale una matrice definita positiva, come ev-idenziato in [23]; nello stesso articolo vengono ricavate, nel contesto di prob-lematiche di tracking, condizioni per l’esistenza, l’unicita e per la proprieta diessere definita positiva della matrice covarianza Pij(t|t).

8.3.1 Per i = j, Pij(t|t) ricade nell’equazione standard del filtro di Kalman

Verifichiamo che, per i = j, Pii(t|t) (ovvero Pi(t|t)) evolve secondo la successionerelativa al filtro di Kalman standard:

Pi(t|t) = Pi(t|t− 1)− Pi(t|t− 1)Ci(t)T [Ci(t)Pi(t|t− 1)CT

i (t) + Ri(t)]−1Ci(t)Pi(t|t− 1)

= Pi(t|t− 1)−Ki(t)Ci(t)Pi(t|t− 1)

= [In −Ki(t)Ci(t)]Pi(t|t− 1)

dove:

Pi(t|t−1) = Fi(t−1)Pi(t−1|t−1)F Ti (t−1)+Q(t−1)−Si(t−1)Ri(t−1)−1ST

i (t−1) .

Vediamo dunque che l’espressione di Pij(t|t) prima ricavata, per i = j coincide con[In −Ki(t)Ci(t)]Pi(t|t− 1):

Pii(t|t) = [In −Ki(t)Ci(t)] · [Fi(t− 1)Pii(t− 1|t− 1)F Ti (t− 1) + Ξii(t− 1)]·

· [In −Ki(t)Ci(t)]T + Ki(t)Ri(t)K

Ti (t) (12)

Dato che:E[vi(t)v

Ti (s)] = Rii(t)δts = Ri(t)δts , (13)

Ξii(t− 1) si semplifica notevolmente:

Ξii(t− 1) , Q(t− 1)− Si(t− 1)Ri(t− 1)−1STi (t− 1) .

Allora si puo riscrivere:

Pii(t|t) = [In −Ki(t)Ci(t)]·· [Fi(t− 1)Pii(t− 1|t− 1)F T

i (t− 1) + Q(t− 1)− Si(t− 1)Ri(t− 1)−1STi (t− 1)]·

· [In −Ki(t)Ci(t)]T + Ki(t)Ri(t)K

Ti (t)

= [In −Ki(t)Ci(t)]Pi(t|t− 1)[In −Ki(t)Ci(t)]T + Ki(t)Ri(t)K

Ti (t)

(conti nella nota a pie pagina)

= [In −Ki(t)Ci(t)]Pi(t|t− 1)

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

38

Page 39: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.4 Fusion lineare “ottima” delle stime locali

I passaggi di conto saltati sono riportati nella nota a pie pagina:11

8.4 Fusion lineare “ottima” delle stime locali

Il teorema seguente ricava la migliore combinazione lineare di M stime locali un-biased dello stato, ovvero la stima globale ottimamente ottenuta (nel senso dellaminima traccia della matrice varianza d’errore della stima globale) in modo linearedalle stime locali (fusion).

E fondamentale notare, riguardo al termine ottima, che il nostro scopo e la mini-mizzazione della traccia della matrice varianza dell’errore di predizione globalee non come avviene invece in un filtro di Kalman, la minimizzazione “comp-lessiva” della matrice varianza P dell’errore di predizione (ovvero, detta Π la matricevarianza d’errore di un altro stimatore lineare, Π − P e una matrice semidefinitapositiva).

In generale, la minimizzazione della traccia di P e una condizione meno strin-gente della minimizzazione “complessiva”, percio in generale il metodo di fusioneche proporremo e subottimo, nel senso che potrebbe esistere un altro stimatore lin-eare capace di minimizzare “complessivamente” P ; nel caso generale che quiaffrontiamo (cfr. ipotesi 1, 2, 3) e senza ulteriori ipotesi semplificative,e pero impossibile ricostruire in modo lineare dalle stime locali quellache sarebbe stata la stima globale del filtro di Kalman centralizzato12.

Le ipotesi 1, 2 e 3 inizialmente indicate non verranno ulteriormente richiamatenei i passaggi che seguono: sono state necessarie per ricavare le equazioni deglistimatori ottimi locali unbiased e le espressioni delle covarianze incrociate Pij(·|·)che utilizzeremo a breve.

11

[In −Ki(t)Ci(t)]Pi(t|t− 1)[In −Ki(t)Ci(t)]T + Ki(t)Ri(t)KTi (t)

= [Pi(t|t− 1)−Ki(t)Ci(t)Pi(t|t− 1)][In − CTi (t)KT

i (t)] + Ki(t)Ri(t)KTi (t)

=Pi(t|t−1)−Ki(t)Ci(t)Pi(t|t−1)−Pi(t|t−1)CTi (t)KT

i (t)+Ki(t)Ci(t)Pi(t|t−1)CTi (t)KT

i (t)+Ki(t)Ri(t)KTi (t)

=Pi(t|t−1)−2Ki(t)Ci(t)Pi(t|t−1)+Ki(t)Ci(t)Pi(t|t−1)CTi (t)KT

i (t)+Ki(t)Ri(t)KTi (t)

=Pi(t|t−1)−2Ki(t)Ci(t)Pi(t|t−1)+Ki(t)[Ci(t)Pi(t|t−1)CTi (t)+Ri(t)]K

Ti (t)

= Pi(t|t− 1)− Pi(t|t− 1)CTi (t)[Ci(t)Pi(t|t− 1)CT

i (t) + Ri(t)]−1Ci(t)Pi(t|t− 1)= Pi(t|t− 1)−Ki(t)Ci(t)Pi(t|t− 1)= [In −Ki(t)Ci(t)]Pi(t|t− 1)

12Come affermato ad esempio in [10].

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

39

Page 40: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.4 Fusion lineare “ottima” delle stime locali

Teorema 8.2. Siano xi(t|t), i = 1, 2, . . . , M , stimatori unbiased di x(t), a cuicorrispondono gli errori di stima xi(t|t) = x(t) − xi(t|t). Siano Pij(t|t) le matricicovarianza (o varianza, se i = j) di xi(t|t) e xj(t|t) e sia Σ(t|t) la matrice:

Σ(t|t) ,

P11(t|t) P12(t|t) · · · · · ·P21(t|t) . . .

.... . .

... PMM(t|t)

. (14)

Nell’ipotesi che, all’istante t, Σ(t|t) sia invertibile, la combinazione lineare deglixi(t|t):

xo(t|t) = Ψ1(t)x1(t|t) + Ψ2(t)x2(t|t) + . . . + ΨM(t)xM(t|t) (15)

dove le Ψi(t) sono definite da:

Ψ(t) = Σ−1(t|t)I(IT Σ−1(t|t)I)−1 (16)

Ψ(t) ,

Ψ1(t)...

ΨM(t)

, I ,

In...In

Mn

permette di ottenere la varianza d’errore dello stimatore lineare globale xo(t|t) aventetraccia minore, tra tutte le combinazioni lineari degli xi(t|t).

Tale varianza d’errore Po(t|t) = E[xo(t|t)xTo (t|t)] risulta:

Po(t|t) =(IT Σ−1(t|t)I)−1

Dimostrazione. Non riportiamo per semplicita l’argomento temporale t ed introdu-ciamo lo stimatore unbiased :

x = Ψ1x1 + Ψ2x2 + . . . + ΨM xM (17)

dove per il momento Ψi sono matrici arbitrarie n×n. Per ipotesi gli stimatori localixi sono unbiased (E[xi] = E[x]) per cui E[x] = E[x]. Eseguendo l’aspettazione dientrambi i membri della (17) si ottiene l’uguaglianza:

In = Ψ1 + Ψ2 + . . . + ΨM . (18)

Si puo quindi ricavare da (17) e (18) l’errore di stima

x , x− x = x−M∑i=1

Ψixi =

(M∑i=1

Ψi

)x−

M∑i=1

Ψixi =M∑i=1

Ψixi

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

40

Page 41: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.4 Fusion lineare “ottima” delle stime locali

dove con xi si indicano gli errori di stima locali (xi(t|t)). La matrice varianza di xe facilmente esprimibile una volta definita la matrice:

Ψ ,

Ψ1...

ΨM

e risulta:P , E[xxT ] = ΨT ΣΨ , (19)

in cui Σ e stata definita nell’enunciato.

Ricaviamo i combinatori lineari Ψi che minimizzino l’indice di costo:

J , tr (P ) = tr(ΨT ΣΨ

)

che soddisfino il vincolo (18). Applichiamo il metodo dei moltiplicatori di Lagrange,introducendo la funzione ausiliaria:

F , J + 2tr[Λ(ΨTI − In)

]

in cui Λ = [λij] e una matrice n× n.Imponendo ∂F

∂Ψ

∣∣Ψ=Ψ

= 0 e notando che ΣT = Σ si ricava:

ΣΨ + IΛ = 0 .

Combinando quest’ultima equazione con il vincolo ((18) si ottiene l’equazione ma-triciale: [

Σ IIT 0

] [ΨΛ

]=

[0In

].

Poiche per ipotesi Σ e definita positiva, IT ΣI ha rango pieno.Utilizzando la formula di inversione di matrice, si deduce:

[ΨΛ

]=

[Σ IIT 0

]−1 [0In

]=

[Σ−1I(IT Σ−1I)−1

−(IT Σ−1I)−1

].

ovvero la (16). Infine, sostituendo (16) nella (19) si ottiene:

Po =(IT Σ−1I)−1

.

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

41

Page 42: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.4 Fusion lineare “ottima” delle stime locali

Si osservi che la matrice Σ e simmetrica poiche, come visto precedentemente,P T

ji (t|t) = Pij(t|t); inoltre, l’inversa di una matrice simmetrica e ancora una matricesimmetrica.

Tuttavia, diversamente da quanto affermano Sun e Deng ([26]), e possibile cheΣ sia una matrice a determinante nullo e quindi non invertibile, come puo essereanche evidenziato in fase di simulazione con opportuni modelli di stato.

Questo scoglio e facilmente aggirabile tramite l’utilizzo dell’operatore † di pseudo-inversa al posto di quello di inversione.

Analizziamo il calcolo delle Ψ(t)

Ψ(t) = Σ−1(t|t)I(IT Σ−1(t|t)I)−1 = Σ−1(t|t)I(∑

ij

σ(−1)ij (t|t)

)−1

= Σ−1(t|t)I(∑

i

σ(−1)i (t|t) +

∑i>j

σ(−1)ij (t|t) +

∑i<j

σ(−1)ij (t|t)

)−1

= Σ−1(t|t)I(∑

i

σ(−1)i (t|t) + 2

∑i>j

σ(−1)ij (t|t)

)−1

=

∑j σ

(−1)1j (t|t)...∑

j σ(−1)Mj (t|t)

·

(∑i

σ(−1)i (t|t) + 2

∑i>j

σ(−1)ij (t|t)

)−1

dove le σ(−1)ij (t|t) sono matrici n× n (blocchi della matrice Σ−1). Volendo calcolare

ad esempio la sola Ψ1(t), si dovrebbe comunque conoscere tutte le Pij(t|t):

Ψ1(t) =

(∑j

σ(−1)1j (t|t)

)·(∑

ij

σ(−1)ij (t|t)

)−1

Corollario 8.3. Sotto le ipotesi del teorema precedente, Po(t|t) ≤ Pi(t|t), i =1, 2, . . . , M .

Dimostrazione. E diretta conseguenza dell’espressione di Po(t|t) ricavata nel teoremaprecedente e della disuguaglianza di Schwartz (matriciale), infatti, non indicando per

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

42

Page 43: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.4 Fusion lineare “ottima” delle stime locali

semplicita l’argomento temporale e definendo:

Ii ,

0...In...0

−→ blocco i

Mn

vale la relazione:

Po =(IT Σ−1I)−1

=[(Σ− 1

2I)T (Σ12Ii)

]T

·[(Σ− 1

2I)T (Σ− 12I)

]−1

·

·[(Σ− 1

2I)T (Σ12Ii)

]≤ (Σ

12Ii)(Σ

12Ii) = Pi

Osservazione. Vediamo quante matrici e necessario invertire al passo t per ottenerele Ψi(t), i = 1, . . . , M .

• per calcolare le Pij(t|t) (come visto nella sezione precedente): tutte leRi(t − 1) e le matrici che e necessario invertire per il calcolo dei Ki(t),cioe le (Ci(t)Pi(t|t−1)Ci(t)

T +Ri(t)): complessivamente 2M ; tuttavia, sele Ri non dipendono effettivamente dal tempo, tale numero scende a Mpoiche la loro inversione viene effettuata una sola volta all’istante iniziale

• Σ (di dimensioni Mn×Mn !)

• IT Σ−1Icioe, in totale, ad ogni passo t la fusione delle stime locali comporta l’inversionedi 2M + 2 matrici, che comunemente scende a 2 nel caso in cui le Ri nondipendano effettivamente da t. L’inversione della matrice Σ(t|t), di grandidimensioni, puo essere tuttavia un problema non trascurabile.

Questo criterio di fusione lineare e stato ricavato e generalizzato da Sun e Deng[26]: nel loro lavoro hanno dimostrato, come corollari o casi particolari, risultatiottenuti da altri studiosi in articoli precedenti, come ad esempio il criterio di fusioneproposto da Kim [16]; quest’ultimo ha assunto l’ulteriore ipotesi di gaussianita dellequantita aleatorie in gioco ed ha ricavato i propri risultati utilizzando il criterio dimassima verosimiglianza.

Si osservi ancora una volta che quella ricavata e la migliore tra le combinazionilineari delle stime locali, in cui l’aggettivo migliore e da interpretarsi nel senso della

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

43

Page 44: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.4 Fusion lineare “ottima” delle stime locali

minimizzazione della traccia della matrice Po(t|t). A livello intuitivo, i combinatorilineari Ψi sono calcolati in base alle covarianze Phj degli errori di stima, in mododa moltiplicare per coefficienti di modulo elevato le componenti dello stato “benstimate” dal nodo i e viceversa.

8.4.1 Un’interpretazione del metodo di fusione in oggetto

Al tempo t, le M stime locali xi(t|t) possono essere interpretate come M misuredel vettore di stato, secondo il modello lineare (in cui eliminiamo la dipendenza daltempo per semplicita di notazione):

xi = x + xi ⇒ X = Ix + X . (20)

Per le ipotesi assunte in precedenza, tra cui la proprieta di unbiasedness degli sti-matori locali, E[X] = 0, da cui e facile riconoscere la matrice covarianza di X: Σ,la medesima definita per lo scorso teorema.

Volendo calcolare la stima di x, date le M misure X, che minimizzi l’indice dicosto JW , (X−IX)W (X−IX), e semplice dimostrare, essendo X e X incorrelatie X a media nulla, che essa e data (come ad esempio nell’articolo di Deng et al: [8])dalla formula:

XWLS = (IT WI)−1IT WX (21)

Ponendo W = Σ−1, si ottiene lo stimatore di Gauss-Markov:

XWLS = (IT Σ−1I)−1IT Σ−1X (22)

che, partizionando (IT Σ−1I)−1IT Σ−1 in M blocchi Ψi n× n, permette di ritovare:

XWLS = (IT Σ−1I)−1IT Σ−1X = [Ψ1 · · ·ΨM ]

x1...

xM

.

Questo risultato e particolarmente significativo, poiche lo stimatore di Gauss-Markov ha la proprieta che la matrice varianza dell’errore di stima:

PWLS = (IT Σ−1I)−1 (23)

e “complessivamente” (cioe, nel senso dell’ordinamento tra matrici) la minore, tra ipossibili stimatori costituiti da combinazioni lineari delle misure.

Bisogna pero rimarcare il fatto che quello appena considerato e un modello linearestatico, cioe si trattano le stime locali xi(t|t) come se fossero “misure” di una variabilealeatoria e non di un processo aleatorio: la combinazione lineare proposta non sfruttaa pieno le informazioni derivanti dalle “misure” effettuate nei tempi passati e, quindi,dalla conoscenza delle equazioni dell’evoluzione di x(t).

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

44

Page 45: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.4 Fusion lineare “ottima” delle stime locali

8.4.2 Il caso di rumori incorrelati e alcune considerazioni sulla decen-tralizzazione del filtro di Kalman

Nelle ipotesi di incorrelazione seguenti, per tutti gli i = 1, . . . , M :

• E[wi(t)vTi (t)] = 0

• E[vi(t)vTj (t)] = 0

le matrici Si, Rij risultano nulle per i 6= j e le covarianze incrociate Pij(t|t) evolvono,per i 6= j, secondo:

Pij(t|t) = [In −Ki(t)Ci(t)][Fi(t− 1)Pij(t− 1|t− 1)F Tj (t− 1) + Ξij(t− 1)][In −Kj(t)Cj(t)]

T

dove:

Ξij(t− 1) = Q(t− 1)

con condizione iniziale Pij(0|0) = [In −Ki(0)Ci(0)]P0[In −Kj(0)Cj(0)]T .

E significativo osservare che anche, nell’ipotesi di incorrelazione tra i rumori, lestime locali non sono tra loro incorrelate poiche il rumore di processo w(·) e comunea tutti i sensori: le covarianze Pij non sono matrici nulle e i combinatori Ψ(t) dipen-deranno da esse.

In generale, la stima globale ottenuta con la combinazione lineare presentata nelteorema precedente non coincide con quella che sarebbe stata effettuata da un filtrodi Kalman centralizzato 13.

La differenza prestazionale tra i due filtri sta nel confronto delle matrici var-

ianza d’errore: supponendo che Po(t|t) =(IT Σ−1(t|t)I)−1

converga ad una P∞o

(analizzeremo in seguito le ipotesi sotto cui questo accade), questa sara in generaleinferiore (nel senso matriciale) alla P∞ dello stimatore di Kalman centralizzato,soluzione dell’equazione algebrica di Riccati: P∞ = FP∞F T +Q−FP∞CT (CP∞CT +R)−1CP∞F T .

Il filtro di Kalman puo essere decentralizzato tramite la forma “di informazione”(che comunque non prevede la fusione di stime locali): su di esso il filtro decentral-izzato qui proposto ha un vantaggio significativo dal punto di vista delle perdite dipacchetto. Infatti, se accadono delle perdite di pacchetto ma ad un certo istante t

13Si ricorda che ci siamo preposti di minimizzare la traccia della matrice varianza dell’erroredi stima globale, mentre il filtro di Kalman minimizza P nel senso che Pmin = E

[xxT

]=

E[(x− x)(x− x)T

] ≤ E[(z − x)(z − x)T

]per ogni altro vettore z n-dimensionale appartenente

allo spazio vettoriale generato dalle y(t). La disuguaglianza A ≤ B e da intendersi nel senso cheB −A e definita positiva.

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

45

Page 46: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.4 Fusion lineare “ottima” delle stime locali

tutte le stime locali xi(t|t) raggiungono la fusion station, la stima globale risultantee la stessa che si sarebbe ottenuta senza alcuna perdita di pacchetto in passato;questo non e invece vero per il filtro di Kalman in forma di informazione.

Se la spedizione dell’informazione da un certo sensore i non andasse a buonfine, sarebbe come aver perso tutte le misure yj(t) prodotte al tempo t dai nodij la cui fusion e avvenuta nel nodo i (a meno che, ovviamente, non siano statetrasmesse dai nodi j anche a nodi diversi dal nodo i). La perdita delle misuresarebbe “irrecuperabile”, diversamente da quanto avviene invece con il metodo quidimostrato.

8.4.3 Alcune simulazioni

Anticipiamo in questo paragrafo alcune simulazioni del metodo di fusione ora enunci-ato, nel caso semplice di una rete di sensori priva di ritardi e di perdite di pacchetto.

Evidenzieremo le prestazioni del metodo, variando il modello di stato che de-scrive il processo x(t); in ogni caso, supporremo le matrici Si, Rij, i 6= j nulle persemplicita.

La rete considerata e costituita da sette sensori, disposti ad albero secondo lafigura seguente (5). La rete e implementata con la tecnica dei time slots (che ripren-

0 0.2 0.4 0.6 0.8 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

height = 3

Picture of the tree network

Figura 5: Rete di sensori utilizzata per le prime simulazioni.

deremo in seguito): ad ogni passo, i nodi piu lontani dalla radice eseguono le loroelaborazioni ed inviano il risultato ai loro genitori, che ne erano in attesa; si procedein questo modo livello per livello, fino alla radice.

Nella prima simulazione, consideriamo un modello di stato in cui la matrice A sia

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

46

Page 47: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.4 Fusion lineare “ottima” delle stime locali

strettamente stabile e in cui tutti i sottosistemi (A,Ci), i = 1, . . . , 7 siano osservabili.

Inoltre, la coppia (A,Q12 ) e raggiungibile14.

Le figure 6, 7, 8, 9 mostrano la bonta di tutte le stime locali e la convergenza

0 20 40 60 80 1000

0.5

1

1.5

2

2.5Comparison between P_i(t|t)

Time samples t (from t=1)

trace(P_1(t|t))trace(P_2(t|t))trace(P_3(t|t))trace(P_4(t|t))trace(P_5(t|t))trace(P_6(t|t))trace(P_7(t|t))trace(P_fused(t|t))

Figura 6: Prima simulazione (modello stabile e sottosistemi osservabili): tracce dellematrici Pi(t|t).

delle matrici Pi(t|t) (ovviamente, anche quella delle matrici Pi(t|t−1)); si puo notarecome la matrice varianza d’errore della stima globale, ottenuta come fusione delleprecedenti, abbia traccia minore rispetto a tutte le altre Pi(t|t). Si osserva inoltreche la norma dell’errore empirico ‖x(t) − xfused(t|t)‖ e generalmente inferiore allanorma di ‖x(t) − x1(t|t)‖. Per inciso, in questa simulazione la matrice Sigma(t|t)e risultata invertibile ad ogni t, tranne che per t = 0 (in cui e costituita da blocchitutti uguali).

14E significativo riportare una proprieta della matrice Q, di cui abbiamo tenuto conto nellesimulazioni, specialmente per quanto riguarda la generazione dell’evoluzione “vera” dello statosecondo l’equazione: x(t + 1) = Ax(t) + sqrtm(Q)w(t). La condizione perche sqrtm(Q) = Q

12

abbia elementi reali (e che quindi anche x(·) sia un processo a valori reali) e che Q non abbiaautovalori a parte reale negativa (e che, ovviamente, sia definita positiva affinche esista Q

12 ).

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

47

Page 48: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.4 Fusion lineare “ottima” delle stime locali

0 20 40 60 80 1000.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

1.1Andamento temporale delle tracce di Pi,j(t|t)

Time samples t (from t=1)

tr [

P_i

j(t|t)

]

trace(P_12(t|t)) = trace(P_21(t|t))trace(P_17(t|t))trace(P_22(t|t))trace(P_12_a_regime_teorica)

Figura 7: Prima simulazione (modello stabile e sottosistemi osservabili): tracce dellematrici Pij(t|t); analizzeremo nelle sezioni successive la loro convergenza.

0 20 40 60 80 1000

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8Comparison between empiric error norms

Time samples t (from t=1)

norm

[ tild

ex1(t

|t) ]

norm(x(:,t)−hatx_1_(t|t))norm(x(:,t)−fusedx(t|t))

Figura 8: Prima simulazione (modello stabile e sottosistemi osservabili): andamento deglierrori empirici di stima ‖x(t)− x1(t|t)‖ e ‖x(t)− xfused(t|t)‖.

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

48

Page 49: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.4 Fusion lineare “ottima” delle stime locali

0 10 20 30 40 50 60 70 80 90 1002

3

4

5

6

7

8

9

10Comparison between x(1,t), hatx(1,t|t) (nodes 1,2,5) and fusedx(1,t|t)

Time samples t (from t=1)

x(1,t)

hatx(t|t): eseguita al nodo 1: prima componente

hatx(t|t): eseguita al nodo 2: prima componente

hatx(t|t): eseguita al nodo 5: prima componente

fusedx(t|t): al nodo 1: prima componente

Figura 9: Prima simulazione (modello stabile e sottosistemi osservabili): andamento dellestime della prima componente del vettore di stato, confrontate tra loro e con l’andamentoreale.

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

49

Page 50: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.4 Fusion lineare “ottima” delle stime locali

Nella seconda simulazione viene considerata una matrice A instabile, mantenendopero l’osservabilita di tutti i sottosistemi. Si possono fare considerazioni analoghe

0 50 100 150 200 250 3000

5

10

15

20

25

30

35Comparison between P_i(t|t)

Time samples t (from t=1)

trace(P_1(t|t))trace(P_2(t|t))trace(P_3(t|t))trace(P_4(t|t))trace(P_5(t|t))trace(P_6(t|t))trace(P_7(t|t))trace(P_fused(t|t))

Figura 10: Seconda simulazione (modello instabile e sottosistemi osservabili): tracce dellematrici Pi(t|t).

0 50 100 150 200 250 3000

1

2

3

4

5

6

7Andamento temporale delle tracce di Pi,j(t|t)

Time samples t (from t=1)

tr [

P_i

j(t|t)

]

trace(P_12(t|t)) = trace(P_21(t|t))trace(P_1last(t|t))trace(P_22(t|t))trace(P_12_teorica)

Figura 11: Seconda simulazione (modello instabile e sottosistemi osservabili): tracce dellematrici Pij(t|t); analizzeremo nelle sezioni successive la loro convergenza.

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

50

Page 51: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.4 Fusion lineare “ottima” delle stime locali

0 20 40 60 80 100 1200

2

4

6

8

10

12

14

16

18

20Comparison between empiric error norms

Time samples t (from t=1)

norm

[ tild

ex1(t

|t) ]

norm(x(:,t)−hatx_1_(t|t))norm(x(:,t)−fusedx(t|t))

Figura 12: Seconda simulazione (modello stabile e sottosistemi osservabili): andamentodegli errori empirici di stima ‖x(t) − x1(t|t)‖ e ‖x(t) − xfused(t|t)‖. Superato un certoistante, intervengono errori di tipo numerico che inficiano il significato della simulazionenel periodo successivo.

2 4 6 8 10 12 14 16 18 200

10

20

30

40

50

60

70

80

90

100Comparison between x(1,t), hatx(1,t|t) (nodes 1,2,5) and fusedx(1,t|t)

Time samples t (from t=1)

x(1,t)hatx(t|t): eseguita al nodo 1: prima componentehatx(t|t): eseguita al nodo 2: prima componentehatx(t|t): eseguita al nodo 5: prima componentefusedx(t|t): al nodo 1: prima componente

Figura 13: Seconda simulazione (modello instabile e sottosistemi osservabili): andamen-to delle stime della prima componente del vettore di stato, confrontate tra loro e conl’andamento reale.

alla simulazione precedente; inoltre, con lo scorrere del tempo, le componenti dellostato assumono valori molto elevati ed intervengono errori di tipo numerico cheinficiano il significato della simulazione oltre un certo istante.

Nella terza simulazione viene considerata una matrice A strettamente stabile,

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

51

Page 52: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.4 Fusion lineare “ottima” delle stime locali

pero vengono utilizzati sensori per cui nessuna delle coppie (A, Ci) risulti osservabile(la coppia (A,Cglob) rimane invece osservabile). Rispetto alla prima simulazione,

0 50 100 150 200 250 3000

0.5

1

1.5

2

2.5

3

3.5Comparison between P_i(t|t)

Time samples t (from t=1)

trace(P_1(t|t))trace(P_2(t|t))trace(P_3(t|t))trace(P_4(t|t))trace(P_5(t|t))trace(P_6(t|t))trace(P_7(t|t))trace(P_fused(t|t))

Figura 14: Terza simulazione (modello stabile e sottosistemi non osservabili): tracce dellematrici Pi(t|t).

0 50 100 150 200 250 3000.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

1.1Andamento temporale delle tracce di Pi,j(t|t)

Time samples t (from t=1)

tr [

P_i

j(t|t)

]

trace(P_12(t|t)) = trace(P_21(t|t))trace(P_1last(t|t))trace(P_22(t|t))trace(P_12_teorica)

Figura 15: Terza simulazione (modello stabile e sottosistemi non osservabili): tracce dellematrici Pij(t|t); analizzeremo nelle sezioni successive la loro convergenza.

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

52

Page 53: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.4 Fusion lineare “ottima” delle stime locali

0 50 100 150 200 250 3000

0.5

1

1.5

2

2.5Comparison between empiric error norms

Time samples t (from t=1)

norm

[ tild

ex1(t

|t) ]

norm(x(:,t)−hatx_1_(t|t))norm(x(:,t)−fusedx(t|t))

Figura 16: Terza simulazione (modello stabile e sottosistemi non osservabili): andamentodegli errori empirici di stima ‖x(t)− x1(t|t)‖ e ‖x(t)− xfused(t|t)‖.

0 50 100 150 200 250 300−5

−4

−3

−2

−1

0

1

2

3

4Comparison between x(1,t), hatx(1,t|t) (nodes 1,2,5) and fusedx(1,t|t)

Time samples t (from t=1)

x(1,t)hatx(t|t): eseguita al nodo 1: prima componentehatx(t|t): eseguita al nodo 2: prima componentehatx(t|t): eseguita al nodo 5: prima componentefusedx(t|t): al nodo 1: prima componente

Figura 17: Terza simulazione (modello stabile e sottosistemi non osservabili): andamen-to delle stime della prima componente del vettore di stato, confrontate tra loro e conl’andamento reale.

si perde la bonta di alcune stime locali di certe componenti dello stato (come ev-idenziato in figura 17); tuttavia, la matrice varianza d’errore della stima globale,ottenuta come fusione delle precedenti, mantiene traccia minore rispetto alle altrePi(t|t). Si osserva inoltre che la norma dell’errore empirico ‖x(t) − xfused(t|t)‖ e

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

53

Page 54: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.4 Fusion lineare “ottima” delle stime locali

generalmente inferiore alla norma di ‖x(t)− x1(t|t)‖. La matrice Sigma(t|t), invece,e risultata non invertibile tutti i tempi t.

La non osservabilita delle coppie (Fi, Ci) incide quindi sull’invertibilita delle ma-trici Sigma(t|t).

Deng ([8]) ha rivisto il metodo di fusione illustrato, effettuando dei cambi di basenei modelli di stato considerati dai vari sensori, in modo che ciascuno produca unastima delle sole componenti dello stato da esso osservabili. In sostanza, ogni sensoreha uno stimatore di Kalman basato su un diverso modello di stato: questo fattoha lo svantaggio che il rumore di modello viene descritto diversamente da sensorea sensore e che, in fase di inizializzazione dei filtri locali, bisognera determinare lematrici varianza di tutti i rumori di modello e le matrici delle covarianze fra essi(operazione piu complicata rispetto alla determinazione della sola matrice Q) e lecovarianze tra essi e i vari rumori di misura. Si rimanda comunque a ([8]) permaggiori dettagli.

8.4.4 Possibili problemi numerici

L’implementazione del metodo di fusione esposto, almeno nella versione finora pre-sentata, comporta diversi ostacoli, di ordine numerico e di capacita computazionale.

Secondo quanto previsto dal teorema 8.2, per ottenere i combinatori (anche unosolo di essi) Ψi(t) e necessario calcolare tutte le matrici Pij(t|t) e invertire la matriceΣ(t|t) da esse costituita.

L’inversione della matrice Σ(t|t), potenzialmente di grandi dimensioni, e un com-pito computazionalmente impegnativo al crescere del numero di sensori e della di-mensione dello stato, specialmente perche va effettuata ad ogni passo t. In aggiunta,come abbiamo gia evidenziato nelle simulazioni precedenti, vi e la possibilita che es-sa non sia invertibile, ostacolo comunque superabile con l’utilizzo dell’operatore dipseudoinversa.

Una soluzione concreta al problema sarebbe quella di dimostrare che, sotto al-cune ipotesi, le matrici Pij(t|t) evolvono secondo rispettive successioni convergenti:in effetti, analizzeremo questo obiettivo a breve; a quel punto, si potra sostituire lamatrice Σ(t|t) con Σ∞ e calcolarne l’inversa una sola volta, all’inizio dell’algoritmo.

Deng inoltre ([8]) ha proposto di utilizzare dei combinatori Ψi(t|t) che abbianonon nulli solo gli elementi sulla diagonale; una sua ulteriore proposta e l’utilizzodi combinatori scalari, perdendo ulteriormente in ottimalita del metodo di fusione.Un altra maniera di sgravare il carico computazionale previsto dal metodo e sicu-ramente quello di utilizzare degli stimatori locali con guadagni statici: a tal fine

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

54

Page 55: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.5 Successione delle Pij: convergenza (eventuale) a regime

e opportuno, come accennato nel paragrafo precedente, che ciascun sensore stimisoltanto le componenti dello stato da esso osservabili.

In realta, supponendo le matrici A(t), Q(t) ecc. note fin dall’istante iniziale, ilcalcolo di Pij(t|t), Σ(t|t) e Σ−1(t|t) potrebbe essere eseguito fuori linea.

In effetti, alleggerendo in modo sufficiente i calcoli da eseguire per il calcolodella matrice Σ, si potrebbe far computare a ciascun nodo i non solo la propriastima locale, ma anche il combinatore Ψi, in maniera da trasmettere direttamenteΨi(t)xi(t). Questo sarebbe indubbiamente un passo in avanti dal punto di vista dellascalabilita, poiche le fusioni (eventualmente anche locali), si potrebbero effettuaresemplicemente con delle somme.

Altri problemi di tipo numerico possono nascere dal fatto che gli elementi dellematrici Pij(t|t) (e Pii(t|t) = Pi(t|t)) potrebbero essere in modulo molto elevati oppuremolto vicini allo zero.

Inoltre le stime locali elaborate dai singoli sensori potrebbero, assieme alle matri-ci Pi(t|t)ePij(t|t), risentire di errori di approssimazione (e dell’accumulazione deglistessi) con il procedere dell’algoritmo, minandone potenzialmente la stabilita. Ciodipende dall’hardware che si ha a disposizione, ovvero dalle caratteristiche tecnichedegli smart sensor.

8.5 Successione delle Pij: convergenza (eventuale) a regime

Supponiamo per semplicita che le matrici A, B, Ci, i = 1, . . . , M , Q, Si, Rij e Ri

siano costanti nel tempo. Q, Ri si suppongono definite positive.

Ricordando la (9), si puo scrivere:

Pij(t|t) = [In −Ki(t)Ci] · [FiPij(t− 1|t− 1)F Tj + Ξij(t− 1)] · [In −Kj(t)Cj]

T + Ki(t)RijKTj (t)

= [In −Ki(t)Ci]Fi · Pij(t− 1|t− 1) · F Tj [In −Kj(t)Cj]

T +

+ [In −Ki(t)Ci]Ξij(t− 1)[In −Kj(t)Cj]T + Ki(t)RijK

Tj (t)

= Ai(t)Pij(t− 1|t− 1)Bj(t) +Qij(t, t− 1) (24)

dove:

Ξij(t− 1) = Q− SjR−1j ST

j − SiR−1i ST

i + SiR−1i RijR

−1j ST

j

+ FiKi(t− 1) · [RijR−1j ST

j − STi ] + [SiR

−1i Rij − Sj] ·KT

j (t− 1)F Tj

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

55

Page 56: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.5 Successione delle Pij: convergenza (eventuale) a regime

Ai(t) , [In −Ki(t)Ci]Fi (25)

Bj(t) , F Tj [In −Kj(t)Cj]

T (26)

Qij(t, t− 1) , [In −Ki(t)Ci]Ξij(t− 1)[In −Kj(t)Cj]T + Ki(t)RijK

Tj (t) (27)

8.5.1 Convergenza dei coefficienti: considerazioni intuitive

E importante a questo punto notare che Ai(t) e Bj(t) evolvono nel tempo in manieraseparata: Ai(t) dipende temporalmente solo da Ki(t), ovvero da Pi(t|t − 1), la cuiequazione di aggiornamento e indipendente da quella di Pj(t|t− 1).

Precisiamo quindi le ipotesi sotto cuiAi(t) e Bj(t) ammettono limite per t →∞15

Ipotesi 1. Le coppie (Fh, Ch) siano rivelabili, con h = i, j.

Ipotesi 2. Le coppie (Fh, (Q− ShR−1h ST

h )1/2) siano stabilizzabili, con h = i, j.

Si noti che, nella pratica, l’ipotesi 1 potrebbe spesso non essere verificata, special-mente nei casi in cui Fi non abbia rango pieno e la dimensione n del vettore di statox superi un certo valore; ci spieghiamo con un esempio. Se x(t) ha come elementile temperature al tempo t di M = n stanze e in ogni stanza i vi e un sensore ditemperatura (supponiamo tutte le Si nulle per semplicita), la matrice C1 sarebbe[1 0 . . . 0] e la matrice di osservabilita locale del primo sensore sarebbe:

C1

C1A...

C1An−1

=

1 0 · · · 0prima riga di Aprima riga di A2

...prima riga di An−1

(28)

Si noti che, per il teorema di Cayley-Hamilton, Ak e combinazione lineare diA, A2, Ak−1 e che, ad esempio, la prima riga di A2 e combinazione lineare dellerighe di A, con combinatori (scalari) gli stessi elementi della prima riga di A: lo e,in particolare, delle righe di A linearmente indipendenti. Percio, se A non ha rangopieno (i.e. non tutte le n righe di A sono linearmente indipendenti), nasce la possi-bilita, se la dimensione di A e sufficientemente elevata (maggiore di rango(A) + 1),che la prima riga di Ak per un qualche k sia combinazione delle prime righe diA, A2, Ak−1 e quindi la matrice di osservabilita locale del primo sensore non abbiarango pieno.

15Si veda, ad esempio, come referenza il testo di Picci [18, p.323].

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

56

Page 57: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.5 Successione delle Pij: convergenza (eventuale) a regime

Ad esempio: A = [0.5 1 0.2 0; 0 0.5 0.2 0.1; 0.4 0 0.2 0; 0 0.5 0.3 0.6]; eC = [1 0 0 0] sono un sistema osservabile. La terza riga della matrice di osservabilita[0.33 1 0.34 0.1] e pari alla prima riga di A2 e si ha inoltre: 0.5[0.5 1 0.2 0] +1[0 0.5 0.2 0.1] + 0.2[0.4 0 0.2 0] + 0[0 0.5 0.3 0.6] = [0.33 1 0.34 0.1]

Invece: A = [0.9 1 0 0; 0 0.4 0 0; 0 0 0.7 0; 0 0 0 0.2] (che ha determinantediverso da 0) e C = [1 0 0 0] sono un sistema non osservabile.

Per contro, A = 0.05·[1 2 3; 4 5 6; 7 8 9] (che ha determinante nullo) e C = [1 0 0]sono un sistema osservabile.

Ragionamenti analoghi possono essere ripetuti per la seconda ipotesi.

Ritornando alle situazioni di validita delle ipotesi enunciate, e noto dalla teoriasul filtro di Kalman che le matrici Pi(t|t−1) evolvono al crescere di t con successioniconvergenti ad altrettante P∞

(t|t−1) i. I guadagni Ki(t) convergono altresı ai rispet-

tivi K∞i e sono stabilizzanti, nel senso che le matrici Fi[In − K∞

i Ci] = Bi(t) (cheesprimono il comportamento a catena chiusa del filtro di Kalman a regime) sonostrettamente stabili.

Stiamo cioe descrivendo uno scenario in cui le stime locali xi(t) non diverganodall’andamento di x(t): le matrici Ai(t) e Bj(t) convergono a A∞

i e B∞j , che sonostrettamente stabili.

Analizziamo ora la matrice Qij(t, t − 1)16. Un punto cruciale e l’andamentotemporale dell’addendo

[In −Ki(t)Ci]Ξij(t− 1)[In −Kj(t)Cj]T

= [In −Ki(t)Ci] · [Q− SjR−1j ST

j − SiR−1i ST

i + SiR−1i RijR

−1j ST

j

+ FiKi(t− 1)[RijR−1j ST

j − STi ] + [SiR

−1i Rij − Sj]K

Tj (t− 1)F T

j ] · [In −Kj(t)Cj]T

Nelle ipotesi 1 e 2, dopo un certo periodo di transitorio e possibile sostituire i

16Si puo notare la somiglianza tra la formula ricorsiva delle Pij(t|t)

Pij(t|t) = [In −Ki(t)Ci]Fi · Pij(t− 1|t− 1) · FTj [In −Kj(t)Cj ]T +

+ [In −Ki(t)Ci]Ξij(t− 1)[In −Kj(t)Cj ]T + Ki(t)RijKTj (t)

e l’equazione di Riccati alle differenze (in versione “simmetrizzata”):

P (t|t− 1) = F [In −K(t)C] · P (t− 1|t− 2) · [In −K(t)C]T FT +

+ (Q− SR−1ST ) + K(t)RKT (t) .

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

57

Page 58: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.5 Successione delle Pij: convergenza (eventuale) a regime

guadagni Ki(t) con i rispettivi valori di regime:

= [In −K∞i Ci] · [Q− SjR

−1j ST

j − SiR−1i ST

i + SiR−1i RijR

−1j ST

j

+ FiK∞i [RijR

−1j ST

j − STi ] + [SiR

−1i Rij − Sj]K

∞Tj F T

j ] · [In −K∞j Cj]

T

ottenendo la matrice costante [In−K∞i Ci]Ξ

∞ij [In−K∞

j Cj]T ; in generale [In−K∞

i Ci]non e una matrice simmetrica, puo essere stabile anche solo semplicemente e la pro-prieta di essere definita positiva e complicata da dimostrare.

L’equazione che stiamo dunque considerando e:

Pij(t|t) = A∞i Pij(t− 1|t− 1)B∞j + [In −K∞

i Ci]Ξ∞ij [In −K∞

j Cj]T + K∞

i RijK∞Tj

= A∞i Pij(t− 1|t− 1)B∞j +Q∞

ij

A∞i = [In −K∞

i Ci]Fi

B∞j = F Tj [In −K∞

j Cj]T

Q∞ij = [In −K∞

i Ci]Ξ∞ij [In −K∞

j Cj]T + K∞

i RijK∞Tj

Una possibilita che si puo considerare e che, nel periodo di transitorio in cui i Ki(t)convergono ai K∞

i , anche Pij(t|t) converga ad una certa P∞ij ; tuttavia consideriamo

qui un caso piu sfortunato, in cui i Ki siano costanti (ad esempio se si utilizzanofiltri locali con guadagni statici) mentre le Pij(t|t) abbiano una certa velocita di(eventuale) convergenza.

Essendo A∞i e B∞j strettamente stabili17, tale successione converge alla soluzione

dell’equazione algebrica:

A∞i P∞

ij B∞j − P∞ij +Q∞

ij = 0 (29)

La (29) e a volte chiamata equazione di Lyapunov a tempo discreto asimmetrica,altre volte equazione di Sylvester a tempo discreto oppure equazione di Stein18 (dacui si otterrebbe l’equazione a tempo discreto di Lyapunov se B∞j fosse pari a A∞T

i ).In generale, esiste un’unica soluzione P∞

ij (definita positiva se e solo se Q∞ij lo e)

se e solo se non esiste alcun autovalore di A∞i che sia l’inverso di un autovalore di

B∞j . Una situazione in cui questo accade e il caso in cui A∞i e B∞j siano strettamente

17anche se cio non e una condizione necessaria per l’esistenza e l’unicita di una soluzione della(29)

18Detto vec(M) l’operatore di vettorizzazione di una matrice e indicando con ⊗ il prodotto diKronecker, l’equazione di Stein equivale all’equazione lineare: [I − (B∞T

j ⊗ A∞i )] · vec(P∞ij ) =vec(Q∞ij ).

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

58

Page 59: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.6 Reti ad albero: applicazione del filtro distribuito

stabili.

Possiamo citare, come corollario, il risultato di Chang e Saha ([5]) per le matricia regime P∞

ij . Nel loro articolo si assumevano le ipotesi aggiuntive di gaussianita deirumori w, vi (e di x0) e di completa incorrelazione tra essi, ricavando l’equazionealgebrica seguente:

P∞ij = (P∞

i (P∞(t|t−1) i)

−1A)P∞ij (P∞

j (P∞(t|t−1) j)

−1A)T +(P∞i CT

i R−1i Ci−I)Q(P∞

j CTj R−1

j Cj−I)T

dove si ricorda che indichiamo con P∞ij il limite per t → ∞ di Pij(t|t) e non di

Pij(t|t− 1): tale formula coincide con quella precedentemente ricavata, ponendo leSi, Rij, i 6= j pari a matrici nulle.

L’articolo citato e partircolarmente interessante, poiche l’analisi viene estesa alcaso in cui la predizione non sia di un passo in avanti, ma di n. Inoltre si considera ilcaso generale in cui il rumore di processo (avente matrice varianza Q) sia moltiplicatoper una matrice G.

8.6 Reti ad albero: applicazione del filtro distribuito

I teoremi precedenti forniscono un criterio per combinare stime locali e ottenere unastima globale xo(·|·) la cui matrice varianza e minima (la sua traccia lo e) dato,per costruzione, che la fusione delle stime locali avviene tramite una combinazionelineare.

Per essere maggiormente concreti, diamo un esempio di implementazione di talefiltro distribuito. Supponiamo di avere M = 5 sensori con capacita computazionalee che i sensori 1, 2, 3 e 5 possano trasmettere ad una base station, mentre il sensore4 possa trasmettere solo al sensore 5; questa situazione e rappresentata ad esempioin figura 18.

8.6.1 Approccio con fusion locale

Tutti i sensori implementano, ad ogni passo, i rispettivi filtri di Kalman locali; sup-poniamo che il nodo 5 si accolli anche l’operazione di fusion lineare delle stimelocali x4(t|t) e x5(t|t) (quindi dovra computare ad ogni passo anche le matrici Ψ4(t)e Ψ5(t)). Cio permette, in generale, la fusione locale delle xi(t|t) e la conseguentediminuzione del traffico sulla rete; tuttavia e impraticabile se l’intervallo “di campi-onamento” [t, t+1] e “troppo” breve e se l’albero e “troppo” profondo: ci spieghiamoora con dettaglio.

Questo metodo, tornando alla situazione di figura 18, comporta un maggiortempo di calcolo richiesto dal sensore 5 (oltre al ritardo con cui x4(t|t) e ricevuto);

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

59

Page 60: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.6 Reti ad albero: applicazione del filtro distribuito

Figura 18: Possibile architettura di un filtro di Kalman distribuito con fusion locale.

l’algoritmo che dovra eseguire ad ogni passo t il nodo 5 e il seguente:

K5(t) = P5(t|t− 1)CT5 (t)[C5(t)P5(t|t− 1)CT

5 (t) + R5(t)]−1

P5(t|t) = [In −K5(t)C5(t)]P5(t|t− 1)

x5(t|t) = x5(t|t− 1) + K5(t)[y5(t)− C5(t)x5(t|t− 1)]

for i=1:M

for j=1:M (tranne i=j=5, dato che e gia stata calcolata P5(t|t)

Ri(t− 1)−1 = inverto Ri(t− 1)

Rj(t− 1)−1 = inverto Rj(t− 1)

Ξij(t− 1) , Q(t− 1)− Sj(t− 1)Rj(t− 1)−1STj (t− 1)− Si(t− 1)Ri(t− 1)−1ST

i (t− 1)

+ Si(t− 1)Ri(t− 1)−1Rij(t− 1)Rj(t− 1)−1STj (t− 1)

+ Fi(t− 1)Ki(t− 1) · [Rij(t− 1)Rj(t− 1)−1STj (t− 1)− ST

i (t− 1)]

+ [Si(t− 1)Ri(t− 1)−1Rij(t− 1)− Sj(t− 1)] ·KTj (t− 1)F T

j (t− 1)

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

60

Page 61: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.6 Reti ad albero: applicazione del filtro distribuito

Pij(t|t) = [In −Ki(t)Ci(t)] · [Fi(t− 1)Pij(t− 1|t− 1)F Tj (t− 1) + Ξij(t− 1)]·

· [In −Ki(t)Ci(t)]T + Ki(t)Rij(t)K

Tj (t)

end

end

Σ−1(t|t) ,

P11(t|t) P12(t|t) · · ·P21(t|t) . . .

... PMM(t|t)

−1

,

Ψ1(t)...

ΨM(t)

= Σ−1(t|t)I(IT Σ−1(t|t)I)−1

ricevo x4(t|t)gestione del caso in cui non sia pervenuto x4(t|t)output4(t|t) = Ψ4(t)x4(t|t) + Ψ5(t)x5(t|t)trasmetto output4(t|t)P5(t + 1|t) = F5(t)P5(t|t)F T

5 (t) + Q(t)− S5(t)R5(t)−1ST

5 (t)

x5(t + 1|t) = F5(t)x5(t|t) + S5(t)R5(t)−1y5(t) + B(t)u(t) .

Si puo osservare che Ψ4 e Ψ5 non sono calcolate come se esistessero solamente inodi 4 e 5 (quindi col fine di minimizzare la varianza d’errore di output4(t|t)), ma enecessario calcolare comunque tutti i combinatori Ψi.

Inoltre output4(t|t) (che altre volte chiameremo x4,5(t|t)) non ha il significatodi una stima dello stato, bensı e solamente un addendo di quella che sara la stimaglobale (ottima) finale.

Ovviamente l’algoritmo eseguito dalla fusion station dovra essere modificato inmodo che sommi output4(t|t) alle altre stime locali senza pesarla (oppure pensandolacon Ψ4,5(t) = In). In generale, si potrebbe pensare di dedicare un bit dei pacchettida inviare alla fusion station per comunicare la non pesatura del dato inviato.

Meglio ancora, nel caso in cui i sensori abbiano sufficiente capacita di calcoloda eseguire la fusione anche localmente, ognuno di essi potra inviare Ψi(t|t)xi(t|t)al posto di xi(t|t) e le fusioni si ridurranno semplicemente a delle somme: nasce daqueste considerazioni il problema della gestione dei ritardi e delle perdite di pac-chetto, che affronteremo in seguito.

E importante osservare che il filtro distribuito finora presentato funziona corret-tamente se i ritardi di trasmissione delle stime locali alla fusion station non superano(nella maggior parte dei casi) il periodo di campionamento; cio infatti equivale a direche la maggior parte delle stime locali xi(t|t) raggiunge la fusion station in tempoutile per la computazione della x(t|t) globale.Vedremo in seguito come estendere questo metodo di fusione al caso di ritardi su-

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

61

Page 62: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.6 Reti ad albero: applicazione del filtro distribuito

periori al passo di campionamento.

Rimanendo nel caso di ritardi sufficientemente inferiori al passo di campiona-mento, al crescere della profondita dei cammini, si crea una situazione come quelladi figura 19, ovvero aumenta il ritardo con cui la fusion station riceve l’ultima stimalocale.

Figura 19: Al crescere della profondita dei cammini, aumenta il ritardo con cui la fusionstation riceve l’ultima fusion locale. Appena giunge l’istante t, vengono raccolti i datiyi(t) e prodotte le stime locali xi(t|t); quindi x4(t|t) e trasmessa al nodo 5 che la attende,elabora x4,5(t|t) e la trasmette al nodo 3 che stava attendendo. Il nodo 3 elabora x3,4,5(t|t)e la trasmette alla fusion station, che potra quindi calcolare x(t|t). Il tutto deve avvenireprima che giunga l’istante t+1. Se non si prendono le opportune misure, puo capitare chela fusion station sia costretta a calcolare x(t|t) senza possedere x3,4,5(t|t) e che aumentiquindi la varianza dell’errore di stima globale; tuttavia, appena in qualche passo successivotutte le trasmissioni avverranno correttamente, la stima (e l’errore di stima) tornerannoad essere quelli ottimi.

Diventa quindi importante la scelta del periodo di campionamento, che dovraesser sufficientemente lungo (a eventuale discapito, pero, di una corretta modelliz-zazione dell’eventuale processo a tempo continuo sottostante); questo puo dipenderedalle applicazioni: ad esempio, nell’attivita di rilevazione di valori di temperatura,l’intervallo di tempo tra l’esecuzione di due misure successive potrebbe essere di unminuto e non vi sarebbero problemi di sorta per i ritardi dovuti alla rete di comu-nicazione.

Una possibile organizzazione temporale, nota la disposizione degli M sensori19

(ovvero la struttura dell’albero), potrebbe essere quella di suddividere ogni periodo[t, t + 1] in un certo numero di slots (una sorta di TDMA), pari alla profondita

19e sufficiente conoscere l’altezza dell’albero; inoltre, ogni sensore deve sapere a che livello sitrovi.

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

62

Page 63: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.6 Reti ad albero: applicazione del filtro distribuito

dell’albero. Nel caso di figura 19 sarebbero 4: [t, t + τ1], [t + τ1, t + τ1 + τ2],[t+τ1+τ2, t+τ1+τ2+τ3], [t+τ1+τ2+τ3, t+τ1+τ2+τ3+τ4] = [t+τ1+τ2+τ3, t+1]. Nelprimo slot devono essere rilevati gli yi(t), computati gli xi(t|t); vengono trasmessesolo le stime locali dei nodi al livello piu lontano dalla radice. Il nodo 5 non dovratrasmettere il suo x5(t|t), ma dovra attendere l’inizio dello slot 2 per: ricevere x4(t|t)(se e arrivato, altrimenti gestire la mancata ricezione, come vedremo in seguito),computare x4,5(t|t) e trasmetterlo. Allo stesso modo, il nodo 3 non dovra trasmet-tere il suo x3(t|t), ma dovra attendere l’inizio dello slot 3 per: ricevere x4,5(t|t) (see arrivato, altrimenti stimarlo), computare x3,4,5(t|t) e trasmetterlo alla centrale.Infine, la fusion station dovra attendere l’inizio dello slot 4 per ricevere x3,4,5(t|t) ecomputare la stima globale x(t|t).Eventualmente, si potrebbe pensare di aggiungere un ulteriore slot per messaggiasincroni di tipo tecnico o allarmi.

In generale, anche se non e nota a priori la struttura dell’albero (quindi i nodihanno semplicemente una conoscenza locale), si puo comunque pensare di modifi-care l’algoritmo dei nodi in modo che trasmettano verso la fusion station il risultatodella loro elaborazione entro un tempo massimo prefissato: tornando alla figura 19,se il nodo 3 non ricevesse in tempo x45(t|t) trasmetterebbe ugualmente in tempoutile alla fusion station la stima x′345(t|t) = Ψt(3)x3(t|t); ne deriverebbe un errore distima globale comunque minore di quello che si sarebbe verificato senza la ricezionedi Ψt(3)x3(t|t) alla centrale.In ogni caso, non appena la fusion station riceva x345(s|s) in qualche s > t, saratutto come se nessun pacchetto precedente sia andato perduto.

8.6.2 Approccio senza fusion locale

Sia dato lo stesso scenario iniziale del paragrafo precedente, si supponga questa voltache il nodo 5 non computi alcuna fusion e semplicemente trasmetta verso la fusionstation anche x4(t|t) oltre alla propria x5(t|t), come ritratto in figura 20. Questotipo di algoritmo elimina gli “stop” ai nodi intermedi visti nel precedente paragrafo:il nodo 3, ad esempio, non deve aspettare che gli giungano la/e stima/e locale/i dalnodo 4 per inviare la propria x3(s|s) alla fusion station.

Tuttavia, non viene effettuata alcuna fusion locale delle informazioni, limitandola possibilita di ridurre il traffico in rete. Il massimo che puo essere fatto a questofine e l’utilizzo di tecniche di aggregazione: il nodo 5 di figura 20 puo ad esempioaggregare x4(t|t) e x5(t|t) (se x4(t|t) viene ricevuta entro un certo tempo massimo)in un unico pacchetto, riducendo il traffico in rete.

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

63

Page 64: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.7 Gestione delle perdite di pacchetto

Figura 20: Possibile architettura di un filtro di Kalman distribuito con fusion locale.

Al crescere della profondita dei cammini, anche con questo metodo aumentail ritardo con cui la fusion station riceve l’ultima stima locale ma aumenta menorispetto alla situazione del paragrafo precedente.

8.7 Gestione delle perdite di pacchetto

Nel caso, illustrato precedentemente, in cui i ritardi di trasmissione siano suffi-cientemente inferiori del passo di campionamento, ci si puo limitare ad analizzarel’eventualita di perdita di pacchetti.

La gestione piu semplice della mancata ricezione di una stima locale e quella diutilizzare al suo posto l’ultima stima locale ricevuta (ovviamente dallo stesso mit-tente). Questo metodo e il piu semplice da applicare e non richiede calcoli aggiuntivi,se non l’utilizzo di un buffer.

Un’altra possibilita e porre il combinatore relativo alla stima non ricevuta ugualealla matrice nulla. Se il generico nodo, nel caso in cui non ricevesse xi(t|t), lo ponesseuguale al vettore nullo e continuasse le operazioni di fusione locale senza altre azioni,sarebbe come se nella formula:

x(t|t) = Ψ1(t)x1(t|t) + Ψ2(t)x2(t|t) + . . . + ΨM(t)xM(t|t)

venisse a mancare l’addendo i-esimo; in sostanza, sarebbe come aver usato la matricenulla al posto del peso Ψi(t), con un peggioramento della stima globale e, comeulteriore conseguenza, la somma dei combinatori utilizzati non sarebbe piu pari allamatrice identita.

Un rimedio potrebbe essere quello di ricalcolare i combinatori con il vincolo chealcuni di essi siano nulli, ma rimanderemo l’analisi di tale metodo ad un eventualesviluppo futuro.

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

64

Page 65: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.7 Gestione delle perdite di pacchetto

Un altro metodo, che analizzeremo d’ora in avanti, e quello di effettuare al tempot−1 una predizione delle stime locali xi(t|t) (eventualmente gia fuse tra loro ad operaprecedente di altri nodi) non ricevute, sulla base di quelle ricevute negli istantipassati.

8.7.1 Un primo approccio

Dimostriamo ora che nel caso in cui (al passo t) la fusion station non riceva intempo utile una certa stima locale xi(t|t), possa prevederla, supponendo di conoscerexi(t− 1|t− 1)20.

Bisogna prestare attenzione alla notazione, poiche stiamo per calcolare una predi-zione di xi(t|t) dati xi(t − 1|t − 1) e u(t − 1) (e anche eventualmente stime di altrisensori xj(t|t), che pero non sfrutteremo): per non confonderla con la predizione diKalman locale xi(t|t− 1), la indicheremo con ξi(t).

La stima xi(t|t) evolve secondo il filtro di Kalman locale:

xi(t|t) = xi(t|t− 1) + Ki(t)[yi(t)− Ci(t)xi(t|t− 1)]

= [In −Ki(t)Ci(t)]xi(t|t− 1) + Ki(t)yi(t)

che, sostituendo la predizione effettuata dallo stesso filtro:

xi(t|t− 1) = Fi(t− 1)xi(t− 1|t− 1)+Si(t− 1)Ri(t− 1)−1yi(t− 1)+B(t− 1)u(t− 1)

e uguale a21:

xi(t|t) = [In −Ki(t)Ci(t)][Fi(t− 1)xi(t− 1|t− 1) + Si(t− 1)Ri(t− 1)−1yi(t− 1)+

+ B(t− 1)u(t− 1)] + Ki(t)yi(t)

Si osserva inoltre che:

yi(t) = Ci(t)x(t) + vi(t)

allora, la fusion station (che possiede la stima globale dello stato) puo al tempo t−1stimare yi(t− 1):

yi(t− 1|t− 1) = Ci(t− 1)x(t− 1|t− 1)

20Questo non e sempre possibile, come sara evidenziato in seguito21Si sarebbe potuto utilizzare un’altra predizione, diversa da quella del filtro locale (come

mostrato in una nota a pie pagina in precedenza):

xi(t|t− 1) = A(t− 1)xi(t− 1|t− 1) + B(t− 1)u(t− 1)

ottenendo xi(t|t) = [In −Ki(t)Ci(t)][A(t− 1)xi(t− 1|t− 1) + B(t− 1)u(t− 1)] + Ki(t)yi(t).

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

65

Page 66: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.7 Gestione delle perdite di pacchetto

Se fosse possibile calcolare anche una predizione “globale” dello stato x(t|t− 1), lafusion station potrebbe predire yi(t):

yi(t|t− 1) = Ci(t)x(t|t− 1)

La via piu rigorosa da seguire per ottenere tale predizione e, in generale, ξi(t), equella di impostare un modello di stato aumentato, che introdurremo piu avanti.

Affrontiamo, per ora, una soluzione palliativa, definendo le matrici:

Cglob(t) ,

C1(t)...

CM(t)

, yglob(t) ,

y1(t)...

yM(t)

, vglob(t) ,

v1(t)...

vM(t)

Rglob(t) , E

v1(t)...

vM(t)

[vT

1 (t) · · · vTM(t)

] =

R1(t) R12(t) · · · R1M(t)

R21(t) R2(t)...

.... . .

...RM1(t) · · · · · · RM(t)

Sglob(t) , E[w(t)

[vT

1 (t) · · · vTM(t)

]]=

[S1(t) · · · SM(t)

]

Fglob(t) , A− Sglob(t)R−1glob(t)Cglob(t)

e impostando l’equazione di predizione:

x(t|t− 1) = Fglob(t− 1)x(t− 1|t− 1) + Sglob(t− 1)R−1glob(t− 1)yglob(t− 1) + B(t− 1)u(t− 1)

Non essendo la fusion station in possesso di

yglob(t− 1) = Cglob(t− 1)x(t− 1) + vglob(t− 1)

ne potra effettuare una stima, analogamente a quanto fatto in precedenza:

yglob(t− 1|t− 1) = Cglob(t− 1)x(t− 1|t− 1)

ottenendo:

x(t|t− 1) = Fglob(t− 1)x(t− 1|t− 1) + Sglob(t− 1)R−1glob(t− 1)Cglob(t− 1)x(t− 1|t− 1) + B(t− 1)u(t− 1)

= A(t− 1)x(t− 1|t− 1) + B(t− 1)u(t− 1) .

e:

yi(t|t− 1) = Ci(t)[A(t− 1)x(t− 1|t− 1) + B(t− 1)u(t− 1)]

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

66

Page 67: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.7 Gestione delle perdite di pacchetto

Si ricorda che le matrici Ci(t), Ki(t), ecc. per ogni t sono note a tutti i sensoried in particolare alla fusion station, che le utilizza per il calcolo delle Pij.

Riportando le formule appena ottenute nell’espressione di xi(t|t) si ottiene lapredizione ξi(t)

22:

ξi(t) = [In −Ki(t)Ci(t)][Fi(t− 1)xi(t− 1|t− 1) + Si(t− 1)Ri(t− 1)−1Ci(t− 1)x(t− 1|t− 1)

+ B(t− 1)u(t− 1)] + Ki(t)Ci(t)[A(t− 1)x(t− 1|t− 1) + B(t− 1)u(t− 1)]

(i passaggi di conto sono riportati in nota a pie pagina)

= A(t− 1)x(t− 1|t− 1) + B(t− 1)u(t− 1)+ (30)

[In −Ki(t)Ci(t)]Fi(t− 1)[xi(t− 1|t− 1)− x(t− 1|t− 1)]

e23 solo nel caso che xi(t−1|t−1) sia molto prossimo a x(t−1|t−1) vale l’uguaglian-za ξi(t) = A(t − 1)x(t − 1|t − 1) + B(t − 1)u(t − 1); cio accade ad esempio se A,

22Utilizzando la: yi(t|t − 1) = Ci(t)[A(t − 1)x(t − 1|t − 1) + B(t − 1)u(t − 1)], continuando lanota a pie pagina precedente, si sarebbe ottenuta la predizione ξ′i(t)

ξ′i(t) = [In −Ki(t)Ci(t)][A(t− 1)xi(t− 1|t− 1) + B(t− 1)u(t− 1)]++ Ki(t)Ci(t)[A(t− 1)x(t− 1|t− 1) + B(t− 1)u(t− 1)]

= A(t− 1)xi(t− 1|t− 1) + B(t− 1)u(t− 1) + Ki(t)Ci(t)A(t− 1)[x(t− 1|t− 1)− xi(t− 1|t− 1)]

Solo nel caso particolare xi(t−1|t−1) = x(t−1|t−1) varrebbe l’uguaglianza ξ′i(t) = A(t−1)xi(t−1|t− 1) + B(t− 1)u(t− 1).

Con semplici conti, si vede invece che ξi(t) e pari a

A(t− 1)xi(t− 1|t− 1) + B(t− 1)u(t− 1) + {Ki(t)Ci(t)A(t− 1)+

+ [In −Ki(t)Ci(t)]Si(t− 1)R−1i (t− 1)Ci(t− 1)}[x(t− 1|t− 1)− xi(t− 1|t− 1)] .

23Riporto i conti in nota per comodita:

[In −Ki(t)Ci(t)][Fi(t− 1)xi(t− 1|t− 1) + Si(t− 1)Ri(t− 1)−1Ci(t− 1)x(t− 1|t− 1)+ B(t− 1)u(t− 1)] + Ki(t)Ci(t)[A(t− 1)x(t− 1|t− 1) + B(t− 1)u(t− 1)]

= [In −Ki(t)Ci(t)]Fi(t− 1)xi(t− 1|t− 1) + B(t− 1)u(t− 1)+

+ {[In −Ki(t)Ci(t)]Si(t− 1)Ri(t− 1)−1Ci(t− 1) + Ki(t)Ci(t)A(t− 1)}x(t− 1|t− 1)= [In −Ki(t)Ci(t)]Fi(t− 1)xi(t− 1|t− 1) + B(t− 1)u(t− 1)+

+ [Si(t− 1)Ri(t− 1)−1Ci(t− 1) + Ki(t)Ci(t)Fi(t− 1)]x(t− 1|t− 1)= [In −Ki(t)Ci(t)]Fi(t− 1)xi(t− 1|t− 1) + B(t− 1)u(t− 1)+

+ [A(t− 1)− Fi(t− 1) + Ki(t)Ci(t)Fi(t− 1)]x(t− 1|t− 1)= [In −Ki(t)Ci(t)]Fi(t− 1)xi(t− 1|t− 1) + B(t− 1)u(t− 1)+

+ {A(t− 1)− [In + Ki(t)Ci(t)]Fi(t− 1)}x(t− 1|t− 1)= A(t− 1)x(t− 1|t− 1) + B(t− 1)u(t− 1)+

[In −Ki(t)Ci(t)]Fi(t− 1)[xi(t− 1|t− 1)− x(t− 1|t− 1)]

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

67

Page 68: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.7 Gestione delle perdite di pacchetto

Ci, Si, Rij, Ri, Q sono matrici costanti, tutti i sistemi (Fi, Ci) sono rivelabili e i

(Fi, (Q−SiR−1i ST

i )12 ) sono stabilizzabili: infatti sotto tali condizioni [In−Ki(t)Ci]Fi

e una matrice asintoticamente stabile.

Dobbiamo ora gestire il caso (concreto) in cui vi siano perdite di pacchetto con-secutive: l’ultima stima locale conosciuta non e xi(t− 1|t− 1) ma xi(t− τ |t− τ). Ilnodo in oggetto dovra mantenere un contatore del numero di passi in cui non ricevexi(·|·) per sapere il valore di τ .

E semplice generalizzare quanto appena dimostrato: la formula (30) andra iterataτ volte, con qualche modifica. Ad esempio, nel caso τ = 2, l’algoritmo sara ilseguente:

χ(t− 2) , A(t− 2)x(t− 2|t− 1) = x(t− 1|t− 1)−B(t− 2)u(t− 2)

ξi(t− 1) = [In −Ki(t− 1)Ci(t− 1)]A(t− 2)xi(t− 2|t− 2) + B(t− 2)u(t− 2)+

+ Ki(t− 1)Ci(t− 1)χ(t− 2)

ξi(t) = [In −Ki(t)Ci(t)]A(t− 1)ξi(t− 1) + B(t− 1)u(t− 1)+

+ Ki(t)Ci(t)A(t− 1)x(t− 1|t− 1)

con l’opportuno significato per ξi(t− 1), con abuso di notazione.

8.7.2 Impraticabilita del primo approccio per alberi con piu di duelivelli: parte 1

In uno scenario generale, con reti ad albero con diversi livelli di profondita, unqualsiasi nodo con compiti di fusione (e doveri di gestione di perdite di pacchetto)non conosce la stima globale x(t−1|t−1) ed al suo posto potra adoperare la migliorstima dello stato a disposizione, che potra essere semplicemente xi(t − 1|t − 1).Un’idea (non corretta) potrebbe essere quella di utilizzare al posto di x(t− 1|t− 1)il risultato della fusione locale xij(t− 1|t− 1) (se il nodo in oggetto ha il compito difondere xi(·|·) e xj(·|·)), ma bisogna tenere a mente il fatto che gli addendi della:

x(t|t) = Ψ1(t)x1(t|t) + Ψ2(t)x2(t|t) + . . . + ΨM(t)xM(t|t)

non esprimono stime dello stato, bensı semplici addendi di quella che sara la stimaglobale.

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

68

Page 69: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.7 Gestione delle perdite di pacchetto

Al generico nodo i, ξ(t) diventa allora:

ξ(t) = A(t− 1)xi(t− 1|t− 1) + B(t− 1)u(t− 1)+

+ [In −Ki(t)Ci(t)]Fi(t− 1){xi(t− 1|t− 1)− xi(t− 1|t− 1)}= A(t− 1)xi(t− 1|t− 1) + B(t− 1)u(t− 1)

ritrovando la predizione “euristica” richiamata gia altre volte nelle note a pie pagina.La differenza rispetto alla ξ(t) calcolata in precedenza e:

∆ξ(t) = {Ki(t)Ci(t)Fi(t− 1) + Si(t− 1)R−1i (t− 1)Ci(t− 1)}·

· [x(t− 1|t− 1)− xi(t− 1|t− 1)] .

che potrebbe essere trascurabile nel caso in cui xi(t− 1|t− 1) sia una buona stimadello stato (ad esempio, se (A, Ci) e un sistema osservabile).Rimane comunque difficile analizzare a priori come l’algoritmo esposto si comporti sela miglior stima dello stato a disposizione localmente non sia prossima a x(t−1|t−1).

8.7.3 Impraticabilita del primo approccio per alberi con piu di duelivelli: parte 2

L’ostacolo principale alla gestione delle perdite di pacchetto per il metodo di fusioneillustrato in reti di comunicazione ad albero e il fatto che, se la fusione avviene anchenei nodi tra le foglie e la radice, tali nodi non ricevono stime locali, bensı “dati”della tipo:

∑j Ψjxj.

Questo di fatto invalida il metodo di gestione finora ipotizzato perche viene amancare l’ipotesi fondamentale di conoscenza delle stime locali passate xi(t−s|t−s),s ≥ 1.

In effetti, se la rete di comunicazione fosse un albero a due livelli (radice, configli con la proprieta di essere foglie), il metodo di gestione illustrato potrebbe essereapplicato, poiche i figli potrebbero trasmettere alla radice (fusion station) le rispet-tive stime locali (non pesate); la radice, percio, ad ogni passo sarebbe in possessodella stima globale precedente x(t− 1|t− 1) e di tutte le stime locali xi(t− s|t− s)ricevute per ultime.

In ogni caso, come abbiamo evidenziato nella trattazione precedente, il primoapproccio per la gestione delle perdite di pacchetto e sub-ottimo, poiche per lapredizione della quantita non ricevuta viene utilizzata una formula “euristica”, acausa dell’impossibilita di calcolare la predizione “globale” x(t|t− 1) senza un mod-ello di stato aumentato: a questo proposito, introduciamo nelle prossime pagineun secondo approccio, mirato allo sfruttamento, da parte di ogni nodo, di tutte leinformazioni da esso possedute grazie alla storia passata delle ricezioni.

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

69

Page 70: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.7 Gestione delle perdite di pacchetto

8.7.4 Un secondo approccio: filtro di Kalman ausiliario

Tornando al problema di predire xi(t|t−1) (supponendo per un attimo di conoscere,al tempo t, xi(t− 1|t− 1)), un’altra possibilita e quella di impostare un modello distato stocastico:

x(t + 2)yi(t + 1)

yi(t)xi(t|t)

= Ai(t + 1, t, t− 1)

x(t + 1)yi(t)

yi(t− 1)xi(t− 1|t− 1)

+

u(t + 1)000

+

w(t + 1)vi(t)

00

xi(t− 1|t− 1) = [0 0 0 In]

x(t + 1)yi(t)

yi(t− 1)xi(t− 1|t− 1)

(31)in cui gli zeri sono da intendersi con opportune dimensioni, x(t) ha n componenti,yi(t) ne ha pi e la matrice Ai(t + 1, t, t− 1) e data da:

A(t + 1) 0 0 0Ci(t + 1) 0 0 0

0 Ipi0 0

0 Ki(t) [In−Ki(t)Ci(t)]Si(t−1)R−1i (t−1) [In−Ki(t)Ci(t)]Fi(t−1)

e il cui stato ha dimensione 2(n+pi); si noti che tutte le matrici coinvolte sono noteal tempo t.Anche se in generale potrebbe mancare la proprieta di osservabilita di tale model-lo24, si puo pensare di basarsi su esso per impostare un filtro di Kalman che producauna predizione di xi(t|t) sulla base di xi(t − s|t − s), s ≥ 1. Il fatto di non avererumore di “misura” potrebbe inoltre rendere la matrice [0 0 0 In]P [0 0 0 In]T noninvertibile, ma sarebbe un ostacolo scavalcabile utilizzandone la pseudoinversa al

24La matrice di osservabilita risulta:

0 0 0 In

0 Ki(t) [In−Ki(t)Ci(t)]· [In−Ki(t)Ci(t)]Fi(t−1)

·Si(t−1)R−1i

(t−1)

Ki(t)Ci(t+1) [In−Ki(t)Ci(t)]· [In−Ki(t)Ci(t)]A(t−1) [In−Ki(t)Ci(t)]2F2i (t−1)

·[Si(t−1)R−1i

(t−1)+Fi(t−1)Ki(t)]

Ki(t)Ci(t+1)A(t+1)+[In−Ki(t)Ci(t)]· [In−Ki(t)Ci(t)]Fi(t−1)· [In−Ki(t)Ci(t)]Fi(t−1)· [In−Ki(t)Ci(t)]3F3i (t−1)

·[Si(t−1)R−1i

(t−1)+Fi(t−1)Ki(t)]Ci(t+1) ·[In−Ki(t)Ci(t)]· ·[In−Ki(t)Ci(t)]A(t−1)

·[Si(t−1)R−1i

(t−1)+Fi(t−1)Ki(t)]

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

70

Page 71: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.7 Gestione delle perdite di pacchetto

posto dell’inversa ([18, p.305]).

In realta, come gia osservato, ne la fusion station ne il generico nodo conosconoal tempo t la stima xi(t − 1|t − 1), bensı conoscono una qualche somma del tipoS ,

∑j Ψj(t− 1)xj(t− 1|t− 1).

Con il filtro di Kalman ausiliario appena introdotto, e possibile superare questoscoglio, considerando uno modello di stato leggermente diverso dal precedente,ovvero considerando come vettore di stato:

x(t + 1)y1(t)

y1(t− 1)x1(t− 1|t− 1)

...yM(t)

yM(t− 1)xM(t− 1|t− 1)

(32)

e considerando “misure” come la seguente:

Ψ1(t− 1)x1(t− 1|t− 1) + Ψ2(t− 1)x2(t− 1|t− 1) = [0 0 0 Ψ1(t−1) 0 0 Ψ2(t−1) . . .] ·

2666666666666666664

x(t + 1)y1(t)

y1(t− 1)x1(t− 1|t− 1)

y2(t)y2(t− 1)

x2(t− 1|t− 1)...

yM (t)yM (t− 1)

xM (t− 1|t− 1)

3777777777777777775(33)

A breve, un esempio rendera quest’idea piu esplicita.Si osservi che nel caso di incorrelazione tra w(t) e vi(t), i = 1, . . . , M (le matrici

Si(t) risultano nulle) non e necessario importare nello stato le yi(t− 2).

Ogni nodo potra quindi predire (non comparendo, tra l’altro, alcun rumore nella

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

71

Page 72: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.7 Gestione delle perdite di pacchetto

precedente equazione) la misura non pervenuta, con:

[0 0 0 Ψ1(t) 0 0 Ψ2(t) . . .] ·

266666666666666666666664

x(t + 2)y1(t + 1)

y1(t)

ˆx1(t|t)y2(t)y2(t− 1)

ˆx2(t|t)...

yM (t + 1)

yM (t)

ˆxM (t|t)

377777777777777777777775

(34)

in cui i simboli · stanno ad indicare una predizione (ad esempio di x1(t|t)) sullabase di precedenti “misure” (come ad esempio Ψ1(t − s)x1(t − s|t − s) + Ψ2(t −s)x2(t− s|t− s), s ≥ 1).

Si osservi che abbiamo tacitamente ipotizzato che ogni nodo sia a conoscenzadell’identita di tutti i nodi che si trovano “a valle” rispetto ad esso. Quest’ipotesi edi fondamentale importanza per l’applicazione del metodo filtro di Kalman ausiliario.

L’algoritmo per fornire a ciascun nodo questo tipo di conoscenza puo essere ese-guito a parte o comunque prima dell’istante iniziale, con delle trasmissioni vincolatead andare a buon fine; il procedimento dovra inoltre essere replicato periodicamente(con un periodo relativamente lungo) per accorgersi dei possibili cambiamenti initinere della struttura della rete.

Come esempio, supponiamo di avere uno stato x(t) del sistema di dimensione2, non vi sia ingresso u(·) e vi siano M = 2 sensori; le matrici A, Ci, Q, Ri, Si,ecc. siano costanti nel tempo. Il modello di stato ausiliario (ricordando che A e unamatrice 2× 2) risulta:

x(1)(t + 2)

x(2)(t + 2)y1(t + 1)

y1(t)

x(1)1 (t|t)

x(2)1 (t|t)

y2(t + 1)y2(t)

x(1)2 (t|t)

x(2)2 (t|t)

=

A00

00

0 00 0

00

00

0 00 0

C1 0 0 0 0 0 0 0 00 0 1 0 0 0 0 0 0 00 00 0

K1(t) [In −K1(t)C1]S1R−11 [In −K1(t)C1]F1

00

00

0 00 0

C2 0 0 0 0 0 0 0 00 0 0 0 0 0 1 0 0 00 00 0

00

00

0 00 0

K2(t) [In −K2(t)C2]S2R−12 [In −K2(t)C2]F2

·

·

x(1)(t + 1)

x(2)(t + 1)y1(t)

y1(t− 1)

x(1)1 (t− 1|t− 1)

x(2)1 (t− 1|t− 1)

y2(t)y2(t− 1)

x(1)2 (t− 1|t− 1)

x(2)2 (t− 1|t− 1)

+

w(1)(t + 1)

w(2)(t + 1)v1(t)

v1(t− 1)00

v2(t)v2(t− 1)

00

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

72

Page 73: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.7 Gestione delle perdite di pacchetto

e, nel caso in cui le Si siano nulle, si semplifica divenendo il seguente:

x(1)(t + 2)

x(2)(t + 2)y1(t + 1)

x(1)1 (t|t)

x(2)1 (t|t)

y2(t + 1)

x(1)2 (t|t)

x(2)2 (t|t)

=

A00

0 00 0

00

0 00 0

C1 0 0 0 0 0 00 00 0

K1(t) [In −K1(t)C1]A00

0 00 0

C2 0 0 0 0 0 00 00 0

00

0 00 0

K2(t) [In −K2(t)C2]A

·

·

x(1)(t + 1)

x(2)(t + 1)y1(t)

x(1)1 (t− 1|t− 1)

x(2)1 (t− 1|t− 1)

y2(t)

x(1)2 (t− 1|t− 1)

x(2)2 (t− 1|t− 1)

+

w(1)(t + 1)

w(2)(t + 1)v1(t)

00

v2(t)00

Osservazione. E facile vedere che la matrice A(t) ha determinante nullo per ognit. Infatti, per come l’abbiamo costruita, A(t) e triangolare a blocchi e il suodeterminante e il prodotto dei determinanti dei blocchi sulla diagonale, di cuialcuni sono nulli. Inoltre, A(t) non puo essere strettamente stabile.

Una possibile equazione per le “misure” (rimanendo nel caso semplificato) e laseguente:

Ψ1(t−1)x1(t−1|t−1)+Ψ2(t−1)x2(t−1|t−1)=h

0 0 0 00 0 0 Ψ1(t− 1) 0 Ψ2(t− 1)

2666666664x(1)(t + 1)

x(2)(t + 1)y1(t)

x(1)1 (t− 1|t− 1)

x(2)1 (t− 1|t− 1)

y2(t)

x(1)2 (t− 1|t− 1)

x(2)2 (t− 1|t− 1)

3777777775 .

Il modello di stato ausiliario non ha “rumore di misura” (ostacolo superabiletramite l’utilizzo dell’operazione di pseudoinversa) mentre la matrice varianza delrumore di modello risulta:

Q , E

w(t + 1)v1(t)

v1(t− 1)0

v2(t)v2(t− 1)

0

[w(t+1) v1(t) v1(t−1) 0 v2(t) v2(t−1) 0]

=

Q 0 0 0 0 0 00 R1 0 0 0 0 00 0 R1 0 0 0 00 0 0 0 0 0 00 0 0 0 R2 0 00 0 0 0 0 R2 00 0 0 0 0 0 0

(dove si e utilizzato il fatto che w(t) e vi(t− 1) sono incorrelati per ipotesi) sempli-ficabile, nel caso in cui le Si siano nulle, in:

Q 0 0 0 00 R1 0 0 00 0 0 0 00 0 0 R2 00 0 0 0 0

con opportune dimensioni per gli elementi riportati.

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

73

Page 74: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.7 Gestione delle perdite di pacchetto

Tali matrici sono evidentemente a rango non pieno e cio a prima vista costi-tuisce un ostacolo, riguardante la possibile divergenza del filtro di Kalman basatosul modello ausiliario25. Tuttavia, il rumore di modello e assente nelle componentidello stato pari a stime locali xi(t|t), della cui evoluzione possediamo le equazionicertamente corrette e quindi non e possibile che la loro stima diverga.

In sostanza si puo affermare, almeno a livello intuitivo, che condizione neces-saria e sufficiente per la convergenza del filtro ausiliario con matrice Hi(t) e che(A(t),Hi(t)) sia osservabile26 e (A(t),Q) sia raggiungibile.Ad esempio, per i nodi vicini alla radice e probabile che la coppia (A(t),Hi(t)) siaosservabile, quindi che tali nodi riescano a far fronte alle mancate ricezioni.

Continuando l’esempio, nel caso semplificato, si possono definire le matrici (i loroelementi si intendono di dimensioni opportune):

A(t) ,[

A 0 0 0 0 0 0C1 0 0 0 0 0 00 0 K1(t) [In −K1(t)C1]A 0 0 0C2 0 0 0 0 0 00 0 0 0 0 K2(t) [In −K2(t)C2]A

]di dimensioni l×l, l,(M+1)n+

PMi=1 pi

Q ,

Q 0 0 0 00 R1 0 0 00 0 0 0 00 0 0 R2 00 0 0 0 0

Hi(t−1) ,[

0 0 0 00 0 0 Ψ1(t− 1) 0 Ψ2(t− 1)

](se, ad esempio, 2 e l’unico “discendente” del nodo i =1)

e impostare le equazioni del filtro di Kalman ausiliario, denominando χ il vettore distato:

χ(t) ,

x(t + 2)y1(t + 1)x1(t|t)

y2(t + 1)x2(t|t)

e ζi(t) = Hi(t)χ(t) le “misure”:

aggiornamento

Ki(t) = Pi(t|t− 1)HTi (t)[Hi(t)Pi(t|t− 1)HT

i (t)]†

Pi(t|t) = [Il −Ki(t)Hi(t)]Pi(t|t− 1)

χi(t|t) = χi(t|t− 1) +Ki(t)[ζi(t)−Hi(t)χi(t|t− 1)]

(35)

25In sostanza, se la coppia (A,Q 12 ) non e completamente raggiungibile, il guadagno a regime del

filtro si annulla in alcune direzioni (esiste a tale che aT K∞ = 0), poiche il modello stesso “dice”al filtro che non vi sono correzioni da eseguire, dato che l’evoluzione di alcune componenti dellostato e nota con certezza; la correzione apportata dalla reazione nel filtro scompare quindi per talicomponenti, con pericolose conseguenze se il modello non e esatto come invece si ipotizzava.

26Questa condizione puo non essere verificata per i nodi lontani dalla radice, ovvero che, ricevendoinformazioni relative a pochi nodi, hanno una matrice Hi(t)) ricca di zeri

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

74

Page 75: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.7 Gestione delle perdite di pacchetto

predizione

{Pi(t + 1|t) = A(t)Pi(t|t)AT (t) +Qχi(t + 1|t) = A(t)χi(t|t)

(36)

All’istante t si potra considerare la predizione χi(t|t − 1) e, premoltiplicandola perHi(t), ottenere la predizione della quantita non ricevuta a causa delle perdite dipacchetto.

Richiamiamo dalla teoria che l’equazione di aggiornamento Pi(t|t) = [Il−Ki(t)Hi(t)]Pi(t|t−1) non ha buone proprieta numeriche ed e opportuno, nella pratica, riscriverla come:Pi(t|t) = [Il−Ki(t)Hi(t)]Pi(t|t− 1)[Il−Ki(t)Hi(t)]

T (ricordiamo che nel modello distato aumentato qui introdotto R = 0).

Calcoliamo infine, riguardo all’esempio in oggetto nel caso semplificato, le con-dizioni iniziali del filtro ausiliario (al nodo i)27, essendo noti per ipotesi i parametriµ0 = E[x(0)] e P0 = P (0| − 1):

χ(0| − 1) ,

xi(2| − 1)C1xi(1| − 1)

ˆx1(0|0)| − 1C2xi(1| − 1)

ˆx2(0|0)| − 1

=

F 2i µ0

C1Fiµ0

µ0

C2Fiµ0

µ0

=

A2µ0

C1Aµ0

µ0

C2Aµ0

µ0

La matrice varianza iniziale:

E

x(2)−A2µ0

y1(1)− C1Aµ0

x1(0|0)− µ0

y2(1)− C2Aµ0

x2(0|0)− µ0

[ x(2)−A2µ0 y1(1)− C1Aµ0 x1(0|0)− µ0 y2(1)− C2Aµ0 x2(0|0)− µ0 ]

richiede di eseguire qualche calcolo aggiuntivo, che ora svolgeremo.L’errore di predizione x(2)− xi(2| − 1) vale:

xi(2| − 1) = A2x(0) + Aw(0) + w(1)− F 2i µ0

= A2x(0) + Aw(0) + w(1)− A2µ0

la cui matrice varianza risulta (ricordando che x(0) e incorrelata da tutti gli altri

27sono iniziali nel senso che, al passo successivo, il nodo i si aspetta di ricevere ζ(0), pari percostruzione ad una qualche sommatoria

∑j Ψj(0)xj(0|0).

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

75

Page 76: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.7 Gestione delle perdite di pacchetto

rumori, per ipotesi bianchi) E[xi(2| − 1)xTi (2| − 1)]:

= E[{A2x(0) + Aw(0) + w(1)− F 2i µ0}·

· {xT (0)(A2)T + wT (0)AT + wT (1)− µT0 (F 2

i )T}]= E[A2x(0)xT (0)(A2)T + Aw(0)xT (0)(A2)T + w(1)xT (0)(A2)T − F 2

i µ0xT (0)(A2)T

+ A2x(0)wT (0)AT + Aw(0)wT (0)AT + w(1)wT (0)AT − F 2i µ0w

T (0)AT

+ A2x(0)wT (1) + Aw(0)wT (1) + w(1)wT (1)− F 2i µ0w

T (1)

− A2x(0)µT0 (F 2

i )T − Aw(0)µT0 (F 2

i )T − w(1)µT0 (F 2

i )T + F 2i µ0µ

T0 (F 2

i )T ]

= A2P0(A2)T + AQAT + Q− A2µ0µ

T0 (F 2

i )T − F 2i µ0µ

T0 (A2)T + F 2

i µ0µT0 (F 2

i )T

= A2P0(A2)T + AQAT + Q− A2µ0µ

T0 (A2)T

Passando alla seconda componente e alla quarta, l’errore di predizione yj(1) −CjFjµ0 = yj(1)− CjAµ0 ha matrice varianza pari a:

E[{CjAx(0) + Cjw(0) + vj(1)− CjFjµ0} · {xT (0)AT CTj + wT (0)CT

j + vTj (1)− µT

0 F Tj CT

j }]= E[CjAx(0)xT (0)AT CT

j + Cjw(0)xT (0)AT CTj + vj(1)xT (0)AT CT

j − CjFjµ0xT (0)AT CT

j

+ CjAx(0)wT (0)CTj + Cjw(0)wT (0)CT

j + vj(1)wT (0)CTj − CjFjµ0w

T (0)CTj

+ CjAx(0)vTj (1) + Cjw(0)vT

j (1) + vj(1)vTj (1)− CjFjµ0v

Tj (1)

− CjAx(0)µT0 F T

j CTj − Cjw(0)µT

0 F Tj CT

j − vj(1)µT0 F T

j CTj + CjFjµ0µ

T0 F T

j CTj ]

= CjAP0AT CT

j + CjQCTj + Rj − CjAµ0µ

T0 F T

j CTj − CjFjµ0µ

T0 AT CT

j + CjFjµ0µT0 F T

j CTj

= Cj[AP0AT + Q− Aµ0µ

T0 F T

j − Fjµ0µT0 AT + Fjµ0µ

T0 F T

j ]CTj + Rj

= Cj[AP0AT + Q− Aµ0µ

T0 AT ]CT

j + Rj

Passando alla terza componente e alla quinta, l’errore di predizione xj(0|0)−µ0 vale:

[In −Kj(0)Cj]

µ0︷ ︸︸ ︷xj(0| − 1) +Kj(0)Cjx(0) + Kj(0)vj(0)− µ0

= −Kj(0)Cjµ0 + Kj(0)Cjx(0) + Kj(0)vj(0)

= Kj(0)[−Cjµ0 + Cjx(0) + vj(0)]

e ha matrice varianza (comparendo solo variabili incorrelate tra loro) pari a:

E[(xj(0|0)− µ0)(xj(0|0)− µ0)T ] = Kj(0)[−Cjµ0µ

T0 CT

j + CjP0CTj + Rj]K

Tj (0) .

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

76

Page 77: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.7 Gestione delle perdite di pacchetto

Riguardo alle componenti incrociate, calcoliamo E[xi(2|−1)(yj(1)−CjFjµ0)T ] =

E[xi(2| − 1)(yj(1)− CjAµ0)T ]:

= E[{A2x(0) + Aw(0) + w(1)− F 2i µ0}{xT (0)AT CT

j + wT (0)CTj + vT

j (1)− µT0 F T

j CTj }]

= E[A2x(0)xT (0)AT CTj + Aw(0)xT (0)AT CT

j + w(1)xT (0)AT CTj − F 2

i µ0xT (0)AT CT

j

+ A2x(0)wT (0)CTj + Aw(0)wT (0)CT

j + w(1)wT (0)CTj − F 2

i µ0wT (0)CT

j

+ A2x(0)vTj (1) + Aw(0)vT

j (1) + w(1)vTj (1)− F 2

i µ0vTj (1)

− A2x(0)µT0 F T

j CTj − Aw(0)µT

0 F Tj CT

j − w(1)µT0 F T

j CTj + F 2

i µ0µT0 F T

j CTj ]

= A2P0AT CT

j − F 2i µ0µ

T0 AT CT

j + AQCTj

=0︷︸︸︷+Sj −A2µ0µ

T0 F T

j CTj + F 2

i µ0µT0 F T

j CTj

= [A2P0AT − F 2

i µ0µT0 AT + AQ− A2µ0µ

T0 F T

j + F 2i µ0µ

T0 F T

j ]CTj

= A[AP0AT − Aµ0µ

T0 AT + Q]CT

j

quindi E[xi(2| − 1)(xj(0|0)− µ0)T ]:

= E[{A2x(0) + Aw(0) + w(1)− F 2i µ0}{[−µT

0 CTj + xT (0)CT

j + vTj (0)]KT

j (0)}]= E[−A2x(0)µT

0 CTj − Aw(0)µT

0 CTj + w(1)µT

0 CTj + F 2

i µ0µT0 CT

j

+ A2x(0)xT (0)CTj + Aw(0)xT (0)CT

j + w(1)xT (0)CTj − F 2

i µ0xT (0)CT

j

+ A2x(0)vTj (0) + Aw(0)vT

j (0) + w(1)vTj (0)− F 2

i µ0vTj (0)]KT

j (0)

= [−A2µ0µT0 CT

j + F 2i µ0µ

T0 CT

j + A2P0CTj − F 2

i µ0µT0 CT

j

=0︷ ︸︸ ︷+AST

j ]KTj (0)

= A2[P0 − µ0µT0 ]CT

j KTj (0) ;

calcoliamo poi E[(yi(1)−CiFiµ0)(xj(0|0)−µ0)T ] = E[(yi(1)−CiAµ0)(xj(0|0)−µ0)

T ]:

= E[{CiAx(0) + Ciw(0) + vi(1)− CiFiµ0}{[−µT0 CT

j + xT (0)CTj + vT

j (0)]KTj (0)}]

= E[−CiAx(0)µT0 CT

j − Ciw(0)µT0 CT

j − vi(1)µT0 CT

j + CiFiµ0µT0 CT

j

+ CiAx(0)xT (0)CTj + Ciw(0)xT (0)CT

j + vi(1)xT (0)CTj − CiFiµ0x

T (0)CTj

+ CiAx(0)vTj (0) + Ciw(0)vT

j (0) + vi(1)vTj (0)− CiFiµ0v

Tj (0)]KT

j (0)

= [−CiAµ0µT0 CT

j + CiFiµ0µT0 CT

j + CiAP0CTj − CiFiµ0µ

T0 CT

j

=0︷ ︸︸ ︷+CiSj(0)]KT

j (0)

= Ci[−Aµ0µT0 + Fiµ0µ

T0 + AP0 − Fiµ0µ

T0 ]CT

j KTj (0)

= Ci[AP0 − Aµ0µT0 ]CT

j KTj (0)

inoltre (ponendo i 6= j, dato che abbiamo gia affrontato il caso i = j) E[(yi(1) −

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

77

Page 78: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.7 Gestione delle perdite di pacchetto

CiFiµ0)(yj(1)− CjFjµ0)T ] = E[(yi(1)− CiAµ0)(yj(1)− CjAµ0)

T ]:

= E[{CiAx(0) + Ciw(0) + vi(1)− CiFiµ0}{xT (0)AT CTj + wT (0)CT

j + vTj (1)− µT

0 F Tj CT

j }]= E[CiAx(0)xT (0)AT CT

j + Ciw(0)xT (0)AT CTj + vi(1)xT (0)AT CT

j − CiFiµ0xT (0)AT CT

j

+ CiAx(0)wT (0)CTj + Ciw(0)wT (0)CT

j + vi(1)wT (0)CTj − CiFiµ0w

T (0)CTj

+ CiAx(0)vTj (1) + Ciw(0)vT

j (1) + vi(1)vTj (1)− CiFiµ0v

Tj (1)

− CiAx(0)µT0 F T

j CTj − Ciw(0)µT

0 F Tj CT

j − vi(1)µT0 F T

j CTj + CiFiµ0µ

T0 F T

j CTj ]

= [CiAP0AT CT

j − CiFiµ0µT0 AT CT

j + CiQCTj

=0︷ ︸︸ ︷+Rij −CiAµ0µ

T0 F T

j CTj + CiFiµ0µ

T0 F T

j CTj ]

= Ci[AP0AT − Fiµ0µ

T0 AT + Q− Aµ0µ

T0 F T

j + Fiµ0µT0 F T

j ]CTj

= Ci[AP0AT − Aµ0µ

T0 AT + Q]CT

j

ed infine (per i 6= j) E[(xi(0|0)− µ0)(xj(0|0)− µ0)T ]:

= Ki(0)E[{−Ciµ0 + Cix(0) + vi(0)} · {−µT0 CT

j + xT (0)CTj + vT

j (0)}]KTj (0)

= Ki(0)E[Ciµ0µT0 CT

j − Cix(0)µT0 CT

j − vi(0)µT0 CT

j

− Ciµ0xT (0)CT

j + Cix(0)xT (0)CTj + vi(0)xT (0)CT

j

− Ciµ0vTj (0) + Cix(0)vT

j (0) + vi(0)vTj (0)]KT

j (0)

= Ki(0)[−Ciµ0µT0 CT

j + CiP0CTj

=0︷ ︸︸ ︷+Rij]K

Tj (0)

= Ki(0)Ci[P0 − µ0µT0 ]CT

j KTj (0) .

Riassumendo, l’iniziale matrice varianza d’errore del filtro ausiliario nell’esempioin oggetto risulta:

P(0| − 1) =

[A2P0(A2)T + AQAT + Q− A2µ0µT

0 (A2)T A[AP0AT − Aµ0µT0 AT + Q]CT

1 · · ·♦ C1[AP0AT + Q− Aµ0µT

0 AT ]CT1 + R1 · · ·

♦ ♦ · · ·♦ ♦ · · ·♦ ♦ · · ·

· · · A2[P0 − µ0µT0 ]CT

1 KT1 (0) A[AP0AT − Aµ0µT

0 AT + Q]CT2 A2[P0 − µ0µT

0 ]CT2 KT

2 (0)

· · · C1[AP0 − Aµ0µT0 ]CT

1 KT1 (0) C1[AP0AT − Aµ0µT

0 AT + Q]CT2 C1[AP0 − Aµ0µT

0 ]CT2 KT

2 (0)

· · · K1(0)[−C1µ0µT0 CT

1 + C1P0CT1 + R1]KT

1 (0) K2(0)C2[P0 − µ0µT0 ]AT CT

1 K1(0)C1[P0 − µ0µT0 ]CT

2 KT2 (0)

· · · ♦ C2[AP0AT + Q− Aµ0µT0 AT ]CT

2 + R2 C2[AP0 − Aµ0µT0 ]CT

2 KT2 (0)

· · · ♦ ♦ K2(0)[−C2µ0µT0 CT

2 + C2P0CT2 + R2]KT

2 (0)

in cui abbiamo adoperato i simboli ♦ per indicare gli elementi ricavabili per simme-tria. I calcoli eseguiti per la costruzione di questa matrice hanno valore indipendentedalla dimensione dello stato aumentato e hanno in qualche modo previsto, durantela loro esecuzione, anche il caso generale di correlazione fra i rumori.

Riepiloghiamo il meccanismo finora esposto: supponiamo che un certo nodo iriceva “misure” della forma

∑j Ψj(·)xj(·|·) e conosca la storia passata

∑j Ψj(t −

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

78

Page 79: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.7 Gestione delle perdite di pacchetto

s)xj(t − s|t − s), s ≥ 1. Se al tempo t non riceve la misura∑

j Ψj(t)xj(t|t) =Hi(t)χ(t), puo predirla grazie al filtro ausiliario, caratterizzato dalla matrice Hi(·):e sufficiente pre-moltiplicare χi(t|t − 1) per Hi(t). Il funzionamento normale delfiltro vorrebbe che entro il passo di campionamento t + 1 tale nodo riceva corret-tamente

∑j Ψj(t)xj(t|t), invece, nel nostro scenario, e ragionevole supporre che cio

non accada.E percio necessario adattare quanto finora ricavato per la gestione di perdite

di pacchetto consecutive: un modo e quello di generalizzare le equazioni del filtroausiliario, come riportato in [25]: richiamiamo qui i concetti essenziali.

Definiamo la variabile γi,t, che assume il valore 1 se al passo t il filtro i riceve la“misura” ζi(t), viceversa vale 0. Ipotizziamo per semplicita che il processo aleato-rio γi(t) = γi,t sia stazionario e i.i.d., con distribuzione binomiale di parametro λi,ovvero ad ogni passo la misura venga ricevuta con probabilita λi

28.

Modifichiamo il modello di stato aumentato in modo che tenga conto di questofatto (ricordiamo che per semplicita evitiamo qui di considerare l’ingresso u(t)):

{χ(t + 1) = A(t)χ(t) + ω(t)

ζi(t) = γi(t)Hi(t)χ(t), i = 1 . . . ,M(37)

e impostiamo su questo diverso modello29 le equazioni del filtro di Kalman ausiliarioi:

aggiornamento

Ki(t) = γi(t)Pi(t|t− 1)HTi (t)[Hi(t)Pi(t|t− 1)HT

i (t)]†

Pi(t|t) = [Il −Ki(t)Hi(t)]Pi(t|t− 1)

χi(t|t) = χi(t|t− 1) +Ki(t)[ζi(t)−Hi(t)χi(t|t− 1)]

(38)

predizione

{Pi(t + 1|t) = A(t)Pi(t|t)AT (t) +Qχi(t + 1|t) = A(t)χi(t|t)

(39)

La convergenza del filtro (ovvero della successione Pi(t+1|t)) e in generale legataalla probabilita media di corretta ricezione λi. Utilizzando ad esempio i risultati diSchenato et al. [25]), si puo affermare che, per i nodi in cui la coppia (A(t),Hi(t))e osservabile30 per ogni t (in cui il guadagno Ki(t) senza l’introduzione di γi(t) ten-derebbe ad un guadagno asintotico), esiste un valore minimo critico λc

i ∈ [0, 1] sottoil quale non e piu vera la proprieta di convergenza di Pi(t + 1|t).

28Le equazioni generalizzate del filtro di Kalman, che stiamo per riportare, valgono in realtaindipendentemente dalla particolare statistica di γi(t).

29Si tratta in sostanza del modello precedente in cui sostituiamo le Hi(t) con le γi(t)Hi(t).30ricordando che A(t) non puo essere strettamente stabile

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

79

Page 80: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.8 Gestione di ritardi superiori al passo di campionamento

Lasciamo a sviluppi futuri lo studio rigoroso della bonta di questo metodo perla gestione delle perdite di pacchetto.

Osserviamo comunque che il fatto di poter predire le stime locali (pesate) nonricevute (supponendo di poterle predire correttamente) potrebbe permettere di ot-tenere prestazioni migliori rispetto all’impiego di un possibile diverso algoritmo perla gestione delle perdite di pacchetto, che esegua la fusione locale ricalcolando i co-efficienti relativi alle sole stime locali ricevute al passo t.

E significativo osservare che le predizioni delle stime locali non ricevute vengonopesate, nella fusione, con gli stessi coefficienti che sarebbero stati normalmente usatiper le stime locali correttamente ricevute: questo significa che si trattano le cor-relazioni Pij tra stime ricevute e stime predette come se fossero uguali alle realiPij.

8.8 Gestione di ritardi superiori al passo di campionamento

Consideriamo brevemente anche il caso di ritardi di trasmissione (di uno o piu pas-si di campionamento), fenomeno non trascurabile nelle reti di comunicazione digitali.

Generalizzando quanto esposto nella sezione precedente, definiamo la variabileγt

i,k, che vale 1 se, al tempo t ≥ k, il nodo i e in possesso della “misura” ad essotrasmessa al tempo k: ζi(k); vale 0 viceversa.

Cio e equivalente a definire il ritardo di ricezione della misura ζi(k) da parte delnodo i:

τ ti,k ,

{min{t | γt

i,k = 1} − k, se il nodo i riceve ζi(k) per qualche t ≥ k;∞, se γt

i,k = 0 ∀t ≥ k.(40)

Nelle stesse ipotesi di Schenato, L., Optimal estimation in networked controlsystems subject to random delay and packet drop (ovvero, trascurando gli errori diquantizzazione e il rumore del canale trasmissivo), osserviamo che ad ogni istante te possibile la contemporanea ricezione di diverse misure, in qualsiasi ordine; percioe necessario che il filtro ausiliario, per trovare la stima χi(t|t), ricominci i calcolidall’inizio e mantenga un buffer di tutte le ζi(·) ricevute fino a quel momento.

Questo comporterebbe l’utilizzo di un buffer di lunghezza infinita: nella pratica siassume che esista un ritardo massimo con cui ogni misura ζi(k) possa essere ricevutadal filtro i: τ t,max

i,k . Cio e equivalente a dire che:

γti,k = γt−1

i,k , ∀k ≤ t− τ t,maxi,k − 1

cioe, oltre un ritardo massimo τ t,maxi,k , il valore della variabile γ

k+τ t,maxi,k +1

i,k non cambierapiu.

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

80

Page 81: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

8.8 Gestione di ritardi superiori al passo di campionamento

Di conseguenza, anche lo stato stimato χ(t− τ t,maxi,k − 1|t− τ t,max

i,k − 1) al tempot e uguale a quello stimato al tempo t− 1, visto che non sono state ricevute nuove“misure”; lo stesso vale per la matrice varianza dell’errore di predizione.

E sufficiente percio utilizzare un buffer di lunghezza τ t,maxi,k + 1 per ottenere lo

stimatore ottimo, come se accadesse solamente il fenomeno di perdita dei pacchetti:ad ogni passo non sara necessario ricominciare il calcolo dall’istante iniziale, bensıda τ t,max

i,k + 1 istanti fa.

Le equazioni del filtro ausiliario i con memoria risultano:

inizializzazione

{χt

i(t− τ t,maxi,k + 1|t− τ t,max

i,k + 1) = χt−1i (t− τ t,max

i,k + 1|t− τ t,maxi,k + 1)

P ti (t− τ t,max

i,k |t− τ t,maxi,k + 1) = P t−1

i (t− τ t,maxi,k |t− τ t,max

i,k + 1)

(41)e, per k = t− τ t,max

i,k , . . . , t:

aggiornamento

Ki(t) = γi(k, t)Pi(t|t− 1)HTi (t)[Hi(t)Pi(t|t− 1)HT

i (t)]†

Pi(t|t) = [Il −Ki(t)Hi(t)]Pi(t|t− 1)

χi(t|t) = χi(t|t− 1) +Ki(t)[ζi(t)−Hi(t)χi(t|t− 1)]

(42)

predizione

{Pi(t + 1|t) = A(t)Pi(t|t)AT (t) +Qχi(t + 1|t) = A(t)χi(t|t)

(43)

Per t = 1 si considera solo k = t e cosı via, fino a t = τ t,maxi,k + 1, quando k potra

valere t− τ t,maxi,k , t− τ t,max

i,k + 1, . . ., t.

Al generico passo t sara necessario conoscere la stima χi(t−τ t,maxi,k −1|t−τ t,max

i,k −1) = χt

i(t− τ t,maxi,k − 1|t− τ t,max

i,k − 1), la varianza d’errore P ti (t− τ t,max

i,k |t− τ t,maxi,k − 1)

e iterare le equazioni utilizzando i dati ζti (t − τ t,max

i,k ), ζti (t − τ t,max

i,k + 1), . . ., ζti (t)

(buffer di dimensione τ t,maxi,k ): e necessaria l’inversione di τ t,max

i,k matrici, al fine diottenere χt

i(t|t). In t viene calcolata anche la matrice P ti (t + 1|t) (matrice covarian-

za dell’errore commesso nella predizione di χti(t + 1|t) = A(t)χt

i(t|t)), che dipendesolamente da P t

i (t|t− 1) ma che non e necessaria per ottenere χti(t|t).

In pratica, poiche il filtro ausiliario viene utilizzato al fine di possedere χi(t|t−1)(che viene effettivamente calcolato al passo t− 1) al tempo t, e sufficiente iterare leequazioni sopra-riportate fino a k = t− 1: il buffer necessario e quindi di lunghezzaτ t,maxi,k .

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

81

Page 82: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

9 Implementazione del simulatore in Matlab

Le equazioni appena riportate sono indipendenti dalla particolare statistica delprocesso dei ritardi γi(k, t), se non per il fatto di conoscere il ritardo massimo τ t,max

i,k .Versioni computazionalmente piu efficienti possono essere dedotte, ad esempio

attraverso l’utilizzo di guadagni Ki costanti, nel caso si dimostri la convergenza delfiltro ausiliario ad un regime.

Un esempio di una possibile descrizione statistica dei ritardi e delle perdite dipacchetto e riportata in figura 21.

Figura 21: Esempio di distribuzione di probabilita e di massa dei ritardi aleatori.

9 Implementazione del simulatore in Matlab

Al fine di condurre un’analisi dei metodi di fusione dei dati in una rete di sensoriwireless e stato implementato in Matlab un simulatore che permettesse di variare,all’occorrenza, i parametri di interesse quali ad esempio il numero di nodi e la topolo-gia dell’albero ovvero la distribuzione di probabilita dei ritardi di trasmissione tranodo e nodo.

Come verificabile dalla visione del codice prodotto (riportato in appendice ??),si e proceduto su vari livelli di astrazione. Al livello piu alto di astrazione si ponelo script comparison.m che permette di fissare una particolare realizzazione (stessasequenza di ritardi di comunicazione tra i nodi e stessa sequenza di rumori nelprocesso) presa casualmente ed eseguire il confronto tra i vari metodi. In tale scripte inoltre possibile impostare la distribuzione di probabilita dei ritardi λ, il numerodi nodi presenti e la tipologia di albero. In tal senso sono stati implementati alberibinari, k-ari, con numeri di figli random, con struttura a catena e a stella oltre chealberi costruiti su grafi geometrici. Tali alberi, differenti per costruzione, presentanoper ogni nodo i seguenti campi:

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

82

Page 83: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

10 Analisi, confronti e conclusioni

• ID: identita del nodo, la radice ha ID pari a 1 e le successive sono in ordinecrescente (nodi a livelli maggiori hanno ID maggiori dei padri);

• level: livello dell’albero in cui si trova il nodo (la radice si trova al livello 0);

• IDparent: identita del genitore del nodo corrente;

• IDchildren: identita dei figli del nodo corrente;

• Name: tipologia di nodo: root, node, leaf (stazione base, generico nodo configli, nodi terminali senza figli rispettivamente);

• obsField: campo in cui memorizzare le misure correnti effettuate dal singolonodo;

• DATA: campo usato per memorizzare dati ed elaborazioni fatte in locale o dainodi presenti nel sottoalbero che ha il nodo corrente come radice. Esso e costi-tuito di d+1 celle dove d e il massimo ritardo contemplato nella comunicazionetra due nodi. La memorizzazione di un dato trasmesso da un nodo figlio nelcampo DATA{delay+1}, dove delay viene calcolato in base alla distribuzionedi probabilita λ, combinato con lo shift delle celle ad ogni istante temporalepermette di simulare il ritardo di comunicazione tra i due nodi dell’albero.

Prima della simulazione vera e propria vi e l’inizializzazione e l’aggiornamentoad ogni istante temporale di ulteriori strutture di supporto che, in caso di implemen-tazione di tali algoritmi su una reale rete di sensori wireless, devono essere presentinella base station quali: un buffer contenente le misure (nel caso 1) o le informazioni(nel caso 3) arrivate alla radice e un buffer Γ in entrambi i casi che tiene memoriadei nodi dai quali e pervenuto il dato prodotto in ogni istante temporale. Se siesegue la simulazione usando il metodo di fusione IV, invece, tali strutture non sononecessarie, mentre serve inizializzare e aggiornare ad ogni passo le matrici K, Σ e Ψcostruite esattamente come spiegato nella sezione precedente.

Quando si inizia a simulare l’evoluzione temporale vengono chiamate dunquele funzioni read (che a sua volta si avvale di msgBuilder), fusion e globalEstimatele quali, fissato il tempo k, provvedono, per ogni nodo, a leggere le osservazioni,elaborarle, fonderle con quelle pervenute dai figli e in questo modo farle arrivare finoalla radice dalla quale viene eseguita la stima globale dello stato.

10 Analisi, confronti e conclusioni

Nelle sezioni precedenti sono stati presentati quattro approcci distinti al problemadella aggregazione/fusione di dati in reti di sensori wireless, con lo scopo comune

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

83

Page 84: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

10 Analisi, confronti e conclusioni

Figura 22: Messaggi che circolano tra i campi DATA dei vari nodi dell’albero a secondadel metodo di fusione impiegato. Nell’ipotesi che ogni nodo faccia una misura per istantetemporale nel caso 1 la dimensione del messaggio e 3, nel caso 3 esso ha dimensione1 + n + mIDf dove n e la dimensione dello stato e mIDf il numero di nodi che hannocontribuito all’informazione memorizzata relativamente a quell’istante temporale. Nel caso4 la dimensione del messaggio e 1 + n. In tale circostanza non serve portare le ID allaradice in quanto la stima globale si forma passo dopo passo percorrendo l’albero dalle fogliealla radice.

di minimizzare la comunicazione di dati, per consentire un risparmio energetico afavore della durata delle batterie dei nodi. La funzione della rete si e stabilita es-sere la raccolta di misure di un prefissato processo stocastico, del quale e noto unmodello lineare, con lo scopo finale di stimarne lo stato. Ciascun nodo si e assuntoessere dotato di capacita computazionali, seppur limitate. Si e inoltre ipotizzatosufficiente disporre della stima globale del sistema, o almeno di una sua approssi-mazione, in un solo nodo, detto unita centrale, secondo un’architettura gerarchica.Tutti gli approcci sono stati discussi al livello piu astratto possibile, prescindendodalla particolare struttura gerarchica imposta alla rete e, quindi, dalle tecniche chene consentono l’instaurazione, il mantenimento e la gestione dell’instradamento deidati. Non sono state considerate tecniche di compressione dei dati, che possonoessere impiegate in aggiunta a quelle di fusione, per incrementare ulteriormentel’efficienza della comunicazioni.

La discussione dei quattro metodi e stata condotta al livello piu generale possi-bile, prescindendo dalla particolare architettura della rete, dalla sua instaurazionee gestione. Si e sempre ipotizzato di disporre gia di un algoritmo di routing chespecifichi, per ciascun nodo, a quale nodo il dato deve essere trasmesso al fine direcapitare l’informazione all’unita centrale.

Dovendo ora scegliere, per eseguire la simulazione e l’analisi, una particolare e

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

84

Page 85: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

10.1 Analisi delle prestazioni del metodo I

ben definita architettura, pare ragionevole, verosimile e sufficientemente generaleoptare per una struttura ad albero con numero di figli variabile.

Le simulazioni sono state condotte scegliendo un processo autonomo, con in-tegratori, avente vettore di stato di dimensione 4, separabile in due sottosistemiindipendenti di dimensione 2 e osservato da M sensori di due tipi:

x(t + 1) =

0.9 0.1 0 00 0.9 0 00 0 0.9 0.10 0 0 0.9

x(t) + w(t);

yi(t) = Ci + v(t) i = 1, . . . , M

dove

Ci =

{ (1 0 0 0

), se i e dispari;(

0 0 1 0), altrimenti;

Q =E[wwT ] =

0.1 0.01 0 00 0.05 0 00 0 0.1 0.010 0 0 0.05

;

R =E[vvT ] = 0.01 IM .

Si osserva che il metodo II non e applicabile qui, essendo tutti i sensori non identici.Si analizzeranno e confronteranno dunque solo i metodi I, III e IV. Ovviamente,se fossero verificate le condizioni per l’applicabilita del metodo II, questo sarebbequello da preferirsi, dato che l’invio di una sola lettura da parte di ciascun nododa il minimo numero di byte che si possono trasmettere per il calcolo della stimanell’unita centrale.

10.1 Analisi delle prestazioni del metodo I

In generale i fattori che influenzano le prestazioni di un metodo di fusione dei datisono: l’architettura della rete, la distribuzione di probabilita (d.d.p.) dei ritardi sulsingolo link e il rapporto tra il numero di nodi e la dimensione del vettore di statodel processo sotto osservazione.

Nel caso del metodo I, tuttavia, la quantita di byte inviati dipende unicamentedalla topologia della rete e dal numero di nodi che la compongono, non dal numerodi stati del processo ne dalla d.d.p. dei ritardi. Si ipotizzi che vi possano essereritardi e che questi siano superiormente limitati da τmax; inizialmente si assumache non vi sia perdita di pacchetti. A causa dei ritardi, all’attivazione della rete,l’informazione dei nodi piu lontani dall’unita centrale non giungera istantaneamente

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

85

Page 86: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

10.1 Analisi delle prestazioni del metodo I

alla base-station, ma si dovra attendere un transitorio di durata non superiore a

τmax = maxi

(di) maxi

(τi)

dove di e distanza del nodo i dall’unita centrale e τi e il massimo ritardo con il qualeil nodo i puo comunicare con il nodo che lo precede lungo il cammino, prefissatodall’algoritmo di routing, verso la base-station. Trascorso un tempo pari a τmax iltransitorio iniziale si e esaurito e il volume della comunicazione e giunto a regime.Ad ogni istante temporale ciascun nodo trasmette un pacchetto. Ogni pacchettoinviato dal nodo i, nell’ipotesi che l’informazione non venga persa, contiene i datidel sotto-albero con radice in i. Ciascun dato contiene la terna: misura, time-stamp,indirizzo. La quantita di dati trasmessa da ciascun nodo varia nel tempo a causa deiritardi: nell’ipotesi di assenza di perdita di pacchetto, tuttavia, in media ogni nodotrasmette un dato per istante temporale. Il dato prodotto dall’i-esimo sensore dovraessere trasmesso di volte per giungere alla radice. Si ricordi poi che ciascun pacchettocontiene un header. In conclusione il numero totale di byte inviati mediamente inogni istante temporale da una rete di M sensori e

N Ibyte =

M∑i=1

di × (by + bt + ba) + (M − 1)× bh,

dove by, bt, ba, e bh sono il numero di byte impiegati per rappresentare rispettiva-mente una singola misura, il time-stamp, l’indirizzo del nodo e l’header. Essendo by,bt e ba fissati si ha

N Ibyte = (by + bt + ba)×

M∑i=1

di + (M − 1)× bh,

che risulta essere minima se e solo se lo e∑M

i=1 di. A rigore bisognerebbe consid-erare il fatto che i protocolli di comunicazione fissano una lunghezza massima perogni frame, pertanto se la quantita di dati supera il massimo consentito si devonospedire piu pacchetti. Nella formula si dovrebbe correggere il termine contenentebh, ma la complicazione della formula non aggiunge elementi a quest’analisi. Efacile comprendere dalla relazione scritta che le prestazioni migliori si ottengono conl’approccio I con una configurazione a stella, in cui tutti i nodi comunicano diret-tamente con l’unita centrale:

∑Mi=1 di =

∑M−1i=1 1 = M − 1; il caso peggiore si ha

se la rete ha un’architettura a catena, in cui∑M

i=1 di =∑M−1

i=1 i = M(M−1)2

. Il caso

di un albero n-ario e intermedio tra i due essendo∑M

i=1 di =∑M

i=1blogn ic; si notache N I

byte ∈ O(M logn M) e decresce all’aumentare del numero n dei figli di ciascunnodo. Si veda in proposito la figura 23.

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

86

Page 87: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

10.1 Analisi delle prestazioni del metodo I

1 2 30

100

200

300

400

500

600

Number of nodes

Byt

e se

nt p

er ti

me

unit

per

node

Byte sent through a tree

ChainBinary tree3−ary tree4−ary tree10−ary treeStar

Figura 23: Istogramma del numero di byte inviati in condizioni di regime attraverso unarete con 50, 100 o 200 sensori e architettura ad albero con numero di figli variabile.Ciascun sensore implementa il metodo I e produce una singola misura scalare. by=2,bt = 2, ba = 1, bh = 10 [byte], il campo dati di ogni pacchetto ha lunghezza massima di125 byte.

A causa delle perdite di pacchetto, il numero medio di byte trasmessi attraversola rete per istante temporale sara inferiore al valore N I

byte precedentemente calco-lato, ma si tratta di una riduzione della comunicazione indesiderata, non dovutaall’aggregazione. Pertanto l’analisi sulla dipendenza tra architettura e volume dellecomunicazioni appena svolta rimane valida.

Dei quattro approcci considerati, il primo e quello che pone maggiori problemi discalabilita, dato che tutte le misurazioni vengono riportate alla radice. La figura 23mostra pero che, escludendo il caso degenere della catena, l’incremento del trafficoper il singolo nodo dovuto al crescere delle dimensioni della rete e piuttosto ridotto:nel caso dell’albero binario con 50 nodi ciascun sensore diverso dalla radice trasmettein media a regime 29.9 byte, che salgono a 34.7 con 100 nodi e a 39.8 con 200 nodi.Per l’albero con nodi da dieci figli si passa da 19.0 byte con 50 sensori, a 19.5 bytecon 100 sensori, a 22.1 con 200 sensori. Naturalmente la stella non da luogo avariazioni: in ogni caso ciascun sensore invia 15 byte per istante temporale.

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

87

Page 88: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

10.2 Analisi delle prestazioni del metodo III

10.2 Analisi delle prestazioni del metodo III

10.2.1 In assenza di ritardi di comunicazione e perdite di pacchetto

L’analisi delle prestazioni del terzo metodo risulta molto piu complessa di quellacondotta per il primo approccio. Oltre che dall’architettura della rete, la quantitatotale di byte trasmessi dipende anche dalla lunghezza n del vettore di stato delprocesso che si sta osservando e dalla distribuzione di probabilita dei ritardi dicomunicazione sul singolo link.

Si consideri inizialmente il caso in cui le comunicazioni siano ideali, prive diritardo e perdite di pacchetti. In tali condizioni si garantisce che la fusione avvengasempre su tutti i dati che pervengono ad un generico nodo. In altri termini ciascunsensore invia ad ogni passo un unico dato, con il relativo time-stamp. Si hanno poidue possibilita:

1. l’invio da parte di ciascun nodo i del proprio indirizzo, e quindi di quello deinodi del suo sotto-albero;

2. la trasmissione della matrice CTi R−1

i Ci per l’aggiornamento di P−1(t|t).La prima opzione causa complessivamente l’invio di N1 = ba

∑Mi=1 di byte per passo;

la seconda invece da N2 = (M − 1)n2bp, dove bp e il numero di byte con cui sirappresenta ciascuna componente di P−1(t|t). Quale dei due termini sia minoredev’essere valutato caso per caso. Al divergere del numero dei nodi la seconda sceltae sempre migliore poiche N2 cresce linearmente, mentre N1, come gia accennatoin precedenza cresce piu che linearmente con M , a meno che non si utilizzi unaconfigurazione a stella. Nelle applicazioni piu comuni, tuttavia, la prima opzione equasi sempre da preferirsi.

Un semplice esempio puo motivare quest’ultima affermazione: si consideri unprocesso con solamente due stati (n = 2) osservato da una rete con M = 256sensori con architettura ad albero binario. Per identificare un nodo in manieraunivoca e sufficiente un indirizzo di 8 bit (ba = 1); si pone poi bx = 2. Si notiche si e scelto n molto piccolo rispetto ad M , si e imposta un’architettura in cui∑M

i=1 di e elevata e ci si accontenta di una precisione relativamente bassa per larappresentazione numerica delle componenti di P (t|t), considerato che si tratta digrandezze frazionarie: tutti fattori che dovrebbero far propendere la scelta versola seconda opzione. Cio nonostante la prima scelta causa un incremento della co-municazione pari a N1 =

∑256i=1blog2 ic = 1793 byte, mentre per la seconda si ha

N2 = 255 × 4 × 2 = 2040 byte. Quest’esempio pare sufficiente per giustificare lascelta sistematica del primo approccio nel seguito.

Una volta stabilito quali dati vengono inviati da ciascun nodo e possibile de-terminare quale sia la quantita di byte inviata complessivamente da una rete di M

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

88

Page 89: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

10.2 Analisi delle prestazioni del metodo III

sensori che implementano l’approccio III, nell’ipotesi di comunicazioni ideali, senzaritardi ne perdite di pacchetti. Per quanto detto sinora si ha che

N IIIbyte = (M − 1)(n× bx + bt + bh) + N1,

dove bx e il numero di byte impiegati per rappresentare ciascuna delle componen-ti del vettore di stato. Per stabilire un confronto con il metodo I, pare sensatoporre bx = by. Si vede che, se non fosse per il termine N1, che in generale crescepiu che linearmente con M , ogni sensore invierebbe una quantita costante di datiindipendentemente dall’architettura della rete.

Confrontando l’espressione di N IIIbyte con quella di N I

byte vista in precedenza siottiene che N III

byte < N Ibyte se e solo se

(M − 1)(n× bx + bt) < (by + bt)M∑i=1

di.

La relazione ricavata suggerisce che per reti a stella il primo metodo e sempre preferi-bile al secondo, poiche

∑Mi=1 di = M − 1; in tutti gli altri casi, pero e l’approccio III

ad essere migliore se M e sufficientemente grande rispetto al numero di stati n.

50 100 2000

20

40

60

80

100

120

140

Number of nodes

Byt

e se

nt p

er ti

me

unit

per

node

Byte sent through a tree

ChainBinary tree3−ary tree4−ary tree10−ary treeStar

Figura 24: Istogramma del numero di byte inviati in condizioni di regime attraverso unarete con 50, 100 o 200 sensori e architettura ad albero con numero di figli variabile.Ciascun sensore implementa il metodo III e produce una singola misura scalare.

Si confronti in proposito l’istogramma di figura 24 con l’analogo in figura 23relativo al metodo I: si puo notare che il metodo III e da preferirsi, a parita di

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

89

Page 90: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

10.2 Analisi delle prestazioni del metodo III

nodi, se l’albero e sufficientemente profondo. Il miglioramento nel caso della catenae netto. Alcuni numeri per gli altri casi: con 50 nodi e albero binario il metodo Irisulta in 29.9 byte spediti in media da ogni nodo ad ogni passo, mentre il metodo IIInella stessa situazione da 23.9 byte. Tuttavia per un albero con 10 figli per nodo ilmetodo I e da preferirsi al metodo III anche con 200 nodi: si hanno infatti 22.1 bytetrasmessi contro 22.4. A conferma delle considerazioni precedenti, si nota ancorache le prestazioni migliori si hanno quando

∑Mi=1 di e piu piccola, percio, a parita di

numero di nodi, laddove il numero di figli per nodo e piu grande.L’efficienza della comunicazione con il III metodo di fusione puo essere ulteri-

ormente incrementata. L’informazione prodotta dall’i-esimo sensore all’istante t,ii(t) = Ci(t)Ri(t)

−1yi(t) contiene tanti zeri quante sono le componenti nulle dellapropria matrice d’uscita Ci; tipicamente un sensore osserva in un passo una piccolaparte dell’intero vettore di stato, ovvero Ci contiene molti zeri. Si puo pertantoridurre il traffico in rete, almeno per i nodi distanti dalla radice, evitando di inviarele componenti nulle del vettore d’informazione. Naturalmente, l’effetto della fusionesara quello di aumentare, di hop in hop, il numero delle componenti non nulle delvettore d’informazione inoltrato all’unita centrale, poiche tipicamente sensori diver-si hanno matrici Ci con differenti componenti nulle. Quindi la maggiore efficienzadella comunicazione dovuta alla soppressione degli zeri dara maggiori benefici suilink lontani dalla base-station, mentre man mano che ci si avvicina all’unita cen-trale le componenti non nulle del vettore d’informazione aumentano. C’e pero unimportante caso in cui questa compressione porta notevoli benefici a tutti i livelli:quando non tutto lo spazio di stato e osservabile in un passo utilizzando singolar-mente tutti gli M sensori. Questa condizione porta ad avere componenti del vettored’informazione sistematicamente nulle. L’ipotesi fatta e verificata comunemente neiprocessi con integratori e in quelli con ritardi multipli del passo di campionamento.Si pensi, ad esempio, ad applicazioni di tracking : lo stato del sistema e formato dacoppie posizione-velocita, ma, tipicamente, solo la posizione viene misurata, pertan-to meta delle componenti del vettore d’informazione sono sempre uguali a zero. Lostesso dicasi per processi contenenti ritardi: la dimensione dello spazio di stato puoessere molto grande, ma, ragionevolmente, la componente osservata in un passo esolamente quella ”prima” o quella ”dopo” la catena di ritardi.

L’incremento delle prestazioni ottenuto grazie alla compressione per una rete con100 nodi e rappresentato in figura 25.

10.2.2 In presenza di ritardi di comunicazione e perdite di pacchetto

Nel caso di ritardi di comunicazione l’analisi appena condotta perde la propria va-lidita. La presenza di ritardi inficia considerevolmente l’efficienza del metodo III,poiche informazioni relative ad istanti temporali diversi non possono essere fuse. Lad.d.p. dei ritardi di arrivo delle informazioni ad ogni nodo dipende sia dalla d.d.p.

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

90

Page 91: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

10.2 Analisi delle prestazioni del metodo III

Chain Binary 3−ary 4−ary 10−ary Star0

10

20

30

40

50

60

70

Kind of tree

Byt

e se

nt p

er ti

me

unit

per

node

Byte sent through a tree with 100 nodes

Without zeros suppressionWith zeros suppression

Figura 25: Istogramma di confronto del numero di byte trasmessi su una rete con 100nodi, con architettura variabile e che implementa il metodo III senza o con compressionetramite soppressione degli zeri

dei ritardi di comunicazione sul singolo link, sia dall’architettura della rete. Deter-minare una formula chiusa che descriva la quantita media di byte inviati in questecondizioni e molto complicato: ai fini dell’analisi delle prestazioni la simulazione euno strumento piu utile.

Se si confrontano, ad esempio, i casi 1 e 2 in figura 26, dove si passa da unasituazione senza ritardi ad un’altra con ritardo sistematico, l’incremento del trafficoin rete appare evidente. Il peggioramento e tanto piu marcato, tanto piu e piccoloil numero di figli di ogni nodo: l’albero binario, ad esempio, essendo fra tutti il piuprofondo, risente pesantemente dei ritardi, mentre invece l’albero i cui nodi hanno10 figli mostra un andamento prossimo al caso limite della configurazione a stella,in cui la presenza di ritardi non ha alcun effetto sul volume delle comunicazioni.

Il confronto tra il caso 1, in cui le comunicazioni sono ideali, e il 3, in cui c’eun 5% di probabilita di ritardo e un 5% di probabilita di perdita di pacchetto,suggerisce che il volume delle comunicazioni e praticamente identico. Quindi unapproccio TDMA ben calibrato, che garantisca che la maggior parte delle comuni-cazioni avvengano senza dover attendere il passo successivo, non e di molto peggiorerispetto al caso ideale. Ovviamente la perdita di pacchetti, benche indesiderabile,compensa parzialmente, nel caso 3, la riduzione di efficienza della fusione dovuta airitardi. Se pero si introduce un ritardo sistematico, anche solo di un passo, comenel caso 4, le prestazioni tornano a peggiorare.

Si osserva, infine, che tecniche di compressione quali la soppressione degli zeri

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

91

Page 92: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

10.3 Analisi delle prestazioni del metodo IV

1 2 3 40

5

10

15

20

25

30

35

Delay probability distribution

Byt

e se

nt p

er n

ode

per

time

step

Byte sent through a tree with 100 nodes at the steady state

Binary tree3−ary tree4−ary tree10−ary treeStar

Figura 26: Istogramma di confronto del numero di byte trasmessi in condizioni di regimesu una rete con 100 nodi, con architettura variabile e che implementa il metodo III alvariare della distribuzione di probabilita dei ritardi sul singolo link: nel caso 1 non cisono ne ritardi ne perdite di pacchetto; nel caso 2 c’e un ritardo costante di un passo, manon perdita di pacchetto; nel caso 3 la probabilita che, sul singolo link, la comunicazioneavvenga con ritardo nullo e pari a 0.9, con ritardo unitario e di 0.05, mentre la probabilitadi perdere un pacchetto e di 0.05; il caso 4 infine ha la stessa d.d.p. del precedente, traslatapero di un passo temporale.

continuano ad avere effetto anche nel caso di ritardi e perdite di pacchetto. Sitratta pero di soluzioni che possono compensare parzialmente l’inefficienza dellafusione, ma non di correzioni in grado di risolvere il problema strutturalmente:l’istogramma di figura 27, in cui si e applicata la soppressione degli zeri, mostra lostesso andamento di quello di figura 26, benche su scala inferiore.

10.3 Analisi delle prestazioni del metodo IV

L’analisi delle prestazioni del metodo IV risulta molto simile a quella fatta per ilmetodo III. In realta essa risulta essere piu semplice poiche il numero totale dibyte trasmessi non dipende dai ritardi nella trasmissione dei pacchetti, quindi nonvi e dipendenza dalla distribuzione di probabilita dei ritardi di comunicazione λ.Non vi e dipendenza neanche dalla particolare architettura della rete in quanto adogni istante temporale ogni nodo invia la propria stima pesata al nodo genitore ela sovrascrive a quella precedente. Questo doppio vantaggio e dovuto al fatto che,a differenza dei metodi precedenti, vi e un’aggiornamento della stima e non una

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

92

Page 93: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

10.3 Analisi delle prestazioni del metodo IV

1 2 3 40

5

10

15

20

25

30

35

Delay probability distribution

Byt

e se

nt p

er n

ode

per

time

step

Byte sent through a tree with 100 nodes at the steady state with compression

Binary tree3−ary tree4−ary tree10−ary treeStar

Figura 27: Istogramma analogo a quello di figura 26, dove pero si e adottata la soppressionedegli zeri per la compressione dei dati.

concatenazione di misure (caso 1) o informazioni (caso 3). In tale approccio inoltre,non e necessario tenere memoria dei nodi che hanno contribuito alla formazione diuna stima locale in quanto la stima globale viene calcolata ’gratuitamente’ nella basestation allo stesso modo che negli altri nodi. Inoltre la matrice di varianza d’erroreP viene calcolata in ogni nodo.

Questo risulta essere lo svantaggio principale, come visto, di tale approccio cherisulta essere computazionalmente molto pesante vista l’inversione, in ogni nododell’albero, di matrici di dimensioni elevate (dell’ordine di (M × n)× (M × n) doven e la dimensione dello stato e M il numero di sensori).

In definitiva, la quantita di byte inviati complessivamente in una rete di Msensori che implementano l’approccio IV, sia nel caso di ritardi di comunicazione sianel caso in cui questi non ci siano e

N IVbyte = (M − 1)(n× bx + bt + bh)

che e sempre inferiore a N IIIbyte nel caso in cui non venga applicata alcuna compressione

(soppressione degli zeri).Rispetto al caso di semplice aggregazione dei dati senza fusione degli stessi (caso

1) tale metodo risulta essere piu conveniente in termini di circolazione complessivadi byte all’interno della rete se e solo se

(M − 1)(n× bx + bt) < (by + bt + ba)M∑i=1

di

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

93

Page 94: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

10.4 Conclusioni

Anche in questo caso si vede come per reti a stella il primo metodo sia piu conveniente(anche perche di fatto non c’e aggregazione alcuna visto che i dati vengono inviatidirettamente alla base station), mentre per reti piu profonde in cui M >> n questometodo risulta essere molto conveniente. Come si puo vedere nell’istogramma 28

Figura 28: Istogramma di confronto del numero di byte trasmessi su una rete con 100nodi, con architettura variabile e che implementa il metodo III senza o con compressionetramite soppressione degli zeri. La linea nera rappresenta invece il metodo IV che in-dipendentemente dall’architettura risulta in 20 byte spediti in media da ogni nodo ad ognipasso

per M = 100, il metodo III con soppressione degli zeri risulta essere piu efficientenel caso in cui non ci siano ritardi e il numero dei figli per nodo sia superiore a due.Come detto, pero, il metodo III peggiora fortemente nel caso di ritardi, cosa che nonsuccede usando il IV approccio. In tal caso, infatti, i ritardi peggiorano la stima,ma non incrementano il numero medio di byte inviati.

In figura 29 viene fatto un confronto tra i quattro metodi su un albero binarioper quanto riguarda il numero medio di byte inviato per istante temporale mentrenelle figure 31 e 32 viene proposto un confronto dello stimatore globale tra i tremetodi implementati nel caso ottimale in cui non vi siano ne ritardi ne perdite dipacchetti. Si vede come le stime siano buone in tutti i casi e, dal grafico delle traccedell’errore di stima, che l’approccio IV e sub-ottimo.

10.4 Conclusioni

Si sono presi in considerazione in questo articolo approcci diversi al problema dellaaggregazione/fusione di dati e se ne e simulata l’applicazione in diversi contesti, al

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

94

Page 95: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

10.4 Conclusioni

1 2 3 4 5 6 7 80

5

10

15

20

25

30

35

40

45

log2(M)

byte

sen

t per

tim

e un

it

Traffic volume histogram

Method IMethod IIIMethod III without zerosMethod IV

Figura 29: Istogramma di confronto del numero di byte trasmessi mediamente da ciascunnodo per ogni istante temporale nel caso di un albero binario al variare del numero di nodiin assenza di ritardi.

1 2 3 4 5 6 7 80

5

10

15

20

25

30

35

40

log2(M)

byte

sen

t per

tim

e un

it

Traffic volume histogram

Method IMethod IIIMethod III without zerosMethod IV

Figura 30: Come in figura precedente, ma con un ritardo sistematico di un passo dicampionamento ad ogni link.

variare cioe delle dimensioni della rete, della sua architettura, della distribuzione diprobabilita dei ritardi di comunicazione sul singolo link. A conclusione dell’analisi,si puo notare come nessuno dei metodi visti prevalga sugli altri in termini asso-

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

95

Page 96: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

10.4 Conclusioni

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

−1

−0.5

0

0.5

1

1.5

2

Time samples

1st c

ompo

nent

Estimate of the 1st component of the state vector

Real system stateKalman estimate 1Kalman estimate 3Kalman estimate 4

Figura 31: Confronto delle stime della prima componente di una particolare realizzazionedel processo {x(t)} definito all’inizio della presente sezione ottenute con i metodi I, III,e IV. Ritardi e perdite di pacchetto sono assenti. Si nota effettivamente che le stimeI e III sono perfettamente sovrapposte, come previsto dalla teoria. La stima IV risultamediamente sub-ottima rispetto alle precedenti, ma solo lievemente.

0 5 10 15 20 25 30 35 40 45 500.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

2.2

2.4Convergence of estimate error variance

Tra

ce o

f est

imat

e er

ror

varia

nce

Time samples

CASE 1CASE 3CASE 4

Figura 32: Confronto della traccia della varianza dell’errore di stima ottenuto nello stessoesperimento cui si riferisce la figura 31. Anche qui si puo notare l’equivalenza funzionaledei metodi I e III. Il metodo IV da stime meno precise, ma solo lievemente.

luti. Ciascuno dei metodi puo risultare essere migliore degli altri in determinatecondizioni. Le tecniche di aggregazione/fusione possono consentire un risparmio en-ergetico notevole, in termini di quantita di byte inviati, ma e necessaria un’analisipreliminare della dimensione della rete, della sua architettura e della d.d.p. dei ri-

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

96

Page 97: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

10.4 Conclusioni

tardi per effettuare la scelta migliore. E tuttavia possibile formulare delle regole dimassima che aiutino il progettista nell’individuazione della strategia migliore:

• In generale le tecniche di fusione sono piu indicate di quelle d’aggregazione nelcaso in cui n sia sufficientemente inferiore a M .

• L’approccio II e applicabile solo in reti di sensori identici: in tali condizionie pero la migliore scelta possibile se il protocollo di comunicazione garantisceritardi e perdite di pacchetto ridotti. Se i sensori non sono tutti identici ilmetodo II e da scartare a priori.

• L’approccio aggregativo I e da preferirsi nel caso di reti poco profonde, in cuicioe la distanza media (in numero di hop) dei nodi dall’unita centrale e “pic-cola” rispetto alla dimensione dello spazio di stato. L’architettura delle retiin cui l’approccio I da le prestazioni migliori e quella a stella. Al contrario,architetture molto profonde, che assomiglino ad una catena, danno perfor-mance pessime. Ad esempio, reti poco profonde sono tipicamente, a meno diconfigurazioni di tipo a catena, quelle piccole (approssimativamente meno di50 nodi). Inoltre il traffico in rete, con il metodo I, non risente dei ritardi dicomunicazione.

• Anche per il metodo IV il traffico in rete non dipende dalla d.d.p. dei ri-tardi, e, per di piu, non dipende dall’architettura della rete. Questo metodorisulta migliore dove il I e inefficiente, cioe, per reti di grandi dimensioni (ap-prossimativamente piu di 100 nodi), con numero di nodi molto superiore alladimensione dello spazio di stato e di elevata profondita. La stima ottenibilee pero sub-ottima: il metodo IV e applicabile laddove non sia richiesta lamigliore precisione possibile della stima.

• Il metodo III e in un certo senso intermedio tra il I e il IV. Da buone prestazionicon reti di dimensioni medio-grandi e fornisce una stima che coincide con quel-la del filtro di Kalman classico. In particolare, e molto efficace se applicatoa processi il cui vettore di stato abbia delle componenti non osservabili in unpasso con nessuno dei sensori: tipicamente sistemi con integratori o ritardisoddisfano quest’ipotesi. Le prestazioni del metodo III degradano pero forte-mente se le comunicazioni sono affette da ritardi sistematici. Questo metodoe efficiente, dunque, solo se e implementato un protocollo TDMA che garan-tisca che la maggior parte delle comunicazioni avvengano entro un passo dicampionamento.

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

97

Page 98: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

A Ulteriori considerazioni sul problema della ricostruzione della stima diKalman da stime locali

A Ulteriori considerazioni sul problema della ri-

costruzione della stima di Kalman da stime

locali

Accenniamo a quanto ricavato all’inizio di questo lavoro, sul problema della ri-costruzione della stima dello stato globale di Kalman da stime locali. Sotto l’ipotesiche E[vi(t)vj(t)] = Rij = 0, i 6= j, abbiamo formulato l’equazione:

x(t|t) = x(t|t− 1) + P (t|t− 1){In − CT R−1C[P−1(t|t− 1) + CT R−1C]−1}·

· [ CT1 · · · CT

M

]

R−11 0

. . .

0 R−1M

y1(t)− C1x(t|t− 1)...

yM(t)− CM x(t|t− 1)

= x(t|t− 1) + P (t|t− 1)

In −

∑i

CTi R−1

i Ci

[P−1(t|t− 1) +

∑i

CTi R−1

i Ci

]−1 ·

· [ CT1 R−1

1 · · · CTMR−1

M

]

y1(t)− C1x(t|t− 1)...

yM(t)− CM x(t|t− 1)

esprimibile anche come:

x(t|t)=x(t|t−1)+P (t|t−1)n

In−P

i CTi R−1

i Ci[P−1(t|t−1)+P

i CTi R−1

i Ci]−1o·Pi CT

i R−1i [yi(t)−Cix(t|t−1)]

e confrontabile con l’equazione d’aggiornamento iniziale dello stimatore locale i:

xi(t|t)=xi(t|t−1)+Pi(t|t−1){In−CTi R−1

i Ci[P−1i (t|t−1)+CT

i R−1i Ci]

−1}CTi R−1

i [yi(t)−Cixi(t|t−1)]

Supponiamo per semplicita di trovarci all’istante iniziale, quando x(t|t − 1) =x(0| − 1) = E[x(0)] = µ0 e P (t|t − 1) = P (0| − 1) = P0 (questo vale anche pertutte le stime locali, i.e. xi(0| − 1) = µ0 e Pi(0| − 1) = P0). Aggiungiamo il vincoloche µ0 6= 0, per non perdere del tutto lo scenario generale: negli istanti successivia 0, x(t|t − 1) sara diverso dal vettore nullo, poiche la sua evoluzione e data da:x(t + 1|t) = Ax(t|t− 1) + [K(t) + SR−1][y(t)− Cx(t|t− 1)], dove difficilmente y(t)e nullo per ogni t.

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

98

Page 99: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

A Ulteriori considerazioni sul problema della ricostruzione della stima diKalman da stime locali

L’equazione di aggiornamento diventa

x(0|0) = µ0 + P0

In −

∑i

CTi R−1

i Ci

[P−1

0 +∑

i

CTi R−1

i Ci

]−1 ·

· [ CT1 R−1

1 · · · CTMR−1

M

]

y1(0)− C1µ0...

yM(0)− CMµ0

= µ0 + P0

In −

∑i

CTi R−1

i Ci

[P−1

0 +∑

i

CTi R−1

i Ci

]−1 ·

∑i

CTi R−1

i [yi(0)− Ciµ0]

e l’equazione d’aggiornamento iniziale dello stimatore locale i diviene:

xi(0|0) = µ0 + P0{In − CTi R−1

i Ci[P−10 + CT

i R−1i Ci]

−1}CTi R−1

i [yi(0)− Ciµ0]

dalle quali si puo osservare la difficolta di una possibile ricostruzione della stimax(t|t) tramite una combinazione lineare delle stime locali xi(t|t).

Calcoliamo, ad esempio, ΨTi xi(0|0) + ΨT

j xj(0|0):

(ΨTi + ΨT

j )µ0 + ΨTi P0{In − CT

i R−1i Ci[P

−10 + CT

i R−1i Ci]

−1}CTi R−1

i [yi(0)− Ciµ0]

+ ΨTj P0{In − CT

j R−1j Cj[P

−10 + CT

j R−1j Cj]

−1}CTj R−1

j [yj(0)− Cjµ0]

= (ΨTi + ΨT

j )µ0 + ΨTi Ki(t)[yi(0)− Ciµ0] + ΨT

j Kj(0)[yj(0)− Cjµ0]

= (ΨTi + ΨT

j )µ0 +[

ΨTi Ki(t) ΨT

j Kj(t)]

yi(0)− Ciµ0...

yj(0)− Cjµ0

che puo essere confrontata con la formula precedente:

x(0|0)=µ0+P0

nIn−

Pi CT

i R−1i Ci[P−1

0 +P

i CTi R−1

i Ci]−1oh

CT1 R−1

1 · · · CTMR−1

M

i266664y1(0)−C1µ0

...yM (0)−CMµ0

377775Se esistessero ΨT

i , ΨTj , sarebbero le eventuali soluzioni di:

ΨTi + ΨT

j = In

ΨTi P0C

Ti = P0

In −

h

CTh R−1

h Ch

[P−1

0 +∑

h

CTh R−1

h Ch

]−1 CT

i R−1i [CiP0C

Ti + Ri]

ΨTj P0C

Tj = P0

In −

h

CTh R−1

h Ch

[P−1

0 +∑

h

CTh R−1

h Ch

]−1 CT

j R−1j [CjP0C

Tj + Rj]

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

99

Page 100: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

B Un algoritmo di fusione proposto in letteratura e confutato

che conviene riscrivere come:

ΨTi + ΨT

j = In

ΨTi P0C

Ti = P0

{In − CT R−1C[In −K(t)C]P−1

0

}CT

i R−1i [CiP0C

Ti + Ri]

ΨTj P0C

Tj = P0

{In − CT R−1C[In −K(t)C]P−1

0

}CT

j R−1j [CjP0C

Tj + Rj]

che e un sistema di n2 + n∑

h mh equazioni scalari in 2n2 incognite scalari.

Con lo scorrere del tempo, la somma ΨTi (t)xi(t|t − 1) + ΨT

j (t)xi(t|t − 1) dovraessere pari alla predizione globale x(t|t− 1) e l’uguaglianza ΨT

i + ΨTj = In non sara

piu sufficiente.

E quindi un problema complesso la ricerca dei combinatori ΨTi (t), anche solo per

il fatto che non e in generale assicurata la loro esistenza.

B Un algoritmo di fusione proposto in letteratura

e confutato

In letteratura sono presenti alcuni articoli che analizzano un particolare metododi fusione di stime locali dello stato, proposto da Chang et al. ([6]); accenniamosoltanto all’esistenza di tale risultato per completezza descrittiva. La formula difusione delle stime locali considerata inizialmente da Chang e la seguente:

xij = xi + (Pi − Pij)(Pi + Pj − Pij − Pji)−1(xj − xi)

ma lo stesso Chang ne ha dimostrato la maggior limitazione: essa e valida solo nel-l’ipotesi che Di ⊂ Dj, dove Di e l’informazione ricavata da tutte le misure finoradal filtro i. Ora, pero, Di ⊂ Dj significa che il filtro j e gia a conoscenza di tuttal’informazione portata da i, quindi non e necessaria alcuna fusione ed e possibilescartare la stima i, mantenendo la stima j.

Chang ha evidenziato inoltre che tale metodo conserva (sotto alcune ipotesi)l’ottimalita nel senso della massima verosimiglianza (ML). In seguito, ha propostouna nuova formula per la fusione (supponiamo ora che vi siano due sole stime localixi e xj):

xij = (P−1i + P−1

j − Π−1i − Π−1

j + Π−1)(P−1i xi + P−1

j xj − Π−1i xi − Π−1

j xj + Π−1x)

in cui (xi, Πi) sono le stime locali e le loro matrici varianza, (x, Π) sono i precedentirisultati della fusione. Tale metodo e stato derivato dal filtro di Kalman in formadi informazione ed e ottimo nel caso in cui i due sensori i e j possano comunicare

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

100

Page 101: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

C Applicazione ai processi aleatori della teoria degli spazi vettoriali: brevirichiami

tra loro ogni volta che producono una misura yi e yj.

Percio, nel caso concreto in cui non tutti i sensori possano comunicare con i ri-manenti in qualsiasi istante, viene persa l’ottimalita, senza aver una stima di quantoci si stia discostando da essa.

Abbiamo, in questo documento, scelto percio di esporre un diverso approccio,che non necessita della comunicazione mutua tra tutti i sensori della rete.

C Applicazione ai processi aleatori della teoria

degli spazi vettoriali: brevi richiami

Diamo un rapido excursus dei concetti fondamentali, secondo la teoria esposta neltesto di Picci [18]. Dato il processo stocastico y(t), t = 0, 1, . . ., si definisce Ht(y) ilsottospazio di H (spazio delle variabili aleatorie scalari (reali) definite sul medesimospazio di probabilita e aventi media nulla e varianza finita) generato dalle variabilialeatorie {y(s); s ≤ t}, ciascuna privata della propria media. Definendo in H ilprodotto interno 〈y(t), y(s)〉 = E[y(t)y(s)] (e la norma da esso indotta), si riconduceil concetto di incorrelazione a quello geometrico di ortogonalita ⊥ in H; si intro-duce altresı un’analogia tra l’aspettazione condizionata di una variabile aleatoria xE[x|Ht(y)] e la proiezione di x su Ht(y). Quando si parla di proiezioni si sottintendeun’operazione preliminare di sottrazione delle medie dalle variabili in gioco e l’op-erazione di proiezione si intende effettuata sulle variabili a media nulla x(t)− µx(t)basandosi sui corrispondenti dati a media nulla y(t) − µy(t). Per modelli di statocome x(t+1) = Ax(t)+w(t), y(t) = Cx(t)+v(t), x(0) = x0, cio equivale a consider-are i dati generati a partire da x(0) = x(0)−µx(0); una volta calcolate le proiezionie trovate le relative formule per le quantita barrate, e sufficiente ri-assegnare allacondizione iniziale la sua media µx(0). Lo stimatore x a minima varianza d’errore(cioe che rende minima la norma in H dell’errore) tra i lineari (globalmente a min-ima varianza nel caso gaussiano) e, per il teorema delle proiezioni, la proiezioneortogonale di x su Ht(y) a patto che Ht(y) sia un sottospazio chiuso (completo) diH. Il principio di ortogonalita asserisce che x e quella proiezione ortogonale se e solose (x− x) ⊥ H(y). Essendo in generale Ht(y) un sottospazio di dimensione infinita,la proprieta di completezza si ottiene considerando come Ht(y) il sottospazio di H(“spazio dei funzionali lineari” del processo del second’ordine y(t)) generato dallevariabili aleatorie {y(s); s ≤ t} a cui si aggiungono tutti i limiti delle successioni diCauchy di variabili in Ht(y) (vedi [18, p.78]).Estendendo quanto detto al caso di vettori aleatori e processi stocastici vettoriali,notazioni come z ∈ Ht(y) o z ⊥ Ht(y)) significano che tutte le componenti delvettore aleatorio z appartengono o sono ortogonali allo spazio in questione; an-

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

101

Page 102: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

C Applicazione ai processi aleatori della teoria degli spazi vettoriali: brevirichiami

che la proiezione ortogonale di z su Ht(y) sara il vettore avente, componente percomponente, le proiezioni ortogonali prima definite.

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

102

Page 103: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

D Appendice: codice Matlab

D Appendice: codice Matlab

• comparison.m

% SCRIPT FOR ANALYSIS

% data fusion types:

% 1 - parent-children measurements aggregation

% 2 - data mean parent-children (not implemented!)

% 3 - Kalman filter in information form

% 4 - Chinese fusion

clear all

close all

clc

global maxPacketDelay CASE lambda treeHeight maxGlobalDelay COUNTER

global seed seed2 numStates A B C Q R dataType headerLength maxDataXpacket

global TIME_COUNTER noZeroTIME_COUNTER noZeroCOUNTER children sim_duration

% Mass distribution of packet delay: lambda_0=lambda(1), ... ,

% lambda_k=lambda(3) for k>length(lambda)

lambda = [1];

maxPacketDelay = length(lambda)-1; % maximum packet delay

% NETWORK TOPOLOGY SPECIFICATION: specify the kind of tree: uncomment one

% of the following lines:

% kind_of_tree = ’bin’; % Binary tree

kind_of_tree = ’K’; % K-ary tree

% kind_of_tree = ’rand’; % Random tree

% kind_of_tree = ’randK’; % Random tree, K children per node at most

% kind_of_tree = ’chain’; % Chain

% kind_of_tree = ’star’; % Star

% kind_of_tree = ’visibility’; % Visibility tree with a/A = 0.1

% SIMULATION DURATION

sim_duration = 50;

% RANDOM SEQUENCES INITIALIZATION

seed = round(rand*1e8);

seed2 = round(rand*1e8);

%==========================================================================

% COMPARISON OF DIFFERENT DELAYS

%==========================================================================

nodesNum = 100;

LAMBDA = {[1], [0,1], [0.9 0.95], [0 0.9 0.95]};

for n=1:length(LAMBDA)

lambda = LAMBDA{n}

maxPacketDelay = length(lambda)-1;

CHILDREN = [2,3,4,10,nodesNum];

for m=1:length(CHILDREN)

children=CHILDREN(m)

CASE = 3

main(nodesNum,CASE,kind_of_tree);

TEMP_COUNTER = [TIME_COUNTER(1), TIME_COUNTER(2:end)-TIME_COUNTER(1:end-1)];

TEMP_COUNTER = TEMP_COUNTER(maxGlobalDelay+1:end);

byteSentNum1(n,m) = sum(TEMP_COUNTER)/(nodesNum-1)/length(TEMP_COUNTER);

TEMP_COUNTER2 = [noZeroTIME_COUNTER(1), noZeroTIME_COUNTER(2:end)-...

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

103

Page 104: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

D Appendice: codice Matlab

noZeroTIME_COUNTER(1:end-1)];

TEMP_COUNTER2 = TEMP_COUNTER2(maxGlobalDelay+1:end);

byteSentNum3NoZero(n,m) = sum(TEMP_COUNTER2)/(nodesNum-1)/length(TEMP_COUNTER2);

end

end

figure

bar(byteSentNum1,’grouped’)

xlabel(’Delay probability distribution’)

ylabel(’Byte sent per node per time step’)

legend(’Binary tree’,’3-ary tree’,’4-ary tree’,’10-ary tree’,’Star’,2)

title(’Byte sent through a tree with 100 nodes at the steady state’)

if CASE == 3

figure

bar(byteSentNum3NoZero,’grouped’)

xlabel(’Delay probability distribution’)

ylabel(’Byte sent per node per time step’)

legend(’Binary tree’,’3-ary tree’,’4-ary tree’,’10-ary tree’,’Star’,2)

title(’Byte sent through a tree with 100 nodes at the steady state with compression’)

end

%pause;

% %========================================================================

% % COMPARISON OF DIFFERENT ARCHITECTURES

% %========================================================================

%

% NODESNUM = [50, 100, 200];

% for n=1:length(NODESNUM)

% nodesNum = NODESNUM(n);

% CHILDREN = [1,2,3,4,10,nodesNum];

% for m=1:length(CHILDREN)

% children=CHILDREN(m)

% CASE = 1

% main(nodesNum,CASE,kind_of_tree);

% byteSentNumAVG1(n,m) = sum(COUNTER)/sim_duration/(nodesNum-1);

% byteSentNumAVG3NoZero(n,m) = sum(noZeroCOUNTER)/sim_duration/(nodesNum-1);

% end

% end

%

% figure

% bar(byteSentNumAVG1,’grouped’)

% xlabel(’Number of nodes’)

% ylabel(’Byte sent per time unit per node’)

% legend(’Chain’,’Binary tree’,’3-ary tree’,’4-ary tree’,’10-ary tree’,’Star’,2)

% title(’Byte sent through a tree’)

%

% if CASE == 3

% figure

% comp = [byteSentNumAVG1(2,:)’, byteSentNumAVG3NoZero(2,:)’];

% bar(comp,’grouped’)

% xlabel(’Kind of tree’)

% ylabel(’Byte sent per time unit per node’)

% legend(’Without zeros suppression’,’With zeros suppression’,1)

% title(’Byte sent through a tree with 100 nodes’)

% end

%

%pause;

%

% %========================================================================

% % COMPARISON 1 vs 3 vs 4

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

104

Page 105: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

D Appendice: codice Matlab

% %========================================================================

%

% % SET NUMBER OF NODES FOR SIMULATION

% children = 2;

% m_max = 6;

%

% for m=1:m_max

% nodesNum = 2^m

% CASE = 1

% main(nodesNum,CASE,kind_of_tree);

% % fprintf(’Total no of bytes sent’)

% byteSentNumAVG1(m) = sum(COUNTER)/sim_duration/(nodesNum-1);

% % se si elimina dal counter il transitiorio iniziale

% % byteSentNumAVG1(m) = sum(COUNTER)/(sim_duration-maxGlobalDelay);

%

% CASE = 3

% main(nodesNum,CASE,kind_of_tree);

% % fprintf(’Total no of bytes sent’)

% byteSentNumAVG3WC(m) = sum(COUNTER)/sim_duration/(nodesNum-1);

% byteSentNumAVG3BC(m) = sum(noZeroCOUNTER)/sim_duration/(nodesNum-1);

% % se si elimina dal counter il transitiorio iniziale

% % byteSentNumAVG3WC(m) = sum(COUNTER)/(sim_duration-maxGlobalDelay);

%

% CASE = 4

% main(nodesNum,CASE,kind_of_tree);

% % fprintf(’Total no of bytes sent’)

% byteSentNumAVG4(m) = sum(COUNTER)/sim_duration/(nodesNum-1);

% % se si elimina dal counter il transitiorio iniziale

% % byteSentNumAVG3WC(m) = sum(COUNTER)/(sim_duration-maxGlobalDelay);

% end

%

% figure

% hold on

% plot(2.^[1:m_max],byteSentNumAVG1,’b’)

% plot(2.^[1:m_max],byteSentNumAVG3WC,’g’)

% plot(2.^[1:m_max],byteSentNumAVG3BC,’r’)

% plot(2.^[1:m_max],byteSentNumAVG4,’k’)

% xlabel(’M’)

% ylabel(’byte sent per time unit’)

% legend(’Method I’,’Method III’,’Method III without zeros’,’Method IV’,0)

% title(’Traffic volume trend’)

%

% byteSentNumAVG = [byteSentNumAVG1;byteSentNumAVG3WC;byteSentNumAVG3BC;byteSentNumAVG4]’;

% figure

% bar(byteSentNumAVG)

% xlabel(’log_2(M)’)

% ylabel(’byte sent per time unit’)

% legend(’Method I’,’Method III’,’Method III without zeros’,’Method IV’,0)

% title(’Traffic volume histogram’)

• main.m

function [] = main(nodesNum,CASE, kind_of_tree)

% GLOBAL VARIABLES DECLARATION

global maxPacketDelay lambda treeHeight maxGlobalDelay COUNTER children X_EST X u tree

global seed seed2 numStates A B C Q R dataType dataTypeID headerLength maxDataXpacket

global sim_duration P0 x0bar TIME_COUNTER

% PROCESS

process;

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

105

Page 106: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

D Appendice: codice Matlab

% INITIALIZATION IN CASE 4

if CASE==4

global Sigma Psi K tree

for h=1:nodesNum

K{h} = P0*C(h,:)’*pinv(C(h,:)*P0*C(h,:)’+R(h,h));

end

SigmaCell = {};

for h=1:nodesNum

for j=h:nodesNum

SigmaCell{h,j} = (eye(numStates)-K{h}*C(h,:))*P0*(eye(numStates)-K{j}*C(j,:))’;

SigmaCell{j,h} = SigmaCell{h,j}’;

end

end

Sigma = [];

for h=1:nodesNum

for j=1:nodesNum

Sigma((h-1)*numStates+1:h*numStates,(j-1)*numStates+1:j*numStates) = SigmaCell{h,j};

end

end

I = [];

for h=1:nodesNum

I = [I;eye(numStates)];

end

Psi = pinv(Sigma)*I*pinv(I’*pinv(Sigma)*I);

end

% BUILD TREE IN THE NETWORK

switch kind_of_tree

case ’bin’

tree = binTree(nodesNum);

case ’K’

tree = TreeK(nodesNum, children);

case ’rand’

tree = randTree(nodesNum);

case ’randK’

tree = randTreeK(nodesNum, children);

case ’chain’

tree = chain(nodesNum);

case ’star’

tree = star(nodesNum);

case ’visibility’

tree = visibilityTree(nodesNum,children);

otherwise

error(’Illegal kind of tree’);

end

maxGlobalDelay = maxPacketDelay * treeHeight; % buffer length = maxGlobalDelay + 1

if CASE==1

global dataArrived Gamma

dataArrived = zeros(nodesNum,maxGlobalDelay+1);

Gamma = zeros(nodesNum,maxGlobalDelay+1); % buffer observations

% arrived initialization

elseif CASE==3

global infoArrived Gamma noZeroCOUNTER noZeroTIME_COUNTER

infoArrived = zeros(numStates,maxGlobalDelay+1);

Gamma = zeros(nodesNum,maxGlobalDelay+1); % buffer information

% arrived initialization

end

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

106

Page 107: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

D Appendice: codice Matlab

% COMMUNICATION PARAMETERS

maxDataXpacket = 125; %[byte] 1000 bit

headerLength = 10; %[byte]

dataType = 2; %[byte] 1=byte; 2=word; 4=double word

dataTypeID = 1; %[byte] 1=byte; 2=word; 4=double word

COUNTER = zeros(1,nodesNum); %[byte] vector 1xnodesNum in which is stored the

% number of trasmission

if CASE==3

noZeroCOUNTER = zeros(1,nodesNum);

end

% RANDOM SEQUENCE INITIALIZATION: this is to create always the same

% sequence of delays and the same noises in the process

rand(’seed’,seed);

randn(’seed’,seed2);

% SIMULATION

for k = 1:sim_duration

u(:,k)=0;

X(:,k+1) = A*X(:,k) + Qsqrt*randn(numStates,1);

Y(:,k) = C*X(:,k) + Rsqrt*randn(nodesNum,1);

tree = read(tree,Y(:,k),k);

tree = fusion(tree,k);

globalEstimate;

if CASE==4

for h=1:nodesNum

for j=h:nodesNum

SigmaCell{h,j} = (eye(numStates)-K{h}*C(h,:))*(A*SigmaCell{h,j}*A’+Q)*...

(eye(numStates)-K{j}*C(j,:))’;

SigmaCell{j,h} = SigmaCell{h,j}’;

end

end

for h=1:nodesNum

for j=1:nodesNum

Sigma((h-1)*numStates+1:h*numStates,(j-1)*numStates+1:j*numStates) = SigmaCell{h,j};

end

end

Psi = pinv(Sigma)*I*pinv(I’*pinv(Sigma)*I);

for h=1:nodesNum

tree(h).Psi= Psi((h-1)*numStates+1:h*numStates,:);

end

end

end

% COUNTER;

% noZeroCOUNTER;

% fprintf(’Total no of bytes sent’);

% sum(COUNTER);

% fprintf(’Total no of bytes sent suppressing zeros’);

% sum(noZeroCOUNTER);

% fprintf(’No of bytes saved suppressing zeros’);

% sum(COUNTER) - sum(noZeroCOUNTER);

% Plots of the Kalman Estimate

% figure

% hold on

% plot(X(1,1:end-1),’b’)

% plot(X_EST(1,:),’r’)

% xlabel(’Time samples’)

% ylabel(’1st component’)

% legend(’Real system state’, ’Kalman estimate’,0)

% title(’Estimate of the 1st component of the state vector’)

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

107

Page 108: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

D Appendice: codice Matlab

%

% figure

% plot(TR_P_EST)

% title(’Convergence of estimate error variance’)

% ylabel(’Trace of estimate error variance’)

% xlabel(’Time samples’)

• process.m

global P0 x0bar

q = 0.1;

r = 1;

% Kinematic equations of the vehicle on the X-Y plane: Kinematic decoupling

% is highlighted.

Ax = [0.9, 0.1; 0, 0.9]; Ay = Ax;

A = [Ax, zeros(2); zeros(2), Ay];

Qx = q*[1, 0.1; 0, 0.5]; Qy = Qx;

Q = [Qx, zeros(2); zeros(2), Qy];

Cx = [1, 0]; Cy = Cx;

Ctmp = [Cx, zeros(1,2); zeros(1,2), Cy];

Rx = r*0.01; Ry = Rx;

R = [Rx, 0; 0, Ry];

P0x = eye(2); P0y = P0x;

P0 = [P0x, zeros(2); zeros(2), P0y];

numStates = size(A); numStates = numStates(1);

B = zeros(numStates,1);

X=[1; 1; 2; 1]; % initial condition: X(:,1)

x0bar = zeros(numStates,1);

% (A,C) is detectable and (A,sqrtm(Q)) is reachable

% if (rank(obsv(A,C))==4)

% fprintf(’(A,C) is detectable ’)

% if (rank(ctrb(A,Qsqrt))==4)

% sprintf(’\b and (A,Qsqrt) is reachable’)

% end

% end

C = [];

for j=1:nodesNum

C = [C;Ctmp(rem(j,2)+1,:)];

end

R = r*0.01*eye(nodesNum);

if q>0

Qsqrt = sqrtm(Q);

else

Qsqrt = zeros(length(Q));

end

if r>0

Rsqrt = sqrtm(R);

else

Rsqrt = zeros(length(R));

end

• TreeK.m (gli altri alberi non vengono riportati per la forte somiglianza delcodice)

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

108

Page 109: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

D Appendice: codice Matlab

function T = TreeK(N, children)

%RANDTREE Random tree

% randTree(N) defines a N-nodes tree with random number of children repeatedly

% from the root. T is pseudo-random because while nodes left are more than zero

% each node has at least one child and at most 10 children

global maxPacketDelay treeHeight CASE % global variables declaration

treeLeavesNum = 0; % leaves counter (root excluses if N=1)

parentsArray = [];

treeHeight = 0; % levels number starting from 0 (root level)

% root

childrenLeft = N-1; % nodes left

T(1).ID = 1;

T(1).level = 0;

T(1).IDparent = 0;

T(1).IDchildren = 0;

if CASE==4

global x0bar P0 numStates Psi

T(1).x_pred = x0bar;

T(1).x_est = [];

T(1).P_pred = P0;

T(1).P_est = [];

T(1).Psi = Psi(1:numStates,:);

end

parentsArray = 0;

T(1).Name = ’root’;

T(1).obsField = []; % observation field for current measurement

T(1).DATA = cell(1,maxPacketDelay+1); % cell array for data virtually received from children

if childrenLeft>0

childrenNUM = min(children,childrenLeft);

ENDING = childrenNUM;

nodesAtLevel(1) = childrenNUM;

T(1).IDchildren = N-childrenLeft+1:N-childrenLeft+childrenNUM;

childrenLeft = childrenLeft - childrenNUM;

for j=1:childrenNUM

T(j+1).IDparent = 1;

T(j+1).level = 1;

parentsArray = [parentsArray 1];

end

ID = 2;

LEVEL = 1;

if childrenLeft==0

nextLEVEL = 1;

else

nextLEVEL = 2;

nodesAtLevel = [nodesAtLevel 0];

end

while ENDING>0

ENDING = 0;

for i=1:nodesAtLevel(LEVEL)

T(ID).ID = ID;

T(ID).Name = ’node’;

T(ID).obsField = []; % observation field for current measurement

T(ID).DATA = cell(1,maxPacketDelay+1); % cell array for data virtually

% received from chuildren

if CASE==4

T(ID).x_pred = x0bar;

T(ID).x_est = [];

T(ID).P_pred = P0;

T(ID).P_est = [];

T(ID).Psi = Psi((ID-1)*numStates+1:ID*numStates,:);

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

109

Page 110: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

D Appendice: codice Matlab

end

if childrenLeft>0

childrenNUM = min(children,childrenLeft);

nodesAtLevel(LEVEL+1) = nodesAtLevel(LEVEL+1)+childrenNUM;

T(ID).IDchildren = N-childrenLeft+1:N-childrenLeft+childrenNUM;

else

childrenNUM = 0;

treeLeavesNum = treeLeavesNum+1;

T(ID).Name = ’leaf’;

T(ID).IDchildren = 0;

end

childrenLeft = childrenLeft - childrenNUM;

if childrenNUM>0

for j=1:childrenNUM

T(T(ID).IDchildren(j)).IDparent = ID;

T(T(ID).IDchildren(j)).level = LEVEL+1;

parentsArray = [parentsArray ID];

end

end

ENDING = ENDING + sum(T(ID).IDchildren);

ID = ID+1;

end

if childrenLeft>0

nextLEVEL = nextLEVEL+1;

end

nodesAtLevel = [nodesAtLevel 0];

treeHeight = LEVEL;

LEVEL = LEVEL+1;

end

end

% treeHeight

%

% % TREE PLOT

% figure

% treeplot(parentsArray,’b*’,’b-’)

% axis off

% title(’Picture of the tree’)

• read.m

function S = read(S,y,currentTime)

%READ Reads measurements

% READ(STRUCT,y) Stores the current observation y in the memory of each node of the

% structure array S and enqueues the message to send in S.DATA{1}

global CASE

for i = 1:length(S)

S(i).obsField = y(i); % stores observation in each node’s memory

msg = msgBuilder(currentTime,i,S(i).obsField); % message construction

if isempty(S(i).DATA{1})==0 % msg must have the same length of any column of S(i).DATA(j)

tmp = length(S(i).DATA{1}(:,1));

msg = [msg;zeros(tmp-length(msg),1)];

end

switch CASE

case {1,3}

S(i).DATA{1} = [S(i).DATA{1} msg]; % fusion between previous data and new message

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

110

Page 111: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

D Appendice: codice Matlab

case 4

S(i).DATA{1}(:,1) = msg;

end

end

% HYPOTHESIS: NO DATA LOSS IN THE SAME NODE

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

111

Page 112: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

D Appendice: codice Matlab

• msgBuilder.m

function [message] = msgBuilder(time,ID,observation)

%MSGBUILDER Builds the message to send from each node to the root

% msgBuilder(STRUCT,y) returns a 3x1 or a 2x1 vector with the following values:

%

% CASE 1 CASE 3 CASE 4

% /-----------\ /-----------\

% | TIMESTAMP | | TIMESTAMP | /-----------\

% |-----------| |-----------| | TIMESTAMP |

% | ID | OR | MESSAGE | OR |-----------|

% |-----------| |-----------| | MESSAGE |

% | MESSAGE | | ID | \-----------/

% \-----------/ \-----------/

global CASE C R

switch CASE

case 1

message = [time;ID;observation]; % in case 1 there is no elaboration of measurements

case 3

info = C(ID,:)’*inv(R(ID,ID))*observation’;

message = [time;info;ID];

case 4

global numStates A B Q u tree K

% Estimate

K{ID} = tree(ID).P_pred*C(ID,:)’*pinv(C(ID,:)*tree(ID).P_pred*C(ID,:)’+R(ID,ID));

tree(ID).x_est = tree(ID).x_pred + K{ID}*(observation-C(ID,:)*tree(ID).x_pred);

tree(ID).P_est = (eye(numStates)-K{ID}*C(ID,:))*tree(ID).P_pred;

% Prediction

tree(ID).x_pred = A*tree(ID).x_est + B*u(time);

tree(ID).P_pred = A*tree(ID).P_est*A’+Q;

lwe = tree(ID).Psi*tree(ID).x_est; % lwe means local weighted

% estimate, dim = numStates x 1

message = [time;lwe];

otherwise

error(’Attention! Data fusion undefined’)

end

\item \begin{normalsize}\underline{\textbf{msgBuilder.m}}\end{normalsize}

\begin{center}

\begin{verbatim}

• fusion.m

function S=fusion(S,time)

%FUSION Melts data and send them to the base station

% DATA FUSION TYPES:

% 1 - Parent-children observations aggregation

% 2 - Observations mean parent-children (not implemented!)

% 3 - Kalman filter in information form

% 4 - Chinese fusion

global CASE maxPacketDelay lambda maxGlobalDelay nodesNum seed numStates COUNTER

global dataType dataTypeID headerLength maxDataXpacket TIME_COUNTER

switch CASE

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

112

Page 113: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

D Appendice: codice Matlab

case 1

global dataArrived Gamma

for i=length(S):-1:2

% starting from the last node (hypothesis of nodes numerated in

% ascending order, root ID=1) send observations from DATA{1} to

% DATA{DELAY+1} of the parent of each node (root exculded) and

% cancel the message from the current node after trasmission

delay = rand_delay(lambda);

% byte sent counter

tmp = S(i).DATA{1}(1:2:3,:); tmp = length(tmp(:));

tmp2 = S(i).DATA{1}(2,:); tmp2 = length(tmp2(:));

dataSentNum = tmp*dataType+tmp2*dataTypeID;

COUNTER(i) = COUNTER(i) + dataSentNum + headerLength*...

ceil(dataSentNum/maxDataXpacket); % [byte]

if delay<=maxPacketDelay

S(S(i).IDparent).DATA{delay+1} = [S(S(i).IDparent).DATA{delay+1} S(i).DATA{1}];

end

S(i).DATA = S(i).DATA(2:end); % temporal DATA field shift (root excluded)

S(i).DATA = [S(i).DATA cell(1,1)];

end

dataArrived = dataArrived(:,2:end); % temporal shift tableau

dataArrived = [dataArrived,zeros(nodesNum,1)];

Gamma = Gamma(:,2:end);

Gamma = [Gamma,zeros(nodesNum,1)];

% dataArrived & Gamma buffer update

currentDataArrived = S(1).DATA{1};

for columNum = 1:length(currentDataArrived(1,:))

colIndex = maxGlobalDelay + 1 - (time - currentDataArrived(1,columNum));

rowIndex = currentDataArrived(2,columNum);

dataArrived(rowIndex,colIndex) = currentDataArrived(3,columNum);

Gamma(rowIndex,colIndex) = 1;

end

S(1).DATA = S(1).DATA(2:end); % temporal root DATA field shift

S(1).DATA = [S(1).DATA cell(1,1)];

case 3

global infoArrived Gamma noZeroCOUNTER noZeroTIME_COUNTER

for i=length(S):-1:1

delay = rand_delay(lambda);

% information fusion in each cell of the DATA field of

% each node if it is not empty

for j=1:maxPacketDelay+1

if isempty(S(i).DATA{j})==0

S(i).DATA{j} = sortrows(S(i).DATA{j}’,1); % time ordination

S(i).DATA{j} = S(i).DATA{j}’;

tempMatrix=[];

k=1;

while k<=length(S(i).DATA{j}(1,:))

mask = zeros(1,length(S(i).DATA{j}(1,:)));

mask(find(S(i).DATA{j}(1,:)==S(i).DATA{j}(1,k))) = 1;

sum_i = S(i).DATA{j}(2:numStates+1,:)*mask’;

tmp = S(i).DATA{j}(numStates+2:end,:); % determination of IDs

% that melt data

tmp = length(tmp(:,1));

mask2 = (mask’*ones(1,tmp))’;

ins_ID = S(i).DATA{j}(numStates+2:end,:).*mask2;

ins_ID = ins_ID(:);

ins_ID = ins_ID(find(ins_ID~=0));

conc = [S(i).DATA{j}(1,k);sum_i;ins_ID];

% concatenation with same number of rows

if isempty(tempMatrix)==0

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

113

Page 114: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

D Appendice: codice Matlab

tempMatrix = [[tempMatrix;zeros(length(conc(:,1))-...

length(tempMatrix(:,1)),length(tempMatrix(1,:)))],...

[conc;zeros(length(tempMatrix(:,1))-length(conc(:,1)),...

length(conc(1,:)))]];

else

tempMatrix = [tempMatrix conc];

end

k = k+length(find(S(i).DATA{j}(1,:)==S(i).DATA{j}(1,k)));

end

S(i).DATA{j} = tempMatrix;

end

end

% TX to the parent

if i>1

% byte sent counter

tmp = S(i).DATA{1}(1:numStates+1,:); tmp = length(tmp(:));

tmp2 = find(S(i).DATA{1}(numStates+2:end,:)~=0); tmp2 = length(tmp2(:));

dataSentNum = tmp*dataType+tmp2*dataTypeID;

COUNTER(i) = COUNTER(i) + dataSentNum + ...

headerLength*ceil(dataSentNum/maxDataXpacket); % [byte]

% byte sent different from zeros counter

tmp = find(S(i).DATA{1}(1:numStates+1,:)~=0); tmp = length(tmp(:));

tmp2 = find(S(i).DATA{1}(numStates+2:end,:)~=0); tmp2 = length(tmp2(:));

dataSentNum = tmp*dataType+tmp2*dataTypeID;

noZeroCOUNTER(i) = noZeroCOUNTER(i) + dataSentNum + ...

headerLength*ceil(dataType*dataSentNum/maxDataXpacket); % [byte]

noZeroTIME_COUNTER(time) = sum(noZeroCOUNTER);

if delay<=maxPacketDelay

if isempty(S(i).DATA{1})==0 & isempty(S(S(i).IDparent).DATA{delay+1})==0

% to have same number of rows

if length(S(S(i).IDparent).DATA{delay+1}(:,1))>length(S(i).DATA{1}(:,1))

tmp = length(S(S(i).IDparent).DATA{delay+1}(:,1));

S(i).DATA{1} = [S(i).DATA{1};zeros(tmp-length(S(i).DATA{1}(:,1)),...

length(S(i).DATA{1}(1,:)))];

elseif length(S(S(i).IDparent).DATA{delay+1}(:,1))<length(S(i).DATA{1}(:,1))

tmp = length(S(i).DATA{1}(:,1));

S(S(i).IDparent).DATA{delay+1} = [S(S(i).IDparent).DATA{delay+1};...

zeros(tmp-length(S(S(i).IDparent).DATA{delay+1}(:,1)),...

length(S(S(i).IDparent).DATA{delay+1}(1,:)))];

end

end

S(S(i).IDparent).DATA{delay+1} = [S(S(i).IDparent).DATA{delay+1} S(i).DATA{1}];

end

S(i).DATA = S(i).DATA(2:end); % temporal DATA field shift (root excluded)

S(i).DATA = [S(i).DATA cell(1,1)];

end

end

infoArrived = infoArrived(:,2:end); % temporal shift tableau

infoArrived = [infoArrived,zeros(numStates,1)];

Gamma = Gamma(:,2:end);

Gamma = [Gamma,zeros(nodesNum,1)];

% dataArrived & Gamma buffer update

currentInfoArrived = S(1).DATA{1};

for columNum = 1:length(currentInfoArrived(1,:))

colIndex = maxGlobalDelay + 1 - (time - currentInfoArrived(1,columNum));

infoArrived(:,colIndex) = infoArrived(:,colIndex) +...

currentInfoArrived(2:numStates+1,columNum);

rows = currentInfoArrived(numStates+1+...

find(currentInfoArrived(numStates+2:end,columNum)>0),columNum);

Gamma(rows,colIndex) = 1;

end

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

114

Page 115: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

D Appendice: codice Matlab

S(1).DATA = S(1).DATA(2:end); % temporal root DATA field shift

S(1).DATA = [S(1).DATA cell(1,1)];

case 4

global A X_EST

for i=length(S):-1:1

delay = rand_delay(lambda);

localEstimate(1,1) = time;

localEstimate(2:numStates+1,1) = zeros(numStates,1);

for m=1:length(S(i).DATA{1}(1,:))

localEstimate(2:numStates+1,1) = localEstimate(2:numStates+1,1) +...

S(i).DATA{1}(2:numStates+1,m);

end

% TX to the parent

if i>1

% byte sent counter

dataSentNum = length(localEstimate)*dataType;

COUNTER(i) = COUNTER(i) + dataSentNum + headerLength*...

ceil(dataSentNum/maxDataXpacket); % [byte]

if delay<=maxPacketDelay

colIndex = find(S(S(i).IDparent).IDchildren==i)+1;

S(S(i).IDparent).DATA{delay+1}(:,colIndex) = localEstimate;

end

S(i).DATA = S(i).DATA(2:end); % temporal DATA field shift (root excluded)

S(i).DATA = [S(i).DATA cell(1,1)];

% if the estimate of the children is in late or has been lost

% the parent keeps the previous estimate for each child

if delay>0

colIndex = find(S(S(i).IDparent).IDchildren==i)+1;

S(S(i).IDparent).DATA{1}(:,colIndex) = localEstimate;

end

end

end

X_EST(:,time) = localEstimate(2:numStates+1,1);

S(1).DATA = S(1).DATA(2:end); % temporal root DATA field shift

S(1).DATA = [S(1).DATA cell(1,1)];

otherwise

error(’Attention! Data fusion undefined’)

end

TIME_COUNTER(time) = sum(COUNTER);

• globalEstimate.m

switch CASE

case 1 % Aggregation without fusion

if k <= maxGlobalDelay+1 % Buffer is not full

% Set initial conditions

P_pred = P0; % P(1|0) = P0

x_pred = zeros(numStates,1); % x(1|0) = x0bar

for j = k-1:-1:0

% Replace row i with zeros in C if information of node i has not been received

for i=1:nodesNum

C_tmp(i,:) = Gamma(i,maxGlobalDelay+1-j)*C(i,:);

end

% Replace row and column i with zeros in R if information of node i

% has not been received

for i=1:nodesNum

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

115

Page 116: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

D Appendice: codice Matlab

for h=1:nodesNum

R_tmp(i,h) = Gamma(i,maxGlobalDelay+1-j)*Gamma(h,maxGlobalDelay+1-j)*R(i,h);

end

end

% Estimate

K = P_pred*C_tmp’*pinv(C_tmp*P_pred*C_tmp’+R_tmp);

x_est = x_pred + K*[dataArrived(:,maxGlobalDelay+1-j)-C_tmp*x_pred];

P_est = (eye(numStates)-K*C_tmp)*P_pred;

% Prediction

x_pred = A*x_est + B*u(k-j);

P_pred = A*P_est*A’+Q;

if k == maxGlobalDelay+1 && j == k-1

% These will be initial condition next time step

x0_new = x_pred;

P0_new = P_pred;

end

end

% Saving x(k|k) and tr(P(k|k))

X_EST(:,k) = x_est;

TR_P_EST(k) = trace(P_est);

else % Buffer already full for t>N

% Set initial conditions

P_pred = P0_new;

x_pred = x0_new;

for j = maxGlobalDelay:-1:0

% Replace row i with zeros in C if information of node i has not been recieved

for i=1:nodesNum

C_tmp(i,:) = Gamma(i,maxGlobalDelay+1-j)*C(i,:);

end

% Replace row and column i with zeros in R if information of node i

% has not been recieved

for i=1:nodesNum

for h=1:nodesNum

R_tmp(i,h) = Gamma(i,maxGlobalDelay+1-j)*Gamma(h,maxGlobalDelay+1-j)*R(i,h);

end

end

% Estimate

K = P_pred*C_tmp’*pinv(C_tmp*P_pred*C_tmp’+R_tmp);

x_est = x_pred + K*[dataArrived(:,maxGlobalDelay+1-j)-C_tmp*x_pred];

P_est = (eye(numStates)-K*C_tmp)*P_pred;

% Prediction

x_pred = A*x_est + B*u(k-j);

P_pred = A*P_est*A’+Q;

if j == maxGlobalDelay

% These will be initial condition next time step

x0_new = x_pred;

P0_new = P_pred;

end

end

% Saving x(k|k) and tr(P(k|k))

X_EST(:,k) = x_est;

TR_P_EST(k) = trace(P_est);

end

case 3

if k <= maxGlobalDelay+1 % Buffer is not full

% Set initial conditions

P_pred = P0; % P(1|0) = P0

x_pred = zeros(numStates,1); % x(1|0) = x0bar

P_pred_inv = pinv(P0);

z_pred = P_pred_inv*x_pred; % z(1|0) = P0^{-1}*x0bar

for j = k-1:-1:0

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

116

Page 117: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

D Appendice: codice Matlab

% Replace row i with zeros in C if information of node i has not been received

for i=1:nodesNum

C_tmp(i,:) = Gamma(i,maxGlobalDelay+1-j)*C(i,:);

end

% Replace row and column i with zeros in R if information of node i

% has not been received

for i=1:nodesNum

for h=1:nodesNum

R_tmp(i,h) = Gamma(i,maxGlobalDelay+1-j)*Gamma(h,maxGlobalDelay+1-j)*R(i,h);

end

end

% Estimate

z_est = z_pred + infoArrived(:,maxGlobalDelay+1-j);

P_est_inv = P_pred_inv + C_tmp’*pinv(R_tmp)*C_tmp;

% Prediction

P_est = pinv(P_est_inv);

P_pred = A*P_est*A’+Q;

P_pred_inv = pinv(P_pred);

z_pred = P_pred_inv*[A*P_est*z_est + B*u(k-j)];

if k == maxGlobalDelay+1 && j == k-1

% These will be initial condition next time step

z0_new = z_pred;

P0_inv_new = P_pred_inv;

end

end

% Saving x(k|k) and tr(P(k|k))

X_EST(:,k) = P_est*z_est;

TR_P_EST(k) = trace(P_est);

else % Buffer already full for t>N

% Set initial conditions

P_pred_inv = P0_inv_new;

z_pred = z0_new;

for j = maxGlobalDelay:-1:0

% Replace row i with zeros in C if information of node i has not been recieved

for i=1:nodesNum

C_tmp(i,:) = Gamma(i,maxGlobalDelay+1-j)*C(i,:);

end

% Replace row and column i with zeros in R if information of node i

% has not been recieved

for i=1:nodesNum

for h=1:nodesNum

R_tmp(i,h) = Gamma(i,maxGlobalDelay+1-j)*Gamma(h,maxGlobalDelay+1-j)*R(i,h);

end

end

% Estimate

z_est = z_pred + infoArrived(:,maxGlobalDelay+1-j);

P_est_inv = P_pred_inv + C_tmp’*pinv(R_tmp)*C_tmp;

% Prediction

P_est = pinv(P_est_inv);

P_pred = A*P_est*A’+Q;

P_pred_inv = pinv(P_pred);

z_pred = P_pred_inv*[A*P_est*z_est + B*u(k-j)];

if j == maxGlobalDelay

% These will be initial condition next time step

z0_new = z_pred;

P0_inv_new = P_pred_inv;

end

end

% Saving x(k|k) and tr(P(k|k))

X_EST(:,k) = P_est*z_est;

TR_P_EST(k) = trace(P_est);

end

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

117

Page 118: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

D Appendice: codice Matlab

case 4

% The global estimate in this case has already been done in the root

otherwise

error(’Attention! Data fusion undefined’)

end

• rand delay.m (usata durante il corso)

function tau = rand_delay(lambda)

% funzione che calcola il ritardo di un pacchetto data la funzione di

% probabilita lambda

% lambda e’ un vettore di elementi dove lambda(k)=\lambda_{k-1} secondo la

% terminologia usata a lezione

list = find(lambda>=rand);

if isempty(list)

tau = inf;

else

tau = list(1)-1;

end

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

118

Page 119: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

INDICE

Indice

1 Introduzione 3

2 Stato dell’arte 3

3 Definizione del problema 5

4 Organizzazione dell’articolo 7

5 Metodo I: approccio aggregativo 85.1 In assenza di ritardi di comunicazione e perdite di pacchetto . . . . . 85.2 In presenza di ritardi di comunicazione e perdite di pacchetto . . . . 10

5.2.1 Aggregazione nel nodo generico . . . . . . . . . . . . . . . . . 105.2.2 Computo della stima nell’unita centrale . . . . . . . . . . . . . 11

5.3 I limiti dell’approccio aggregativo . . . . . . . . . . . . . . . . . . . . 16

6 Metodo II: media pesata delle misure 176.1 In assenza di ritardi di comunicazione e perdite di pacchetto . . . . . 176.2 In presenza di ritardi di comunicazione e perdite di pacchetto . . . . 18

6.2.1 Aggregazione nel nodo generico . . . . . . . . . . . . . . . . . 186.2.2 Computo della stima nell’unita centrale . . . . . . . . . . . . . 19

6.3 I limiti del metodo II . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

7 Metodo III: il filtro di Kalman in forma di informazione 217.1 In assenza di ritardi di comunicazione e perdite di pacchetto . . . . . 217.2 In presenza di ritardi di comunicazione e perdite di pacchetto . . . . 23

8 Metodo IV: fusione lineare di stime locali dello stato 278.1 Formulazione del problema e ipotesi . . . . . . . . . . . . . . . . . . . 288.2 Difficolta generali nella ricostruzione della stima di Kalman come

combinazione lineare di stime locali . . . . . . . . . . . . . . . . . . . 298.3 Filtri di Kalman locali: covarianze Pij(t|t) . . . . . . . . . . . . . . . 32

8.3.1 Per i = j, Pij(t|t) ricade nell’equazione standard del filtro diKalman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

8.4 Fusion lineare “ottima” delle stime locali . . . . . . . . . . . . . . . . 398.4.1 Un’interpretazione del metodo di fusione in oggetto . . . . . . 448.4.2 Il caso di rumori incorrelati e alcune considerazioni sulla de-

centralizzazione del filtro di Kalman . . . . . . . . . . . . . . . 458.4.3 Alcune simulazioni . . . . . . . . . . . . . . . . . . . . . . . . 468.4.4 Possibili problemi numerici . . . . . . . . . . . . . . . . . . . . 54

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

119

Page 120: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

INDICE

8.5 Successione delle Pij: convergenza (eventuale) a regime . . . . . . . . 558.5.1 Convergenza dei coefficienti: considerazioni intuitive . . . . . . 56

8.6 Reti ad albero: applicazione del filtro distribuito . . . . . . . . . . . . 598.6.1 Approccio con fusion locale . . . . . . . . . . . . . . . . . . . 598.6.2 Approccio senza fusion locale . . . . . . . . . . . . . . . . . . 63

8.7 Gestione delle perdite di pacchetto . . . . . . . . . . . . . . . . . . . 648.7.1 Un primo approccio . . . . . . . . . . . . . . . . . . . . . . . . 658.7.2 Impraticabilita del primo approccio per alberi con piu di due

livelli: parte 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 688.7.3 Impraticabilita del primo approccio per alberi con piu di due

livelli: parte 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 698.7.4 Un secondo approccio: filtro di Kalman ausiliario . . . . . . . 70

8.8 Gestione di ritardi superiori al passo di campionamento . . . . . . . . 80

9 Implementazione del simulatore in Matlab 82

10 Analisi, confronti e conclusioni 8310.1 Analisi delle prestazioni del metodo I . . . . . . . . . . . . . . . . . . 8510.2 Analisi delle prestazioni del metodo III . . . . . . . . . . . . . . . . . 88

10.2.1 In assenza di ritardi di comunicazione e perdite di pacchetto . 8810.2.2 In presenza di ritardi di comunicazione e perdite di pacchetto 90

10.3 Analisi delle prestazioni del metodo IV . . . . . . . . . . . . . . . . . 9210.4 Conclusioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

A Ulteriori considerazioni sul problema della ricostruzione della stimadi Kalman da stime locali 98

B Un algoritmo di fusione proposto in letteratura e confutato 100

C Applicazione ai processi aleatori della teoria degli spazi vettoriali:brevi richiami 101

D Appendice: codice Matlab 103

Indice 119

Bibliografia 121

Riferimenti bibliografici 121

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

120

Page 121: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

RIFERIMENTI BIBLIOGRAFICI

Riferimenti bibliografici

[1] Anderson, B.D.O. & Moore, J.B. (1979). Optimal filtering. Englewood Cliffs,NJ: Prentice-Hall.

[2] Bar-Shalom, Y. (1981) On the track-to-track correlation problem. IEEETransactions on Automatic Control, AC-26 (2), (Apr.1981), 571-572.

[3] Bar-Shalom, Y. (1986) The effect of the common process noise on the two-sensor fused-track covariance. IEEE Transactions on Aerospace and ElectronicSystems, AES-22 (6) (Dec. 1986), 803-805.

[4] Carlson, N.A. (1990). Federated square root filter for decentralized parallelprocesses. IEEE Transaction on Aerospace and Electronic Systems, 26 (3), 517-525.

[5] Chang, K.-C., Saha, R.K. (1998). Performance evaluation of track fusion withinformation filter IEEE Transaction on Aerospace and Electronic Systems, 455-462.

[6] Chang, K.-C. et al. (1997). On optimal track-to-track fusion. IEEE Transactionon Aerospace and Electronic Systems, 33 (4), 1271-1274.

[7] Deng, Z.L. & Qi, R.B. (2000). Multi-sensor information fusion suboptimalsteady-state Kalman filter. Chinese Science Abstracts, 6 (2), 183,184.

[8] Deng, Z.-L., Gao, Y., Mao, L., Li, Y., and Hao, G. (2005). New approach toinformation fusion steady-state Kalman filtering. Automatica, 41, 1695-1707.

[9] H. Durrant-Whyte, M. Stevens, Data Fusion in Decentralized Sensing Networks,4th International Conference on Information Fusion, 2001

[10] Durrant-Whyte, H. & Stevens, M. (2006). Data fusion in decentralised sensingnetworks. http://www.acfr.usyd.edu.au.

[11] E. Fasolo, M.Rossi, J.Widmer, M. Zorzi, In-network Aggregation Tecniques forWireless Sensor Networks: A Survey, 2007

[12] Q. Gan, C.J. Harris, Comparison of Two Measurement Fusion Methodsfor Kalman-Filter-Based Multisensor Data Fusion, IEEE Transactions onAerospace and Electronic Systems, 2001

[13] Hashmipour, H.R. & Roy, S. & Laub, A.J. (1988). Decentralized structures forparallel Kalman filtering. IEEE Transaction on Automatic Control, AC-33 (1),88-93.

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

121

Page 122: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

RIFERIMENTI BIBLIOGRAFICI

[14] W.H. Heinzelman, A. Chadraksan, H. Balakrishnan, Energy Efficient Commu-nication Protocol for Wireless Microsensor Networks, Proceedings of the 33rdAnnual Hawaii Intrnational Conference on System Sciences, 2000.

[15] Kerr T.H. (1987). Decentralized filtering and redundancy management.IEEETransaction on Aerospace and Electronic Systems, 23 (6),83-119.

[16] Kim, K.H. (1994). Development of track to track fusion algorithm. Proceedingof the American control conference, Maryland, June (pp. 1037-1041). 517-525.

[17] D. Petrovic, R.C. Shah, K. Ramchandran, J. Rabaey, Data Funneling: Routingwith Aggregation and Compression for Wireless Sensor Networks, IEEE, 2003

[18] G. Picci, Filtraggio statistico (Wiener, Levinson, Kalman) e applicazioni,Edizioni Progetto Padova.

[19] Qiang, G. & Harris, C.J. (2001). Comparison of two measurement methods forKalman-filter-based multisensor data fusion. IEEE Transaction on Aerospaceand Electronic Systems, 37 (1), 273-280.

[20] Roy, S. & Iltis, R.A. (1991). Decentralized linear estimation in correlated mea-surement noise. IEEE Transaction on Aerospace and Electronic Systems, 27 (6),939-941.

[21] Saha, R.K. (1996). Track to track fusion with dissimilar sensors. IEEETransaction on Aerospace and Electronic Systems, 32 (3), 1021-1029.

[22] Saha, R.K. (1998). An efficient algorithm for multisensor track fusion. IEEETransaction on Aerospace and Electronic Systems, 34 (1), 200-210.

[23] Saha, R.K. (1996). Effect of common process noise on two-sensor track fusion.Journal of Guidance, Control, and Dynamics, vol.19 n.4, 829-835.

[24] L. Schenato, Optimal estimation in networked control systems subject to randomdelay and packet drop, www.dei.unipd.it/∼schenato, 2007

[25] Sinopoli, B., Schenato, L., Franceschetti, M., Poolla, K., Jordan, K., and Sastry,S. (2004) Kalman filtering with intermittent observations. IEEE transactionson automatic control, 49 (9), 1453-1464.

[26] Sun, S.-L. & Deng, Z.-L. (2004). Multi-sensor optimal information fusionKalman filter. Automatica, 40, 1017-1023.

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

122

Page 123: Aggregazione e fusione di dati per la gestione energetica in reti di ...schenato/PSC07/RelazionePSC07_SensorFusion.pdf · La maggior parte delle tecniche di fusione di dati in reti

RIFERIMENTI BIBLIOGRAFICI

[27] D. Willner, C.B. Chang, K.P. Dunn, Kalman filter algorithms for a multi-sensor system, Conference on Decision and Control and Symposium on Adap-tive Processes, 15th, Clearwater, Fla ; United States; 1-3 Dec. 1976. pp. 570-574.1976

[28] Wilner, D., Chang, C. B., and Dunn, K. P. (1976) Kalman filter algorithms fora multisensor system. In Proceedings of the IEEE Conference on Decision andControl, Dec. 1976, 570-574.

[29] N. Xiong, P. Svensson, Multi-sensor managment for information fusion: issuesand approaches, Information Fusion 3 (2002), pagg. 163-186

[30] Xu, N.S. (2001). Stochastic signal estimation and system control. Beijing:Beijing Industry University Press.

Agnoli, D’Errico, Pegoraro:Aggregazione e fusione di dati per la gestione energetica in WSN in applicazioni di stima

123