# Address Assignment in Indoor Wireless Networks Using Deterministic Channel Simulation

Authors: Edgar Holleis; Christoph Grimm
Journal: ISRN Sensor Networks
 (2013)

---

## Abstract

A crucial step during commissioning of wireless sensor and automation networks is assigning high-level node addresses (e.g., floor/room/fixture) to nodes mounted at their respective location. This address assignment typically requires visiting every single node prior to, during, or after mounting. For large-scale networks it also presents a considerable logistical effort. This paper describes a new approach to automatically assign high-level addresses without visiting every node. First, the wireless channel is simulated using a deterministic channel simulation in order to obtain node-to-node estimates of path loss. Next, the channel is measured by a precommissioning test procedure on the live network. In a third step, results from measurements and simulation are condensed into graphs and matched against each other. The resulting problem, identified as weighted graph matching, is solved heuristically. Viability of the approach and its performance is demonstrated by means of a publicly available test data set, which the algorithm is able to solve flawlessly. Further points of interest are the conditions that lead to high quality address assignments.


---

## Body

## 1. Introduction

Building automation is not a new technology. However, with the advent of smart environments and the Internet of Things, the topic is again the focus of increased attention. This is especially true forwireless building automation systems, overlapping strongly with wireless sensor networks. This work deals with address assignment in wireless (building) automation networks, an underresearched topic, emerging primarily from experience with large-scale installations.Byaddress assignment we mean attaching a high-level address which conveys locality (e.g., floor/room/fixture) to the nodes of the wireless network. The goal is, in other words, to produce a mapping from the addresses used by the MAC layer onto logical addresses based on location or role.Some protocols are explicit in their distinction between low-level address and high-level address. Other protocols, such as ZigBee, rely on low-level addresses for communication but support high-level roles with group membership or binding tables. High-level addresses become explicit again if dealt with in the context of a deployment plan or professional commissioning tool. Address assignment is a necessary step of commissioning of automation networks.While this work deals with both location and wireless channel measurements, it is different from the field of sensor node localization. Localization is typically a continuous problem; address assignment is a combinatorial problem. It is range free; that is, it does not assume any empirical relation between signal attenuation and distance. It does not rely on fingerprinting the wireless channel and does not need anchor nodes like indoor GPS. Instead, it uses a deterministic channel simulation to deal with the problems of multipath propagation. There is an ample body of literature showing that indoor localization based on channel measurements alone is not able to provide the necessary precision to reliably and unambiguously identify mounting locations with acceptable error rate.This work is also not about autoconfiguration protocols. The latter are the consumers of the address mapping produced by address assignment. A device without flash memory can use an autoconfiguration protocol to download its configuration from network management. But network management needs to have prior knowledge about the mapping between hardware addresses and configuration records.Address assignment is relatively expensive because it traditionally requires manual intervention on a per-node basis. This work presents a novel way to conduct address assignment without manipulating nodes individually. The presented technique therefore bears the potential of substantially lowering the cost of commissioning wireless building automation networks.


### 1.1. Outline of the Presented Method

The presented technique for address assignment works on a freshly installed network. The nodes are powered and an initial, maybe temporary, wireless network has been formed. No further parametrization is needed; the only perquisite is that nodes are reachable by hardware address.We present the following three-step technique.(1)
Channel estimation: using the deployment plan of the network and the floor plan of the building as inputs, a three-dimensional deterministic channel simulation produces thesimulated connectivity graph. It is attributed with the nodes’ logical addresses.(2)
Channel measurement: all participating nodes cooperate to perform measurements of the wireless channel, such as RSSI measurement. The measurements are transmitted to the management workstation to assemble themeasured connectivity graph. It is attributed with the participating nodes’ hardware addresses.(3)
Matching algorithm: simulated and measured connectivity graphs are isomorphic. They are thus matched against each other, producing the sought after mapping between hardware addresses and logical addresses.Measured and simulated connectivity graphs are depicted in Figure1. For the channel estimation, ray optical ray tracing is used. The deviation between simulation and measurement is modelled as noise. Even for challenging indoor environments, it is shown that noise levels are small enough to produce reliable address mappings with small error rate.The connectivity graphs for illustration purposes. Real ones are dramatically bigger and weights have added noise. (a) Simulated connectivity graph attributed with logical addresses based on device location. (b) Measured connectivity graph attributed with MAC addresses.
(a)
(b)For the purpose of demonstrating the presented technique, the publicly available data set of King et al., recorded in 2008 at the University of Mannheim, is adapted and used [1]. The resulting address mapping is free of errors.This work assumes the prior availability of detailed computer readable plans of the building, as well as a deployment plan of the network. This requirement is easily satisfiable for large, professional installations because the necessary plans are provided by the planning agency as part of their contractual obligations. The plans need to be available before the responsible contractor can begin installation of the automation network. Indeed, it is a stated goal of this work to devise an address assignment technique that naturally fits into established work flows.


## 1.1. Outline of the Presented Method

The presented technique for address assignment works on a freshly installed network. The nodes are powered and an initial, maybe temporary, wireless network has been formed. No further parametrization is needed; the only perquisite is that nodes are reachable by hardware address.We present the following three-step technique.(1)
Channel estimation: using the deployment plan of the network and the floor plan of the building as inputs, a three-dimensional deterministic channel simulation produces thesimulated connectivity graph. It is attributed with the nodes’ logical addresses.(2)
Channel measurement: all participating nodes cooperate to perform measurements of the wireless channel, such as RSSI measurement. The measurements are transmitted to the management workstation to assemble themeasured connectivity graph. It is attributed with the participating nodes’ hardware addresses.(3)
Matching algorithm: simulated and measured connectivity graphs are isomorphic. They are thus matched against each other, producing the sought after mapping between hardware addresses and logical addresses.Measured and simulated connectivity graphs are depicted in Figure1. For the channel estimation, ray optical ray tracing is used. The deviation between simulation and measurement is modelled as noise. Even for challenging indoor environments, it is shown that noise levels are small enough to produce reliable address mappings with small error rate.The connectivity graphs for illustration purposes. Real ones are dramatically bigger and weights have added noise. (a) Simulated connectivity graph attributed with logical addresses based on device location. (b) Measured connectivity graph attributed with MAC addresses.
(a)
(b)For the purpose of demonstrating the presented technique, the publicly available data set of King et al., recorded in 2008 at the University of Mannheim, is adapted and used [1]. The resulting address mapping is free of errors.This work assumes the prior availability of detailed computer readable plans of the building, as well as a deployment plan of the network. This requirement is easily satisfiable for large, professional installations because the necessary plans are provided by the planning agency as part of their contractual obligations. The plans need to be available before the responsible contractor can begin installation of the automation network. Indeed, it is a stated goal of this work to devise an address assignment technique that naturally fits into established work flows.


## 2. State of the Art

Traditionally, address assignment happens prior to, during, or after mounting [2, 3].(i)
Address assignment prior to mounting: the mapping is produced as soon as the hardware addresses of the components become known. From there, a plan is devised that documents which of the individual components should be installed into exactly which position. The components and the plan are handed to the installer who is responsible for the plan to be followed without errors [4].(ii)
Address assignment during mounting: the mapping is created on the fly by the installer. He may be supported by a commissioning tool that can automatically read and record hardware addresses from printed labels. Another option is that components do not require hardware addresses at all and instead the logical addresses are programmed by the installer on the fly [5].(iii)
Address assignment after mounting: components are mounted flexibly in any order. As part of the commissioning procedure, a technician visits every mounting location and records the hardware address of the component thereby creating the mapping. The important downside of this approach is that components may already be covered by panels, or components may be mounted in inaccessible locations. Luminaires, on the other hand, can locally transmit their MAC address out of band by modulating their light source [6].All of the above is executed by workers on a per-devices basis, which is the major downside of the approach. It is a cost driver, a monotonous exercise, error prone, and requires extra training. The presented approach, by contrast, only requires few manual steps—all of those with network-wide impact.Node localization is a related problem. It assumes no prior knowledge of mounting locations or, at least, does not make use of it. The field of node localization is of substantial breadth. Based on the taxonomies of [7–9], the presented work uses the following.(i)
Active localization—all system components emit signals. The cooperation of localization target with infrastructure is needed to compute locations. The algorithm is centralized.(ii)
Sensing via RF RSS—measurements of received signal strength (RSS) or alternatively time of flight (TOF). In contrast to many systems based on RSS measurements, no empirical relationship between measured data and distance is assumed. The system needs no dedicated hardware other than what is available in industry standard sensor nodes.(iii)
Multihop localization based on radio connectivity, multilateration, without anchors—physical locations are calculated based on the devices position in the networks connectivity graph. In contrast to other works, the usage of anchors—special nodes with preconfigured location—is optional.(iv)
Locations are expressed symbolically (e.g., floor/room/fixture) and relatively to the particular structure or building.For indoor localization based on signal attenuation, there are several approaches for overcoming the challenges presented by multipath propagation. Fingerprinting relies on building a detailed channel map of the building [10–12]. This relies on first installing a number of anchors that broadcast regular beacons and then taking systematic measurements based on a regular, dense grid. During the operation phase of the system, locations are calculated by measuring the beacons and comparing measurements to the map. King et al. observed distance errors of less than 3 m at the 90th percentile using a dense network of WiFi access points as beacons [12]. This approach is not well applicable to address assignment, since building the required channel map requires a higher effort than manual address assignment.Alternatively, statistics can be used to combat the problems of multipath propagation by using a very dense network of anchors, up to several per room. While multipath propagation breaks the inverse-square-law relationship between signal attenuation and distance for any particular measurement, it still applies on average. Zanca et al. compared several localization algorithms [13–15]. In the case of 5 beacons per room, the average localization error is no better than 2 m. This may be adequate for address assignment; the overhead of installing several anchors per room, however, is not.Anchor selection algorithms, finally, combat the effects of multipath propagation by sorting anchors into those having line of sight to the localization target and those that do not have [16, 17]. The high number of required anchors, again, makes the approach impractical for address assignment.


## 3. A New Method for Automatic Address Assignment

The informal description of the three-step process of address assignment is given in Section1.1. This section builds on the previous definitions of the simulated and measured connectivity graphs. The problem of matching the graphs is thus formalized as follows:
(1)GM=PTGSP+offJSP+NVJSP+JSPNV+NEAna,M=PTAna,SP,
where GM and GS are adjacency matrices of the measured and simulated connectivity graphs, symmetric, representing negative attenuation loss of the channel in dB (e.g., −95 dB), Ana,M and Ana,S are diagonal matrices holding one of na vertex attributes common to measured and simulated connectivity graphs (e.g., device types),P is the permutation matrix with the sought after mapping (address assignment), JSP is a logical matrix indicating the nonzero elements of PTGSP, offJSP is the global offset between weights in measured and simulated connectivity graph; off is scalar, in dB; NVJSP+JSPNV is the vertex noise, a systematic offset affecting only edges connected to a particular vertex; NV is diagonal, in dB; NV=diag(nV1,…,nVn),  is the  edge noise, any deviation between graph weights not better captured by global offset or vertex noise.All matrices are square matricesn×n, with n being the number of vertices, that is, the number of nodes to be matched. Given the high dynamic range of physical quantities in wireless technology, the logarithmic notation seems adequate, also given typical measurement accuracy. P, off, NV, and NE are unknowns with respect to address assignment. This formalization is not directly usable for finding P; it serves however to explain the different steps of the algorithm.The global offsetoff is a convenience device to keep vertex and edge noise zero mean. While in theory it is possible to reach the same goal by eliminating all systematic sources of error from measurement and simulation, it also means a lot of effort. For practical reasons, the channel simulation does not cover all physical phenomena but only the most important. Conveniently, the global offset is relatively simple to estimate.Vertex noise captures all deviations between measurement and simulation affecting a specific node. The physical phenomena underlying those deviations are related to the node itself and its immediate vicinity, most importantly the antenna and its misalignment or mistuning due to inappropriate placement or defects. The termNVJSP+JSPNV with NV=diag(nV1,…,nVn) adds the scalars nV1,…,nVn to the respective columns and rows of the adjacency matrix, such that edges connected to the particular vertex receive the noise figure associated with the vertex. Section 3.3 discloses a method of cancelling the effect of vertex noise.Vertex noise and edge noise as defined previously are expected to be Gaussian. This is due to the central limit theorem in the logarithmic domain. The delogarithmized equivalents of the adjacency matricesexp(GM) and exp(GS) are the result of a multiplicative product of uncertain quantities (material coefficients, physical dimensions, and reflections). exp(GM) and exp(GS) are expected to adhere to the log-normal distribution and hence GM and GS, as well as NV and NE, Gaussian.Inferring distance directly from the values inGM and GS is essentially futile, even in the LOS case. Ignoring multipath antenna gains and insertion losses, the RSSI reported as the result of a 0 dBm transmission at distance d in the 2.4 GHz band is given by RSSI=-20log(d)-40.23. While it is possible to distinguish between transmissions 1 m and 2 m away (ΔRSSI=6dB), it is not possible to distinguish between 10 m and 11 m (ΔRSSI=0.8dB), which is below the reporting accuracy of typical transceivers. Taking into account effects such as NLOS or wave guiding along corridors, we arrive at Figure 2. It is the test data of King et al., as extensively used in Section 4 [1].Figure 2
Distance versus RSSI of the test data set. The solid line is an empirical inverse-square-law model fitted to the data, with an inverse square of −3.7.Sections3.1 and 3.2 treat, respectively, channel simulation and channel measurement, Section 3.3 the noise model and noise cancellation, and Section 3.4 the weighted graph-matching algorithm.


### 3.1. Model of the Indoor Channel

This section discusses the first step (channel estimation) of the three-step process outlined in Section1.1.Since this work assumes availability of building and deployment plan, there is nothing to impede application of the most sophisticated channel models available, like ray-optical ray tracing. For the prototype presented in this work, AWE Software’s WinProp channel modelling software is used. Unless otherwise noted, we primarily consider the 2.4–2.48 GHz ISM band.The channel is assumed to be static, that is, static enough that time variations need not be considered and cannot be taken advantage of. At commissioning time of the building automation network, the building is assumed uninhabited and network components are mounted in their respective fixtures.The two main challenges for static indoor channels are line of sight (LOS) versus non line of sight (NLOS), as well as fading due to multipath propagation. Doppler fading is no concern for static channels. Polarization is dependent on antenna choices and, wherever known, can be adequately represented in the simulation. Badly oriented antennas of single nodes result in vertex noise and can be dealt with; confer Section3.3. Systematic misorientation of antennas will likely result in a low-quality address assignment. This can in turn be rectified correcting either the physical deployment or the simulation.In the NLOS channel, good estimates for signal attenuation and reflection properties of the different materials are crucial. Signal attenuation varies between 1 dB for some types of dry walls and up to 60 dB for the thick walls of historical buildings. Metal plating acts as near-perfect shielding up to the sensitivity limit of measurement equipment, although in practice gaps in the plating allow some of the signal through. Attenuation due to reflection on surfaces is in the order of 15 dB for walls and furniture and in the order of 0.3 dB for metal-plated surfaces. Because the matching algorithm can tolerate a certain amount of noise, empirical estimates based on approximate wall thickness and material class are sufficient. It is, however, essential to model large metal surfaces, such as radiators, metal suspended ceilings, metal doors, and metallized surface coating on windows and glass doors. Easily overlooked metal surfaces are air and cable conduits above suspended ceilings. In most cases, modelling of those surfaces is not necessary because their overall contribution to the field configuration is limited enough—as long as they do not obstruct crucial propagation paths. (The point becomes apparent if the radar equation is considered. A reflection on relatively small metal surfaces does not change the overall distribution of RF energy within the indoor channel.) The Winprop software comes with a material database that adequately covers common cases of building materials.Fading due to multipath propagation needs to be considered in any meaningful discussion of indoor channels. It is a highly localized (centimetres) phenomenon, which is geometry and frequency dependent, and causes local variations of the signal strength in the order of 30 dB [18]. Fading is commonly modelled statistically, in particular by the Rayleigh distribution in the NLOS case and the Rician distribution in the LOS case. This is not sensible for the problem at hand because there is too little variability in the static channel with respect to time and space due to the fixed mounting locations. The statistical-inference approach is incompatible with deterministic channel simulation.Still, the effects of fading are severe enough that they need to be accounted for. This can either be done in the channel simulation or in the channel measurements. The Winprop software can do coherent simulations although in the 2.4 GHz band, where the free-space wavelength(λ0) is merely 12 cm, the required precision with regard to entering dimensions into the simulation and the required precision with regard to placement of node antennas make the approach impractical.The alternative approach is to measure the channel while avoiding fading effects. This is most easily done by measuring the channel at different frequencies. Wireless nodes compliant with IEEE 802.15.4 support 16 channels in the 2.4 GHz band, 5 MHz apart. If the coherence bandwidth (Bc) of the static indoor channel is smaller than the frequency range covered by IEEE 802.15.4, then the maximum observed RSSI over all channels is a good estimate for a nonfading channel. Janssen observes this in 85% of NLOS cases and 55% of LOS cases [19]. Even if this strategy cannot fully compensate for fading in all cases, the maximum of several measurements is still a better estimate for the fading-free channel than any particular single measurement.The described approach to fading compensation is not possible in sub-GHz radio because the available frequency bands are too narrow to observe uncorrelated fading behaviour. Whether the larger wavelength makes coherent channel simulation practical is the subject of future testing.Ray tracing and ray casting are Monte-Carlo methods for predicting wave propagation in cluttered environments. Taken together, the rays represent an unbiased sample approximating the field configuration. Clever sampling strategies, high quality geometry data, and realistic material parameters lead to high-quality channel models. Landstorfer reports standard deviations between measurements and simulations between 4.2 dB and 11.9 dB [20]. Valenzuela reports standard deviations better than 3.2 dB for LOS and better than 8.8 dB for NLOS [21]. In both cases, no specifics concerning the parametrization are given.The most important phenomena to be modelled by raytracing are as follows.(i)
Reflection—especially specular reflection. Diffuse reflections (scattering) are of secondary concern in the microwave bands.(ii)
Transmission—optionally considering refraction. Both reflection and transmission may be modelled based on Fresnel equations or based on empirical (measured) data.(iii)
Diffraction—different approximations exist, with the ones receiving the most attention being the geometrical and the unified theory of diffraction [22].AssemblingGS from the simulation output is straightforward.


### 3.2. Assembling the Measured Connectivity Graph

This section discusses the second step (channel measurement) of the three-step process outlined in Section1.1.While the simulated connectivity graph can be created ahead of time, assembling the measured connectivity graph is an on-site activity. The wireless network is assumed noncommissioned, but the nodes are powered and an initial, maybe temporary, network has been formed by a procedure such as ZigBee network forming. Nodes are reachable via their low-level network or MAC address. The wireless channel can be measured as a whole, or the problem can be subdivided rudimentarily, for example, by only powering nodes on a particular floor or section of the building.A procedure and protocol has been devised to gather the measured connectivity graph. It is formulated in terms of ZigBee, but it is not directly dependent on particular ZigBee features. Support for many-to-one routing, however, is desirable for fast and efficient data collection. The procedure works as follows.(1)
The network is put into graph-assembly mode, temporarily suspending routing and other network-layer mechanism.(2)
Participating nodes visit a set of channels.(3)
In each channel participating nodes listen for incoming graph-assembly beacons. Receivers are in promiscuous mode; that is, MAC filtering is suspended, as well as power cycling. Received beacons are stored in a graph-assembly table, also recording the beacon’s RSSI.(4)
Every node also sends a small number of graph-assembly beacons at random points of time in each channel, containing mainly its low-level address and device type. Stay time in each channel is chosen such that beacon collisions are sufficiently improbable.(5)
After the last visited channel, normal network operation is restored and the graph-assembly tables are downloaded to the data sink.Based on the downloaded graph tables (cf. Table1), assembly of the measured connectivity graph GM is straightforward.(i)
Each vertex is represented by one table; vertices are attributed with  low-level address and node type descriptor.(ii)
Each edge is represented by a pair of rows in the tables of the respective vertices. Edge weights are given by(2)gM,AB=gM,BA=max(max(RSSIA→B)-TXpwrA,max(RSSIB→A)-TXpwrB).Table 1
Graph-assembly table.
Low-level address
Node type descriptor
TX-power
RSSI channel 1
RSSI channelnRSSI (in dB m) is the received signal strength indicator as reported by the transceiver when receiving the beacons. TXpwr (in dB m) is the nominal transmit power of the node sending the beacon. Edge weights gM,AB (in dB) are estimates for the interference-corrected channel attenuation between nodes A and B. Antenna, matching, and insertion losses at transmitter and receiver need not be accounted for but are dealt with during preprocessing. A small number of missing graph-assembly tables can be tolerated because all relevant information is redundantly available in the assembly tables of neighbouring nodes.An alternative edge weight is given bygM,AB′=avg(⋯). A large deviation between gM,AB and gM,AB′ indicates the presence of an asymmetrical link. This can happen for a variety of causes, but if the majority of links of a particular node are asymmetric, it is a strong indication for a defect in the node’s transmission or reception path. It does not matter for the purpose of address assignment because the max function masks the problem. Problems concerning the antenna are usually symmetrical and cannot be detected by this mechanism.


### 3.3. Preprocessing the Graphs/Noise Cancellation

This section discusses the third step (matching algorithm) of the three-step process outlined in Section1.1. Specifically, the mechanics of preprocessing measured and simulated connectivity graphs are considered. Preprocessing involves the following steps:(i)
optionally thinning out edges with very small weights (e.g., −95 dB and below),(ii)
estimation of the global offset,(iii)
normalization, dynamic range compression,(iv)
cancellation of vertex noise.There is a strong correlation between distance and path loss (cf. Figure2). While in the indoor NLOS environment it is not directly useful without the ray tracer, the fact remains and it leaves its imprint on the data. One important consequence of this correlation is the fact that in the typical graph-assembly table, the majority of neighbours have a low or very low RSSI. This is because the volume of a sphere increases with the cube of the radius; that is, in a building with evenly distributed nodes, more neighbours are near the limit of radio coverage than there are neighbours which are reliable communication partners. This also means that a disproportionally high number of edge weights in the measured connectivity graph are near the noise floor or the limit of receiver sensitivity—the weight distribution is heavy at the low end. Figure 4 illustrates the point by means of the test data set.In the simulation, receivers are not limited with respect to sensitivity or noise. The low end of the weight distribution in measured and simulated connectivity graphs therefore tends to look markedly dissimilar. There are more issues complicating things.(i)
Graph-assembly tables may be limited in size, which results in edges missing in the measured but not the simulated connectivity graph, also predominately at the low end.(ii)
Edge noise also tends to be larger at the low end because inaccuracies with respect to material parameters and geometry tend to accumulate in transmission paths that are subject to several transmissions and reflections.There is a tradeoff with respect to choosing which edges to keep and which to discard. Discarding many edges at the low end reduces noise and thereby increases the accuracy of the match and simultaneously lowers computation time of graph matching. The problem lies with choosing corresponding edges to discard in both graphs, especially considering that the graphs are permuted and the data is noisy. Eagerly discarding many edges means potentially discarding noncorresponding edges in measured and simulated connectivity graphs, and thereby amplifying a small amount of noise to a much bigger problem by having many unmatched edges.The approach taken by the reference implementation is therefore to keep all edges. An alternative, but ultimately abandoned, approach is to try to minimize the number of unmatched edges by forcing the number of edges in both graphs to be equal. This can be achieved by discarding edges from the bottom of the simulated weight distribution until the number becomes equal. The strategy fails whenever there are outliers with respect to vertex noise. Vertices with high positive vertex noise end up almost without any edges, which reduces the quality of the match.Choosing the global
o
f
f
set is nonobvious. Aligning the weight distributions by its means is suboptimal for later graph matching because the distributions are heavy at their low end which is also noisy. The median is better. Still, better results are obtained by aligning at the 9th 10-quantile, that is, choosing off such that the weight distributions of GM and (GS+offJSP) share a point where 90% of the weights of each distribution lie below and 10% above. This strategy relies mostly on the magnitude of LOS weights while at the same time being reasonably immune to outliers.Dynamic range compression serves to emphasise the relative importance of edges weights with low noise at the top of the distribution over graph edges with high relative noise. It is combined with normalization of the graph edges between 0 and 1:
(3)GM(C)=(c1GM+c2JM)α,GS(C)=(c1(GS+offJS)+c2JS)α,c1=(max(max(GM),max(GS+offJS))-min(min(GM),min(GS+offJS)))-1,c2=-c1min(min(GM),min(GS+offJS)).α is the parameter that governs the amount of compression applied. The reference implementation chooses α=2.5 which is empirically determined. GM(C) and GS(C) are the normalized and compressed adjacency matrices. JM and JS are logical matrices indicating the nonzero elements of GM and GS. c1 and c2 are derived from minimal and maximal edge weights in order to normalize the graphs.Vertex noise elimination: the underlying idea is to mathematically transform the wireless network’s connectivity graph into an analogue representation where vertex noise is baseless. In (1) each wireless node transmits a fixed amount of RF energy (normalized to 0 dB) into the channel of which a small amount is received at its neighbours, represented by the edge weights. Vertex noise is a systematic deviation between simulation and measurement where the energy balance between a node and its neighbours is biased. In the analogue representation, the energy balance is not normalized to the transmitted energy but to the received energy. Find a multiplier for each vertex such that the sum of the received energy is 0 dB (in fact 1 because of normalization) in the transformed adjacency matrices GM(S) and GS(S):
(4)GM(S)=DMGM(C)DM,GS(S)=DSGS(C)DS.D
M and DS are diagonal matrices with the vertex multipliers. GM(S) and GS(S) are doubly stochastic, symmetric matrices (columns and rows sum to 1). The elements are fractions between 0 and 1 and express how much a particular edge contributes to the hypothetical 0 dB received energy figure.Finding the multipliers and stochastic matrices is achieved by applying the Sinkhorn-Knopp (SK) algorithm [23] on the normalized matrices GM(C) and GS(C). This works as advertised as long as they are fully indecomposable. This seems to be the case as long as the underlying graphs are connected; that is, the previous thinning out of edges has not led to any unconnected subgraphs.The transformed graphsGM(S) and GS(S) allow us to reformulate the original problem (1) as
(5)GM(S)=PTGS(S)P+N(S).SinceGM(S) and GS(S) are doubly stochastic, N(S) is zero mean and therefore per definition free of vertex noise. Moreover, the original vertex noise does not otherwise significantly magnify N(S). Temporarily setting α=1, we can express N(S) as
(6)N(S)=DM(c1PTGSP+c1offJSP+c2JM)DM-DSP(c1GM+c2JSP)DSP+c1DM(NVJSP+JSPNV+NE)DM+c1DSP(NVJSP+JSPNV+NE)DSP.The first part of (6) contains two terms that apply the vertex multipliers DM and DSP=PDSPT to the respective other adjacency matrix, but as defined it does so by observing the right permutational order. In the second part, the original noise is downscaled using the vertex multipliers. This equation can be further analysed in two important special cases.Case 1 (α=1, P=I, NV=0 (edge noise only)).
The inputs into the SK algorithm (4) differ only by NE which is zero mean (1). By the rules of the SK algorithm, this leads to identical vertex multipliers; that is, DS=DM. The first part of (6) can therefore be rewritten to PTGS(S)P-GM(S), which is -N(S). The whole equation simplifies to N(S)=c1DNED. In the absence of vertex noise, the preprocessed noise N(S) is no more than correctly scaled edge noise.Case 2 (α=1, off=0, P=I, NE=0 (vertex noise only)).
This case is studied by first introducing modified vertex noiseNV′ and modified edge noise NE′: GM=NV′(PTGSP+offJSP)NV′+NE′. The modified definition is largely equivalent to (1), with the difference being that vertex specific deviations between GM and GS are represented by a multiplicative factor NV′, not a summand. From NE′=0, as well asthe other preconditions, follow GS(S)=GM(S) because the multiplicative NV′ is drawn into the vertex multiplier DS by the SK algorithm. From there follows N(S)=0. Under the preconditions of Case 2, preprocessing perfectly eliminates modified vertex noise. Given the more useful original definition of vertex noise instead, but also given NV<GM, GS, it can be shown that there remains some residual N(S) which is however zero mean and therefore no longer behaves like vertex noise.
In general,P is of course unequal I. Finding P is after all the point of address assignment. But the behaviour demonstrated by the special cases transfer well to the general case. Vertex noise is to a certain degree suppressed and to a certain degree mutated into edge noise and the latter transforms proportionally with the adjacency matrices.
The downside of vertex noise elimination is that the edge weight distribution ofGM(S) and GS(S) compares unfavourably with the situation before vertex noise elimination—almost all edges very close to zero. Still, it is worth the effort in case of the demonstration data set of Section 4. Whether this is true in all cases remains to be the subject of future research.


### 3.4. Weighted Graph Matching

This section discusses the third step (matching algorithm) of the three-step process outlined in Section1.1. The weighted graph matching problem (WGM) is well known in the field of combinatorial optimization. It is equivalent to the quadratic assignment problem, which is NP-complete. There exist no efficient algorithms for finding optimal solutions. Several heuristic approaches have been surveyed for suitability in address assignment [24–29]. We chose to implement the algorithm of Gold and Rangarajan [28] because it compares favourably along several dimensions important to address assignment:(i)
performance—in the sense of low-order computational complexity; Zaslavskiy lists it amongst the best performing [29],(ii)
converges well on noisy data,(iii)
deals with missing and spurious vertices and edges,(iv)
takes advantage of optional vertex attributes,(v)
supports sparse problems,(vi)
relatively simple and parallelizable algorithm, which makes it suitable for implementation with GPGPU (general purpose computation on graphics processing unit).The graduated assignment approach of Gold and Rangarajan is related to deterministic annealing. It relaxes or convexifies the problem by first allowing values other than “0” and “1” in the vertex assignments. Instead of a permutation matrix, the algorithm computes a doubly stochastic matrix, indicating the similarity of vertices given no particular assignment. As the control parameter increases, the problem becomes increasingly nonconvex; the doubly stochastic matrix is pushed more and more towards a permutation matrix. The algorithm thereby avoids local minima because it started off in the global minimum of the convex problem and tracks the evolution of this global minimum from the maximally convex version of the problem to the original nonconvex version.The algorithm is implemented using a combination of Matlab and CUDA. It performs well (minutes) for graphs up to 2000 vertices and 80000 edges, at which point the necessary data structures become too large to fit into GPU (Nvidia GeForce GTX 560 Ti, 384 CUDA cores, 2 GB RAM) memory.Anchors are nodes for which the address assignment is known a priori. Typically, this is the network’s coordinator, nodes specially joined to the network for the sole purpose of commissioning, or any other node that the commissioning technician visits manually during the procedure. In terms of the matching algorithm, anchors are not unlike additional vertex attributes (like device type) in that they amend the objective function and thereby bias or restrict the state space. Indeed, anchors could be implemented within the formalism of Gold and Rangarajan in terms of vertex attributes, whereas each anchor corresponds to one extra global binary vertex attribute which is zero for all vertices except the anchor.On the other hand, anchors are a column and row of the permutation matrixP that is known a priori. A simpler approach is therefore to slightly change the softassign step of the algorithm and replace it by a definitive assignment for just the affected columns and rows. This can be useful for noisy problems, where a small number of anchors can direct the algorithm towards convergence.Weighted graph matching is a least square-error optimization. This leads to ambiguity in the interpretation of matching errors, that is, misassigned nodes. An error can mean one of two things.(i)
The weighted graph-matching algorithm converged to a suboptimal solution.(ii)
The weighted graph matching algorithm converged to the optimal solution and noise was biased in a way that made the wrong solution optimal.For all but for toy-sized problems (less than approximately 11 vertices), it is essentially impossible to compare the result with the real optimal solution, so in the majority of cases the question cannot be answered.The number of vertices in measured and simulated graphs may be unequal. Failure to transmit the graph-assembly table should not normally be the cause of missing vertices because the existence of the underlying node is evident in the graph-assembly tables of neighbouring nodes. Not working, not installed, or spuriously installed nodes, however, result in graphs of unequal sizes. The weighted graph-matching algorithm deals with that by introducing a suitable number of slacks. They should be introduced only in this stage because zero-sum rows and columns cause problems during vertex-noise elimination.


## 3.1. Model of the Indoor Channel

This section discusses the first step (channel estimation) of the three-step process outlined in Section1.1.Since this work assumes availability of building and deployment plan, there is nothing to impede application of the most sophisticated channel models available, like ray-optical ray tracing. For the prototype presented in this work, AWE Software’s WinProp channel modelling software is used. Unless otherwise noted, we primarily consider the 2.4–2.48 GHz ISM band.The channel is assumed to be static, that is, static enough that time variations need not be considered and cannot be taken advantage of. At commissioning time of the building automation network, the building is assumed uninhabited and network components are mounted in their respective fixtures.The two main challenges for static indoor channels are line of sight (LOS) versus non line of sight (NLOS), as well as fading due to multipath propagation. Doppler fading is no concern for static channels. Polarization is dependent on antenna choices and, wherever known, can be adequately represented in the simulation. Badly oriented antennas of single nodes result in vertex noise and can be dealt with; confer Section3.3. Systematic misorientation of antennas will likely result in a low-quality address assignment. This can in turn be rectified correcting either the physical deployment or the simulation.In the NLOS channel, good estimates for signal attenuation and reflection properties of the different materials are crucial. Signal attenuation varies between 1 dB for some types of dry walls and up to 60 dB for the thick walls of historical buildings. Metal plating acts as near-perfect shielding up to the sensitivity limit of measurement equipment, although in practice gaps in the plating allow some of the signal through. Attenuation due to reflection on surfaces is in the order of 15 dB for walls and furniture and in the order of 0.3 dB for metal-plated surfaces. Because the matching algorithm can tolerate a certain amount of noise, empirical estimates based on approximate wall thickness and material class are sufficient. It is, however, essential to model large metal surfaces, such as radiators, metal suspended ceilings, metal doors, and metallized surface coating on windows and glass doors. Easily overlooked metal surfaces are air and cable conduits above suspended ceilings. In most cases, modelling of those surfaces is not necessary because their overall contribution to the field configuration is limited enough—as long as they do not obstruct crucial propagation paths. (The point becomes apparent if the radar equation is considered. A reflection on relatively small metal surfaces does not change the overall distribution of RF energy within the indoor channel.) The Winprop software comes with a material database that adequately covers common cases of building materials.Fading due to multipath propagation needs to be considered in any meaningful discussion of indoor channels. It is a highly localized (centimetres) phenomenon, which is geometry and frequency dependent, and causes local variations of the signal strength in the order of 30 dB [18]. Fading is commonly modelled statistically, in particular by the Rayleigh distribution in the NLOS case and the Rician distribution in the LOS case. This is not sensible for the problem at hand because there is too little variability in the static channel with respect to time and space due to the fixed mounting locations. The statistical-inference approach is incompatible with deterministic channel simulation.Still, the effects of fading are severe enough that they need to be accounted for. This can either be done in the channel simulation or in the channel measurements. The Winprop software can do coherent simulations although in the 2.4 GHz band, where the free-space wavelength(λ0) is merely 12 cm, the required precision with regard to entering dimensions into the simulation and the required precision with regard to placement of node antennas make the approach impractical.The alternative approach is to measure the channel while avoiding fading effects. This is most easily done by measuring the channel at different frequencies. Wireless nodes compliant with IEEE 802.15.4 support 16 channels in the 2.4 GHz band, 5 MHz apart. If the coherence bandwidth (Bc) of the static indoor channel is smaller than the frequency range covered by IEEE 802.15.4, then the maximum observed RSSI over all channels is a good estimate for a nonfading channel. Janssen observes this in 85% of NLOS cases and 55% of LOS cases [19]. Even if this strategy cannot fully compensate for fading in all cases, the maximum of several measurements is still a better estimate for the fading-free channel than any particular single measurement.The described approach to fading compensation is not possible in sub-GHz radio because the available frequency bands are too narrow to observe uncorrelated fading behaviour. Whether the larger wavelength makes coherent channel simulation practical is the subject of future testing.Ray tracing and ray casting are Monte-Carlo methods for predicting wave propagation in cluttered environments. Taken together, the rays represent an unbiased sample approximating the field configuration. Clever sampling strategies, high quality geometry data, and realistic material parameters lead to high-quality channel models. Landstorfer reports standard deviations between measurements and simulations between 4.2 dB and 11.9 dB [20]. Valenzuela reports standard deviations better than 3.2 dB for LOS and better than 8.8 dB for NLOS [21]. In both cases, no specifics concerning the parametrization are given.The most important phenomena to be modelled by raytracing are as follows.(i)
Reflection—especially specular reflection. Diffuse reflections (scattering) are of secondary concern in the microwave bands.(ii)
Transmission—optionally considering refraction. Both reflection and transmission may be modelled based on Fresnel equations or based on empirical (measured) data.(iii)
Diffraction—different approximations exist, with the ones receiving the most attention being the geometrical and the unified theory of diffraction [22].AssemblingGS from the simulation output is straightforward.


## 3.2. Assembling the Measured Connectivity Graph

This section discusses the second step (channel measurement) of the three-step process outlined in Section1.1.While the simulated connectivity graph can be created ahead of time, assembling the measured connectivity graph is an on-site activity. The wireless network is assumed noncommissioned, but the nodes are powered and an initial, maybe temporary, network has been formed by a procedure such as ZigBee network forming. Nodes are reachable via their low-level network or MAC address. The wireless channel can be measured as a whole, or the problem can be subdivided rudimentarily, for example, by only powering nodes on a particular floor or section of the building.A procedure and protocol has been devised to gather the measured connectivity graph. It is formulated in terms of ZigBee, but it is not directly dependent on particular ZigBee features. Support for many-to-one routing, however, is desirable for fast and efficient data collection. The procedure works as follows.(1)
The network is put into graph-assembly mode, temporarily suspending routing and other network-layer mechanism.(2)
Participating nodes visit a set of channels.(3)
In each channel participating nodes listen for incoming graph-assembly beacons. Receivers are in promiscuous mode; that is, MAC filtering is suspended, as well as power cycling. Received beacons are stored in a graph-assembly table, also recording the beacon’s RSSI.(4)
Every node also sends a small number of graph-assembly beacons at random points of time in each channel, containing mainly its low-level address and device type. Stay time in each channel is chosen such that beacon collisions are sufficiently improbable.(5)
After the last visited channel, normal network operation is restored and the graph-assembly tables are downloaded to the data sink.Based on the downloaded graph tables (cf. Table1), assembly of the measured connectivity graph GM is straightforward.(i)
Each vertex is represented by one table; vertices are attributed with  low-level address and node type descriptor.(ii)
Each edge is represented by a pair of rows in the tables of the respective vertices. Edge weights are given by(2)gM,AB=gM,BA=max(max(RSSIA→B)-TXpwrA,max(RSSIB→A)-TXpwrB).Table 1
Graph-assembly table.
Low-level address
Node type descriptor
TX-power
RSSI channel 1
RSSI channelnRSSI (in dB m) is the received signal strength indicator as reported by the transceiver when receiving the beacons. TXpwr (in dB m) is the nominal transmit power of the node sending the beacon. Edge weights gM,AB (in dB) are estimates for the interference-corrected channel attenuation between nodes A and B. Antenna, matching, and insertion losses at transmitter and receiver need not be accounted for but are dealt with during preprocessing. A small number of missing graph-assembly tables can be tolerated because all relevant information is redundantly available in the assembly tables of neighbouring nodes.An alternative edge weight is given bygM,AB′=avg(⋯). A large deviation between gM,AB and gM,AB′ indicates the presence of an asymmetrical link. This can happen for a variety of causes, but if the majority of links of a particular node are asymmetric, it is a strong indication for a defect in the node’s transmission or reception path. It does not matter for the purpose of address assignment because the max function masks the problem. Problems concerning the antenna are usually symmetrical and cannot be detected by this mechanism.


## 3.3. Preprocessing the Graphs/Noise Cancellation

This section discusses the third step (matching algorithm) of the three-step process outlined in Section1.1. Specifically, the mechanics of preprocessing measured and simulated connectivity graphs are considered. Preprocessing involves the following steps:(i)
optionally thinning out edges with very small weights (e.g., −95 dB and below),(ii)
estimation of the global offset,(iii)
normalization, dynamic range compression,(iv)
cancellation of vertex noise.There is a strong correlation between distance and path loss (cf. Figure2). While in the indoor NLOS environment it is not directly useful without the ray tracer, the fact remains and it leaves its imprint on the data. One important consequence of this correlation is the fact that in the typical graph-assembly table, the majority of neighbours have a low or very low RSSI. This is because the volume of a sphere increases with the cube of the radius; that is, in a building with evenly distributed nodes, more neighbours are near the limit of radio coverage than there are neighbours which are reliable communication partners. This also means that a disproportionally high number of edge weights in the measured connectivity graph are near the noise floor or the limit of receiver sensitivity—the weight distribution is heavy at the low end. Figure 4 illustrates the point by means of the test data set.In the simulation, receivers are not limited with respect to sensitivity or noise. The low end of the weight distribution in measured and simulated connectivity graphs therefore tends to look markedly dissimilar. There are more issues complicating things.(i)
Graph-assembly tables may be limited in size, which results in edges missing in the measured but not the simulated connectivity graph, also predominately at the low end.(ii)
Edge noise also tends to be larger at the low end because inaccuracies with respect to material parameters and geometry tend to accumulate in transmission paths that are subject to several transmissions and reflections.There is a tradeoff with respect to choosing which edges to keep and which to discard. Discarding many edges at the low end reduces noise and thereby increases the accuracy of the match and simultaneously lowers computation time of graph matching. The problem lies with choosing corresponding edges to discard in both graphs, especially considering that the graphs are permuted and the data is noisy. Eagerly discarding many edges means potentially discarding noncorresponding edges in measured and simulated connectivity graphs, and thereby amplifying a small amount of noise to a much bigger problem by having many unmatched edges.The approach taken by the reference implementation is therefore to keep all edges. An alternative, but ultimately abandoned, approach is to try to minimize the number of unmatched edges by forcing the number of edges in both graphs to be equal. This can be achieved by discarding edges from the bottom of the simulated weight distribution until the number becomes equal. The strategy fails whenever there are outliers with respect to vertex noise. Vertices with high positive vertex noise end up almost without any edges, which reduces the quality of the match.Choosing the global
o
f
f
set is nonobvious. Aligning the weight distributions by its means is suboptimal for later graph matching because the distributions are heavy at their low end which is also noisy. The median is better. Still, better results are obtained by aligning at the 9th 10-quantile, that is, choosing off such that the weight distributions of GM and (GS+offJSP) share a point where 90% of the weights of each distribution lie below and 10% above. This strategy relies mostly on the magnitude of LOS weights while at the same time being reasonably immune to outliers.Dynamic range compression serves to emphasise the relative importance of edges weights with low noise at the top of the distribution over graph edges with high relative noise. It is combined with normalization of the graph edges between 0 and 1:
(3)GM(C)=(c1GM+c2JM)α,GS(C)=(c1(GS+offJS)+c2JS)α,c1=(max(max(GM),max(GS+offJS))-min(min(GM),min(GS+offJS)))-1,c2=-c1min(min(GM),min(GS+offJS)).α is the parameter that governs the amount of compression applied. The reference implementation chooses α=2.5 which is empirically determined. GM(C) and GS(C) are the normalized and compressed adjacency matrices. JM and JS are logical matrices indicating the nonzero elements of GM and GS. c1 and c2 are derived from minimal and maximal edge weights in order to normalize the graphs.Vertex noise elimination: the underlying idea is to mathematically transform the wireless network’s connectivity graph into an analogue representation where vertex noise is baseless. In (1) each wireless node transmits a fixed amount of RF energy (normalized to 0 dB) into the channel of which a small amount is received at its neighbours, represented by the edge weights. Vertex noise is a systematic deviation between simulation and measurement where the energy balance between a node and its neighbours is biased. In the analogue representation, the energy balance is not normalized to the transmitted energy but to the received energy. Find a multiplier for each vertex such that the sum of the received energy is 0 dB (in fact 1 because of normalization) in the transformed adjacency matrices GM(S) and GS(S):
(4)GM(S)=DMGM(C)DM,GS(S)=DSGS(C)DS.D
M and DS are diagonal matrices with the vertex multipliers. GM(S) and GS(S) are doubly stochastic, symmetric matrices (columns and rows sum to 1). The elements are fractions between 0 and 1 and express how much a particular edge contributes to the hypothetical 0 dB received energy figure.Finding the multipliers and stochastic matrices is achieved by applying the Sinkhorn-Knopp (SK) algorithm [23] on the normalized matrices GM(C) and GS(C). This works as advertised as long as they are fully indecomposable. This seems to be the case as long as the underlying graphs are connected; that is, the previous thinning out of edges has not led to any unconnected subgraphs.The transformed graphsGM(S) and GS(S) allow us to reformulate the original problem (1) as
(5)GM(S)=PTGS(S)P+N(S).SinceGM(S) and GS(S) are doubly stochastic, N(S) is zero mean and therefore per definition free of vertex noise. Moreover, the original vertex noise does not otherwise significantly magnify N(S). Temporarily setting α=1, we can express N(S) as
(6)N(S)=DM(c1PTGSP+c1offJSP+c2JM)DM-DSP(c1GM+c2JSP)DSP+c1DM(NVJSP+JSPNV+NE)DM+c1DSP(NVJSP+JSPNV+NE)DSP.The first part of (6) contains two terms that apply the vertex multipliers DM and DSP=PDSPT to the respective other adjacency matrix, but as defined it does so by observing the right permutational order. In the second part, the original noise is downscaled using the vertex multipliers. This equation can be further analysed in two important special cases.Case 1 (α=1, P=I, NV=0 (edge noise only)).
The inputs into the SK algorithm (4) differ only by NE which is zero mean (1). By the rules of the SK algorithm, this leads to identical vertex multipliers; that is, DS=DM. The first part of (6) can therefore be rewritten to PTGS(S)P-GM(S), which is -N(S). The whole equation simplifies to N(S)=c1DNED. In the absence of vertex noise, the preprocessed noise N(S) is no more than correctly scaled edge noise.Case 2 (α=1, off=0, P=I, NE=0 (vertex noise only)).
This case is studied by first introducing modified vertex noiseNV′ and modified edge noise NE′: GM=NV′(PTGSP+offJSP)NV′+NE′. The modified definition is largely equivalent to (1), with the difference being that vertex specific deviations between GM and GS are represented by a multiplicative factor NV′, not a summand. From NE′=0, as well asthe other preconditions, follow GS(S)=GM(S) because the multiplicative NV′ is drawn into the vertex multiplier DS by the SK algorithm. From there follows N(S)=0. Under the preconditions of Case 2, preprocessing perfectly eliminates modified vertex noise. Given the more useful original definition of vertex noise instead, but also given NV<GM, GS, it can be shown that there remains some residual N(S) which is however zero mean and therefore no longer behaves like vertex noise.
In general,P is of course unequal I. Finding P is after all the point of address assignment. But the behaviour demonstrated by the special cases transfer well to the general case. Vertex noise is to a certain degree suppressed and to a certain degree mutated into edge noise and the latter transforms proportionally with the adjacency matrices.
The downside of vertex noise elimination is that the edge weight distribution ofGM(S) and GS(S) compares unfavourably with the situation before vertex noise elimination—almost all edges very close to zero. Still, it is worth the effort in case of the demonstration data set of Section 4. Whether this is true in all cases remains to be the subject of future research.


## 3.4. Weighted Graph Matching

This section discusses the third step (matching algorithm) of the three-step process outlined in Section1.1. The weighted graph matching problem (WGM) is well known in the field of combinatorial optimization. It is equivalent to the quadratic assignment problem, which is NP-complete. There exist no efficient algorithms for finding optimal solutions. Several heuristic approaches have been surveyed for suitability in address assignment [24–29]. We chose to implement the algorithm of Gold and Rangarajan [28] because it compares favourably along several dimensions important to address assignment:(i)
performance—in the sense of low-order computational complexity; Zaslavskiy lists it amongst the best performing [29],(ii)
converges well on noisy data,(iii)
deals with missing and spurious vertices and edges,(iv)
takes advantage of optional vertex attributes,(v)
supports sparse problems,(vi)
relatively simple and parallelizable algorithm, which makes it suitable for implementation with GPGPU (general purpose computation on graphics processing unit).The graduated assignment approach of Gold and Rangarajan is related to deterministic annealing. It relaxes or convexifies the problem by first allowing values other than “0” and “1” in the vertex assignments. Instead of a permutation matrix, the algorithm computes a doubly stochastic matrix, indicating the similarity of vertices given no particular assignment. As the control parameter increases, the problem becomes increasingly nonconvex; the doubly stochastic matrix is pushed more and more towards a permutation matrix. The algorithm thereby avoids local minima because it started off in the global minimum of the convex problem and tracks the evolution of this global minimum from the maximally convex version of the problem to the original nonconvex version.The algorithm is implemented using a combination of Matlab and CUDA. It performs well (minutes) for graphs up to 2000 vertices and 80000 edges, at which point the necessary data structures become too large to fit into GPU (Nvidia GeForce GTX 560 Ti, 384 CUDA cores, 2 GB RAM) memory.Anchors are nodes for which the address assignment is known a priori. Typically, this is the network’s coordinator, nodes specially joined to the network for the sole purpose of commissioning, or any other node that the commissioning technician visits manually during the procedure. In terms of the matching algorithm, anchors are not unlike additional vertex attributes (like device type) in that they amend the objective function and thereby bias or restrict the state space. Indeed, anchors could be implemented within the formalism of Gold and Rangarajan in terms of vertex attributes, whereas each anchor corresponds to one extra global binary vertex attribute which is zero for all vertices except the anchor.On the other hand, anchors are a column and row of the permutation matrixP that is known a priori. A simpler approach is therefore to slightly change the softassign step of the algorithm and replace it by a definitive assignment for just the affected columns and rows. This can be useful for noisy problems, where a small number of anchors can direct the algorithm towards convergence.Weighted graph matching is a least square-error optimization. This leads to ambiguity in the interpretation of matching errors, that is, misassigned nodes. An error can mean one of two things.(i)
The weighted graph-matching algorithm converged to a suboptimal solution.(ii)
The weighted graph matching algorithm converged to the optimal solution and noise was biased in a way that made the wrong solution optimal.For all but for toy-sized problems (less than approximately 11 vertices), it is essentially impossible to compare the result with the real optimal solution, so in the majority of cases the question cannot be answered.The number of vertices in measured and simulated graphs may be unequal. Failure to transmit the graph-assembly table should not normally be the cause of missing vertices because the existence of the underlying node is evident in the graph-assembly tables of neighbouring nodes. Not working, not installed, or spuriously installed nodes, however, result in graphs of unequal sizes. The weighted graph-matching algorithm deals with that by introducing a suitable number of slacks. They should be introduced only in this stage because zero-sum rows and columns cause problems during vertex-noise elimination.


## 4. Experimental Evaluation

In order to demonstrate the viability of the approach, we leverage the data set originally collected by King et al. [1]. It consists of 12 IEEE 802.11 “WiFi” access points and 130 fingerprinting positions of RSSI measurements. Out of the 12 access points, 2 are excluded because one has no data associated and the other is redundant. Of the fingerprinting positions, 24 in regular 4.5 m grid have been selected for the demonstration, leading to a total size 34 vertices in the data set. Fading effects are countered using a slightly different strategy than the one described in Section 3.1. Instead of measuring at different frequencies, King et al. repeated each measurement several times with different orientations and slight displacements of the reception antenna.


### 4.1. Modelling of the Demonstration Site

The site is modelled with WinProp (cf. Figure3), using the floor plan in the publication as basis and filling in the details about the materials and mounting heights after a personal visit at the site. The walls throughout the surveyed corridors and offices are metal-plated, so are the doors. This makes the site somewhat unusual if not especially challenging. Wave propagation between rooms therefore happens primarily above the suspended ceiling. The high reflectivity of the environment requires a higher than usual number of samples (rays) to adequately approximate the RF-energy distribution.Figure 3
Floor plan of the Mannheim site as viewed in the WinProp simulation tool. “Site x” are WiFi access points and “Node x” are the selected points of measurement and together form the simulated connectivity graph.Figure 4
Raw measurement data versus simulation data. Measurements are cut off at −95 dBm due to interference and receiver sensitivity. “q” is the 9th 10-quantile used for estimating the global offset. Zeros mean nonexistent edges; they are not counted towards μ and q.Not included in the model are furniture, conduits above the suspended ceiling, columns of the building’s reinforced frame, details of the façade, and the characteristics of the reception antenna. Also unknown is the state of the metal doors (fully open/half open/closed) at the time of the measurements. In the simulation all doors are assumed closed. This may be one of the major contributors to noise in the test data set. Table2 details the parametrization of the Winprop ray-tracing simulation.Table 2
Most important configuration parameters of the ray-tracing simulation with WinProp.
Max transmissions/reflections/diffractions/scattering of each ray
4/4/2/1
Total max interactions (reflections + diffractions + scattering)
4
Uncorrelated simulation (not coherent, no phase)
Empirical loss model (not based on Fresnel equation)Figure4 is a comparison between the measurement of King et al. and the simulation. The large deviation of the 9th 10-quantile (global offset off) can be attributed to unknowns with regard to the exact details of the RSSI measurement (antenna, cables, and WiFi equipment). It is not relevant for the purpose of address assignment and is compensated in the preprocessing stage. The deviation between simulation and measurement—here treated as vertex noise and edge noise—is depicted in Figure 5. Relative edge noise (NER=NE∅(0.5GM+0.5PTGSP)) fits a Gaussian model well with σ=0.08dB/dB (∅ means elementwise division on nonzero elements). As explained in Section 3, this is to be expected because noise is the consequence of a multiplicative product of uncertain quantities. Furthermore, edge noise is not constant over the range of edge weights, with edges at the low end being more noisy than the rest. Extraction of vertex noise from the test data set is done by directly solving (1) and optimizing for minimal edge noise. (This is possible with the test data set because only in this case the permutation P is known a priori.)Figure 5
Measured versus simulated data, noise distribution, and no preprocessing except elimination of global offset. Outliers in vertex noise are due to modelling inaccuracies. As expected, edge noise fits the Gaussian model well, especially when expressed relatively to edge weight.


### 4.2. Completing the Test Data Set

The data set of King et al. was recorded for the purpose of fingerprinting the channel rather than address assignment. Instead of wireless node-to-node measurement of RSSI, it contains measurements from access point to fingerprinting position. What is missing are RSSI measurements from access point to access point and from fingerprinting position to fingerprinting position.The missing edges of the measured connectivity graph are estimated by taking values from the simulation and overlaying them with the noise profile extracted from comparing the available measurements with the corresponding data from the simulation; confer Figure5. Vertex noise is applied unaltered, and edge noise is sampled from a random number generator. The measured data set thus consists of 203 real measured edges and 276 estimates with identical noise properties. We consider the resulting synthetic measurement graph of 34 vertices and 479 edges (measurements and estimates) to be a fair and realistic approximation of what could be expected by true node-to-node measurements of RSSI.The experiment is set up as follows.(1)
Analyse noise, fill in missing edges inGM, and optionally enhance noise artificially.(2)
Apply random permutationP in order to get simulated connectivity graph GS.(3)
Preprocess; use weighted graph matching to recover address assignmentP'.(4)
CompareP with P' and count matching errors.No anchors or additional vertex attributes are added to the data set.


### 4.3. Results

There are two sources of randomness in the test data set and graph-matching procedure: the random Gaussian noise used to complement the measured connectivity graph and the random permutation. The results of ten test runs are therefore averaged.The presented method of address assignment is able to perfectly match (34 of 34 vertices) the test data set. Figure6 details the matching performance if the noise is artificially inflated—vertex noise, edge noise, and both. Performance degradation first starts with a single vertex, “Site 01,” in the lower left of Figure 3; it is also the positive outlier visible in the vertex-noise histogram in Figure 5. This vertex is responsible for the misordering of neighbouring vertices “Node 23” and “Node 24.”Figure 6
Artificial amplification of noise in the test data set. The factor in the abscissa scales a logarithmic quantity. Vertex noise is well suppressed and edge noise shouldnot be any bigger thanσ=5.15 dB. 5% more edge noise and sporadic matching errors manifest. 10% more edge noise and performance degrades to 90%.Figure6 suggests that the algorithm is stressed to its limit by the test data set. On the other hand, the noise being scaled is a logarithmic quantity. In the tails of the edge noise distribution (Figure 5, tails at 15 dB, σ=5.15dB), the factor of dB of 1.26 means linearly 2.45 times more deviation between measurement and simulation.A second experiment is conducted with fully random graphs of 500 nodes. The graphGM is constructed by choosing 500 uniformly distributed random points in a 50×50×100 m rectangular area and calculating RSSI using the inverse square law with an empirical “inverse square” of −3.5 and dipole antennas. Then GS is derived by applying vertex and edge noises. Results are depicted in Figure 7. The noise envelop is not directly comparable with Figure 6, as in the former case the variance is constant over the dynamic range and in the latter case it scales linearly with 0.08 dB/dB (cf. Figure 5). The apparent inferior performance at 5 dB edge noise (100% versus 85%) is attributable to this fact and not to the increased graph size.Figure 7
Edge noise versus vertex noise on random graphs of 500 vertices. Contrary to Figure6, the (Gaussian) edge noise is uniform, not scaled, over the dynamic range; the result therefore appears slightly inferior.


## 4.1. Modelling of the Demonstration Site

The site is modelled with WinProp (cf. Figure3), using the floor plan in the publication as basis and filling in the details about the materials and mounting heights after a personal visit at the site. The walls throughout the surveyed corridors and offices are metal-plated, so are the doors. This makes the site somewhat unusual if not especially challenging. Wave propagation between rooms therefore happens primarily above the suspended ceiling. The high reflectivity of the environment requires a higher than usual number of samples (rays) to adequately approximate the RF-energy distribution.Figure 3
Floor plan of the Mannheim site as viewed in the WinProp simulation tool. “Site x” are WiFi access points and “Node x” are the selected points of measurement and together form the simulated connectivity graph.Figure 4
Raw measurement data versus simulation data. Measurements are cut off at −95 dBm due to interference and receiver sensitivity. “q” is the 9th 10-quantile used for estimating the global offset. Zeros mean nonexistent edges; they are not counted towards μ and q.Not included in the model are furniture, conduits above the suspended ceiling, columns of the building’s reinforced frame, details of the façade, and the characteristics of the reception antenna. Also unknown is the state of the metal doors (fully open/half open/closed) at the time of the measurements. In the simulation all doors are assumed closed. This may be one of the major contributors to noise in the test data set. Table2 details the parametrization of the Winprop ray-tracing simulation.Table 2
Most important configuration parameters of the ray-tracing simulation with WinProp.
Max transmissions/reflections/diffractions/scattering of each ray
4/4/2/1
Total max interactions (reflections + diffractions + scattering)
4
Uncorrelated simulation (not coherent, no phase)
Empirical loss model (not based on Fresnel equation)Figure4 is a comparison between the measurement of King et al. and the simulation. The large deviation of the 9th 10-quantile (global offset off) can be attributed to unknowns with regard to the exact details of the RSSI measurement (antenna, cables, and WiFi equipment). It is not relevant for the purpose of address assignment and is compensated in the preprocessing stage. The deviation between simulation and measurement—here treated as vertex noise and edge noise—is depicted in Figure 5. Relative edge noise (NER=NE∅(0.5GM+0.5PTGSP)) fits a Gaussian model well with σ=0.08dB/dB (∅ means elementwise division on nonzero elements). As explained in Section 3, this is to be expected because noise is the consequence of a multiplicative product of uncertain quantities. Furthermore, edge noise is not constant over the range of edge weights, with edges at the low end being more noisy than the rest. Extraction of vertex noise from the test data set is done by directly solving (1) and optimizing for minimal edge noise. (This is possible with the test data set because only in this case the permutation P is known a priori.)Figure 5
Measured versus simulated data, noise distribution, and no preprocessing except elimination of global offset. Outliers in vertex noise are due to modelling inaccuracies. As expected, edge noise fits the Gaussian model well, especially when expressed relatively to edge weight.


## 4.2. Completing the Test Data Set

The data set of King et al. was recorded for the purpose of fingerprinting the channel rather than address assignment. Instead of wireless node-to-node measurement of RSSI, it contains measurements from access point to fingerprinting position. What is missing are RSSI measurements from access point to access point and from fingerprinting position to fingerprinting position.The missing edges of the measured connectivity graph are estimated by taking values from the simulation and overlaying them with the noise profile extracted from comparing the available measurements with the corresponding data from the simulation; confer Figure5. Vertex noise is applied unaltered, and edge noise is sampled from a random number generator. The measured data set thus consists of 203 real measured edges and 276 estimates with identical noise properties. We consider the resulting synthetic measurement graph of 34 vertices and 479 edges (measurements and estimates) to be a fair and realistic approximation of what could be expected by true node-to-node measurements of RSSI.The experiment is set up as follows.(1)
Analyse noise, fill in missing edges inGM, and optionally enhance noise artificially.(2)
Apply random permutationP in order to get simulated connectivity graph GS.(3)
Preprocess; use weighted graph matching to recover address assignmentP'.(4)
CompareP with P' and count matching errors.No anchors or additional vertex attributes are added to the data set.


## 4.3. Results

There are two sources of randomness in the test data set and graph-matching procedure: the random Gaussian noise used to complement the measured connectivity graph and the random permutation. The results of ten test runs are therefore averaged.The presented method of address assignment is able to perfectly match (34 of 34 vertices) the test data set. Figure6 details the matching performance if the noise is artificially inflated—vertex noise, edge noise, and both. Performance degradation first starts with a single vertex, “Site 01,” in the lower left of Figure 3; it is also the positive outlier visible in the vertex-noise histogram in Figure 5. This vertex is responsible for the misordering of neighbouring vertices “Node 23” and “Node 24.”Figure 6
Artificial amplification of noise in the test data set. The factor in the abscissa scales a logarithmic quantity. Vertex noise is well suppressed and edge noise shouldnot be any bigger thanσ=5.15 dB. 5% more edge noise and sporadic matching errors manifest. 10% more edge noise and performance degrades to 90%.Figure6 suggests that the algorithm is stressed to its limit by the test data set. On the other hand, the noise being scaled is a logarithmic quantity. In the tails of the edge noise distribution (Figure 5, tails at 15 dB, σ=5.15dB), the factor of dB of 1.26 means linearly 2.45 times more deviation between measurement and simulation.A second experiment is conducted with fully random graphs of 500 nodes. The graphGM is constructed by choosing 500 uniformly distributed random points in a 50×50×100 m rectangular area and calculating RSSI using the inverse square law with an empirical “inverse square” of −3.5 and dipole antennas. Then GS is derived by applying vertex and edge noises. Results are depicted in Figure 7. The noise envelop is not directly comparable with Figure 6, as in the former case the variance is constant over the dynamic range and in the latter case it scales linearly with 0.08 dB/dB (cf. Figure 5). The apparent inferior performance at 5 dB edge noise (100% versus 85%) is attributable to this fact and not to the increased graph size.Figure 7
Edge noise versus vertex noise on random graphs of 500 vertices. Contrary to Figure6, the (Gaussian) edge noise is uniform, not scaled, over the dynamic range; the result therefore appears slightly inferior.


## 5. Conclusion

Section1.1 introduces a novel method for automatic address assignment, based on a three-step process of channel estimation, channel simulation, and graph matching. The individual steps are discussed in Section 3.In order to assess the potential general applicability of the method, it is necessary to put the experimental results of Section4 into perspective. The test data is believed to be more challenging than the average application because of the following aspects. (i)
The site is difficult to handle because of metal-plated walls.(ii)
The situation during which the measurement was performed by King et al. was more challenging and less controlled than what can be expected during typical application of the address assignment procedure (furniture, unknown state of metal-plated doors).(iii)
Additional vertex attributes (especially device type) are not present in the data set but would be in typical applications.Yet, the proposed address assignment procedure is able to solve the problem perfectly and reliably. This is achieved without low-level optimization of the material properties used in the ray tracer. The existence of outliers (vertex noise) in the data set and the fact that the proposed method is able to cope with it suggest that it will also cope with real-world challenges such as misplaced and inappropriately mounted nodes.The results show that the proposed method of address assignment is able to significantly lower the cost of commissioning large-scale indoor wireless automation networks. This is achieved by changing a task that previously requires manual intervention on a per-node basis to one that is performed once, for the whole network.Easy address assignment is an enabler for the Internet of Things because it is an enabler for ubiquitous positioning. The address assignment procedure provides as its byproduct a dense network of anchors (wireless nodes with known ID and known location) and a detailed channel map. This is precisely what indoor positioning systems as surveyed in Section2 need in order to provide reliable and high-quality service. The second enabling effect is bringing down the costs of installing low-power indoor wireless networks.For industrial application of the proposed method, the different pieces of the solution have to be more closely integrated: building automation planning tool, 3D modelling package, ray tracer, and, last but not least, the matching procedure. This has to be done in a way that integrates with established industry procedures and with respect to roles and responsibilities. The architect or planner has to deliver 3D models of the structure, the planner of the automation network the deployment plan. Both have to be imported and refined in the ray tracer. Using the commissioning tool, the commissioning technician has to perform the channel measurement and do the graph matching. The resulting address assignment needs to be committed to the network, again using the commissioning tool.Furthermore, the commissioning technician may decide on site to perform the procedure on the whole network or on smaller parts. The technician may have last minute changes or may define a small number of anchors, for example, in parts of the building where the ray-tracing model is lacking for some reason. The proposed procedure supports all these scenarios, but the tools need to be created.Topics of future research include the study of applicability of the procedure to outdoor environments, for example, in environmental monitoring or street lighting scenarios. Some low-power wireless platforms also come with the ability to perform time-of-flight measurements. While the graph-matching stays the same, preprocessing the time-of-flight data poses different challenges.



---

*Source: 495653-2013-09-01.xml*