Chalmers Publication...

11
Chalmers Publication Library Hybrid Cooperative Positioning based on Distributed Belief Propagation This document has been downloaded from Chalmers Publication Library (CPL). It is the author´s version of a work that was accepted for publication in: IEEE Journal on Selected Areas in Communications (ISSN: 0733-8716) Citation for the published paper: Caceres, M. ; Penna, F. ; Wymeersch, H. (2011) "Hybrid Cooperative Positioning based on Distributed Belief Propagation". IEEE Journal on Selected Areas in Communications, vol. 29(10), pp. 1948-1958. http://dx.doi.org/10.1109/JSAC.2011.111205 Downloaded from: http://publications.lib.chalmers.se/publication/151952 Notice: Changes introduced as a result of publishing processes such as copy-editing and formatting may not be reflected in this document. For a definitive version of this work, please refer to the published source. Please note that access to the published version might require a subscription. Chalmers Publication Library (CPL) offers the possibility of retrieving research publications produced at Chalmers University of Technology. It covers all types of publications: articles, dissertations, licentiate theses, masters theses, conference papers, reports etc. Since 2006 it is the official tool for Chalmers official publication statistics. To ensure that Chalmers research results are disseminated as widely as possible, an Open Access Policy has been adopted. The CPL service is administrated and maintained by Chalmers Library. (article starts on next page)

Transcript of Chalmers Publication...

Page 1: Chalmers Publication Librarypublications.lib.chalmers.se/records/fulltext/151952/local_151952.pdfogy, Gothenburg, Sweden. E-mail: {mauricio.caceresduran, federico.penna, roberto.garello}@polito.it,

Chalmers Publication Library

Hybrid Cooperative Positioning based on Distributed Belief Propagation

This document has been downloaded from Chalmers Publication Library (CPL). It is the author´s

version of a work that was accepted for publication in:

IEEE Journal on Selected Areas in Communications (ISSN: 0733-8716)

Citation for the published paper:Caceres, M. ; Penna, F. ; Wymeersch, H. (2011) "Hybrid Cooperative Positioning based onDistributed Belief Propagation". IEEE Journal on Selected Areas in Communications, vol.29(10), pp. 1948-1958.

http://dx.doi.org/10.1109/JSAC.2011.111205

Downloaded from: http://publications.lib.chalmers.se/publication/151952

Notice: Changes introduced as a result of publishing processes such as copy-editing and

formatting may not be reflected in this document. For a definitive version of this work, please refer

to the published source. Please note that access to the published version might require a

subscription.

Chalmers Publication Library (CPL) offers the possibility of retrieving research publications produced at ChalmersUniversity of Technology. It covers all types of publications: articles, dissertations, licentiate theses, masters theses,conference papers, reports etc. Since 2006 it is the official tool for Chalmers official publication statistics. To ensure thatChalmers research results are disseminated as widely as possible, an Open Access Policy has been adopted.The CPL service is administrated and maintained by Chalmers Library.

(article starts on next page)

Page 2: Chalmers Publication Librarypublications.lib.chalmers.se/records/fulltext/151952/local_151952.pdfogy, Gothenburg, Sweden. E-mail: {mauricio.caceresduran, federico.penna, roberto.garello}@polito.it,

1

Hybrid Cooperative Positioning based onDistributed Belief Propagation

Mauricio A. Caceres, Student Member, IEEE, Federico Penna, Student Member, IEEE,Henk Wymeersch, Member, IEEE, Roberto Garello, Senior Member, IEEE

Abstract—We propose a novel cooperative positioning al-gorithm that fuses information from satellites and terrestrialwireless systems, suitable for GPS-challenged scenarios. Thealgorithm is fully distributed over an unstructured network, doesnot require a fusion center, does not rely on fixed terrestrialinfrastructure, and is thus suitable for ad-hoc deployment. Theproposed message passing algorithm, named hybrid sum-productalgorithm over a wireless network (H-SPAWN), is described andanalyzed. A novel parametric message representation is intro-duced, to reduce computational and communication overhead.Through simulation, we show that H-SPAWN improves position-ing availability and accuracy, and outperforms hybrid positioningalgorithms based on conventional estimation techniques.

Index Terms—localization, GNSS, cooperative positioning, be-lief propagation, distributed signal processing

I. INTRODUCTION

The global positioning system (GPS), developed in 1973 bythe U.S. Department of Defense, has provided military supportsince the first Gulf war in a variety of scenarios, includingsoldier navigation, target tracking, reconnaissance, and missileguidance [1]. To cope with this problem, odometers andinertial sensors can be used to track the receiver positionvia dead reckoning when global navigation satellite systems(GNSS) is unavailable [3]. The main problem with deadreckoning is the error drift over time, so that the sensorsare reliable for only very short periods of time. This makesthem unsuitable for most military operations. Alternatively,the use of hybrid positioning has been proposed [4], wherethe receiver relies on terrestrial radio frequency (RF) signals,such as GSM/UMTS, DVB, and WiFi, in order to extractposition-related measurements (e.g., signal strength, time offlight, or Doppler shift). However, such systems of opportunityrely on the presence of fixed terrestrial infrastructure, whichis typically not available in hostile territory. To reduce thereliance on fixed infrastructure, peer-to-peer (P2P) cooperativemethods have been proposed in [5]–[7], especially in the con-text of indoor wireless ad-hoc and sensor networks. Typically,GNSS data is not exploited by devices, thus these methods stillrequire a limited local infrastructure to provide a geographicalreference.

M.A. Caceres, F. Penna, and R. Garello are with Politecnico diTorino, Italy. H. Wymeersch is with Chalmers University of Technol-ogy, Gothenburg, Sweden. E-mail: {mauricio.caceresduran, federico.penna,roberto.garello}@polito.it, [email protected]. This work was funded by theEuropean Space Agency (ESA) project “Peer to Peer Positioning” (contractnumber 286/09/NL/AT). Part of this work was presented at the IEEE GlobalCommunications Conference, 2010 [8].

In order to provide reliable, GNSS-like navigation per-formance in hostile, GNSS-challenged environments withoutany fixed infrastructure, there is an urgent need to developnovel methods that can harness both the cooperative nature ofthe network as well as any available GNSS information. Toaddress this need, we have introduced the concept of hybridcooperative positioning [8], where a set of agents collaborateby sharing and fusing information coming from both GNSSand peers. Every agent is assumed to be equipped with a mul-tifunction receiver comprising (i) a GNSS receiver; (ii) an RFsystem for short/medium distance peer-to-peer ranging (e.g.,ultra wide-band (UWB) or WiFi); and (iii) a communicationsystem (which may coincide with the ranging system). Wewill show how agents can help each-other in navigation byfusing information from GNSS and peers, in order to increasepositioning availability for GNSS-denied agents and increasepositioning accuracy for GNSS-challenged agents.

In this paper, we propose H-SPAWN, a fully distributedhybrid cooperative positioning algorithm, based on local ex-change of messages between pairs of neighboring nodes.H-SPAWN is based on the sum-product algorithm (SPA) over afactor graph (FG) [9], and builds on the works from [6], [10]–[12] on RF-only non-cooperative positioning, and from [7],[13] on RF-only cooperative positioning. The main novelty ofthe proposed algorithm is to include GNSS information. Theinclusion of GNSS adds a new dimension to the positioningproblem, since the clock biases with respect to satellite clocksmust be taken into account along with nodes’ positions. Weshow that H-SPAWN is superior than conventional methodsbased on least-squares positioning [14] and Kalman filtering[4]. Our main contributions are as follows:

• Development of a mathematical framework for hybridcooperative positioning, including a mapping between thenetwork and a FG;

• Derivation of a distributed positioning algorithm(H-SPAWN), based on the SPA on the previouslydefined FG model;

• Introduction of an efficient parametric message represen-tation to reduce computational complexity and commu-nication overhead.

The paper is organized as follows: in Sec. II we formulatethe problem and our assumptions. In Sec. III we derive the FGmodel. We then describe H-SPAWN in Sec. IV, and in Sec. Vwe evaluate its performance via simulation results. Concludingremarks are given in Sec. VI.

Page 3: Chalmers Publication Librarypublications.lib.chalmers.se/records/fulltext/151952/local_151952.pdfogy, Gothenburg, Sweden. E-mail: {mauricio.caceresduran, federico.penna, roberto.garello}@polito.it,

2

II. MATHEMATICAL FORMULATION

Consider a network composed by a set of agents M ofcardinality M and a set of satellites S of cardinality S.Time is slotted t0, t1, . . . , tk and will be simply denoted bythe discrete time index k. Referring to a particular agentm ∈ M, denote by M(k)

m the neighbors, i.e., the subset ofpeers agent m can communicate with at time k, and by S(k)m

the subset of satellites it can see. Position variables are denotedby p(k)i = [x

(k)i y

(k)i z

(k)i ]T, where x, y, z are earth-centered,

earth-fixed (ECEF) coordinates of agent/satellite i, and thesuperscript T denotes transpose. The clock bias of node m

is denoted by δ(k)m and can be converted into distance units

through the relation b(k)m = c · δ(k)m , where c is the speed of

light. We thus define the state of node m as

x(k)m ,

[p(k)m

Tb(k)m

]T. (1)

In the considered hybrid scenario, two types of measure-ments are performed by nodes:(i) Pseudoranges: estimated distances from satellites

ρ(k)s→m = ‖p(k)s − p(k)m ‖+ b(k)m + v(k)s→m, (2)

(ii) Ranges: estimated distances between peers

r(k)n→m = ‖p(k)n − p(k)m ‖+ v(k)n→m, (3)

where the symbol ‖·‖ denotes Euclidean distance, m,n ∈M,s ∈ S , v(k)s→m and v

(k)n→m are additive white Gaussian noise

(AWGN) variables.Notice that pseudorange measurements are affected by the

additional unknown b(k)m , that is one of the variables to be

estimated.1 We introduce the following set notation to grouptogether different nodes’ variables: x(k)

M , {x(k)m |∀m ∈ M};

ρ(k)m , {ρ(k)s→m|∀s ∈ S(k)m }; �(k)M , {ρ(k)m |∀m ∈ M}; r(k)m ,{r(k)n→m|∀n ∈M(k)

m }; r(k)M , {r(k)m |∀m ∈M}.The localization problem can be formulated as follows: ev-

ery agent m needs to determine its a posteriori distribution ofx(k)m , at each time slot k, given all the available measurements:

p(x(k)m

∣∣∣�(1:k)M , r(1:k)M

), ∀m ∈M, (4)

where the superscript (1 : k) denotes all variables from timestep 1 to k, e.g. r(1:k)M , {r(1)M , . . . , r

(k)M }.

We will make the following assumptions, which are reason-able approximations in many practical scenarios.A1: Mobility is modeled as a Markov process, mutually

independent for every node:2

p(x(k)M

∣∣∣x(k−1)M , · · · ,x(0)

M

)=∏m∈M

p(x(k)m

∣∣∣x(k−1)m

). (5)

1Peer-to-peer range measurements can be performed by methods thatavoid synchronization, like round-trip-time [15] or received signal strengthmeasurements [16].

2It is assumed that each node has some internal information about itsown mobility model, expressed by a p.d.f. p

(x(k)m

∣∣∣x(k−1)m

). However, this

distribution may differ from the true mobility statistics, which depend on theusers in the network. See for example simulations in Sec. V-B.

A2: Measurement likelihood depends only on the currentstate and can be split into two factors, since range andpseudorange measurements are independent:

p(

�(k)M , r(k)M

∣∣∣x(0:k)M

)= p

(�(k)M

∣∣∣x(k)M

)p(r(k)M

∣∣∣x(k)M

). (6)

A3: Pseudorange measurement noise samples are independentwith variance known by each node:

v(k)s→m ∼ N(0, σ2

s→m). (7)

A4: Range measurement noise samples are independent, withsymmetric link variance and known by both nodes:

v(k)m→n, v(k)n→m ∼ N

(0, σ2

m→n). (8)

III. BAYESIAN INFERENCE ON FACTOR GRAPH

The goal of a Bayesian positioning approach is to determinethe marginals (4) recursively at each time slot k. We assumeto be given a prior distribution p(x(0)

m ), ∀m ∈M, which maybe uniform if no a priori information is available. Marginalsare given by

p(x(k)m

∣∣∣�(1:k)M , r(1:k)M

)=

∫p(x(k−1:k)M

∣∣∣�(1:k)M , r(1:k)M

)∂x

(k−1:k)M\m ,

(9)

where the subscript M\m denotes all variables in x(k−1:k)M

except x(k)m . By A1-A4, the joint a posteriori distribution

becomes

p(x(k−1:k)M

∣∣∣�(1:k)M , r(1:k)M

)= p

(�(k)M

∣∣∣x(k)M

)p(r(k)M

∣∣∣x(k)M

)×∏

m∈Mp(x(k)m

∣∣∣x(k−1)m

)p(x(k−1)m

∣∣∣�(1:k−1)M , r(1:k−1)M

).

(10)

The first two factors represent the likelihood of range andpseudorange measurements, respectively, while the subsequentfactors account for temporal evolution of each node’s statevariable according to a given mobility model. The last factorin (10) is the a posteriori distribution of agent m at theprevious time slot. Hence, the a posteriori distributions canbe computed recursively. Written in this form, the aboveprobability function can be mapped on a FG, which allowsto compute efficiently the marginals (4) by applying the SPA[9]. A FG is a probabilistic graphical model that representsstatistical dependencies among variables, and is used to per-form Bayesian inference. Due to GNSS bias, there are twooptions to construct the FG: (a) considering position and biasvariables jointly, or (b) treating them separately. Both optionsare next analyzed and discussed.

A. Joint Position-Bias Model

Given as input p(x(k−1)m |�(1:k−1)M , r

(1:k−1)M ) ∀m, i.e., the

result of inference process at the previous time slot, theremaining part of (10) can be decomposed as

M∏m=1

fm (x(k)m , x(k−1)

m

)∏s∈Sm

gs,m(x(k)

m

) ∏n∈Mmn<m

hn,m

(x(k)

m , x(k)n

),(11)

Page 4: Chalmers Publication Librarypublications.lib.chalmers.se/records/fulltext/151952/local_151952.pdfogy, Gothenburg, Sweden. E-mail: {mauricio.caceresduran, federico.penna, roberto.garello}@polito.it,

3

(t− 1)

(t)

x1

f1

x1

g11· · ·

gS11

h12

x2

f2

x2

g12· · ·

gS22

· · ·

h2M

xM

fM

xM

g1M· · ·

gSMM

1(a) FG for the joint position-bias model.

(t− 1)

(t)

p1 b1

fp1 fb1

p1 b1

g11· · ·

gS11

p2 b2

fp2 fb2

p2 b2

g12· · ·

gS22

h12

· · ·

pM bM

fpM fbM

pM bM

g1M· · ·

gSMM

h2M1

(b) FG for the separate position bias model.

Figure 1. Factor graphs for hybrid cooperative positioning, where f represents the mobility model, g the pseudorange likelihood, and h the peer-to-peermeasurement likelihood. Dashed boxes represent physical nodes, i.e., messages inside a box are computed internally by a node. On the other hand, factorsconnected to pairs of nodes imply packet exchanges.

where• fm(x

(k)m , x

(k−1)m ) ≡ p(x(k)

m |x(k−1)m ) represents mobility.

• gs,m(x(k)m ) ≡ p(ρs→m|x(k)

m ) represents the pseudorangemeasurement likelihood given the state of node m. Notethat positions of the satellites do not appear as variables,since they are known exactly by nodes.3

• hn,m(x(k)m , x

(k)n ) ≡ p(rn→m|x(k)

m , x(k)n ) represents the

peer-to-peer range measurement likelihood given the po-sitions of nodes m and n.

The resulting FG is depicted in Fig. 1a, where the verticeson top receive messages p(x(k−1)

m |�(1:k−1)M , r(1:k−1)M ) as inputs

from the previous time slot.Factors corresponding to the same node in the physical

network are grouped into dashed boxes. Therefore, we haveestablished a connection between vertices of the FG, i.e., vari-

3Satellite positions are computed through the ephemeris (i.e., orbital infor-mation) that is part of every message sent by GPS satellites.

1

2

3

Sat. 2

Sat. 1

Sat. 3

Sat. 4

g11 g43

g21g22 g32

g34

x̃1

x̃2

x̃3

h13

h12 h23

Figure 2. Example of GNSS-cooperative network and corresponding factorgraph (joint position-bias variable representation).

ables to be estimated, and nodes in the network, i.e., devicesthat perform computations and send messages to neighbors.Then, probabilistic messages defined by the SPA algorithm(see next section) correspond to real packets exchanged amongphysical nodes: in this way the resulting algorithm is fullydistributed. Fig. 2 shows a network configuration example andits corresponding FG.

B. Separate Position-Bias Model

In the alternative model, separate temporal factors exist forposition and bias; range factors involve position variables only,while pseudorange factors are connected to both position andbias variables. Given as input p(x(k−1)

m |�(1:k−1)M , r(1:k−1)M ) ∀m,

the factorization of the remaining part of (10) is

M∏m=1

[fpm

(p(k)m , p(k−1)m

)fbm

(b(k)m , b(k−1)m

)×∏

s∈Sm

gs,m

(p(k)m , b(k)m

) ∏n∈Mmn<m

hn,m

(p(k)m , p(k)n

)]. (12)

This model is represented by the FG in Fig. 1b. Infor-mation from the previous time slot is passed by messagesp(p

(k−1)m |�(1:k−1)M , r

(1:k−1)M ) and p(b

(k−1)m |p(1:k−1)

M ) sent byvertices at level k − 1.

IV. ALGORITHM DESCRIPTION

In this section we present the proposed H-SPAWN al-gorithm. We first provide a high-level description of thealgorithm and we describe how the message passing schemecan be implemented over a wireless network. Then, we focuson message computation, introducing a parametric implemen-tation strategy to efficiently update and exchange H-SPAWNmessages.

A. Summary of the Algorithm

H-SPAWN is defined by applying SPA message update rules[9] over the factor graphs of Fig. 1a or 1b. Denoting by ξm ageneric state variable (i.e., xm, pm, or bm), messages can beclassified as: (i) temporal messages ηfm→ξm , representing theevolution of state variable m from time k − 1 to time k; (ii)

Page 5: Chalmers Publication Librarypublications.lib.chalmers.se/records/fulltext/151952/local_151952.pdfogy, Gothenburg, Sweden. E-mail: {mauricio.caceresduran, federico.penna, roberto.garello}@polito.it,

4

Algorithm 1: H-SPAWN – joint position-bias version

input : Initial beliefs p̂(x(0)m

)∀m

output: Updated beliefs p̂(x(k)m

)∀m

1 for timestep k = 1 to K do2 ∀m ∈ M: compute temporal message η

fm→x(k)m

using(13)

3 ∀m ∈ M: broadcast predicted distribution as initial P2Pmessage: η

x(k)m →hn,m

= ηfm→x

(k)m

4 ∀m ∈ M: collect ranges rn→m ∀n ∈ M(k)m and

pseudoranges ρs→m ∀s ∈ S(k)m

5 for iteration i = 1 to I do6 for nodes m ∈ M in parallel do7 Receive messages η

x(k)n →hn,m

from all neighborsn ∈ M(k)

m

8 Compute local factor-to-variable messages giventhe likelihood of received measurements frompeers and from satellites: η

gs,m→x(k)m∀s ∈ S(k)

m ;

ηhn,m→x

(k)m

using (19) and (16)9 Compute and broadcast outgoing P2P messages

ηx(k)m →hn,m

∀n ∈ M(k)m using (22)

10 Update beliefs p̂(x(k)m

)using (24)

11 end12 end13 end

messages from satellite factors ηgs,m→ξm , associated to GNSSmeasurements from satellites s ∈ S(k)m ; (iii) messages frompeer-to-peer factors ηhn,m→ξm , representing the informationreceived by node m from neighbors; (iv) messages to peer-to-peer factors ηξm→hmn

, whereby node m communicates itsposition message to neighbors n ∈ M(k)

m ; (v) messages tosatellite factors η

p(k)m →gs,m

and ηb(k)m →gs,m

, used only in theseparate model to link bias and position variables together.

Thanks to the identity between variables and physical nodes,H-SPAWN admits a natural distributed implementation: mes-sages of type (i), (ii), (iii), and (v) are computed internally byeach node, whereas messages of type (iv) are sent in broadcastand received by all nodes that are close enough at time k(neighbor sets Mm may vary at different time slots). Beliefsp̂(ξm) (estimated marginal probabilities) are then computed asthe product of all incoming messages towards ξm.

The resulting algorithm and a possible message schedul-ing are summarized by Alg. 1, referring to joint position-bias model. For the separate model, all messages involvingvariables x(k)

m should be replaced by two separate messagesfor p(k)m and for b(k)m ; in addition, between lines 8 and 9,messages η

p(k)m →gs,m

and ηb(k)m →gs,m

∀s ∈ S(k)m must beupdated. Observe that the algorithm works on two time scales:in the iteration scale, messages are updated using the samemeasurement data; in the timestep scale, new measurementsare received.

B. Parametric BP: Joint Position-Bias Model

We now illustrate how the messages defined in the previoussection are computed in practice. For each type of message, we

first express the exact update rule according to the SPA. Sincethese expressions are numerically complex (due to integralsand multiplications in 3-D or 4-D spaces), a parametric beliefpropagation (BP) strategy can be adopted to avoid directcomputation of messages. The parametric approach approx-imates all messages by known “distribution families”. In thisway, message passing in BP reduces to simply passing theparameters that characterize such distributions. The advantageof parametric BP over a sample-based message representationis enormous in terms of numerical complexity: the number ofsamples needed to represent messages would be prohibitivefor any practical wireless network.

We first consider the FG in Fig. 1a where position andbias variables are considered jointly; then, the separate case isanalyzed in Sec. IV-C.

1) Temporal messages: The SPA update rule for temporalmessages over the FG of Fig. 1a is

ηfm→x

(k)m

(x(k)m

)∝∫fm

(x(k)m ,x(k−1)

m

)× (13)

p(x(k−1)m |�(1:k−1)M , r

(1:k−1)M

)∂x(k−1)

m .

The above expression has the following meaning: each nodepropagates the beliefs of xm = [pTm, bm]T from time k − 1to time k, according to some internal mobility model (whichupdates the position pm) and clock drift model (which updatesthe bias bm) jointly represented by factor fm. Temporal mes-sages can be interpreted as a prediction step in the localizationprocess.

Adopting a parametric approach, we approximate temporalmessages as (D + 1)-variate Gaussian probability densityfunctions (p.d.f.s), with mean µ

x(k)m

derived from µx

(k−1)m

using mobility and clock drift models, and covariance Σx

(k)m�

Σx

(k−1)m

(e.g., linearly increasing with the time elapsed be-tween tk−1 and tk) which accounts for prediction uncertainty:

ηfm→x

(k)m

(x(k)m

)≈ pN

(x(k)m ;µ

x(k)m,Σ

x(k)m

), (14)

with

pN (x;µx, Σx), 1Zexp

[− 1

2 (x− µx)TΣ−1x (x− µx)

], (15)

where Z is a normalization factor that may be chosen arbi-trarily (messages and beliefs in BP do not necessarily need tobe normalized). The shape of the N distribution is a hyper-ellipsoid. A section of such distribution is depicted in Fig.3a.

2) Messages from satellite factors: Due to the single con-nection of satellite factors, satellite messages simply propagatethe function received from factor gs,m:

ηgs,m→x

(k)m

= gs,m

(x(k)m

), (16)

i.e., the likelihood of measurement ρ(k)s→m with respect to theposition of satellite s and node m. Messages of this type canbe represented in a parametric form as

ηgs,m→x

(k)m

(x(k)m

)= pV

(x(k)m ; ρ(k)s→m,p

(k)s , σ2

s→m

), (17)

Page 6: Chalmers Publication Librarypublications.lib.chalmers.se/records/fulltext/151952/local_151952.pdfogy, Gothenburg, Sweden. E-mail: {mauricio.caceresduran, federico.penna, roberto.garello}@polito.it,

5

(a) N distribution. (b) V distribution. (c) C distribution.

Figure 3. Distribution families for the joint position-bias model. Horizontal sections.

where ρ(k)s→m is the value of the pseudorange (2) measured atthe current time slot k, σ2

s→m is the variance associated to thismeasurement (7), p(k)s is the satellite position, and

pV(x; %,µs, σ2%) ,

1Z exp

[− 1

2σ2%(‖p− µs‖+ b− %)2

](18)

is a hyper-conic distribution family parametrized by radius %(pseudorange value), center µs (satellite position) and varianceσ2% (measurement variance). Note that in this case parametric

BP does not introduce any approximation.The V distribution is in fact a Gaussian distribution having

as support the surface of a sphere that shrinks or expands withthe bias. Such support can be visualized as a spherical conewith spheres as intersections with hyperplanes perpendicularto the b-axis, and cones as intersections with p planes (hencethe name of hyper-conic distribution). Fig. 3b shows a sectionof a V distribution.

3) Messages from peer-to-peer factors: The analytical ex-pression of messages from P2P factors is

ηhn,m→x

(k)m

(x(k)m

)∝∫hn,m

(x(k)m ,x(k)

n

ηx

(k)n →hn,m

(x(k)n

)∂x(k)

n . (19)

In (19), the term hn,m(x(k)m ,x

(k)n ) represents the likeli-

hood of the range measurement ρ(k)n→m received by node mfrom its neighbor n, given the position x

(k)n ; the message

ηx

(k)n →hn,m

(x(k)n ) provides a p.d.f. of x(k)

n , based on the avail-able information at node n (i.e., measurements from visiblesatellites and all neighbors except m). Thus, the messageupdate rule can be interpreted as a filtering operation of therange likelihood function with the estimated p.d.f. of theposition of node n.

In order to express P2P messages in a parametricform, let us first consider x(k)

n = x̂(k)n fixed, as though

ηx

(k)n →hn,m

(x(k)n ) were a Dirac delta function in x̂(k)

n . Then,

the resulting message would amount to hn,m(x(k)m , x̂

(k)n ). This

message can be visualized as a Gaussian distribution with

variance σ2n→m around the surface of a hyper-cylinder in the

{p, b} plane, uniformly extended over the entire range of b(because P2P messages do not carry bias information), withaxis p = p̂

(k)n and radius ρ(k)n→m. Now, filtering hn,m with

ηx

(k)n →hn,m

is a summation of an infinite number of suchcylinders with different axes. The resulting distribution is stillcylindrical, because Gaussian distributions are additive andthe bias information in the incoming message is irrelevant forthe P2P message; the variance of the resulting distribution isthe sum of measurement variance and the covariance of p(k)n .Thus,

ηhn,m→x

(k)m

(x(k)m

)=

pC

(x(k)m ; r(k)n→m,µp

(k)n→m

,Σp(k)n→m

+ σ2n→mI

), (20)

where µp(k)n→m

, Σp(k)n→m

are mean and variance of the message

ηx

(k)n →hn,m

(x(k)n ), I is the identity matrix, and

pC (x; %, µpn, Σpn+%) ,

1Z exp

[− 1

2

(p′ − % p′

||p′||

)TΣ−1pn+%

(p′ − % p′

||p′||

)], (21)

where p′ , p − µpn . A section of the hyper-cylindricaldistribution family C is shown in Fig. 3c.

4) Messages to peer-to-peer factors: According to the SPA,messages from variable nodes to P2P factors are given by

ηx

(k)m →hn,m

(x(k)m

)∝ η

fm→x(k)m

(x(k)m

)× (22)∏

s∈S(k)m

ηgs,m→x

(k)m

(x(k)m

) ∏l∈M(k)

m \n

ηhl,m→x

(k)m

(x(k)m

),

Due to heterogeneous shape and varying number of incom-ing messages, it is impossible to give a general expressionof the resulting distribution. In addition, even if computedanalytically, such distribution would be a very complex andirregular function, making it difficult to express messages atthe subsequent iteration. For these reasons, we approximatethe result of message multiplication as a multivariate Gaussian

Page 7: Chalmers Publication Librarypublications.lib.chalmers.se/records/fulltext/151952/local_151952.pdfogy, Gothenburg, Sweden. E-mail: {mauricio.caceresduran, federico.penna, roberto.garello}@polito.it,

6

distribution

ηx

(k)m →hn,m

(x(k)m

)≈ pN

(x(k)m ;µ

x(k)m→n

,Σx

(k)m→n

). (23)

The problem then reverts to finding the parameters of theoutput distribution that best approximate the product of theincoming parametric messages. To this purpose, we proposea parameter estimation algorithm (see Alg. 2) inspired fromimportance sampling [17]. At each iteration, samples zi aredrawn according to the current estimated output distribution,and weighted proportional to the ratio between the product ofthe probabilities of each of the incoming messages (computedaccording to their respective analytical distributions evaluatedat the given samples) and the probability of the sample accord-ing to the output distribution. The distribution parameters arethen refined through weighted sample mean and covarianceestimators, and used to draw a new set of samples in thenext iteration. We do not impose restrictions on the covariancematrix, so it can take any ellipsoidal shape.

Algorithm 2: Parametric Message Multiplication

input : Initial estimate of µ̂x, Σ̂x; distributions of allincoming messages (factors)

output: Updated µ̂x, Σ̂x after product

1 repeat2 Draw N samples zi from N

(µ̂x, Σ̂x

)3 Compute the probability of each sample q (zi) in the

distribution it was drawn from, using (15)4 Evaluate the p.d.f.s at samples pj (zi) for each factor,

using (15), (18), or (21)5 Assign a weight to each sample as: wi =

∏j pj(zi)

q(zi), then

normalize them such that∑N

i=1 wi = 16 Estimate new mean and covariance using weighted samples:

µ̂x =∑N

i=1 wizi, Σ̂x =∑N

i=1 wi(zi−µ̂x)(zi−µ̂x)T

1−∑N

i=1 w2i

7 until convergence

5) Beliefs: Finally, beliefs p̂(x(k)m ), i.e. approximations of

the marginals of interest p(x(k)m |�(1:k)M , r

(1:k)M ) (9), are given by

p̂(x(k)m ) ∝ η

fm→x(k)m

(x(k)m )

∏s∈S(k)

m

ηgs,m→x

(k)m

(x(k)m )×

∏n∈M(k)

m

ηhn,m→x

(k)m

(x(k)m ). (24)

The above expression is a message multiplication similar tothe one used for messages to P2P factors. Hence, the sameparametric message multiplication algorithm (Alg. 2) can beused to compute beliefs:

p̂(x(k)m

)≈ pN

(x(k)m ;µ

x(k)m,Σ

x(k)m

). (25)

C. Parametric BP: Separate Position-Bias Model

We now describe the message update rules for the FG ofFig. 1b.

1) Temporal messages: Similar to the joint case, tempo-ral messages are approximated by Gaussian distribution, butseparately for bias and position variables:

ηfpm→p

(k)m

(p(k)m

)≈ pN

(p(k)m ;µ

p(k)m,Σ

p(k)m

), (26)

ηfbm→b

(k)m

(b(k)m

)≈ pN

(b(k)m ;µ

b(k)m, σ2

b(k)m

), (27)

where µp(k)m

and µb(k)m

are computed, respectively, from mo-bility and clock drift models, and Σ

p(k)m

and σ2

b(k)m

are updatedsuch that Σ

p(k)m� Σ

p(k−1)m

, σ2

b(k)m

≥ σ2

b(k−1)m

to take intoaccount prediction uncertainty.

2) Messages from satellite factors: Messages from factorsgs,m can now be divided into two types: messages to positionvariables, that take as input an estimated bias value, andmessages to bias variables, which, conversely, take as inputa position value. Based on similar considerations as in Sec.IV-B3, satellite-to-position messages can be computed as

ηgs,m→p

(k)m

(p(k)m

)=

pD

(p(k)m ; ρ(k)s→m − µb(k)

m,p(k)s , σ2

s→m + σ2

b(k)m

), (28)

where

pD(p; %,µs, σ

2%

), 1

Z exp[− 1

2σ2%(‖p− µx‖ − %)2

](29)

denotes a Gaussian distribution with spherical support (cf.[18]), characterized by radius % (pseudorange measurement),center µs (satellite position), and variance σ2

%. An example ofD distribution is depicted in Fig. 4b.

Satellite-to-bias messages are represented by a univariateGaussian p.d.f.:

ηgs,m→b(k)

m

(b(k)m

)=

pN

(b(k)m ; ρ(k)s→m −

∥∥∥p(k)s − µp(k)m

∥∥∥ , σ2s→m + tr(Σ

p(k)m

)),

(30)

where tr(·) denotes the trace operator.3) Messages from peer-to-peer factors: Like it the joint

case, P2P messages carry only position information. Thecylindrical distribution therefore reduces to an ellipsoidaldistribution in the p space, i.e., a section of the C distributionperpendicular to the b axis:

ηhn,m→p

(k)m

(p(k)m

)=

pE

(p(k)m ; r(k)n→m,µp

(k)n→m

,Σp(k)n→m

+ σ2n→mI

), (31)

where

pE(p; %,µpn,Σpn+%) ,

1Z exp

[− 1

2

(p′ − % p′

||p′||

)TΣ−1pn+%

(p′ − % p′

||p′||

)]. (32)

with p′ = p−µpn . The E distribution is depicted in Fig. 4c.Observe that, for % = 0, it becomes a Gaussian distributionN (µpn

,Σpn+%).

Page 8: Chalmers Publication Librarypublications.lib.chalmers.se/records/fulltext/151952/local_151952.pdfogy, Gothenburg, Sweden. E-mail: {mauricio.caceresduran, federico.penna, roberto.garello}@polito.it,

7

(a) N distribution. (b) D distribution. (c) E distribution.

Figure 4. Distribution families for the separate position bias model. Horizontal sections.

4) Messages to peer-to-peer factors: These messages, hav-ing a product form as

ηp(k)m →hm,n

(p(k)m

)∝ η

fpm→p(k)m

(p(k)m

)× (33)∏

s∈S(k)m

ηgs,m→p

(k)m

(p(k)m

) ∏l∈M(k)

m \n

ηhl,m→p

(k)m

(p(k)m

),

are approximated by D-variate Gaussian distributions N ,whose parameters are computed via the parametric messagemultiplication algorithm (Alg. 2).

5) Messages to satellite factors: These messages are uniqueto the separate representation. They include bias-to-satellitemessages,

ηb(k)m →gs,m

(b(k)m

)∝η

fbm→b(k)m

(b(k)m

)∏v∈S(k)

m \s

ηgv,m→b(k)

m

(b(k)m

),

(34)

which can be computed as univariate Gaussian distributionswith

σ2

b(k)m →gs,m

=

1σ2

fbm→b

(k)m

+∑

y∈S(k)m \s

1σ2

gy,m→b(k)m

−1 , (35)

µb(k)m →gs,m

= σ2

b(k)m →gs,m

µfbm→b

(k)m

σ2fbm→b

(k)m

+∑

y∈S(k)m \s

µgy,m→b

(k)m

σ2

gy,m→b(k)m

,(36)

and position-to-satellite messages ηp(k)m →gs,m

, which can beapproximated as Gaussian distributions using Alg. 2, similarto (33).

6) Beliefs: Position beliefs p̂(p(k)m ) are then computed like(33), including all incoming P2P messages n ∈ Mm. Biasbeliefs p̂(b(k)m ) are computed like (34), i.e., univariate Gaus-sian distributions with mean and variance given by (35,36),including all satellites s ∈ Sm in the summation.

D. Complexity

Complexity of the H-SPAWN algorithm is dominated bymessage multiplication needed in messages to P2P factors andmessages from position variables to satellite factors. Consider-ing a certain node agent with one temporal message, P peer-to-peer messages and S satellite-to-peer messages, using Nsamples zi and requiring I iterations in the product estimate,the complexity scales as O(IPN(S + P + 1)(D + 1)3).In contrast, all other messages are computed analytically inO((S + P + 1)(D + 1)). Table I lists the number of floatingpoint operations (FLOP) needed in one execution of Alg. 2.

Table ICOMPLEXITY OF H-SPAWN FOR A SINGLE AGENT.

Computation No. of FLOPCompute time message 2(D + 1)2 + 2(D + 1)3

The following operations are repeated P + 1 times and iterated I timesDraw multiplication samples N(D + 1)2

Evaluate message distributions N(S + P + 2)(D + 1)3

Compute message multiplication N(S + P + 4)Estimate mean 2N(D + 1)Estimate covariance N(D + 1)2

V. SIMULATION RESULTS

In this section the performance of H-SPAWN is analyzedin two scenarios: a small static network, as a proof ofconcept, and a large mobile network, as a realistic case.The performance of H-SPAWN is compared in both scenarioswith two classical approaches: a hybrid-cooperative weightedleast squares (HC-WLS) algorithm, inspired on the iterativedescent method proposed in [7] and extended to hybrid GNSS-terrestrial ranging like in [14]; and the hybrid-cooperativeextended Kalman filter (HC-EKF) algorithm presented in [19].

A. Small-scale Static Scenario

The first scenario, shown in Fig. 5a, is defined as follows:• Real GPS satellite orbits, seen from the equator.

Page 9: Chalmers Publication Librarypublications.lib.chalmers.se/records/fulltext/151952/local_151952.pdfogy, Gothenburg, Sweden. E-mail: {mauricio.caceresduran, federico.penna, roberto.garello}@polito.it,

8

Sat. 3

Sat. 2

Sat. 4 Sat. 5

Sat. 6

Sat. 7 Sat. 1

(a) Simulation scenario.

H-­‐SPAWN-­‐j  HC-­‐EKF  H-­‐SPAWN-­‐s  HC-­‐WLS  

0  

10  

20  

30  

40  

50  

60  

70  

P6   P5   P4   P3   P2   P1  

15.6  

28.5   28.2  

15  11  

5.8  

22.6  

50.9  

29.4  

22.6  

11  

6  

22.3  

40.4  36  

33.7  

20   22.6  

46.2  

66.4   65.9  

44.3  

25.7  

13  

|ε|  

(b) Root mean squared errors.

0 5 10 15 20 250

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1Horizontal Errors

p(er

r <

ε)

ε [m]0 5 10 15 20 25

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1Vertical Errors

ε [m]

H−SPAWN−j @ TS 5H−SPAWN−s @ TS 5HC−EKF @ TS 5HC−WLS @ TS 5H−SPAWN−j @ TS 1H−SPAWN−s @ TS 1HC−EKF @ TS 1HC−WLS @ TS 1

(c) Horizontal errors c.d.f.

0 5 10 15 20 250

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1Horizontal Errors

p(er

r <

ε)

ε [m]0 5 10 15 20 25

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1Vertical Errors

ε [m]

H−SPAWN−j @ TS 5H−SPAWN−s @ TS 5HC−EKF @ TS 5HC−WLS @ TS 5H−SPAWN−j @ TS 1H−SPAWN−s @ TS 1HC−EKF @ TS 1HC−WLS @ TS 1

(d) Vertical errors c.d.f.

0 1 2 3 4 50

5

10

15

20

25

30

35

40

45

50Horizontal RMS Error

Err

or [m

]

Time Slot0 1 2 3 4 5

0

5

10

15

20

25

30

35

40

45

50Vertical RMS Error

Time Slot

HC−WLSHC−EKFH−SPAWN−sH−SPAWN−j

(e) Convergence of root mean square error.

Figure 5. Simulation scenario and RMSE by agent (top), global error c.d.f. and RMSE evolution averaged over all agents (botom). Results after 1 and 5time slots, 100 Monte Carlo runs.

Table IISATELLITE POSITIONS IN ECEF AND PEER POSITIONS IN EASTING-NORTHING-UP (ENU)

(ORIGIN AT 45.065275o LAT., 7.658954o LONG., 311.96 M HEIGHT)

Sat. 1 2 3 4 5 6 7 Peer 1 2 3 4 5 6x[m] 19263524 26124976 24768710 8048029 8543818 2082386 -7307117 E[m] -50 0 50 30 -30 0y[m] -13725770 -5749420 1601307 -13014437 15561017 23437415 -14002994 N[m] 10 30 40 -20 -40 0z[m] 11583188 -846377 9925575 21563572 19676844 12048145 21528812 U[m] 40 55 50 42 51 49

• 6 nodes deployed on the Earth surface over an area of100× 100 m, as in Table II.

• Uniform initial distributions in a circle of radius 1 km.(a warm-start condition, i.e., nodes have prior knowledgeof the region where they are located when turned on).

• Static nodes. As a consequence, the following model isused when updating temporal messages: x(k)

m = x(k−1)m ;

Σx

(k)m

= Σx

(k−1)m

+ σ2I , with σ2 = 4.• Pseudorange and P2P range measurements are corrupted

by AWGN with standard deviation σs→m = 5 m andσn→m = 0.2 m respectively, typical values for GNSS inopen sky conditions and UWB-based ranging in line-of-sight (LoS).

• New measurements are generated at each time slot, andalgorithms run 5 iterations per slot.

The performance of H-SPAWN, HC-EKF, and HC-WLS inthe above scenario is evaluated in terms of RMSE, computed

from the error vectors ε(k)m , µp(k)m− p(k)m for all agents

m ∈ M over 100 Monte Carlo simulations. The globallocalization RMSE is reported for each node in Fig. 5b,comparing the three considered algorithms after five time slots.H-SPAWN in its joint position-bias version outperforms all theother algorithms, while HC-WLS provides the worst accuracyoverall. In order to evaluate the benefit of cooperation, weanalyze the performance achieved by nodes in relation to theirconnectivity conditions. Nodes 1 and 2 (which have enoughsatellites in view) achieve the least errors. More interestingare the cases of peers 3-5, which have 3, 2 and 1 satellitein view respectively and are therefore unable to localizethemselves using GNSS only. For these nodes, localizationis made possible thanks to cooperation, although with largererrors compared to nodes with complete satellite visibility.Finally, node 6, even without visible satellites, achieves goodperformance, thanks to collaboration with the other nodes in

Page 10: Chalmers Publication Librarypublications.lib.chalmers.se/records/fulltext/151952/local_151952.pdfogy, Gothenburg, Sweden. E-mail: {mauricio.caceresduran, federico.penna, roberto.garello}@polito.it,

9

−80 −60 −40 −20 0 20 40 60 80

−60

−40

−20

0

20

40

60

INDOOR Scenario

←West−−−−−[m]−−−−−East→

←S

outh

−−

−−

−[m

]−−

−−

−N

orth

(5)

(6)

(7)

(4)

(4)

(5)

(4)

(6)

(4)

(6)

(5)

(0)

(0) (

0) (

0) (

0) (

0) (

0)

(0)

(7)

(3)

(0)

(0)

(0)

(0)

(0)

(0)

(0)

(0)

(5)

(1)

(0)

(0)

(0)

(0)

(0) (

0) (

0) (

0) (1

)

(3)

(0)

(0)

(0) (

0) (

0) (

0) (

0) (

0) (

3)

(1)

(0)

(0)

(0)

(0)

(0)

(0)

(0)

(0)

(3)

(3)

(0)

(0)

(0)

(0)

(0)

(0)

(0)

(0)

(2)

(3)

(0)

(0)

(0)

(0)

(0)

(0)

(0)

(0)

(7)

(1)

(0)

(0)

(0)

(0)

(0) (

0) (

0) (

0) (

1)

(5)

(4)

(0)

(1)

(3)

(0)

(4)

(4)

(0)

(3)

1 2

3

4

5

6

7

8

9

10

11

12

13 14

15

16

17

18

19

20

21

22

23 24

25

26

27

28

29

30

31

32

33

34

35

36 37

38

39 40

41

42

43

44 45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86 87

88

89

90

91

92

93 94

95

96

97

98

99

100

UNKNOWN PEERConnectivity: Unknown ↔ Unknown( ⋅ ) → No. of Visible SatellitesOutdoor PerimeterWall / WindowPillarDeep Indoor Perimeter

(a) Simulation scenario.

0 10 20 30 40 500

0.2

0.4

0.6

0.8

1

ε [m]

p(e

rr <

ε)

Horizontal errors c.d.f

0 10 20 30 40 500

0.2

0.4

0.6

0.8

1

ε [m]

p(e

rr <

ε)

Vertical errors c.d.f

0 10 20 30 40 500

0.2

0.4

0.6

0.8

1

ε [m]

p(e

rr <

ε)

Position errors c.d.f

0 10 20 30 40 500

0.2

0.4

0.6

0.8

1

ε [m]

p(e

rr <

ε)

Bias errors c.d.f

HC−WLS @ TS 1

HC−EKF @ TS 1

H−SPAWN−s @ TS 1

H−SPAWN−j @ TS 1

HC−WLS @ TS 20

HC−EKF @ TS 20

H−SPAWN−s @ TS 20

H−SPAWN−j @ TS 20

(b) Horizontal errors c.d.f.

0 5 10 15 200

20

40

60

80

100

Time Slot

rmse

[m

]

Horizontal rms errors

0 5 10 15 200

20

40

60

80

100

Time Slot

rmse

[m

]

Vertical rms errors

0 5 10 15 200

20

40

60

80

100

Time Slot

rmse

[m

]

Position rms errors

0 5 10 15 200

20

40

60

80

100

Time Slot

rmse

[m

]

Bias rms errors

HC−WLS @ TS 1HC−EKF @ TS 1H−SPAWN−s @ TS 1H−SPAWN−j @ TS 1HC−WLSHC−EKFH−SPAWN−sH−SPAWN−j

HC−WLS @ TS 1HC−EKF @ TS 1H−SPAWN−s @ TS 1H−SPAWN−j @ TS 1HC−WLSHC−EKFH−SPAWN−sH−SPAWN−j

(c) Convergence of horizontal RMSE.

(d) Number of visible satellites by node. (e) Horizontal RMSE (m) by node using HC-EKF. (f) Horizontal RMSE (m) by node using H-SPAWN joint.

Figure 6. Large-scale mobile simulation scenario; numbers in brackets = number of visible satellites. Performance in terms of horizontal error c.d.f. (top-center) and RMSE evolution (top-right) averaged over all agents, after 1 and 20 time slots. Bottom: node-by-node satellite visibility (left) and RMSE evolutionusing HC-EKF (center) or H-SPAWN (right).

the network. RMSE values are close to the Cramér-Rao lowerbound, derived for the same scenario in [20], thus confirmingthe effectiveness of the proposed algorithm implementation.

A more detailed comparison is shown in Figs. 5c-5d, wherethe c.d.f.s of the global errors over all nodes in the networkare plotted at the first and the fifth time slot. A coordinatetransformation from ECEF to ENU is performed in order toanalyze errors in horizontal and vertical components, as itis usual in GNSS performance tests. It can be noticed howH-SPAWN-joint, after a single time slot, achieves superioraccuracy than H-SPAWN-separate after 5 slots, thus provid-ing faster convergence. With more time slots, estimates areenhanced thanks to the availability of new measurements, andH-SPAWN-joint still obtains superior performance comparedto other algorithms with the same number of measurements.Differences are more evident in the horizontal component thanin the vertical one, where the HC-EKF has a performance closeto that of H-SPAWN-joint.

The convergence of the considered algorithms is shown inFigure 5e, which illustrates the evolution of the global RMSEiteration by iteration over 5 time slots. H-SPAWN-joint rapidlyachieves a good performance in a few iterations, and slightlyimproves it with more measurements.

B. Large-scale Mobile Scenario

In order to assess the performance of the proposed algorithmin a realistic, challenging scenario, we now consider a network

of 100 mobile agents placed inside a building. Only nodesthat are close to the walls have partial visibility of the GNSSconstellation; in addition, it is assumed that nodes are able tocommunicate with peers if their distance is lower than a certainthreshold, obtaining in this way a mesh network, with severalhops between internal nodes (without any satellite visibility)and the outer ones (with partial visibility). The scenario isdepicted in Fig. 6a and is defined as follows:

• Real GPS satellite orbits from 45ï¿œ latitude.• 100 nodes deployed on the Earth surface inside a building

of 100× 100 m, with warm start in a circle of radius 10km.

• Random-waypoint mobility model [21]: each node movestowards a random point (selected with uniform probabil-ity) at constant velocity, uniformly chosen between 1 and2m/s, remains in such point for a random time (uniformbetween 0 and 1s), and then moves to a new point. Tomake our simulation more realistic, it is assumed that themobility model is unknown to nodes. Therefore, temporalmessages follow the usual model with x(k)

m = x(k−1)m ,

Σx

(k)m

= Σx

(k−1)m

+ σ2I , with σ2 = 4.• Pseudorange are corrupted by AWGN with standard devi-

ations varying from 10 to 20m depending on the satelliteelevation angle seen from the peer (cf. [22]), modeling inthis way multipath fading and jitter due to low carrier-to-noise ratio (C/N0).

• P2P communication between nodes, say m and n, is

Page 11: Chalmers Publication Librarypublications.lib.chalmers.se/records/fulltext/151952/local_151952.pdfogy, Gothenburg, Sweden. E-mail: {mauricio.caceresduran, federico.penna, roberto.garello}@polito.it,

10

possible only if dm,n , ‖pm−pn‖ < 20m. Range mea-surements are corrupted by AWGN with σm→n = 0.2mif dm,n ≤ 10m, or σm→n = 0.4m if 10 < dm,n ≤ 20m.

• New measurements are generated at each time slot.Algorithms are stopped after 3 iterations per slot. In orderto better appreciate the effect of mobility, every MonteCarlo run consists now of 20slots with duration of 1s.

Fig. 6b shows the horizontal error c.d.f.s achieved by theconsidered algorithms in the above scenario, at the first andlast time slot. Fig. 6c shows the evolution of the RMSE as afunction of time slots. H-SPAWN in the joint version confirmsits superiority compared to HC-WLS and HC-EKF. Remark-ably, all algorithms exhibit a significant improvement of theestimated position accuracy with time, in spite of mobility (andconsequent dynamic topology). Observe that H-SPAWN andHC-EKF achieve similar performance asymptotically in time(i.e., given a sufficient number of available measurements), butH-SPAWN provides faster convergence.

We now analyze the performance achieved by individualnodes. Fig. 6d shows the number of visible satellites for thenodes in the network. Satellite visibility slightly changes withtime due to mobility, but in general it is denied for most nodes.Fig. 6e and Fig. 6f, then, illustrate the evolution of RMSEwith time for each node. A strong correlation can be observedbetween these results and Fig. 6d: RMSE convergence is fasterfor nodes with good satellite visibility, whereas inner nodesneed more time slots because they may be several hops awayfrom GPS-enabled peers. However, for all nodes H-SPAWNprovides shorter convergence times than HC-EKF. ThereforeH-SPAWN proves more effective in exploiting peer-to-peerinformation exchange than competing algorithms.

VI. CONCLUSIONS

The problem of hybrid cooperative positioning for wirelessnetworks has been addressed by proposing a novel, fullydistributed approach based on iterative message passing ona factor graph model. The resulting H-SPAWN algorithmcombines terrestrial ranging from neighboring peers and pseu-doranging from visible satellites, and provides an estimate ofthe a posteriori distributions of nodes’ position. Simulationresults show the superior performance of H-SPAWN witha joint position-bias representation compared to competingalgorithms, such as least squares and Kalman filter.

As shown in Sec. V-B, H-SPAWN provides excellent per-formance even in challenging conditions, including large-scalenetworks, mobile nodes, low degrees of satellite visibility,and multi-hop peer-to-peer communication. Other advantagesof H-SPAWN from a technical point of view are: (i) it isless sensitive to the initial guess, which, on the contrary,is very critical for HC-WLS, (ii) it is less likely to getstuck in local minima than both HC-WLS and HC-EKF, dueto linearizations involved in these two algorithms, and (iii)it can be extended to non-Gaussian distributions and non-linear likelihood functions, whereas HC-EKF is intrinsicallydependent on the Gaussian assumption.4

4H-SPAWN can be applied, in principle, to arbitrary noise statistics andlikelihood functions; however, for an efficient parametric implementation,specific distribution families need to be developed on a case-by-case basis.

All the above-mentioned properties make the proposed algo-rithm a candidate for several military and civilian applicationslike rescue missions, operations in light/deep indoors, trackingof moving objects in GNNS-spotted areas.

REFERENCES

[1] E. Kaplan and C. Hegarty. Understanding GPS: Principles and Appli-cations. Artech House Mobile Comm. Series, 2006.

[2] J. M. Hasik and Michael R. Rip. “GPS at war: a ten-year retrospective”,in Proceedings of the 14th International Technical Meeting of theSatellite Division of The Institute of Navigation (ION GPS), Salt LakeCity, UT, September 11–14, 2001, pp. 2406–2417.

[3] G. Retscher and Q. Fu, “Integration of RFID, GNSS and DR forUbiquitous Positioning in Pedestrian Navigation,” in Journal of GlobalPositioning Systems, vol. 6, 2007, pp. 56–64.

[4] C. Mensing, S. Sand, and A. Dammann, “GNSS Positioning in CriticalScenarios: Hybrid Data Fusion with Communications Signals,” in Pro-ceedings of the International Workshop on Synergies in Communicationsand Localization, Dresden, Germany, 2009.

[5] A. Ihler, J. Fisher III, R. Moses, and A. Willsky, “Nonparametric beliefpropagation for self-calibration in sensor networks,” in Proc. of the 3rdIntl. Symposium on Information Processing in Sensor Networks, 2004.

[6] J. Chen, Y. Wang, C. Maa, and J. Chen, “Network-side Mobile PositionLocation Using Factor Graphs,” in IEEE Transactions on WirelessCommunications, vol. 5, 2006, pp. 2696–2704.

[7] H. Wymeersch, J. Lien, and M.Z. Win, “Cooperative localization inwireless networks,” in Proceedings of the IEEE, vol. 97, no. 2, Feb.2009, pp. 427–450.

[8] M.A. Caceres, F. Penna, H. Wymeersch and R. Garello, “Hybrid GNSS-terrestrial Cooperative Positioning via Distributed Belief Propagation” inProceedings of the IEEE Global Communications Conference (GLOBE-COM), Miami, Florida, December 6–10, 2010, pp. 1–5.

[9] F.R. Kschischang, B.J. Frey, H. A. Loeliger, “Factor Graphs and theSum-Product Algorithm,” in IEEE Transactions on Information Theory,vol. 47, no. 2, Feb. 2001.

[10] J.-C. Chen, C.-S. Maa, Y.-C. Wang, and J.-T. Chen, “Mobile PositionLocation Using Factor Graphs,” IEEE Communications Letters, vol. 7,pp. 431–433, September 2003.

[11] C. Mensing and S. Plass, “Positioning Based on Factor Graphs,”EURASIP Journal on Advances in Signal Processing, vol. 2007, pp.1–12, September 2007.

[12] H. Q. Liu, F. K. W. Chan, and H. C. So, “Non-Line-of-Sight MobilePositioning Using Factor Graphs,” IEEE Transactions on VehicularTechnology, pp. 1–6, 2009.

[13] A. T. Ihler, “Inference in Sensor Networks: Graphical Models andParticle Methods,” PhD Thesis, MIT, 2005.

[14] G. Heinrichs, P. Mulassano, and F. Dovis, “A hybrid positioning algo-rithm for cellular radio networks by using a common rake receiver,” inSymp. on Personal, Indoor and Mobile Radio, 2004, pp. 2347–2351.

[15] C. Falsi, D. Dardari, L. Mucchi, and M. Win, “Time of arrival estimationfor UWB localizers in realistic environments,” in EURASIP Journal ofApplied Signal Processing, 2006:Article ID 32 082, 1–13.

[16] H. Hashemi, “The indoor radio propagation channel,” in Proceedings ofthe IEEE, vol. 81 pp. 943–968, July 1993.

[17] B. Ristic and S. Arulampalam, Beyond the Kalman Filter: ParticleFilters for Tracking Applications. Artech House, 2004.

[18] J. Lien, J. Ferner, W. Srichavengsup, H. Wymeersch, M. Win,“Practical Cooperative Localization and Tracking,” submitted toIEEE Transactions on Wireless Communications, 2009. Available athttp://dl.dropbox.com/u/14551660/LieFerSriWymWinv11_jl.pdf

[19] M.A. Caceres, F. Sottile, R. Garello and M.A. Spirito “Hybrid GNSS-ToA Localization and Tracking via Cooperative Unscented KalmanFilter” in Proceedings of the IEEE 21st International Conference onPersonal, Indoor and Mobile Radio Communications (PIMRC) Work-shops, Istanbul, Turkey, September 26–29 2010, pp. 271–275.

[20] F. Penna, M.A. Caceres, and H. Wymeersch, “Cramér-Rao Bound forHybrid Peer-to-Peer Positioning,” IEEE Communication Letters, vol. 14,no. 11, pp. 1005–1007, 2010.

[21] J. Broch, D.A. Maltz, D.B. Johnson, Y.C. Hu, J. Jetcheva J, “Aperformance comparison of multi-hop wireless ad hoc network routingprotocols”, Proc. 4th ACM/IEEE International Conference on MobileComputing and Networking (Mobicom98), October 1998.

[22] K. Kuusniemi, G. Lachapelle, and J. Takala, “Position and Velocity Re-liability Testing in Degraded GPS Signal Environments,” GPS Solutions,pp. 226–237, October 2004.