d3.3: demonstration and evaluation of the context ... · and contextualization. location-based...
TRANSCRIPT
Grant Agreement No.: 688116
Call: H2020-ICT-2015
Topic: ICT-12-2015 Type of action: RIA
D3.3: Demonstration and evaluation of the context provisioning and
sensing algorithms Revision: v.1.0
Work package WP3
Task Task 3.3
Due date 28/02/2018
Submission date
Deliverable lead TCD
Version 1.0
Authors Erika Fonseca (TCD), Luiz DaSilva (TCD), Yi Zhang(TCD),
Shekhar Jain(TCD), Diarmuid Collins (TCD), Niels Karowski
(TUB), Filip Lemic (TUB), Sven Zehl (TUB), Anatolij Zubow
(TUB), Tomaz Solc (JSI), Carolina Fortuna (JSI), Klemen Bregar
(JSI), Andrej Hrovat (JSI), Tomaž Javornik (JSI), Tobias Kadur
(TUD), Martin Danneberg (TUD), Zhitao Lin (TUD), Martin
Schlüter (TUD)
Reviewers Shahab Ehsanfar (TUD) and Łukasz Kwiatkowski (ISW)
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 2 of 102
Abstract This deliverable show and review different sources of context
awareness in wireless networks. This is done with the end goal of
increasing the elasticity of next-generation wireless network, as
specified with the eWINE showcases. Moreover, we discuss an
approach for ultra-narrowband spectrum sensing and detect
relevant context information for two device-to-device
communication scenarios. As part of the document, we also discuss
location information where we cover our contribution to
cooperative localization and indoor localization. For the exchange
of the discussed context among interested network entities, the
document shows how can be provided diversity in the wireless
access to end users, as applying D2D to LTE and WiFi networks
experimentally, or with simulation with our distributed control
framework and a simulation framework.
Keywords Context provisioning; location information; radio environmental
map; spectrum sensing; device-to-device communication; network
control framework; front-end for wireless experimentation
Document Revision History
Version Date Description of change List of contributor(s)
V1.0
Disclaimer
The information, documentation and figures available in this deliverable, is written by the eWINE
(Elastic wireless networking experimentation) – project consortium under EC grant agreement 688116
and does not necessarily reflect the views of the European Commission. The European Commission is
not liable for any use that may be made of the information contained herein.
Confidential - The information contained in this document and any attachments are confidential. It is
governed according to the terms of the project consortium agreement
Copyright notice
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 3 of 102
© 2016 - 2018 eWINE Consortium
Acknowledgment
This report has received funding from the EC under the grant agreement 688116
* R: Document, report (excluding the periodic and final reports)
DEM: Demonstrator, pilot, prototype, plan designs
DEC: Websites, patents filing, press & media actions, videos, etc.
OTHER: Software, technical diagram, etc
Project co-funded by the European Commission in the H2020 Programme
Nature of the deliverable: R
Dissemination Level
PU Public, fully open, e.g. web ✓
CI Classified, information as referred to in Commission Decision 2001/844/EC
CO Confidential to eWINE project and Commission Services
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 4 of 102
EXECUTIVE SUMMARY
The purpose of this deliverable is to identify context information that can be used to improve the
elasticity of wireless networks. To create the context information, we use two approaches, localisation
and contextualization. Location-based services and context information in wireless networks need
accurate location information for mobile devices. Location information is a fundamental part of the
Showcase 1. In this deliverable, it is explained in a generalised architecture, in a cooperative scope and
also, in an indoor environment. From our simulations, we verified that the cooperative localization
algorithms could achieve better location of devices when compared to a non-cooperative algorithm. We
also investigate how to mitigate errors in indoor ambiences.
In the scope of contextualization, in Showcase 1, we explore the communication of device-to-device
(D2D) in two different ways. First, analysing the SNR and throughput to be used as a parameter to
decide an automatic mode selection. Second, we present different approaches to discover neighbours,
using cooperative information through the devices. We utilise the eWINE Intelligent End-to-End
Controller to collect relevant information and availability of the devices. The controller makes it possible
to compute a content exchange schedule on the network.
The reliable detection of other radio spectrum users is a critical component of future intelligent radios,
and it is explored in Showcase 2. It may also contain valuable context information. Ultra-narrowband
signals are an interesting approach as it is expected to be abundant in the near future. Additionally, we
discussed the capability of making informed decisions and the possibility of cooperating with other
technologies in a fair coexistent scenario. In this field, we also propose a channel list metric to classify
channels in white bands.
In Showcase 3, with the goal of accommodating different application requirements in a multi-RAT
scenario, we developed an extension to the WiSHFUL control framework that allows applications the
ability to express their communication needs. Finally, we utilise a load balancing over different PHYs,
what can provide a better experience end-to-end.
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 5 of 102
TABLE OF CONTENTS
EXECUTIVE SUMMARY ....................................................................................................................4
TABLE OF CONTENTS .......................................................................................................................5
ABBREVIATIONS ................................................................................................................................7
1 INTRODUCTION ................................................................................................................10
2 CONTEXTUALIZATION ...................................................................................................13
2.1 SNR/throughput estimation for automated mode selection D2D ...........................................13
2.1.1 Introduction .............................................................................................................................13
2.1.2 System description and implementation details ......................................................................14
2.1.3 Evaluation ...............................................................................................................................16
2.2 Detecting ultra-narrowband signals ........................................................................................22
2.2.1 Introduction .............................................................................................................................22
2.2.2 System description ..................................................................................................................23
2.2.3 Implementation details ............................................................................................................25
2.3 Channel Quality (CQ) estimation ...........................................................................................27
2.3.1 Introduction .............................................................................................................................27
2.3.2 Deriving a channel quality estimator for spectrum sensing data ............................................27
2.3.3 Empirically estimating PRR ...................................................................................................29
2.3.4 Results.....................................................................................................................................32
2.3.5 Summary .................................................................................................................................34
2.4 Description of application requirements .................................................................................34
2.4.1 Introduction .............................................................................................................................34
2.4.2 System description ..................................................................................................................34
2.4.3 Illustrative Example ................................................................................................................36
2.4.4 Implementation details ............................................................................................................37
2.4.5 Evaluation ...............................................................................................................................37
2.5 Estimator for link quality by computing expected SNR based on (inaccurate) location
information .............................................................................................................................................38
2.5.1 Introduction .............................................................................................................................38
2.5.2 D2D Link Establishment Scenario .........................................................................................39
2.5.3 System description ..................................................................................................................40
2.5.4 Evaluation ...............................................................................................................................42
2.6 Cooperation in Neighbour Discovery .....................................................................................45
2.6.1 Executive Summary ................................................................................................................45
2.6.2 Introduction .............................................................................................................................46
2.6.3 Related work ...........................................................................................................................47
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 6 of 102
2.6.4 System description ..................................................................................................................48
2.6.5 Cooperation in neighbour discovery .......................................................................................49
2.6.6 Evaluation ...............................................................................................................................52
2.6.7 Conclusion ..............................................................................................................................57
2.7 Throughput measurements and interface for load balancing between several PHY
technologies (mmWave, GFDM) ...........................................................................................................57
2.7.1 Introduction .............................................................................................................................57
2.7.2 System description ..................................................................................................................58
2.7.3 Implementation details ............................................................................................................60
2.7.4 Evaluation ...............................................................................................................................61
3 LOCALIZATION .................................................................................................................63
3.1 Generalized architecture .........................................................................................................63
3.1.1 Introduction .............................................................................................................................63
3.1.2 High-Level Overview of the SLSR ........................................................................................64
3.1.3 Design of the SLSR ................................................................................................................65
3.1.4. Implementation of the SLSR ..................................................................................................67
3.1.5. Instantiation of the SLSR ........................................................................................................69
3.1.6. Evaluation Setup, Scenarios, and Procedure ...........................................................................70
3.1.7. Evaluation Results ..................................................................................................................72
3.2 Cooperative localization .........................................................................................................74
3.2.1 Classification of cooperative localization methods ................................................................76
3.2.2 Least square localization algorithm based on convex relaxation ............................................78
3.2.3 Cooperative convex relaxation LS localization algorithm ......................................................78
3.2.4 Non-cooperative LS localization algorithm ............................................................................81
3.2.5 Evaluation criteria of localization algorithms .........................................................................82
3.2.6 Evaluation of convex relaxation cooperative algorithm .........................................................82
3.2.7 Conclusion ..............................................................................................................................87
3.3 Indoor localization with multilateration .................................................................................88
3.3.1 Introduction .............................................................................................................................88
3.3.2 System description ..................................................................................................................88
3.3.3 Implementation details ............................................................................................................89
3.3.4 Evaluation ...............................................................................................................................93
4 CONCLUSIONS ...................................................................................................................95
REFERENCES .....................................................................................................................................97
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 7 of 102
ABBREVIATIONS
AoA Angle of Arrival
AP Access Point
BI Beacon Interval
BLER Block Error Rate
BPSK Binary Phase Shift Keying
BS Base Station
CDF Cumulative Distribution Function
CIR Channel Impulse Response
CN Cognitive Network
CQ Channel Quality
D2D Device-to-Device
DFT Discrete Fourier Transform
DSP Digital Signal Processor
ED Euclidean Distance
FDD Frequency-division duplex
GDP Global Data Plane
GFSK Gaussian Frequency Shift Keying
GLONNAS Globalnaya Navigatsionnaya Sputnikovaya Sistema
GPS Global Positioning System
HD High-Definition
HP High Power
IDFT Inverse DFT
ILP Integer Linear Program
ILS Integrated Location Service
IMM Immediate Accounting
IMU Inertial Measurement Unit
IoT Internet of Things
ISM Industrial, Scientific, and Medical
ITS Intelligent Transportation Systems
kNN k-Nearest Neighbours
LBA Location-based application
LDT Last Discovery Time
LoS Line-of-Sight
LoS Line-of-Sight
LP Low Power
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 8 of 102
LS Least Square error estimator
LTE Long-Term Evolution
MAP Maximum a Posteriori
MCS Modulation Coding Scheme
MDT Mean Discovery Time
MIB Master Information Block
ML Maximum Likelihood estimator
MLE Maximum Likelihood Estimate
MMSE Minimum Mean Square Error
MPTCP Multipath TCP
MT-OPT Multi-Transceiver Optimized
NLoS Non-Line-of-Sight
OFDM Orthogonal frequency-division multiplexing
PDCCH Physical Downlink Control Channel
PDSCH Physical Downlink Shared Channel
PH Pompeiu–Hausdorff
PRB Physical Resource Block
PRR Packet Reception Ratio
PRSA Per-Request Satisfaction Algorithm
PSCCH Physical Sidelink Control Channel
PSI Provisioning Service Interface
PSS Primary Synchronization Signal
PSSCH Physical Sidelink Shared Channel
PSSS Sidelink Synchronization Signal
PTSA Per-Time bucket Satisfaction Algorithm
QAM Quadrature Amplitude Modulation
QoS Quality of Service
REST Representational State Transfer
RF Radio Frequency
RII Resource Interaction Interface
RMSE Root Mean Squared Error
RSS Received Signal Strength
RSSI Received Signal Strength Indicator
Rx Receiver
SBI Southbound Interface
SC-FDMA Single-carrier FDMA
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 9 of 102
SCI Sidelink Control Information
SLI Standardized Localization Interface
SLIP Location Information Provisioning
SLSR Standardized Localization Service
SLSR Standardized Localization Service
SNR Signal-to-Noise Ratio
TDoA Time Difference of Arrival
ToA Time of Arrival
ToF Time of Flight
Tx Transmitter
UE Remote User
UHD USRP Hardware Driver
UNB Ultra-narrowband
UWB Ultra-wide-band
VER Verified Accounting
VoIP Voice over IP
WAVE Wireless Access in Vehicular Environment
WLS Weighted Least Squares
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 10 of 102
1 INTRODUCTION
The eWINE project objective is to enable elastic wireless networks using the Cognitive Network (CN)
to perform adaptations and provide end-to-end solutions. The idea is to use a smart loop that guides
adjustments in the network. The loop considers what wireless devices can perform sensing, which is
intensified with a context extension. The information acquired is processed and utilised in the learning
and planning process ahead of the decision. After the decision, the loop leads a reconfiguration and
acting phase.
This deliverable is an extension of D3.1, which shows the ideas and results from Year 1 of the project
related to context provisioning, sensing algorithms, and cooperative localisation. In this deliverable, we
consider distinct techniques to sense and make the context extensions, which are split based on
localisation and contextualization approaches. These techniques are discussed in the context with the
following Showcases:
• Showcase 1: Elastic on-demand and end-to-end wireless connectivity service provisioning.
• Showcase 2: Elastic resource-sharing in dense heterogeneous and small cells
• Showcase 3: Open and reconfigurable physical layer for context-based service provisioning
Contextualisation approaches are discussed in Section 2, while Localisation is covered in Section 3.
Contextualisation approaches include:
• In Section 2.1, the contextualization approach covers concepts related to Showcase 1, where we
explain how to use the SNR/throughput estimation for automated mode selection in Device to
Device (D2D) communications. It shows the necessity to use some parameters to make the
decision between the downlink and sidelink. We executed experiments evaluating the
throughput and SNR related to the distance from the point of view of the remote user.
• Section 2.2 detecting ultra-narrowband signals, reports on follow-up work carried out in Year 1
of the eWINE project. In Year 1, we focused on detecting ultra-narrowband activity in the 868
MHz. In Year 2, we focused on tagging this activity to be able to make more informed decisions
and possibly cooperate with other technology for a fair sharing scheme. In this regard, we used
an existing machine vision algorithm to tag detected spectrum activity.
• In 2.3, we analyse the best channel quality metric to be used by the base station to select channels
for whitelisting. We assume that each channel can be assigned a quality metric and that the base
station will sort the channels according to this metric and include the best N channels in the
whitelist.
• In Section 2.4 we present an extension to the WiSHFUL control framework allowing
applications to proactively express their needs in terms of communications patterns and
preferences like type of traffic, bitrate, burstiness and timeliness. To select a suitable PHY
technology the base station requires knowledge about the requirements of applications running
on the device.
• In Section 2.5, a main component of Showcase 1 is the eWINE Intelligent End-to-End
Controller that collects interests and availability of content of devices. In order to compute a
content exchange schedule, the controller requires an estimate of the link quality between
content provider and consumer based on their location information. We developed an estimator
for link quality by computing expected SNR band on location information.
• In Section 2.6, we present neighbour discovery approaches in a D2D field that utilize
cooperation among devices in order to improve the discovery process. Devices include
information about discovered neighbours in their periodically transmitted beaconing messages.
Neighbours may use the received gossiped information to modify their listening schedules.
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 11 of 102
• In Section 2.7, throughput measurements and interface for load balancing between several PHY
technologies has been provided. Here, we do an extension of the SC3 demonstrator in Year 2.
We assume an intelligent base station is equipped with multiple radio access technologies
(multi-RAT) and via a load-balancing algorithm multiplexes the data over multiple PHY layers.
Combining the resilience of GFDM with the broadband communication of mmWave, we aim
at providing a high throughput and robust communication between the access point and the user
device. The throughput measurements where the data is multiplexed between the two PHY
layers is provided in this section.
In Section 3, Location information of mobile devices is a foundational input to location-based services
and a valuable source of context information in wireless networks. Unfortunately, individual localization
services seldom satisfy all these requirements. For achieving that vision, a set of challenges has to be
addressed, pertaining to handover, fusion, and integration of different sources of location information.
Current approaches for integration of individual localization services are either not specific enough or
are limited in scope and lack flexibility. To maximize the value, we need location information that is
accurate, robust, and promptly and seamlessly available. Towards this goal, we developed the following
localisation services:
• In the Section 3.1, we provide a detailed design and a prototypical implementation of the
Standardized Localization Service (SLSR), a middleware architecture for achieving those
goals.
• Cooperative localization is approached in Section 3.2. In Year 1 we focused on non-cooperative
localization algorithms and preparation of the experimental/simulation environment for testing
localization algorithms. In contrast, the main activities for Year 2 were focused on the
development, implementation and evaluation of the cooperative localization algorithms. The
selected algorithm based on the convex relaxation approach has been evaluated applying
computer simulations and also applying signal strength measurements from Log-a-Tec testbed.
The location error applying cooperative localization algorithm is several times lower compared
to localization error achieved by the reference non-cooperative algorithms.
• In Section 3.3 indoor localisation with multilateration, is a continuation and extension of work
previously presented in WP3 Y1 report. It presents UWB indoor localization approaches with
various error mitigation techniques based on deep learning NLoS classification and ranging
error regression models described in details in WP5 Y2 report.
The mapping of the D3.3 deliverable contributions with the three eWINE showcases can be seen in
Table 1. The design and implementations of the showcases 1, 2 and 3 in the form of contributions are
presented in the sections 2, 3 and 4, respectively.
Table 1 Mapping of the contributions to the eWINE showcases.
Showcase 1 Showcase 2 Showcase 3
SNR/throughput estimation for
automated mode selection in D2D Detecting ultra-narrowband signals
Description of application
requirements
Cooperation in Neighbour Discovery Channel Quality estimation
Estimator for link quality by
computing expected SNR based on
(inaccurate) location information
Generalized architecture
Throughput measurements and
interface for load balancing between
several PHY technologies (mmWave,
GFDM)
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 12 of 102
Cooperative localization
Indoor localization with
multilateration
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 13 of 102
2 CONTEXTUALIZATION
2.1 SNR/throughput estimation for automated mode selection D2D
2.1.1 Introduction
Device to device communication was included in the release 12 of the standard of LTE [1] as an option
of the link between the remote user (UE) and the eNodeB, but what was not included in the release is
how a UE will choose between these two links.
Usually, the UE seeks for some content of the network, or it wants to transmit to the network. Depending
on what the user needs to do, the threshold of the link can be changed and the necessity of change the
link can happen. Another case that can occur is the link that is being used gets weak, in this case, it’s
also necessary to choose another link for the communication does not break.
In some locations (e.g. in the edge of cells) where coverage from the LTE base station cannot be
guaranteed, it is possible to use a UE as a relay from the eNodeB to a more remote UE, as illustrated in
Figure 1. As the user may exhibit mobility and channel conditions change from time to time, dynamic
mode selection functionality between infrastructure mode eNodeB-to-UE and D2D mode UE-to-UE is
needed.
Figure 1 Sidelink communication in LTE networks.
The SNR is often used in the literature to classify the quality of a transmission and reception in
communications. If the SNR is too low, it is not possible to decode the signal because when it arrives in
the reception with low power, it makes difficult for the system to understand what the signal is and what
is noise. When the SNR is high, it is possible to increase the modulation complexity what make possible
transmit more information using the same structure (band, channel, etc.). Thinking in the point of view
of the UE, we decided to use this parameter to choose the link in our mode selection.
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 14 of 102
The level of throughput that can be achieved in communication is related to the SNR and the modulation
that is used. The throughput expresses the successful rate that a user can receive or transmit in a link
what is extremely important in the point of view of the UE for its uses.
As SNR and throughput are directly related to the user experience in the link, in our approach we choose
these parameters to make the evaluation of our mode selection.
The mode selection between infrastructure mode and D2D mode developed in our work can optimize
the performance of LTE network links so mobile users can achieve higher QoS. Our work on this open-
source D2D communication is a useful reference for future 3GPP standardization activities.
2.1.2 System description and implementation details
The system that integrate LTE and D2D need to have at least 3 components, eNodeB, the relay UE and
the remote UE. The eNodeB is the component that provide connection to the network infrastructure, it
is the base station (BS) in LTE. The relay UE is a user from the LTE network that can provide connection
to other users from its own connection, in other words, this user can transmit to other users some content
that comes from the eNodeB in a different channel than what it receives. The remote UE is the user that
has the capability of using more than one channel to communicate, in our approach, when this
component fells a degradation in the link where it does its communication, it uses the mode selection to
choose another link.
Our design and implementation focuses on the LTE sidelink and relay functionality. The first challenge
is to develop the sidelink PHY layer data transmission channels, which adopt a SC-FDMA waveform,
according to the LTE standard. The second challenge is to build the relay functionality for the UE. The
third challenge is to design the mode selection functionality in the remote UE to establish either a
sidelink (with the relay UE) or a downlink connection (with the eNodeB).
For implementing the sidelink communication and relay functionality, and to make it compliant with
the LTE standard, we have used the srsLTE library [2], an open source PHY layer platform for software-
defined radio implementation of the FDD mode of LTE [3]. The library follows a modular approach,
which helps in combining different PHY layer DSP components together without the need to change
every element. We have extended the code, implementing the sidelink and relay functionalities while
also making use of existing components in srsLTE, namely the uplink and downlink modules, which are
compliant to 3GPP LTE Release 8.
2.1.2.1 Implementation of Physical Sidelink Shared Channel (PSSCH) with SC-FDMA
The PSSCH is the PHY channel for data transmission on the sidelink. According to the 3GPP LTE
standard Release 12, the PSSCH must use SC-FDMA for data transmission. The main difference in
implementation between SC-FDMA and OFDM (which is used in the downlink) is that an additional
Discrete Fourier Transform (DFT) is needed in the transmitter and an additional Inverse Discrete Fourier
Transform (IDFT) is needed in the receiver, as shown in Figure 2. We implement the PSSCH by
inserting the DFT and IDFT modules, available at the FFTW3 and srsLTE software library, into the
OFDM radio DSP chain for the PSSCH.
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 15 of 102
Figure 2 Block diagram of SC-FDMA transmitter (Tx) and receiver (Rx).
A Physical Sidelink Control Channel (PSCCH) is also needed for accomplishing the functionality of
PSSCH. In our sidelink implementation, three symbols per subframe are allocated for the PSCCH, and
Sidelink Control Information (SCI) is included in these symbols. The SCI may include information on
the MCS, a group destination identifier, the resource block assignment and hopping resource allocation,
a frequency hopping flag, etc. In our implementation we include minimum functionality for the PSCCH,
supporting flexible MCS selection by the sidelink controller (to be described in the following sections).
For the moment, we assign the entire set of resource blocks in the frequency channel of the sidelink to
a single pair of UEs. Figure 3 describes the software modules that we have reused from the srsLTE
software and the modules that we have revised/rebuilt by ourselves for the implementation of sidelink.
Figure 3 Block diagram of the modules used in the implementation.
2.1.2.2 Implementation of relay functionality in the relay UE
The relay UE is called upon to relay the data received in the downlink to the remote UE, communicating
over the sidelink. In order to run the downlink and sidelink in parallel, we create two different threads,
which individually perform the two sets of operations without interrupting each other. The internal
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 16 of 102
functionality of the relay UE is shown in Figure 4. A UE must establish the link with the eNodeB, first
searching for beaconing signals periodically transmitted by the base station (in the figure, this process
is referred to as a cell search). After the downlink is established, the UE must decode the Primary
Synchronization Signal (PSS) and Master Information Block (MIB) signals to synchronize with the
eNodeB. Then, it decodes the Physical Downlink Control Channel (PDCCH) and the Physical Downlink
Shared Channel (PDSCH) signals to receive data, which subsequently needs to be forwarded to the
remote UE over the sidelink. This data is then transmitted over the PSSCH using SC-FDMA. The
Primary Sidelink Synchronization Signal (PSSS) signal is also generated simultaneously, for
synchronization between two UEs that have established a sidelink.
Figure 4 Block diagram of the relay UE.
2.1.3 Evaluation
To verify the correct operation of the solutions described above, and to collect performance
measurement results, we have set up an experiment as shown in Error! Reference source not found..
The figure shows the eNodeB on the left-hand side, a UE that serves as a relay in the middle, and the
remote UE on the right-hand side. For the experiments reported here, we adopted the USRP
reconfigurable radio model B210 and the USRP Hardware Driver (UHD) interface. The USRP B210
hardware supports a 30.72 MHz clock, matching LTE sampling frequencies and enabling the decoding
of signals from live LTE base stations. Our experiment consists of three USRP B210 and three laptops
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 17 of 102
running srsLTE software, extended with our sidelink and relay implementation. Each USRP connects
to a different laptop through a UHD driver and USB 3.0.
In our measurements we maintain the locations of eNodeB and relay UE fixed and move the remote UE,
starting from the position of the eNodeB, towards the edge of the cell as depicted in Error! Reference
source not found.. A photograph of the measurement set-up is shown in Error! Reference source not
found.. The measurements focus on how the SNR and throughput vary with the position of the remote
UE. In the tests, a downlink signal is transmitted from the eNodeB to the remote UE and sidelink signal
is transmitted from the relay UE to the remote UE. To accommodate the range restrictions of the RF
hardware and the space available in the laboratory where the experiments took place, we fixed the
transmitter gain for the eNodeB at 55 dB, yielding a cell boundary at approximately 256 cm.
Figure 5 Experimental Set-up.
Figure 6 Measurement scenario.
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 18 of 102
Figure 7 Measurement Setup.
The following subsections describe the measurement results.
2.1.3.1 SNR measurements and mode selection
Figure 8 shows the average SNR as a function of distance, measured from the location of the eNodeB
to the remote UE, for both the sidelink (orange curve) and downlink (blue curve), when the transmitter
gain of the sidelink is fixed at 40 dB. (This is lower than the transmitter gain for the downlink because
the relay UE is supposed to have lower power consumption for transmission and lower coverage than
an eNodeB.) It is clear that, up to around 160 cm from the eNodeB, the downlink offers superior SNR
to the sidelink; past that point, establishing a sidelink to a relay UE provides an SNR advantage. Beyond
a distance of around 240 cm from the eNodeB, the only option available to the remote UE is to set up a
sidelink: this illustrates the range extension capabilities of D2D.
Figure 9 shows similar results of average SNR versus distance, but in this case the sidelink transmitter
gain has been set to 30 dB. We can see that around 180 cm is the switching point from downlink to
sidelink, if the objective is to maximize SNR. We can also see that the SNR for the sidelink is lower
than that reported in Figure 8, and the effective range extension is also reduced, reflecting the lower
setting for the sidelink gain.
Each point in Figure 8 and Figure 9 is the average of 1000 collected measurements. We also report the
standard deviation, the width of the 95% confidence internal, minimum, and maximum SNR in the Table
2,Table 3 and Table 4. Statistical analysis reveals that, for each value of distance, the SNR varies very
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 19 of 102
little and hence we have very tight confidence intervals.
Figure 8 SNR vs. distance for 40 dB sidelink transmitter gain.
Figure 9 SNR vs. distance for 30 dB sidelink transmitter gain.
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 20 of 102
Table 2 Statistical Analysis of the SNR for the sidelink, at 30dB transmitter gain.
Table 3 Statistical analysis of the SNR for the sidelink, at 40 dB transmitter gain.
Table 4 Statistical analysis of the SNR for the downlink, at 55dB transmitter gain.
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 21 of 102
2.1.3.2 Throughput measurements and mode selection
We also measure the maximum throughput using the same experimental setup shown in Error!
Reference source not found. and Error! Reference source not found.. In the 3GPP LTE standard, the
throughput is determined by the MCS index and number of Physical Resource Blocks (PRBs) utilized
for transmission. We allocate 25 PRBs for both downlink and sidelink in our experiment. Therefore, at
each measurement location we seek to reach the maximum throughput by increasing the MCS index of
the transmitters, for the downlink and sidelink, and record the maximum throughput while the observed
Block Error Rate (BLER) remains at zero. The highest modulation for the downlink is 64 Quadrature
Amplitude Modulation (QAM) and the highest modulation for the sidelink is 16 QAM according to the
LTE standard. Figure 10 and Figure 11 show how the throughput varies according to the position of the
remote UE; the trends follow closely those reported for the SNR.
Figure 10 Maximum throughput versus distance, for 40 dB sidelink gain.
Figure 11 Maximum throughput versus distance for 30 dB sidelink gain.
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 22 of 102
2.2 Detecting ultra-narrowband signals
2.2.1 Introduction
Ultra-narrowband (UNB) networks have recently emerged to provide connectivity to large numbers of
small, embedded devices. These devices mostly lie at the very bottom of the Internet of Things spectrum:
they require very little bandwidth and have very lax latency requirements. For example, a typical device
using UNB is a battery-powered water meter that sends a 32-byte payload, containing a meter reading
and identification, once per day to the communal services company. Mobile wireless technologies
oriented more towards interactive, high-bandwidth applications are not well suited for such use, due to
higher cost, transceiver and protocol complexity and energy use.
Ultra-narrowband networks employ very low bit-rate transmissions (on the order of 100 to 1000 bits/s)
using Binary Phase Shift Keying (BPSK) or Gaussian Frequency Shift Keying (GFSK) modulations
with bandwidths on the order of 100 Hz to 1 kHz. Typical packet transmission times are on the order of
1 to 10 seconds. They exhibit high spectral efficiency and low preamble overhead with short payloads
[4].
Some ultra-narrowband networks, such as Sigfox and Weightless operate in the unlicensed bands, such
as the 868 MHz European SRD band. Hence, they are expected to share the spectrum with many other
devices and technologies, such as LoRa, IEEE 802.15.4, etc. Many approaches to efficient spectrum
sharing in unlicensed bands depends on the capability to detect the presence of other users. For example,
if a network operator can detect that another spectrum user is occupying certain frequency channels in
a cell covered by one of their base stations, they can adapt their use of the spectrum to avoid the occupied
frequencies. Transmission detection can also be useful in avoiding collisions within the same network,
caused by two devices transmitting at the same frequency at the same time.
In the year 1 of the eWINE project, we explored the possibility of using covariance detectors for efficient
detection of ultra-narrowband transmissions (see eWINE deliverable D3.1, section 2.4.1 “Covariance-
based detection for ultra-narrowband transmissions”). We found that covariance detectors can provide
benefits over energy detection in regard to sensitivity. However, they are not suitable for use cases when
more than just a binary decision is needed. For network optimization, fine-grained information on the
use of individual frequency channels can be extremely useful. This is especially true in UNB networks,
where the uplink band can be divided into thousands of microchannels.
Also in year 1, we have created a demonstrator for an optimized protocol for use in the Sigfox network
(see eWINE deliverable D4.1, section 3.2 “Sigfox dynamic channel selection”) The demonstrated
protocol used energy detection to detect other users of the shared 868 MHz band and dynamically
allocated uplink microchannels so that minimal packet loss occurred. This both increased the quality of
service of the Sigfox network, reduced the need to frame retransmissions and at the same time decreased
interference to other technologies in the 868 MHz band. The spectrum sensor in our demonstrator
determined the occupancy of microchannels using energy detection with a dynamic threshold using the
ROHT algorithm [5]. Occupancy statistics for microchannels was calculated over a time window of
approximately 10 minutes (see eWINE deliverable D3.1, section 2.4.3 “SIGFOX narrowband spectrum
sensing setup”).
During the project we received several comments regarding our demonstrator. One of the concerns
raised was that our demonstrator performed the Sigfox network optimization in isolation. It was difficult
to envision how it could be adapted for a more cooperative approach to 868 MHz band sharing. An
approach where multiple operators can adapt their use of the spectrum could yield better results than
when operators perform optimizations in isolation. In such a cooperation case, it would be useful for a
network operator to be able to distinguish the source of interference they are detecting. Another concern
was that occupancy decision individually for each microchannel was a simplistic view of the spectrum,
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 23 of 102
Transmissions from non-UNB technologies tend to span many UNB microchannels. Hence, it seemed
worth exploring an approach to spectrum sensing that would be able to detect and parametrize individual
transmissions of various technologies both across the frequency and time axis. We also wanted the new
detector to be able to provide information usable for a technology classification (for instance such as
classifiers developed in Work Package 5 – see eWINE deliverable D5.3)
The following sections describe our enhanced transmission detector for the 868 MHz band. The detector
is part of the eWINE year 2 Showcase 2 demonstrator. It can be considered an extension of the work
done in year 1 on narrowband sensing.
2.2.2 System description
Based on the apparent shortcomings of covariance detection and our relatively good experience with the
energy detector in the year 1 demonstrator, we decided to base the new transmission detector on energy
detection as well. However, in this enhanced version we replaced the ROHT algorithm with a detector
based on a machine vision approach. This type of detector is often called “event detector”, “burst
detector” or “burst tagger” in literature. We adopted the last name for our work.
Figure 12 Block diagram of the new transmission detector, called "burst tagger".
The block diagram of the new detector is shown in Figure 12. The input to the detector is a two-
dimensional matrix of RSSI values, where one dimension represents time and the other frequency. We
used a similar form of input in our previous work with energy detection. When visualized, the matrix
forms the well-known waterfall plot of the spectrum (see Figure 13a). The detector is based on the
observation that a person watching the waterfall plot on a computer can often immediately recognize
individual transmissions based on their visual representations on the waterfall plot and determine their
start and stop times and occupied range of frequencies. Furthermore, with some experience a person can
often even guess the type of transmission and wireless technology in use, even though the waterfall plot
is a severely reduced representation of the radio spectrum: it is typically greatly under sampled and
contains no phase information.
Machine vision has advanced significantly in recent years, with tools readily available that can mimic
many kinds of object detection performed by biological systems. Hence, it seemed plausible that an
application of machine vision algorithms to waterfall plots might yield a usable detector that will also
be able to characterize transmissions in terms of time and frequency. The fact that a human observer can
distinguish different types of technologies also suggested that its output would be usable in connection
to a technology classifier.
After receiving a matrix of RSSI values, the detector first performs a two-dimensional Gaussian filter
on the matrix. This effectively blurs the waterfall plot and decreases the effect of noise by trading off
some time and frequency resolution. The waterfall plot after the filtering step is shown in Figure 13b.
Next step performs an adaptive threshold. Each element of the matrix is compared to a threshold value
and replaced with the binary result of the comparison. Threshold is calculated for each individual
element separately. We use a weighted sum of neighbouring values as a threshold. A Gaussian window
is used as weights. The plot after the thresholding step is shown in Figure 13c.
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 24 of 102
Figure 13 Visualization of the individual processing steps in our detector.
To further reduce the effect of noise, the binary matrix is then subject to a number of dilate and erode
operations. A dilate operation replaces a matrix element with a logical OR function over a region. An
erode operation similarly replaces a matrix element with a logical AND over a region. These steps are
designed to remove single, isolated matrix elements that were above the threshold and are most
commonly due to noise. They also merge neighbouring regions of the plot that appeared above the
threshold into a single contiguous region. Matrix after the dilate and erode operations is shown in Figure
13d.
Finally, the data is converted from a binary matrix form to a list of bounding boxes, encircling the
individual transmissions. This operation consists of two steps: first the matrix is transformed into a list
of vector contours that trace the positive regions in the matrix. Then the contours of individual isolated
regions are transformed into minimal bounding rectangles. At this point it is assumed that the bounding
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 25 of 102
rectangle describes the region containing the RSSI samples from an isolated transmission. Calculated
bounding boxes overlaid over original RSSI data are shown in Figure 13e.
Each bounding box is described by two coordinates in the original matrix (upper-left and lower-right
corners). These coordinates correspond to the start and end times and lower- and upper-most frequency
of the detected transmission. A list of these values for all detected transmissions forms the output of the
detector.
2.2.3 Implementation details
The source code of our implementation is available on GitHub as open source software under the terms
of the GNU public license1. The detector is implemented in Python programming language and uses the
OpenCV library [6] to perform image processing steps.
Our implementation follows the general architecture we used for the Y1 demonstrator (see eWINE
deliverable D3.1, section 2.4.3 “SIGFOX narrowband spectrum sensing setup”). The detector itself is
implemented as a stand-alone Python process with a HTTP interface that accepts and returns a JSON-
formatted payload. High-level integration with the rest of the system is performed using a Node-RED
flow. This approach allows us to implement data processing with relatively efficient Python libraries,
while retaining the rapid-experimentation qualities of Node-RED.
Figure 14 Example Node-RED flow incorporating the burst tagging component.
An example Node-RED flow incorporating the burst tagging component is shown in Figure 14. The
spectrum data enters the flow through a MQTT connection from a Sigfox base station in form of JSON
structures. The data is then routed to the burst tagger component that processes the data and returns a
list of detected transmissions.
The spectrum sensor delivers periodic updates on the current detected power spectral density. The burst
tagger component receives individual updates and keeps a certain number updates in memory, in effect
keeping a moving window over the waterfall plot. Periodically, the burst detection algorithm is
performed on the current state of the window.
JSON structure returned by the burst tagger is show below:
{ 'bursts': [ { 'tstart': burst start time, 'tstop': burst stop time, 'fc': burst central frequency, 'bw': burst bandwidth, 'data': [ RSSI in dBm], }, ... ] }
1 https://github.com/sensorlab/sigfox-toolbox/tree/master/node-red-burst-tagging
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 26 of 102
The bursts element contains a list of detected transmission. Each element in the bursts list contains
extracted information about the transmission: tstart and tstop are the transmission start and stop times
(in seconds). fc and bw are central frequency and bandwidth in hertz. The data element contains a cut-
out from the original RSSI matrix, containing only those elements that fall within the bounding box of
the detected transmission.
In the example Node-RED flow shown in Figure 14, this structure is passed through the technology
identification block that assigns a possible technology to individual transmissions.
To help with development and visualization of the results of the burst tagger, we also developed a Node-
RED component that shows a real-time waterfall plot with the detected transmissions and their
recognized technologies in an overlay. A screenshot of the visualization is shown in Figure 15.
Figure 15 Burst display - a tool for visualization of the burst detection results.
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 27 of 102
2.3 Channel Quality (CQ) estimation
2.3.1 Introduction
In this section we analyse the optimum method for the base station to choose channels for whitelisting.
We assume that each channel can be assigned a channel quality metric and that the base station will sort
the channels according to this metric and include the best N channels in the whitelist. What is the optimal
channel quality metric for this purpose?
2.3.2 Deriving a channel quality estimator for spectrum sensing data
We can find many channel quality estimators in the literature. In our case, we are specifically interested
in an estimator that can give a reliable prediction for packet loss based on a history of RSSI
measurements from a spectrum sensor.
An alternative approach would be to base our channel quality metric on the past packet loss for
individual channels. However, this approach has a significant drawback: a large number of packets must
be sent before a reliable statistic per channel can be generated. This problem is further emphasized by
the large number of channels in a typical ultra-narrowband system. It also follows that using this
approach a large number of packets must be lost before a channel is recognized as unfavourable. This
packet loss might be unacceptable for the required quality of service in the network.
One simple channel quality metric that satisfies our requirement is the mean channel availability. It is
defined as a percentage of time where interference power in a channel is below a threshold Rthr. Say our
spectrum sensor samples the channel power at times ti, i[1, 2, …], then this metric can be defined as:
𝐶𝐴 = 1
𝑁∑ 𝑠𝑖
𝑖0+𝑁
𝑖=𝑖0
(1)
Where:
𝑆𝑖 = { 0 𝑖𝑓 𝑃𝑖 < 𝑅𝑡ℎ𝑟, 1 𝑖𝑓 𝑃𝑖 ≥ 𝑅𝑡ℎ𝑟} (2)
and
𝑅𝑡ℎ𝑟 = 𝑅𝑟𝑥 − 𝑆𝐼𝑁𝑅𝑚𝑖𝑛 (3)
Rrx is the power of the received signal from the devices at the base station and SINRmin is the minimum
signal-to-noise-and-interference ratio at which the base station is able to receive the signal.
This metric is problematic, since it assumes a sharp threshold in SINR upon reception. In other words,
it assumes that 100% of packets will be lost if interference is above a certain threshold and 0% packet
loss otherwise. In reality, the packet loss more or less slowly transitions between these two extremes as
SINR deteriorates.
A metric that attempts to address this problem is the mean signal power over a time window:
𝑀𝑆𝑃 = 1
𝑁∑ 𝑃𝑖
𝑖0+𝑁
𝑖=𝑖0
(4)
Where Pi is the measured power at instant ti.
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 28 of 102
A problem with this metric is that it does not take into account time distribution of interference. Consider
a channel where a single strong interferer very occasionally transmits and a channel where a weak
interferer transmits continuously. The MSP metric will consider both of these channels identical,
however the first channel will have very little packet loss since there will be very little probability that
a packet in the network will collide with the infrequent interferer. On the other hand, the second channel
will continuously loose packets due to constant interference.
A metric that attempts to account for time distribution of interference is the CQ() metric [1]:
𝐶𝑄() = 1
𝑛 − 1∑ 𝑗1+𝑚𝑗
𝑗|(𝑗−1)𝑃>𝑟
(5)
Here n is the number of samples in a time window where the metric is calculated. mj is the number of
opportunities where the channel is vacant for j consecutive samples. The metric considers the channel
vacant when the measured power in the channel is below threshold Rthr (equation 3). P is the RSSI
sampling period. is a parameter of metric: it is the time duration of the packet being transmitted.
j mj is the total number of RSSI samples, that appear in vacancies of length j. The metric sums up all
such opportunities where their length ((j-1)P) is longer than the duration of the packet being transmitted
(). It then divides the number of samples with the total number of samples n in the time window being
considered. The authors of [1] also chose to include another parameter, , that determines the bias of
the metric towards the channels that have longer transmit opportunities. It is not clear how to determine
the value for for best packet reception ratio.
We observe that the CQ () metric is very similar to a maximum likelihood estimate (MLE) for the
probability of successful transmission of a packet with length , assuming any instance of interference
more powerful than Rthr results in a lost packet. Hence, we can calculate the MLE, we need to calculate
the total number of observed transmit opportunities ntotal and the number of observed transmit
opportunities that did not encounter interference stronger than Rthr, nclear:
𝑀𝐿𝐸 =𝑛𝑐𝑙𝑒𝑎𝑟
𝑛𝑡𝑜𝑡𝑎𝑙 (6)
Total number of observed transmit opportunities depends on the length of the observed time window n
(in RSSI samples) and the length of the transmitted packet :
𝑛𝑡𝑜𝑡𝑎𝑙 = 𝑛 − /𝑃 (7)
The number of observed transmit opportunities with no interference can be written as follows (using
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 29 of 102
same variables as in Equation 5:
𝑛𝑐𝑙𝑒𝑎𝑟 = ∑ (𝑗
𝑗|(𝑗−1)𝑃>𝑟
− /𝑃)𝑚𝑗
(8)
Since calculating the MLE requires the same data as calculating the CQ() metric and does not need the
parameter, we can directly use it as an improved channel quality metric:
𝐶𝑄∗() =1
𝑛 − /𝑃∑ (𝑗
𝑗|(𝑗−1)𝑃>𝑟
− /𝑃)𝑚𝑗
(9)
CQ* metric still doesn't take into account that probability of successful frame reception smoothly varies
with SINR. We can further improve it as follows.
Given a recorded history of interference power measurements in a channel, we can estimate the mean
interference power over the duration of a hypothetical packet transmission starting at sample i0 (time
ti0):
𝑃𝐼𝑁′(𝑖0) = 1
/𝑃∑ 𝑃𝑖
𝑖0+/𝑃
𝑖=𝑖0
(10)
where Pi is measured interference power in the channel at instance ti. Then hypothetical SINR during
reception can be approximated by:
𝑆𝐼𝑁𝑅(𝑖0) =𝑅𝑟𝑥
𝑃𝐼𝑁′(𝑖0)
(11)
Assuming we know the packet reception ratio (PRR) as a function of SINR, we can calculate the
predicted mean PRR for the channel by averaging calculated PRRs for all possible packet transmission
times:
𝑃𝑅𝑅′ =1
𝑛 − /𝑃∑ 𝑃𝑅𝑅(𝑆𝐼𝑁𝑅(𝑖0)
𝑛−/𝑃
𝑖=0
(12)
2.3.3 Empirically estimating PRR
In Equation 12 we require the packet reception ratio as a function of the signal-to-noise-and-interference
ratio at the base station. This is a characteristic of the receiver that depends on the receiver design,
modulation, etc. Analytical calculations exist for various modulations and Gaussian noise. For example,
for BPSK, the bit error rate is equal to:
𝑃𝑏 =1
2𝑒𝑟𝑓𝑐(√
𝐸𝑏
𝑁0)
(13)
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 30 of 102
However, real receivers only approximate optimal decoding and real noise and interference are not
Gaussian. Hence it is desirable for our calculations to use the PRR(SINR) of a real ultra-narrowband
receiver. This section describes the experiment we performed to measure the PRR(SINR) function for
our setup.
The experiment consisted of sending 1000 packets from an indoor transmitter to an outdoor ultra-
narrowband base station. The transmitter was a USRP N200 device. All packets were sent on a single
channel in the 868 MHz band for easier post processing of data. To vary the signal-to-noise ratio of the
packets, the transmitter varied the transmit power by randomly changing the baseband gain from -50 to
-20 dB. This range was chosen empirically to cover the entire range of PRR, from 0 to 100%.
On the base station side, we simultaneously recorded the power spectral density on the base station
antenna (in the form of RSSI samples for all uplink channels) and the received packets. Based on the
sequence numbers of the packets we matched the received packets with transmitted packets and marked
transmitted packets that were not received successfully. Data about received packets was also correlated
with spectrum recording, adjusting for time and frequency offsets.
Our base station did not have the capability to reliably estimate SINR directly. Hence to calculate SINR
at the receive side for each transmitted packet we used the recorded spectrum data. For each packet, we
had to estimate the received signal strength and noise and interference power. We did this by summing
RSSI samples from the recorded spectrum data using two masks: one that covered only the signal
transmission (Figure 16, left) and one that covered the immediate surroundings of the transmission
(Figure 16, right). We were able to do this since the transmitted packets had known time duration and
frequency bandwidth. Figure 17 shows these masks applied to real data for a single packet. Masks used
to estimate signal and interference plus noise power from RSSI recordings. Frequency is on the
horizontal axis and time is on the vertical axis. Yellow color shows 1, purple shows 0.
Figure 16 Masks used to estimate signal and interference plus noise power from RSSI recordings.
Frequency is on the horizontal axis and time is on the vertical axis. Yellow colour shows 1, purple
shows 0.
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 31 of 102
Figure 17 Effect of applying masks to spectrum recording of a single transmission. Left: unmasked
data. Center: masked data for signal. Right: masked data for noise and interference.
We assumed that power estimated using the first mask included signal power as well as interference
and noise power:
𝑃1 = 𝑆 + 𝐼 + 𝑁
(14)
We assumed that power estimated using the second mask included only interference and noise power.
We also assumed that interference and noise power was constant during the time-frequency window:
𝑃2 = 𝐼 + 𝑁
(15)
From these two samples we could estimate SINR for each packet:
𝑆𝐼𝑁𝑅 =𝑃1 + 𝑃2
𝑃2
(16)
Figure 18 shows the result of this calculation. The estimated SINR shows linear dependence on the
transmit gain, which suggests that our method works as expected.
Figure 18 Estimated SINR versus transmit gain.
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 32 of 102
2.3.4 Results
Figure 19, Figure 20, Figure 21 and Figure 22 show different channel metrics calculated for a recorded
history of the 868 MHz band. In these figures, the frequency (channel) is on the horizontal axis, the
metric is on the vertical axis. All metrics have been calculated for a range of received powers levels Rrx.
The received power level Rrx is shown on the colour scale.
The bottom plot shows the calculation over the entire span of the metric (0 - 1), the top plot shows a
zoomed-in view on the vertical axis (the channels we are most interested in are ones that have the metric
close to 1).
Figure 19 Channel availability metric.
Figure 20 PRR' metric using PRR(SINR)
function.
Figure 21 Proposed CQ*() metric.
Figure 22 PRR' metric using theoretical
PRR(SINR) function for BPSK modulation.
With these results, we use PRR estimate from Equation 12 (and shown on Figure 20 as Pi and data
shown in Figure 18. In this way, we can simulate several scenarios and estimate the effect of whitelisting
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 33 of 102
based on real measurements of the spectrum, depending on various parameters. Figure 23 and Figure 24
show the results of such a simulation from several perspectives. In all shown simulations, the devices
transmitted the data infrequently (once per day).
Figure 23 Estimated maximum number of devices Ndev in a cell versus number of frame repetitions Nf
for a minimum probability of packet reception Prx = 0.99. Results are shown for several signal strengths
for received packets Rrx (assuming that p packets from all devices in a cell arrive with identical power).
Figure 24 Estimated maximum number of devices Ndev in a cell versus signal strength for received
packets Rrx (assuming that packets from all devices in a cell arrive with identical power at the base
station). Minimum probability of packet reception Prx is 0.99, devices transmit Nf=3 frame repetitions.
Number of devices is calculated several times for different sizes of the white list, expressed as the
percentage of all available channels.
From Figure 23 we can see that in the observed conditions, reducing the number of frame repetitions
decreases the capacity of the network and there is no clear optimum. For high signal strengths, the
capacity doesn't significantly increase beyond 7 frame repetitions.
In Figure 24, the 100% line (blue) shows the condition in the network without any whitelisting (i.e. the
network is using 100% of the available channels). At the chosen quality of service (minimum Prx), the
number of devices that the network can support falls with the falling received signal power. If the
received signal power is lower than around -118 dBm, the network cannot support any devices at all
(Ndev falls to 0). If we compare the 100% line with the lines showing decreasing size of the whitelist, we
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 34 of 102
can observe that when the received signal power is high (right side of the graph), the capacity of the
network decreases. However, we can see that with whitelist sizes smaller than 100%, there is a region
between -120 dBm and -118 dBm where the network can in fact support some devices at the chosen
quality of service (while that would not be possible if all channels would be used).
2.3.5 Summary
In this section we derived a new channel quality metric and we used to it analyse the feasibility of
whitelisting in RFDMA ultra-narrowband networks. We showed that there is a region between -120
dBm and -118 dBm where the network can support some devices at the chosen quality of service WITH
whitelisting while that would not be possible if all channels (no whitelist) would be used.
2.4 Description of application requirements
2.4.1 Introduction
We see a wide range of applications with different requirements ranging from bulk transfer to control
application. While the former requires very high throughput it can tolerate a large packet delay and is
also not negatively affected by packet loss. The latter is different as it requires very low latency and
guaranteed packet delivery. Another difference is the required low bitrate of just few kbit/s. Hence, in
order to be able to optimize the network for specific metrics (KPIs) there is a need for applications to
express their needs.
2.4.2 System description
We follow a proactive and dynamic application informed approach where applications are able to
describe their needs, called intents [7], in terms of communications patterns and preferences like type
of traffic, bitrate, burstiness and timeliness. Table 5 shows the list of proposed application intents which
is based on classification from [7] and are extended to meet our needs, i.e. direction of traffic.
Table 5. List of application intents (based on [7]).
Intent Type Value
Direction Enum Downlink, uplink, downlink+uplink
Category Enum Query, bulk transfer, control traffic, stream, IoT
File size Int Number of bytes transferred by the application
Duration Int Time between first and last packet in seconds
Bitrate Int Size divided by duration in bytes per second
Burstiness Enum Random bursts, regular bursts, no bursts or bulk (congestion window limited)
Timeliness Enum Stream (low delay, low jitter), interactive (low delay), transfer (completes
eventually)
Resilience Enum Sensitive to connection loss, undesirable (loss can be handled) or resilient (loss is
tolerable)
Figure 25 shows the integration into the WiSHFUL control framework [8]. Here applications express
their needs by sending a WiSHFUL event piggybacked with an application intent. In the given example
four such events will be send, i.e. one by each application on each network node. An application intent
manager being deployed on a central compute node can subscribe to those events. Depending on the
application needs it will reconfigure the network protocol stack of network nodes in order to meet the
application requirements. The data packets generated by the VoIP (voice over IP) application will be
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 35 of 102
optimized for low latency and high reliability. Therefore, at physical layer the bitrate control algorithm
is configured to select only robust bitrates for transmissions. At the MAC layer the medium access is
optimized for low latency, i.e. in case of IEEE 802.11 small AIFS and CWmin/max are used. Finally,
also at the transport layer optimization can be done, i.e. in case of multipath TCP (MPTCP) multiple
concurrent subflows can be used to achieve diversity and hence to increase reliability [9]. In contrast the
FTP application is optimized for transfer of bulk data and hence throughput.
Note, other options for integration with WiSHFUL framework are possible. Instead of using a
global/central controller the decisions on network protocol layer can be performed locally using local
controllers. However, for networks where packets are traversing multiple network nodes, i.e. multi-hop
relaying, are global controller is recommended as it can also optimize the protocol layers of pure relaying
nodes.
Figure 25. Integration of application intents into the WiSHFUL control framework.
The meta-model describing application intents and their usage in WiSHFUL using custom events is
shown in Figure 26.
Figure 26. Meta-model of application intents and their usage in WiSHFUL using custom events.
Application requirements/intents belong to context information and are used in showcase 3 to determine
the suitable network interface´, i.e. subGHz or mmWave, to be used for the transfer of application data.
Hence, the information is used to decide on a handover between different network interfaces. In addition,
Compute Node
VoIPapp
FTP server Network
Node
FTP client
VoIP app
NetworkNode
AppIntents Manager
3. per app (VoIP/FTP) adaptation:- PHY: robust / thr opt ratecontrol- MAC: high prio / thr opt AC- MPTCP: diversity / multiplexing subflows
2. configure protocol layers
1. send application intent events
1. send application intent events
link
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 36 of 102
the information about the application intents is utilized to adjust the configuration of the interfaces to
suit the needs of the application.
2.4.3 Illustrative Example
A code fragment of an application listening to application intents for purpose of adaptation of the
network protocol stack to the application needs is shown below. It implements the behavior shown in
Figure 25.
'''
Central controller handling application intents.
'''
class ApplicationIntentsModule(modules.ControlApplication):
...
@modules.on_event(AppIntentEvent)
def handle_app_intent(self, event):
"""
Handling an application intent event
:param event: event contains all information to adapt to application intents.
"""
# get intent description
app_intent_desc = event.app_intent_desc
# get intent fields
category = app_intent_desc.category
''' Adapt protocol layers according to category '''
if category == Category.BULK_TRANSFER:
# PHY: use aggressiv rate control
device.set_rate_control(RATECONTROL.THROUGHPUT)
# MAC: configure for efficiency
device.set_mac_access_parameters(1, QueueParams.HIGH_THR)
# Transport: use multiple flows for multiplexing
trans_protocol.set_subflow_mgmt(MPTCP.MULTI_SUBFLOWS)
if category == Category.CONTROL_TRAFFIC:
# PHY: use robust or at least not aggressiv rate control
device.set_rate_control(RATECONTROL.ROBUST)
# MAC: control traffic use high prio for channel access
device.set_mac_access_parameters(1, QueueParams.LOW_ACCESS_DELAY)
# Transport: use multiple flows for path diversity (reliability)
trans_protocol.set_subflow_mgmt(MPTCP.DIVERSITY_SUBFLOWS)
This above application intent-aware app can be used by any local or global controllers. Therefore, it has
to be deployed in the corresponding config_local.yaml file. Here an example for a local controller is
shown:
# UniFlex Agent config file
config:
name: 'Local_IPerf_Controller_with_Intents'
info: 'Local UniFlex control program testing intents in iperf app'
iface: 'lo'
control_applications:
myController:
file : local_control_app.py
class_name : MyIperfController
app_intents:
module : uniflex_app_intents
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 37 of 102
class_name : ApplicationIntentsModule
2.4.4 Implementation details
We provide a reference implementation of application intents in WiSHFUL control framework
(https://github.com/uniflex/ ). Therefore the following modifications were made to the framework:
1. Extension of the WiSHFUL southbound interface (SBI): https://github.com/uniflex/sbi/
2. Example implementation of an application listening to application intents for purpose of
adaptation of the network protocol stack to the application needs
(https://github.com/uniflex/app_intents). An example local controller is given in
https://github.com/uniflex/examples/tree/master/app_intents
2.4.5 Evaluation
The evaluation was performed by means of experiments in a testbed. Therefore, we set-up a small
network consisting of two IEEE 802.11 nodes connected directly using Adhoc mode. As application we
emulated VoIP using ping command. As performance metric we measured the E2E round trip delay. In
case of the usage of application intents we set the category to Category.CONTROL_TRAFFIC and the
adaptation of the network protocol layers was performed as given in the previous example.
Figure 27 show the results for different types of background traffic. Here we can clearly see how even
in a scenario with high priority background traffic the RTT of the VoIP flow remains low.
Figure 27. Evaluation results – using proposed application intents the delay (RTT) of a VoIP flow
remains low even in scenario with high priority background traffic.
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 38 of 102
2.5 Estimator for link quality by computing expected SNR based on
(inaccurate) location information
Device-to-Device (D2D) communication has a high potential in reducing the amount of network traffic
and improving the latency and energy efficiency of communication. Currently, D2D link establishment
decisions are based on active probing between devices that wish to establish a D2D link. The main
drawback of such approaches is a large overhead as during active probing no data communication can
take place. We leverage physical locations of the devices that wish to establish a D2D link in order to
estimate the probability of success in establishing the link before making an attempt to communicate.
The probability of success is given as a closed form equation that takes into account the imperfections
of location information of the devices and intrinsic randomness of wireless environments. We
experimentally evaluate the proposed location-based decision-making mechanism for D2D link
establishment in a complex office-like indoor environment. We show that setting the SNR threshold of
the proposed mechanism to a value that is 5 dB higher than the nominal SNR required for
communication results in reliable link establishment with false positive rate of less than 2%.
Furthermore, we show a relatively small loss of link establishment potential due to an increase in the
inaccuracies of location information.
2.5.1 Introduction
A massive growth in the amount of wireless traffic is expected in the near future. In comparison to
leveraging the available infrastructure (i.e., intermediate nodes) for communication between end-
devices, D2D communication represents a potential for reducing the amount of network traffic and
improving the latency and energy efficiency of communication [10]. Currently, mechanisms for
establishing D2D links rely of manual pairing between devices that are in communication range. Such
manual pairings are widely available in WiFi and Bluetooth networks. However, manual pairing is not
able to support autonomous and dynamic D2D link establishment between devices that are in proximity.
To avert these limitations, D2D communication link establishment can also be based on Received Signal
Strength (RSS). Mechanisms for RSS-based D2D link establishment assume that communication links
between devices can be established if RSS values from probe packets transmitted by one device and
observed by the other are above a certain threshold. However, such mechanisms require active probing,
i.e., transmission of probe packets by one device and listening for probe packets by the other. During
probing the devices are not able to communicate with the infrastructure, which represents a loss of
communication potential in case D2D links cannot be established. Furthermore, RSS is a highly
fluctuating signal feature [11], therefore RSS-based D2D link establishment decisions can be unreliable.
At the same time, an increase in location-awareness is witnessed in wireless networks [12]. In other
words, physical locations of mobile devices can be determined and can therefore be used on the network
level. Hence, location awareness in wireless networks provides a potential for D2D link establishment
based on physical location information of the devices that wish to communicate. In contrast to RSS-
based mechanisms, location-based D2D link establishment does not need active probing, which is
beneficial in terms of maintaining the connectivity with the infrastructure.
This has been recognized in the Long-Term Evolution (LTE) supported D2D link establishment (e.g.,
[13],[14],[15]). In this context, LTE infrastructure informs the devices that are in proximity (e.g.,
connected to the same base station) and wish to establish a D2D link about their roles (transmitter and
listener) and configuration for establishing a link (e.g., an operating channel). However, the problem of
deciding if the devices that are in proximity and are hence good candidates for D2D operation can really
establish a D2D link with a desired quality has not been addressed. In other words, LTE supported D2D
link establishment still requires active probing (i.e., a discovery signal) to evaluate the quality of a D2D
link between two devices.
We believe that the usage of location information of devices that wish to establish a D2D link and some
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 39 of 102
knowledge about the propagation characteristics in a wireless environment can entirely remove the need
for active probing. When leveraging location information for D2D link establishment, one needs to keep
in mind that location information of mobile devices are generally not ideal, i.e., localization errors are
to be expected. In addition, wireless signals intrinsically contain randomness, resulting from both large-
scale (shadowing) and small-scale fading (multi-path fading). Hence, even if the distance between
devices is small enough to establish a D2D link, this does not necessarily imply that the devices will be
able to communicate. Therefore, the imperfections exist in both propagation and location information
and have to be considered while designing a reliable location-based D2D link establishment mechanism.
To address these issues, we propose a mechanism for location-based D2D link establishment that takes
into account inaccuracies caused by randomness in wireless propagation and errors in location
information of mobile devices. It is firstly shown that that the Euclidean distance between the devices,
if calculated using their erroneous location information, is a Rice-distributed random variable, assuming
that the localization errors per-axis are zero-mean Gaussian distributions. The derived distance is utilized
in a multi-wall propagation model for modelling path-loss and large-scale fading, while small-scale
fading is modelled by a Rayleigh distributed random variable. A closed form equation is obtained for
the probability of establishing a D2D link between two devices.
We evaluate the proposed mechanism by comparing the link establishment decisions yielded by the
proposed mechanism with the measured Signal-to-Noise Ratio (SNR) between the devices in a complex
office-like indoor environment. This is done for multiple SNR thresholds used as inputs to the
mechanism, for different locations of the devices, and for various distances between the devices. We
show that by using a 5 dB SNR safety margin, i.e., by setting the SNR threshold 5 dB above the one
nominally needed for communication, the mechanism can achieve the rate of false positive link
establishment decisions of less than 2%. Furthermore, we show a relatively small increase in the
percentage of false negative link establishment decisions as a function of increasing localization errors.
2.5.2 D2D Link Establishment Scenario
We envision a D2D link establishment scenario as depicted in
Figure 28. Mobile devices that wish to communicate express their intentions to the infrastructure to
which they are connected. The infrastructure is aware of the mobile devices' physical locations, which
are to a certain level erroneous. In case the devices are in the proximity, the infrastructure notifies both
devices that a D2D communication link can be reliably established. The decision if the devices are in
the proximity is made by the decision-making mechanism for location-based D2D link establishment.
The aim of the mechanism is to calculate the probability that a SNR between the devices is higher than
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 40 of 102
a desired SNR threshold. If this probability is sufficiently high, a D2D link can be reliably established.
Figure 28: Overview of the envisioned scenario.
Location of each mobile device is specified with its x and y coordinates in a 2D coordinate system.
Location information of each device is erroneous with error per-coordinate being a zero-mean Gaussian
distributed random variable. Modelling per-coordinate localization errors with Gaussian distribution is
a usual and well-established procedure in the literature, some examples being [16], [17]. All per-
coordinate localization errors have the same standard deviation σ. This assumption is justified since at
these relatively small distances between devices (i.e., in the same environment) location information of
the devices are usually provided by the same localization service. Small-scale fading in a wireless
channel is characterized with a Rayleigh distribution because a harsh and complex indoor environment
is assumed with people carrying the devices (hence body shadowing), thus the probability of a Line-of-
Sight (LoS) component arriving at the receiver is very small.
2.5.3 System description
2.5.3.1 Euclidean Distance Between Devices
Suppose that the location information of the devices 1 and 2 are provided by the localization service as
(μX1, μY1) and μX2, μY2). Assuming that each coordinate of the ground-truth location information of the
devices ((X1, Y1) and (X2, Y2)) is a normally distributed random variable specified by its mean value μ
and standard deviation σ, it follows:
𝑋1~ℵ(𝜇𝑋1, 𝜎2), 𝑌1~ℵ(𝜇𝑌1, 𝜎
2)
𝑋2~ℵ(𝜇𝑋2, 𝜎2), 𝑌2~ℵ(𝜇𝑌2, 𝜎
2)
Euclidean distance between the devices is given by:
𝑑 = √(𝑋1 − 𝑋2)2 + (𝑌1 − 𝑌2)
2
If the true locations of the two devices are distributed as shown above, the Euclidean distance between
the devices is a random variable distributed according to Rice distribution 𝑑~𝑅𝑖𝑐𝑒(𝜈, √2𝜎) with the
Cumulative Distribution Function (CDF) given as follows:
𝐹(𝛿) = ℙ(d ≤ 𝛿) = 1 − 𝑄1 (𝜈
√2𝜎,
𝛿
√2𝜎)
Infrastructure
d~Rice(ν,√2σ)
Device1
Device2
σ
σ
(x2,y2)
(x1,y1)
X2=Ν(μx2,σ2)
Y2=Ν(μy2,σ2)
X1=Ν(μx1,σ2)
Y1=Ν(μy1,σ2)
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 41 of 102
Where Q1 is the Marcum 1 function [18] and 𝜈 = √(𝜇𝑋1 − 𝜇𝑋2)2 + (𝜇𝑌1 − 𝜇𝑌2)
2.
2.5.3.2 Propagation Model
In the propagation model, path-loss, large-scale fading (shadowing), and small-scale fading (multi-path
fading) are considered. For modeling path loss and large-scale fading, we use the multi-wall model [19].
The applicability of the model for modeling indoor environments has been demonstrated in [20]. In the
model, the signal attenuation L(d) in dB, which is a result of path-loss and shadowing, is given by:
𝐿(𝑑) = 𝑙𝐶 + 10𝛾 log(𝑑) + 𝑀𝑤
lC is a constant value related to the model fitting procedure discussed below. The attenuation L(d) is
dependent on the distance d from the transmitting device, path-loss coefficient γ of the environment,
and the total attenuation from all walls Mw in the direct path between the transmitter and the receiver.
Each wall has its attenuation contribution lw, hence for the number of walls Nw in the direct path between
the transmitter and receiver total attenuation from all walls Mw is given as:
𝑀𝑤 = ∑𝑙𝑤
𝑁𝑤
𝑖=1
Therefore, the total attenuation in linear units, i.e. in Watt, is given by:
𝑙(𝑑) = 10𝐿(𝑑)10 = 𝑑𝛾10
𝑙𝑐+∑ 𝑙𝑤𝑁𝑤𝑖=1
10 = 𝜅𝑑𝛾
If the small-scale fading channel gain is denoted by the parameter h, the instantaneous SNR is given by:
𝑆𝑁𝑅 =ℎ𝑃𝑡𝑥
𝑁𝜅𝑑𝛾
Where N is the noise power. If the small-scale fading is Rayleigh distributed, then the channel gain h is
exponentially distributed in linear units [21]. For the rest we assume that h has exponential distribution
with mean value 1. Note that the instantaneous SNR is affected by two random parameters: h and d. Let
SNRth represents the SNR threshold above which a D2D communicational link can be reliably
established. Assuming that small-scale fading gain is exponentially distributed and d has Rice
distribution, the probability that a link can be reliably established is denoted by Fh,d(link) and
characterized as follows:
𝐹ℎ,𝑑(𝑙𝑖𝑛𝑘) = 𝔼 [𝑒𝑥𝑝 (−𝑆𝑁𝑅𝑡ℎ
𝑆𝑁𝑅̅̅ ̅̅ ̅̅)]
Where 𝑆𝑁𝑅̅̅ ̅̅ ̅̅ is the average SNR given by 𝑃𝑡𝑥
𝑁𝜅𝑑𝛾⁄ and the expectation is taken over d. Moreover, if
free-space path-loss exponent 𝛾 equals 2, we have:
𝐹ℎ,𝑑(𝑙𝑖𝑛𝑘) =𝑃𝑡𝑥𝑒𝑥𝑝 (
−2𝜈2𝜎2𝜅𝑁𝑆𝑁𝑅𝑡ℎ
𝑃𝑡𝑥 + 4𝜎2𝜅𝑁𝑆𝑁𝑅𝑡ℎ)
𝑃𝑡𝑥 + 4𝜎2𝜅𝑁𝑆𝑁𝑅𝑡ℎ
The above equation can be computationally complex. With further simplification, we assume that the
small-scale fading effect is averaged out. In this scenario, SNR is given by 𝑃𝑡𝑥
𝑁𝜅𝑑2⁄ . The link
probability Fd(link) is then given by:
𝐹𝑑(𝑙𝑖𝑛𝑘) = 1 − 𝑄1 (𝜈
√2𝜎,
1
√2𝜎(
𝑃𝑡𝑥
𝑁𝜅𝑆𝑁𝑅𝑡ℎ)
12⁄
)
The proofs of the derived equations are given in [22].
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 42 of 102
2.5.3.3 Discussion
The proposed decision-making mechanism for location-based D2D link establishment leverages the
multi-wall model for modelling large-scale fading and path-loss. The multi-wall model assumes that an
accurate floor plan of the served environment is available and can be used for determining the number
of walls in the direct path between the devices that wish to establish a D2D link. The requirement for
the availability of a floor plan should not pose a challenge for the deployment of the proposed
mechanism. On the contrary, the floor plan will in most cases already be available since the environment
is served by an indoor localization service, and such services usually require a floor plan of the served
environment.
Furthermore, the multi-wall model requires an estimation of model parameters, i.e. the wall attenuation
lw and the constant lc related to a model fitting procedure. The model fitting procedure is a procedure of
calculating model parameters using measurements collected at different locations in a targeted
environment. The used model fitting procedure is a simple least-square fitting procedure given as
follows:
{𝑙𝑤 , 𝑙𝑐}𝑜𝑝𝑡 = 𝑎𝑟𝑔min𝑙𝑤,𝑙𝑐
{∑|𝑃𝑚 − (𝑃𝑡𝑥 − 𝐿(𝑑𝑚))|2𝑀
𝑚=1
}
The procedure allows minimization of the differences between powers Pm measured in each m-th (m =
1, 2, ... , M) measurement location and the model estimated received power Ptx−L(dm), where Ptx denotes
the transmit power at the transmitter. Obviously, the model fitting procedure requires a certain number
of measurements to be collected before the model parameters could be calculated. This again should not
pose a challenge for the deployment of the proposed mechanism. The usual procedure of almost
effortless collection of the required measurements is crowd-sourcing in which mobile devices in a
targeted environment opportunistically collect measurements, in this case RSS scans. These
measurements are then, together with the locations where they are collected, reported to the network
and can be leveraged for calculating the model parameters lc and lw. The locations of collected
measurements can be obtained from a localization service that is deployed in the targeted environment.
2.5.4 Evaluation
In the following, we describe evaluation of the proposed mechanism using WiFi as an example
technology. However, it should be noted that the proposed mechanism is also applicable for various
other technologies for wireless communication. For the evaluation of the proposed decision-making
mechanism for location-based D2D link establishment we leveraged measurements from 41 locations
in TWIST WiFi testbed environment, as shown in Figure 29. TWIST testbed is equipped with an
autonomous mobility platform for accurate positioning of a measuring device at different measurement
locations. The average per-axis localization error of the autonomous mobility platform in the testbed is
10 cm. At each measurement location we collected a set of 40 WiFi scans for WiFi beacon packets.
From the obtained packets we extracted Received Signal Strength Indicator (RSSI) values from four
transmitters with locations as indicated in Figure 29.
The transmitting devices were TL-WDR4300 wireless routers operating in the 2.4 GHz Industrial,
Scientific, and Medical (ISM) frequency band (channel 11) with their transmission powers set to 20
dBm (100 mW). As the receiving device a MacBook Pro notebook with the AirPort Extreme network
interface card was used. The experiments were performed during weekends where there were no people
present. Furthermore, all neighbouring WiFi nodes are operating in the 5 GHz ISM frequency band,
hence the wireless interference was minimized.
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 43 of 102
Figure 29: Locations of WiFi APs and evaluation points in the testbed environment.
Two measurement collections were performed at different days. The first one was leveraged for the least
square fitting procedure for calculating the multi-wall parameters. The procedure yielded the wall
attenuation lw of 4.81 dBm and the constant lc of 43.73~dBm.
The second measurement collection was used for the evaluation of the proposed mechanism. The idea
of the evaluation procedure was to leverage the previously derived equation for calculating the
probability of establishing a D2D communication link between the transmitting device (one of the WiFi
routers) and the receiving device (MacBook Pro). This was done per location and per transmitting device
by setting the SNR threshold SNRth to different values around the measured average SNR value. The
measured average SNR value was obtained by averaging the obtained RSSI values from certain
transmitter and receiver locations and subtracting the network interface card's noise floor of -96 dBm.
In our evaluation procedure, we therefore in total leveraged 164 transmitter-receiver pairs (41 receiver
x 4 transmitter locations). In practical deployment scenarios, the SNR threshold is usually going to be
set to a certain value that is required for achieving the desired quality of a D2D communication link.
However, the aim of our experiments was to characterize the behaviour of the proposed mechanism for
SNR threshold values that are close to the measured average SNR, i.e. for which the proposed
mechanism has a higher chance of making wrong decisions. For that reason, in the experiments different
SNR threshold values ranged from values that were 5 dB lower to values 5 dB higher than the measured
average SNR value. We assumed that a D2D communication link can be reliably established if the
probability of establishing a link Fd(link) is higher than 0.95. We further assumed that the link cannot
be established if the probability Fd(link) is lower than 0.95. The evaluation metrics were the number of
false positive and false negative decisions about the possibility of establishing a D2D communication
link between two devices. As a reference for the evaluation, for the SNR threshold values strictly higher
than the average measured SNR values we assumed the link cannot be reliably established. Similarly,
for the SNR threshold values strictly lower than the measured average SNR we assumed that the
communication link could be reliably established.
The percentage of false positive link establishment decisions for various differences between SNR
threshold and measured average SNR is given in Figure 30. Similarly, the percentage of false negative
decisions is given in Figure 31. For deriving the results the per-axis localization error σ of both devices
was set to 0.1 m, since that is the positioning error of the leveraged autonomous mobility platform. As
visible in Figure 30, setting the SNR threshold to a value 5 dB higher than the average measured SNR
results in less than 2% of false positive link establishment decisions. Similarly, as visible in Figure 31,
if the measured average SNR is a value that is more than 4 dB lower than the SNR threshold the
probability of false negative link establishment decisions is reduced to less than 2%. In conclusion, the
results show that, even for a complex indoor environment, by setting the SNR threshold value to a value
that is 5 dB higher than the desired one for establishing a D2D link, the probability of false positive
decisions is reduced to less than 2%. However, such a conservative configuration of the SNR threshold
could yield false negative link establishment decisions for SNR values that are higher than the set
threshold, as depicted in Figure 31.
AP3
AP2
AP1
AP4
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 44 of 102
Figure 30: Percentage of false positive link establishment decisions for various differences between
SNR threshold and measured average SNR.
Figure 31 Percentage of false negative link establishment decisions for various differences between SNR
threshold and measured average SNR.
As mentioned, for the previous results we used the per-axis localization error value σ of 0.1 m, since
that is the localization accuracy of the leveraged autonomous mobility platform. In the following, we
aim at establishing the correlation between the number of false negative D2D link establishment
decisions and per-axis localization error σ. We set the SNR threshold to a value that is 5 dB higher than
the one nominally needed for establishing a D2D link. We then increase the value of σ from 0.1 to 1.5
m and accordingly change the location coordinates of both devices by adding to their coordinates x and
y a number drawn from a zero-mean Gaussian distribution with variance σ2. By doing that we artificially
increase the error of location information of both devices. Since the SNR threshold is lower than the
average measured SNR, the devices should nominally be able to establish a D2D communication link,
hence the number of false negative decisions should be low. However, due to increased localization
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 45 of 102
errors, the proposed mechanism becomes more conservative in its calculation of the probability of
establishing a D2D link.
Figure 32: Percentage of false negative link establishment decisions vs. per-axis localization error σ.
This ``loss of opportunity for D2D communication'' is depicted in Figure 32. As visible in the figure,
with an increase of per-axis localization error σ from 0.1 to 1.5 m the number of false negative decisions
increases from roughly 2% to roughly 12%. This relatively small loss of opportunity for D2D
communication due to an increase in localization errors comes from the fact that SNR is inversely related
to the distance between communication devices. In other words, SNR decreases relatively slowly with
an increase in the distance between devices. Hence, today's off-the-shelf indoor localization systems
with average localization errors of roughly 1 m in a 2D coordinate system (i.e. ~0.7 m localization errors
per-axis) can already support the operation of the proposed decision-making mechanism.
An increase in localization errors further results in a decrease in the number of false positive link
establishment decisions. Additionally, for a large margin between the average measured SNR and SNR
threshold (i.e. larger than 4 dB) there is no effect of the increased localization errors because the number
of false positives is even for small localization errors very close to zero. A decrease in the number of
false positives with an increase in localization errors should not be interpreted as a benefit of larger
localization errors in the proposed mechanism. That is to say, an increase in localization errors results
in a loss of potential for establishing a D2D communication link, as discussed previously. The side effect
here is that, due to increased localization errors, the proposed mechanism becomes more conservative
in making a positive link establishment decision, hence a decrease in the number of false positive link
establishment decision is observed.
2.6 Cooperation in Neighbour Discovery
2.6.1 Executive Summary
Neighbour discovery is a fundamental task in wireless networks in order to find potential communication
partners, discover services, and to efficiently access the wireless resource. In this work we focus on the
passive neighbour discovery in multi-channel environments. We present different discovery approaches
with low computational complexity that utilize cooperation between devices by exchanging discovery
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 46 of 102
results in order to improve the discovery process. Furthermore, we present an optimized discovery
approach that uses multiple transceivers and evaluate the bounds on the performance under idealized
conditions. We analyse the impact of different network parameters such as number of channels and
number of neighbours on the discovery times of the developed approaches by using a simulative
evaluation. By putting the discovery times achievable with the cooperative or “gossiping” approaches
into perspective with the multi-transceiver results, we can quantify the value of cooperation in terms of
numbers of transceivers.
2.6.2 Introduction
Nowadays humans are surrounded by an abundance of different wireless networks, leading to situations
where many networks of the same or different wireless technologies are available in the same spot.
Switching on a WiFi transceiver in a densely populated city often reveals dozens of access points in
close vicinity, people wearing wireless body sensor networks can observe many other body sensor
networks when many people flock together, cars equipped with Wireless Access in Vehicular
Environment (WAVE) transceivers exchange information with nearby cars or roadside infrastructure in
intelligent transportation systems (ITS) and so on. In many scenarios it is useful or even required for a
device to discover other devices of the same wireless technology, be it to exchange information (e.g.
positions and headings in vehicular networks), to use services offered by other devices (e.g. Internet
access), or to negotiate on how to share physical resources like spectrum or time to achieve greater
efficiency and reduce resource competition.
Neighbour discovery can be done in two fundamentally different ways: in active discovery the searching
node actively sends packets, to which some other device belonging to an external network has to respond
to complete discovery. In contrast, in passive discovery a searching node does not transmit extra packets,
but instead just listens for “external” transmissions. Hence, the passive approach consumes fewer
channel resources, but discovery will generally take longer than in the active case and the discovery
time will depend on the activity levels of an external network.
Passive discovery is greatly helped by a characteristic shared by many modern wireless technologies:
the periodic transmission of beacon packets. For example, the IEEE 802.15.4 wireless personal area
network standard offers periodic beacon transmissions in its beaconed mode (as does IEEE 802.15.6),
many WiFi access points are configured to transmit beacons periodically and so on. At the same time,
however, discovery is made more complicated by the fact that very often these technologies can actually
pick one of several distinct frequency channels to operate on, and to discover a neighbour requires to
receive a beacon (or any other packet) on the right frequency channel. In the absence of any additional
information a searching node has to scan all available channels according to some search strategy.
In previous work [23], [24], [25], [26] we have considered sub-optimal and optimal search strategies for
the problem of discovering all neighbours and found that the number of frequency channels and the set
of allowable beacon periods (assumed to be always integer multiples of some base period) have a
substantial impact on the discovery time. We have formulated optimization problems and identified
optimal search strategies for some selected classes of allowable beacon sets. A key assumption in
previous work has always been that the searching node only has a single transceiver and works in
isolation, i.e. it does not collaborate with external devices or networks in the search process.
We consider the effect which cooperation has on discovery times when all involved nodes only have a
single transceiver. By cooperation we mean that each node includes the devices it has discovered so far
into its beacons (indicating their frequency channel, beacon period and “phase shift” or timing offset
with respect to the node sending the beacon) so that a searching node receiving such a beacon can learn
about the included devices at once. Secondly, we consider the effects of using multiple transceivers in
the discovery process and evaluate the achievable speedups under idealized conditions, giving bounds
on the performance that can be expected under more realistic assumptions. By putting the discovery
times achievable with this cooperative or “gossiping” approach into perspective with the multi-
transceiver results, we can quantify the value of cooperation in terms of numbers of transceivers. Our
results (obtained in an idealized setting and under a number of simplifying assumptions) suggest that
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 47 of 102
increasing the number of transceivers for listening indeed can reduce the discovery times substantially,
with marginal additional returns for larger numbers of transceivers. Furthermore, for varying numbers
of channels the gossiping strategies achieve a performance that is comparable to having between two
and four transceivers for listening. When increasing the number of neighbouring devices while keeping
the number of channels fixed to 8, gossiping becomes even more beneficial and approaches the optimal
performance of having eight transceivers.
2.6.3 Related work
The approaches presented in the following split time into time slots and describe schedules in which
certain time slots are marked as active slots. A slot is called active when a neighboured device transmits
a beacon (or any other packet) in it or when the searching node decides to listen in it. Discovery occurs
when an active slot of the searching node overlaps with an active slot of at least one neighbour on the
same channel.
First, we present neighbour discovery approaches in which devices perform the discovery without any
cooperation. These non-cooperative neighbour discovery strategies can be classified into deterministic
and probabilistic approaches with respect to the selection of active slots. Deterministic approaches work
either with quorums, prime numbers or static/dynamic slot schemes. In quorum approaches discovery
is based on the intersection of schedules generated either by a grid or a cyclic pattern [27], [28]. In the
former case time slots are arranged in a square matrix from which each device picks one column and
one row to serve as its active slots. In the latter case discovery is achieved by constructing schedules
based on cyclic difference sets which have guaranteed overlaps. With approaches based on prime
numbers, such as DISCO [29] and U-Connect [30], devices are active during time slots that are multiples
of each device’s selected prime numbers. Discovery is then ensured by the Chinese Remainder Theorem.
Most recent work has been published in the area of static/dynamic slot schemes. Discovery schedules
generated by, e.g., Searchlight [31], Hello [32] and BlindDate [33] consist of multiple cycles, where in
each cycle there is one active slot at a fixed position and at least one dynamic slot whose position is
shifted each cycle. Probabilistic approaches have in common that devices select their operational state
for any time slot out of at least two states, transmit and listen, with a predefined probability [34], [35],
[36]. In [34], devices may also select with some probability an additional state sleep.
The approaches presented in the following utilize cooperation or coordination between devices to
improve the discovery results. First, we present approaches in which devices cooperate by exchanging
discovery results. An approach named the rumor-based scheme for IEEE 802.15.4 is presented in [37],
in which a mobile device is searching for a particular fixed network. In order to speed up the discovery,
devices exchange knowledge about the frequency channels on which fixed devices can be found and
their beacon period, but not about their time offset. If the target device is among the rumored devices,
the scan is focused on the corresponding channel. In [38] devices form groups after performing a
pairwise discovery. If a new node is discovered by a group member, it will schedule an additional active
slot when the new node will be active the next time in order to transmit its known neighbours. The set
of reported neighbours is filtered by a spatial selection using an estimation of the closeness of nodes
based on communication range and node density as well as a temporal selection based on the
communication range and maximum node velocity. The approaches presented in [39], [40] assume that
devices possess an omnidirectional as well as a directional antenna. Furthermore, devices know their
location. Neighbours discovered via the omnidirectional antenna are propagated using the directional
antenna [40] and vice versa [39]. In these works no quantitative comparison with multi-transceiver
strategies is carried out, and we investigate a wider range of cooperative strategies.
The following approaches use additional signalling between the devices performing the discovery or
with an external source to support the discovery process. In [41] nodes form groups and coordinate their
listening and beacon transmission schedules in order to achieve high propagation speed of group
membership information as well as to decrease discovery times for new nodes finding and joining the
group. A similar approach is described in [42] that focuses on continuous neighbour discovery rather
than on the initial discovery which is used for building segments of devices. If a segment member
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 48 of 102
discovers a new device, it issues a wake-up message that is distributed to all other members via the
already known links of the segment, allowing to discover all hidden links inside the segment. Devices
in [43] exploit existent infrastructure Access Points (AP’s) as an external source of synchronization to
coordinate energy-efficient scanning to discover each other and form or join existing clusters. An
approach named CQuest [44] assumes that devices have a Low Power (LP) and High Power (HP) radio.
Devices within the communication range of the LP radio agree on a subset of devices by using a
contention-based approach that defines which devices will perform the energy expensive scan using the
HP radio. Neighbours discovered via the HP radio are included in the hello messages transmitted with
the LP radio. The cooperative approach presented in [45] utilizes an infrastructure-supported neighbour
discovery in the 2.4GHz range with the help of an AP to schedule data transmissions using a mmWave
radio. In contrast to these works, the approaches considered in this work do not require extra signalling
messages, they only require the ability to include additional information into the beacon messages.
2.6.4 System description
We consider devices interested in exploring their network environment in order to discover neighbours,
that is, other devices or networks within the communication range operating on a shared set of wireless
channels. The goals include looking for potential communication partners, devices providing specific
services, or avoiding conflicting resource allocations. All devices use the same wireless technology, are
static and are placed in the same location, so that we can disregard the effects of mobility, channel errors,
hidden-terminal scenarios and so on, and to make the task for one device to discover all other devices
meaningful.
We assume that each device announces its presence by periodically broadcasting beacon signalling
messages at certain individual Beacon Intervals (BI’s). If a neighbour is a network, beacons might be
transmitted by a selected device acting as network coordinator. The discovery is performed by passively
listening to the transmitted beacon messages. The only prior knowledge shared by all devices is the set
of possible operating channels and the set of BI’s that might be used by the neighbours.
We denote the shared set of wireless channels by 𝐶, and the set of allowable BI’s by 𝐵 ⊂ ℕ+. We
denote the set of devices by 𝐷 and the set of transceivers involved in the discovery by each device by
𝑅. The usage of multiple transceivers by a device can either be achieved by using multiple radios (which
we assume for the purposes of this work) or by having a coordinator splitting up the discovery process
and tasking multiple slave devices. We furthermore assume that all considered devices have the same
number of transceivers. The operating channel of device 𝑣 ∈ 𝐷 is denoted by 𝑐𝑣 ∈ 𝐶 and the interval
at which it sends its beacons is given by 𝑏𝑣 ∈ 𝐵. The set of BI’s 𝐵 might be determined by the choice
of communication technology or a set of common policies. We assume that time is divided into time
slots and that the maximum beacon transmission time (time required to send one beacon) is much smaller
than one-time slot. All devices magically agree on time slot boundaries. We denote the offset, that is,
the first-time slot, in which device 𝑣 sends a beacon, by 𝛿𝑣 ≤ 𝑏𝑣. We denote the set of beaconing time
slots of a device 𝑣 by Τ𝑣 = {𝛿𝑣 + 𝑖 ∙ 𝑏𝑣 ∶ 𝑖 ∈ ℕ0} . We call the resulting set of (channel, time slot) pairs,
Β𝑣 = {𝑐𝑣} × Τ𝑣 the beacon schedule of device 𝑣.
With the given notation, each device 𝑣 is assigned a triple (𝑐𝑣 , 𝑏𝑣 , 𝛿𝑣), which we call a device
configuration. Each device includes a device identification and its own device configuration into its
beacons, so that for a neighboured device it suffices to receive just one beacon to know the configuration.
We denote the set of possible device configurations for a given BI set 𝐵 and a given set of channels 𝐶
by 𝐾𝐵𝐶 = {(𝑐, 𝑏, 𝛿): 𝑐 𝜖 𝐶, 𝑏 𝜖 𝐵, 𝛿 𝜖 {1, … , 𝑏}}. For a time, slot 𝑡 and a BI 𝑏, 𝛿𝑏(𝑡) = (𝑡 𝑚𝑜𝑑 𝑏) + 1
shall denote the unique offset such that a neighbour with configuration (𝑐, 𝑏, 𝛿𝑏(𝑡)), 𝑐 𝜖 𝐶, transmits its
beacon in time slot 𝑡. Observe that 𝛿𝑏(𝑡) has periodicity 𝑏, that is, 𝛿𝑏(𝑡) = 𝛿𝑏(𝑡 + 𝑏) for each 𝑡, 𝑏.
Additionally, we assume that each configuration is assigned to at most one device. This assumption,
together with the assumption that beacon packets transmitted in the same slot do not collide with each
other, is designed to keep the problem deterministic, as otherwise repeated collisions between beacons
in the same slot / frequency would lead to randomized discovery times. We denote by 𝐾(𝑐, 𝑡) =
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 49 of 102
{(𝑐, 𝑏, 𝛿𝑏(𝑡))𝜖 𝐾𝐵𝐶 : 𝑏 𝜖 𝐵} the set of all configurations from 𝐾𝐵𝐶 transmitting a beacon in slot 𝑡 on
channel 𝑐.
The devices perform the discovery by selecting time slots during which each of their transceivers 𝑟 𝜖 𝑅
listen on particular channels in order to overhear beacons transmitted by neighbours. If we fix a
particular transceiver 𝑟 𝜖 𝑅, then this transceiver follows a particular listening schedule ℒ, which
specifies a contiguous set of time slots in which to listen, and for each such time slot indicates the
channel on which to listen, i.e.ℒ = {(𝑐, 𝑡): 𝑐 ∈ 𝐶, 𝑡 ∈ {1,… , |ℒ|}}. Since we assume that a transceiver
cannot simultaneously listen on multiple channels, we demand 𝑡 = 𝑡′ ⟹ 𝑐 = 𝑐′for two pairs (𝑐, 𝑡) ∈ ℒ and (𝑐′, 𝑡′) ∈ ℒ. Each transceiver of a device will have its own listening schedule. We furthermore
assume that the time a transceiver requires to switch channels is negligible. If no beacons are lost and
the set of neighbours does not change during the discovery, and if a schedule ℒ contains at least one
element from the beacon schedule 𝐵𝐾 for each configuration 𝑘 ∈ 𝐾𝐵𝐶, one can discover all neighbours
operating with any BI 𝑏 ∈ 𝐵 on a channel 𝑐 ∈ 𝐶. Additionally, we denote the set of previously scanned
(channel, time slot) pairs of a listening schedule ℒ by ℒ𝑝.
Devices may include information obtained during discovery in their beacon messages in order to support
the discovery process of nearby devices. The information included about discovered neighbours (which
we call gossip information) consists of their identifier, operating channel, BI, and time of contact,
relative to the transmission of the beacon transporting the information. Using this information devices
are able to determine the corresponding device configuration (𝑐𝑣 , 𝑏𝑣 , 𝛿𝑣) which may be used for
modifying the listening schedules. We denote the set of (channel, time slot) pairs resulting from the
algorithm processing the gossip information as ℒ𝑔.
In the following results are obtained under the idealizing assumption that there are no beacon losses due
to collisions or interference, no deaf periods when switching between channels (switching time is 0),
and that beacons which would cross time slot borders are received correctly (beacon transmission/
reception time is 0). There is no jitter in beacon transmissions. Furthermore, we assume that devices are
synchronized to time slot boundaries.
2.6.5 Cooperation in neighbour discovery
A main goal of this work is to investigate cooperative discovery strategies (i.e. strategies in which
devices include their current knowledge about existing neighbours and their configuration into their
beacons to help each other in the discovery process) as a means of “poor-man’s-parallelization” of the
discovery process. Some benefits of cooperation are resource sharing among devices (e.g. energy
required to listen for beacon transmissions) or to speed up the discovery process. To investigate the
effectiveness of cooperative discovery, we compare the cooperative strategy not only against optimal
single-transceiver strategies, but also against (optimal) strategies in which a discovering device
possesses multiple transceivers and uses them in a coordinated fashion. In the next Section 2.6.5.1 we
present a range of cooperative or “gossip based” approaches utilizing the exchange of discovery results
and in Section 2.6.5.2 we describe a discovery approach using multiple transceivers.
2.6.5.1 Gossip-based Discovery Approaches
In the following we present a number of cooperative or gossip-based approaches. All devices only use
single radio transceivers and can only listen on one channel at a time. However, each device includes
all the information it has collected so far (device/network identifiers and their configuration) into its
own beacons, where we assume that beacons can be arbitrarily large (note that in Section 2.6.6.4 we
also consider the case of bounded beacon sizes).
The starting point for the design of our gossip-based algorithms is the GREEDY DTR-SWT strategy
presented in [26], which we briefly summarize and which henceforth we simply refer to as the GREEDY
strategy. We represent by ℒ𝑝(𝑡) the previous listening schedule (pairs of (channel, time slot)) followed
in the slots before time slot 𝑡. By our worst-case assumption that all possible configurations from 𝐾𝐵𝐶
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 50 of 102
are actually used by neighbouring devices, ℒ𝑝(𝑡) then also determines the set of configurations 𝐷(𝑡) we
have already discovered before time 𝑡. In time slot 𝑡 we pick the channel 𝑐 on which to listen as:
𝑐 = 𝑎𝑟𝑔𝑚𝑎𝑥𝑐′∈𝐶 |𝐾(𝑐′, 𝑡) 𝐷(𝑡)|
i.e. it picks the channel on which the largest number of yet-undiscovered configurations can be
discovered in a greedy fashion. This selection rule is then repeatedly applied from slot to slot until all
configurations have been discovered.
To properly explain our gossiping strategies, we need a few more notions. We refer to configurations
which the searching device has discovered by receiving a beacon sent by the owning device as a direct
discovery, whereas a configuration only learned from a neighbour’s beacon and not directly observed
before is called an indirect discovery. For an indirectly discovered configuration there are two choices
for setting its discovery time: in the case of immediate accounting (IMM) the discovery time is set to
be the time where the foreign beacon listing the configuration in its payload has been received (i.e.
where the searching device has received gossip information). In the case of verified accounting (VER)
the discovery time is set to the (later) time where a direct beacon is received from the indirectly
discovered configuration. The discovery time of a directly discovered configuration is clearly the time
slot in which the discovery has been made.
In our first gossiping strategy, termed GSP-UNMODIMM, indirectly discovered configurations are
immediately accounted for, but they are not added to the set 𝐷(𝑡) of already known configurations that
is used in the underlying GREEDY algorithm to calculate the next channel to listen on. In other words:
indirectly discovered configurations do not lead to a modification of the listening schedule.
In all the remaining strategies the indirectly discovered configurations are added to 𝐷(𝑡) and hence can
modify the listening schedule (and hopefully shorten it). To achieve this, the new information is included
into the current knowledge 𝐷(𝑡) while using the GREEDY channel selection rule (see equation above)
as before. In the GSP-MOD-IMM strategy, indirectly discovered configurations are immediately
accounted for. The GSP-MOD-IMM-REV strategy builds on the GSP-MOD-IMM strategy (in
particular, indirect discoveries are immediately accounted for), but adds a “re-visiting” feature: by virtue
of including indirectly discovered configurations into the set 𝐷(𝑡) it can well happen that the schedule
calculated after the discovery will not lead to any direct beacon reception from an indirectly discovered
device, and we may miss out on any information that this device might have for us. Therefore, in addition
to the (modified) GREEDY schedule calculated in response to indirect discoveries, an additional
schedule is created in which extra slots are scheduled to receive a beacon once from indirectly
discovered devices. Indirectly discovered devices with larger BI are prioritized in the creation of the
schedule. This additional schedule “overrides” the modified GREEDY schedule, i.e. when both
schedules prescribe some channel for a given time slot t, the channel coming from the additional
schedule is chosen. Finally, the GSP-MOD-VER is similar to the GSP-MOD-IMM-REV strategy, but
applies verified accounting instead of immediate accounting. This may be appropriate when indirectly
discovered configurations are not immediately trusted – for example, in a multi-hop network a neighbour
might report a configuration hidden from the discovering device.
In scenarios in which the number of gossip entries in beacon messages is limited and not sufficient to
include all discovery results, the strategies have to make a choice. Selecting the entries just based on
how recently they have been discovered (i.e. the point in time when the last beacon was received) favors
devices with a small BI which can generally be detected quickly even without the usage of gossiping.
Therefore, we give preference to configurations with a smaller last contact time in multiples of their BI.
With this we aim to avoid penalizing neighbours operating with larger BI, e.g. a neighbour operating
with BI 10 and a relative last contact time of -16 time slots will be prioritized over an entry with BI 5
and a relative last contact time of -10 time slots.
Table 6 gives an overview of the discovery strategies.
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 51 of 102
Table 6 Overview of the discovery strategies and properties.
Strategy Description
GREEDY Low complex discovery strategies that greedily selects the channel with the
maximum number of discoverable configurations in each time slot.
MT-OPT-R Optimized discovery strategy obtained by solving an Integer Linear Program
(ILP) that utilizes up to R transceivers in parallel.
GSP In gossip (GSP) based discovery strategies devices include information
about their discoveries in broadcasted beacon messages.
GSP Property
MOD / UNMOD When a device receives new gossip information, the discovery strategy can
either MODify the listening schedule or stick to the original schedule
keeping it UNMODified.
IMM / VER Specifies the discovery time in case of indirect discovery via gossiping. It
can either be IMMediately accounted or accounted later to a point in time
when a beacon is received directly from the device previously being
gossiped and therefore VERified.
REV Discovery strategies may alter the listening schedule to REVisit already
discovered neighbours in order to gather additional gossip information.
2.6.5.2 Multi-Transceiver Optimized (MT-OPT) Strategy
In the MT-OPT approach we assume that a single device with 𝑟 separately controllable transceivers sets
out to discover its neighbourhood (instead of a single device with multiple radios one could equivalently
consider distributing the discovery task within one network to multiple closely coordinated member
nodes). The searching node does not make use of any information found in the beacons of other devices
beyond the configuration and identification of that device. Broadly, the MT-OPT strategy is given by
an optimal solution to an ILP that is an extension of the GENOPT strategy presented in [26] supporting
multiple transceivers. The result of the optimization are listening schedules ℒ𝑟 for each transceiver 𝑟 ∈𝑅, so that the Mean Discovery Time (MDT) (see Section 2.6.6.2) for all configurations (𝑐, 𝑏, 𝛿) (with
𝑐 𝜖 𝐶, 𝑏 𝜖 𝐵 𝑎𝑛𝑑 𝛿 𝜖 {1,… . , 𝑏}) is being minimized. We refer to the MT-OPT strategy with 𝑅
transceivers as MT-OPT-R.
First, we define the decision variables 𝑥𝑐,𝑡,𝑏,𝑟 and the auxiliary variables ℎ𝑐,𝑡,,𝑟 as follows:
In the following 𝐿𝐶𝑀(𝑋) denotes the least common multiple of a set 𝑋 ⊂ ℕ+. Then MT-OPT can be
formulated as follows:
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 52 of 102
In this formulation, constraint (C1) ensures that each configuration is detected, (C2) ensures that a
configuration (𝑐, 𝑏, 𝛿𝑏(𝑡)) can only be detected by transceiver 𝑟 if channel 𝑐 is scanned during time slot
𝑡 by 𝑟, (C3) makes sure that each transceiver 𝑟 scans at most one channel during a time slot.
2.6.6 Evaluation
In this section, we first detail the parameter settings of the analysed scenarios and the evaluation
methodology. We then describe the performance metrics used in this evaluation. Finally, we present the
evaluation results when varying important network parameters: the number of channels, the number of
transceivers and the number of neighbours.
2.6.6.1 Setting
In order to evaluate the proposed strategies for different numbers of channels and devices we use a
custom-made discrete-event simulator written in Java. We draw random samples for the BI sets 𝐵 and
apply all algorithms to the same set of samples. Due to the high computational complexity of the MT-
OPT strategy, we had to restrict the size of the studied scenarios, that is, the number of channels, as well
as the number and magnitude of elements in the BI sets.
First, we draw |𝐵| from a uniform distribution over [3; 6] and then draw individual BI’s from a uniform
distribution over [1; 10] for a total of 50 BI sets 𝐵. For each drawn BI set 𝐵, number of channels and
number of devices we run 30 replications, in each of which the device configurations (for the given
parameters) are generated randomly (but they are unique). More specifically, each device configuration
is assigned a channel, a BI and start offset randomly according to a uniform distribution.
We vary the number of devices between 5 and 80 and the number of channels between 2 and 30. Since
listening schedules for the MT-OPT strategy are obtained by solving an ILP requiring lots of
computational power, the maximum number of channels for this strategy is limited to 10. In those
experiments where we vary the number of devices we consistently use eight channels. In those
experiments where we vary the number of channels we use 15 devices.
For comparison we included the GREEDY strategy in the evaluation. This strategy does not utilize any
cooperation in the discovery process and is based on fixed listening schedules for a specific set of
channels and set of BI’s.
All results presented in the following are accompanied by confidence intervals for a confidence level of
95%.
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 53 of 102
2.6.6.2 Performance metrics
We next describe the performance metrics that we are using to evaluate the different algorithms. The
evaluation is performed from the view of the device with the lowest identifier, i.e. a simulation run is
finished when this device has discovered all its neighbours.
For each of the following metrics the results are normalized to the results achieved by the best possible
non-cooperative strategy, i.e. the strategy of listening on all channels at the same time (where all
neighbours are discovered when their first beacon is transmitted). For a specific scenario and specific
scheme, the considered metrics are computed and then normalized. Then the mean of the normalized
values over the 30 scenarios for a BI set 𝐵 is computed. Lastly, the mean of the averaged results of all
50 drawn BI sets 𝐵 is computed.
The discovery time of a neighbour is the difference between the time at which the listening device starts
operating (at time 0) and the time at which the first beacon of this neighbour is received. In case of
strategies which apply immediate accounting for indirectly discovered neighbours (see Section 2.6.5.1),
a discovery is also recorded when gossip information of a previously unknown neighbour is received.
We mainly use two metrics. The Mean Discovery Time (MDT) is the mean of the discovery times of all
neighbours discovered. The MDT is an important metric in scenarios in which devices are interested in
finding some subset of all existing neighbours, e.g. devices looking for one particular access point. The
Last Discovery Time (LDT) is the discovery time of the last neighbour discovered. The LDT is
important in scenarios in which a device is interested in discovering the complete neighbourhood, e.g.
devices that want to start a new network and use the discovery results to find a suitable channel and BI
combination that does not interfere with already existing networks.
2.6.6.3 Results for Unbounded Beacon Size
In this section we present results for the case of an unbounded beacon size, i.e. there is no constraint on
the number of gossip entries in a beacon message.
1) MDT: We first consider results for the MDT.
a) Varying Number of Channels: In Figure 33 we show the normalized MDT of all considered strategies
(including three different versions of the MT-OPT scheme with different numbers of transceivers) for
varying number of channels. The following points are noteworthy:
• If we compare the results of the GSP-MOD-IMM, GSP-UNMOD-IMM and GSP-MOD-IMM-
REV strategies with the results for the MT-OPT approach with different numbers of
transceivers, it can be seen that the best gossiping strategy show a performance equivalent to
between two and four transceivers (and optimal scheduling of their listening activities).
• Surprisingly, the GSP-UNMOD-IMM strategy (in which the listening schedule is not
recomputed after indirect discoveries) achieves a slightly smaller MDT than the GSP-MOD-
IMM strategies (which attempt to shorten the schedule after indirect discoveries). This suggests
that attempting to shorten the schedule based on indirect discoveries can actually be harmful.
One possible explanation for this is that by dropping these later slots from our schedule we
deprive the listener of opportunities to hear directly from indirectly discovered neighbours and
pick up any additional gossip information they might have obtained in the meantime. Note that,
heuristically, the later we hear a beacon from a neighbour, the more information is included in
them.
• The results for the GSP-MOD-VER scheme correspond to the usage of one to two transceivers
in the MTOPT strategy. However, it appears that with increasing number of channels the GSP-
MOD-VER scheme starts to outperform MT-OPT-2.
b) Varying Number of Neighbours: In Figure 34 we show the impact of the number of neighbours
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 54 of 102
on the normalized MDT of the discovery strategies (considering five different versions of MT-OPT)
while keeping the number of channels fixed to the default value of 8. The following points are
interesting:
• With increasing number of neighbours the MDT of the GSP-MOD-IMM and GSP-
UNMOD-IMM strategies decreases monotonically and reaches the performance of the MT-
OPT-6 strategy at 80 neighbours.
• Interestingly, the MDT of the GSP-MOD-VER is not monotonically decreasing but rather
shows a minimum around 20 neighbours and increases again with larger numbers of
neighbours. This is caused by the recomputation of listening schedules forcing to validate
gossiped information. With lower numbers of neighbours the validation decreases the MDT
even though it is still higher than the results of the other three strategies assuming all gossip
information to be correct. Since the number of neighbours have no impact on the length of
the original listening schedule, the forced validation slots added to the schedule result in a
delayed discovery of other neighbours that have not yet been gossiped. The impact of the
validation of neighbours can also be seen in the results of the GSPMOD- IMM-REV
strategy. It results in a larger MDT than for the GSP-MOD-IMM and GSP-UNMOD-IMM
strategies, with an equivalent of around 4 transceivers using the MT-OPT approach with 80
neighbours.
2) LDT: We next consider the LDT.
a) Varying Number of Channels: Figure 35 depicts the normalized LDT with varying number of
channels. Broadly, we can observe the same trends as for the MDT and varying number of channels,
with some slight differences. Compared to the MDT results the GSP-MOD-IMM-REV strategy has a
higher LDT than the GSP-UNMOD-IMM strategy and very similar results to GSP-MOD-IMM. The
LDT of the GSPMOD- VER strategies is lower than MT-OPT-2 for higher numbers of channels.
Furthermore, the LDT of the GSPUNMOD- IMM strategy is closer to MT-OPT-4 compared to the
results of the MDT.
b) Varying Number of Neighbours: Figure 36 shows the normalized LDT when varying the number of
neighbours. The LDT of the GSP-UNMOD-IMM scheme decreases towards the optimum of MT-OPT-
8 with increasing number of neighbours. When looking at the GSP-MOD-IMM-REV strategy, the
combination of removing discovered configurations during schedule recomputation and having to revisit
gossiped neighbour’s results in large and even increasing LDT values for larger numbers of neighbours.
Furthermore, the results are similar to GSP-MOD-VER but with an offset caused by the immediate
accounting property of GSP-MOD-IMM-REV, which simply counts discoveries earlier than GSP-
MOD-VER does.
Figure 33 Normalized MDT under varying number of channels.
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 55 of 102
Figure 34 Normalized MDT under varying number of neighbours.
Figure 35 Normalized LDT under varying number of channels.
Figure 36 Normalized LDT under varying number of neighbours.
2.6.6.4 Results for Bounded Beacon Size
In the results presented so far, we have assumed that beacons are sufficiently large and can contain all
discoveries that a device has ever made. In the following we introduce restrictions on the number of
configurations that can be reported in a beacon and compare the resulting MDT performance of selected
strategies against the performance achievable with an unlimited beacon size. We again vary the number
of channels and the number of neighbours. The number of gossip entries has been set to 1, 5 and
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 56 of 102
unlimited entries. Please note that a limitation on the number of configurations that can be included also
introduces the problem of selecting the configurations to include into beacons when many more are
known than can be included. The selection rule is explained in Section IV-A.
Varying Number of Channels: In Figure 37 the normalized MDT of the gossip-based strategies is shown
for different limits for the number of gossip entries and for varying numbers of channels (with 15
neighbours). As expected, allowing devices to exchange more gossip information per beacon message
decreases the MDT for all analysed strategies when considering the same number of channels and
neighbours. In contrast to the results of Section V-C1 in which only a small number of channels has
been analysed (so we could include results for the ILP-based MT-OPT approach), the GSPMOD- IMM-
REV strategy has the lowest MDT among the gossip-based strategies. Since the number of neighbours
is set to the fixed value of 15, higher numbers of channels result in a longer time required to detect all
neighbours. Therefore, receiving additional gossip information in the process of validating/revisiting
indirectly discovered neighbours helps with finishing the detection of all neighbours in scenarios with a
large number of channels and/or a BI set B with large entries.
Even though the GSP-MOD-VER strategy considers a discovery of a neighbour only if one of its
beacons is directly received, it has a lower MDT than GSP-MOD-IMM and GSPUNMOD- IMM for
large numbers of channels and limited number of gossip entries per beacon.
2) Varying Number of Neighbours: Figure 38 depicts the normalized MDT for limited beacon entries
and different numbers of neighbours. The MDT of GSP-MOD-VER and GSP-MOD-IMM-REV suffers
from the process of validating or revisiting neighbours as described in V-C1b and is increasing for more
than 25 neighbours for limited beacon entries. On the other hand, for an unlimited number of entries the
MDT of GSP-MOD-IMM-REV is continuously decreasing when increasing the number of neighbours.
However, for more than 25 neighbours the GSP-MOD-IMM-REV strategy has the highest MDT among
the strategies assuming gossip entries to be true.
A large number of gossip entries has only minor impact on the MDT of GSP-MOD-VER; the results for
5 entries and an unlimited number of entries are very close to each other. Furthermore, for large numbers
of neighbours the gap between the results of the different allowed number of beacon entries vanishes.
The results of the GSP-MOD-IMM and GSPUNMOD- IMM strategy are almost similar when only a
single beacon entry is allowed. However, for larger number of entries the GSP-UNMOD-IMM achieves
a faster MDT.
Figure 37 Normalized MDT of the gossiping strategies with different limits for the gossip entries per
beacon for varying number of channels.
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 57 of 102
Figure 38 Normalized MDT of the gossiping strategies with different limits for the gossip entries per
beacon for varying number of neighbours.
2.6.7 Conclusion
This paper presented different neighbour discovery approaches utilizing cooperation between devices
in order to improve the discovery process. We have developed gossip based discovery strategies that
exchange discovery results by including them in periodically transmitted beacon messages. The gossip-
based approaches have been compared to an optimal multi-transceiver approach whose listening
schedules are optimized regarding the Mean Discovery Time (MDT). We have shown that by only
exchanging discovery results via beacon messages, devices can achieve a significant improvement in
the MDT and Last Discovery Time (LDT) depending on the number of channels and neighbours
comparable to the utilization of up to the optimal number of transceivers being equal to the number of
channels.
• KPI -- “20% decrease in D2D neighbour discovery time “
In comparison to the ILP optimized single transceiver discovery strategy MT-OPT-1 the discovery
strategies using cooperation show already an improvement of the MDT of up to 50% for only two
channels with a decreased discovery time of up to 60% for 10 channels. Furthermore, for larger number
of channels the gap between MT-OPT-1 and the gossip based strategies even increases.
Similar improvements can be observed for the LDT in which the discovery time is decreased by up to
50% for two channels and up to 60% for 10 channels.
Therefore we can see that the KPI “20% decrease in D2D neighbour discovery time“ is clearly fulfilled
by using cooperation approaches in the discovery process.
2.7 Throughput measurements and interface for load balancing between several
PHY technologies (mmWave, GFDM)
2.7.1 Introduction
The 5G architecture and its vertical sectors are foreseen to accommodate various types of application
requirements such as latency, throughput, resilience, etc. The promising solution for addressing such
wide range of requirements is a type of infrastructure equipped with multiple radio access technologies
(multi-RAT). Hence, assuming an intelligent base station that is equipped with different physical layers
(PHY), we target a robust and high throughput communication scenario. Here, we employ generalized
frequency division multiplexing (GFDM) as a flexible waveform and millimeter wave (mmWave) as a
broadband type of communication.
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 58 of 102
Precisely, GFDM is a flexible waveform, which can adapt itself to the application requirements by
simply changing its on-the-fly parameter values. For instance, by changing the number of active
subcarriers on a packet basis, GFDM changes the bandwidth of the signal in order to fit itself into the
spectrum holes suitable for cognitive radio scenarios. Thanks to the low out of band emission of GFDM,
a significantly smaller number of guard subcarriers are required when it is compared to an OFDM signal.
Such advantage of GFDM over OFDM allows increase of spectral efficiency in frequency domain. On
the other hand, if an application requires a considerably high throughput, mmWave is our choice due to
its broadband type of communication. However, transmission at much higher frequencies suffer from
different propagation characteristics compared to traditional bands, specifically the large free space
pathloss. Caused by the small wavelength, the severe loss can be compensated by high directional
transmission using large antenna arrays. However, new cellular protocols have to be developed, which
can find the initial beam combination to start communication between access point and user device
(beam-alignment) and to adaptively update the beam direction according to the user devices movement
(beam-tracking). The corresponding algorithms are designed to ponder the robustness and overhead,
resulting in a general lower resilience of the mmWave transmission compared to cellular transmission
in lower frequency bands. Additionally, the pathloss and reflection properties of the channel result in a
sparse channel, meaning that NLOS connections are infeasible in certain situations (if no corresponding
reflector is available).
One solution to cope with the problems described is to combine transmission in a lower frequency band
(and lower bandwidth and rate) with a high bandwith mmWave transmission. For the reasons of different
sampling, frame and latency constraints, the physical layers are separated, giving the higher layer the
flexibility to balance the transmission load according to the current quality of the mmWave link. By
combining the high capacity of the mmWave link and the resilience of the lower frequency link, the
overall cellular link can combine both of the features. It is worth to be noted, that traditional cellular
systems operate usually at a larger scale (macrocell) as the mmWave cellular systems (microcell), so
that one lower frequency band base station could connect the user devices of several mmWave
microcells. The overall setup of the scenario is depicted in Figure 39.
2.7.2 System description
We assume an intelligent base station and an intelligent user are equipped with multi-RAT e.g. GFDM
and mmWave and they can operate them in parallel. GFDM operates at lower frequency bands e.g. 1.99
GHz while the mmWave link operates at 58.32-64.8 GHz (according to IEEE 802.11ad) with a
frequency span of 750 MHz. The GFDM PHY uses a robust modulation and coding scheme (MCS) in
order to improve the resilience of the link while the mmWave setup adapts the beam forming algorithms
for maximizing the throughput.
Figure 39: GFDM/mmWave multi-RAT scenario.
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 59 of 102
Here, we use the flexible GFDM PHY software component in order to implement the physical layer on
FPGA of the NI USRP RIOs. The flexible GFDM PHY (i.e. uploaded to the eWine intelligent toolbox)
is a software defined radio that implements and runs all the necessary PHY components on hardware. A
block-diagram of the implemented PHY components is depicted in Figure 40. The implemented MCS
is QPSK with 1/2 code-rate of convolutional code. The synchronization and channel estimation are
preamble based with 64 subcarriers and 2 subsymbols.
The mmWave setup consists of an Access Point (AP) and a User Device (UD), which have identical
hardware. Each node consists of one baseband unit with several FPGAs, one power supply and one
integrated transceiver and antenna unit. The physical layer is programmed on several FPGAs, making a
real time and bidirectional processing possible. The system uses Single Carrier with Null-CP for
modulation and features a full L1 implementation including channel equalization and turbo coding. To
adapt to the channel quality needs, several MCS are introduced, ranging from BPSK rate 1/2 to 16 QAM
rate 7/8. We separate the uplink and downlink communication via time division multiplexing (TDM).
Additionally, parts of the MAC code were implemented in a real time processing unit, controlling the
radio resource control and the signalling protocol between AP and UD. The integrated transceiver and
antenna chip uses physically separated phased arrays for transmission and reception. For each mode, 12
antenna elements are available, while only 5 elements are arranged in azimuthal direction. This results
in a nominal half power beam width (HPBW) of 36◦. Each node has a fixed codebook of 25 beams for
transmitter and receiver equally distributed in angular. The codebook for the transmit and receive beams
is different and was measured in the anechoic chamber.
Figure 40: flexible GFDM PHY.
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 60 of 102
Figure 41: Multi-RAT (GFDM, mmWave) system setup.
An overview of the GFDM and mmWave setup is shown in Figure 41. The above application scenario
is implemented in an indoor environment. Therefore, despite of wireless transmission of both GFDM
and mmWave, the GFDM signal would go through a slow- and flat-fading channel.
2.7.3 Implementation details
The load balancing algorithm is implemented on a host PC and multiplexes the UDP packets to either
one or multiple physical layers. Although, in this scenario, the packets are only forwarded to one PHY
at the same time instant, meaning that if mmWave is available (e.g. it has line-of-sight connection) the
payload is forwarded to the mmWave link transmitter. If the throughput of the mmWave link drops from
a certain threshold (e.g. it loses the LoS connection and no strong reflector exists), a feedback from Rx
is sent to the multiplexer in order to switch the payload transmission from mmWave link to GFDM. In
this scenario, we assume GFDM has a robust connection to the receiver.
An initial version of the load balancing was implemented and presented during 5G summit 2017 in
Dresden and a video of the demo was uploaded to the eWine website as a news feed. Figure 42 shows a
screen-shot of the video with the two PHY Multi-RAT system while mmWave UD has mobility. In the
presented demo, if the throughput of the mmWave PHY falls below 50 Mbit/s, the load-balancing
algorithm sends the payload packets to GFDM.
mmWave indicator (0/1)
PHY 1: GFDM
PHY 2: mmWave
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 61 of 102
Figure 42: Multi-RAT Demo at 5G Summit 2017, Dresden.
2.7.4 Evaluation
In this section we provide the real-time throughput measurements of the Multi-RAT (GFDM, mmWave)
system. Since the load-balancing algorithm forwards the payload packets to one PHY at the same time
instant, we performed the measurements separately for GFDM and mmWave.
Figure 43 shows the throughput measurements for GFDM. Here, we adapt 15 subsymbols in 64
subcarriers over bandwidth of 20 MHz at 1.99 GHz carrier frequency. Each subcarrier is circularly pulse
shaped with a filter roll-off factor of 0.5. The dot points in the figure are the exact measurements and
their average is also shown via a trendline. One can see that the throughput increases linearly as the
number of active subcarriers increases and a maximum throughput value of 9.6 Mbit/s has been achieved
via GFDM while the modulation and coding scheme was QPSK 1/2.
Figure 43: Throughput measurements for GFDM with QPSK 1/2 modulation and coding.
0
2
4
6
8
10
12
0 10 20 30 40 50 60
Th
rou
ghp
ut
(Mb
it/s
)
Number of active subcarriers
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 62 of 102
The throughput measurements for mmWave link is depicted in Figure 44. The mmWave carrier
frequency is 60.48 GHz with a bandwidth of 750 MHz. The beam pair combinations for the AP and
UD can switch every TDM slot, consisting of 150 blocks of 0.68μs length. As shown in figure, the left
three columns compare the throughput for different MCS while the beam tracking is active and the UD
is allowed to have mobility. In this case, a maximum accumulated throughput of 639 Mbit/s is
achieved via the MCS 3/4 QPSK. On the other hand, if the UD and AP have fixed positions, the beam
tracking algorithm can be switched off which leads to less overhead of data communication. Hence,
higher throughput of up to 760 Mbit/s via MCS 3/4 QPSK is achieved.
Figure 44: Throughput measurements for mmWave.
0
100
200
300
400
500
600
700
800
BeamTracking
BeamTracking
BeamTracking
No mobility No mobility No mobility
1/5 BPSK 1/2 QPSK 3/4 QPSK 1/5 BPSK 1/2 QPSK 3/4 QPSK
Thro
ugh
pu
t (M
bit
/s)
Downlink Uplink Accumulated
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 63 of 102
3 LOCALIZATION
3.1 Generalized architecture
Location information of mobile devices is a foundational input to location-based services and a valuable
source of context information in wireless networks. To maximize the value, we need location
information that is accurate, robust, and promptly and seamlessly available. Unfortunately, individual
localization services seldom satisfy all these requirements. For achieving that vision, a set of challenges
has to be addressed, pertaining to handover, fusion, and integration of different sources of location
information. Current approaches for integration of individual localization services are either not specific
enough or are limited in scope and lack flexibility. In the following, we provide a detailed design and a
prototypical implementation of the Standardized Localization Service (SLSR), a middleware
architecture for achieving those goals. We instantiate the service in an office environment and perform
exhaustive performance benchmarking in a testbed specifically designed for supporting such
experimentation. Our results characterize the effects of different functional components envisioned in
the SLSR on its performance. Our results also quantify the accuracy benefits of fusion of representative
sources of location information.
3.1.1 Introduction
We are witnessing a rapid growth in demand for location information of mobile devices. Location
information is an enabler of location-based services [46] and decisive context information for improving
and enhancing wireless networks [47]. These use-case scenarios require seamless, accurate, and robust
location information. However, there is no single prominent solution that currently satisfies all specified
requirements. On the contrary, some solutions are able to provide satisfactory performance in some
environments, while some others provide good performance in other environments. Their deployments
can overlap, which is pronounced for indoor environments due to the absence of the Global Positioning
System (GPS), resulting in a plethora of alternative approaches for such environments.
For promptly, seamlessly, and robustly achieving the desired accuracy, there is a need for an entity for
fusion, handover, and integration of different sources of location information. This can be done either
on the level of fusion of raw data, i.e. resources used for generating location information, or on the level
of fusion of location estimates provided by different elementary sources of such information. The former
introduces organizational issues, an example being that many sources of raw data for localization are
part of other systems to which a localization service does not have full access. Furthermore, this
approach raises ownership and privacy issues, e.g. it is hard to put a price on the access to resources for
generating location information and it is difficult to prevent their leakage.
We envision a future where localization services are not going to leak out raw data, but will rather be
black-box services with a price tag for providing location estimates. Hence, to improve localization
performance, we are facilitating the handover between and the fusion of black-box services that can
provide location estimates in a given space at a certain time. Standardization of such an architecture is
given in the EU eWine Deliverable “D3.1: Context provisioning and sensing algorithms design and
implementation”. While such architectures have been abstractly specified, examples being [48], [49], a
full specification and implementation of such a service is still lacking.
To fill this gap, we provide the SLSR, a fully specified and implemented localization service
architecture. The architecture enables provisioning of location information to the applications regardless
of the services that are providing this information. This functionality is supported by a middleware entity
of the SLSR, i.e. the Integrated Location Service (ILS). Assuming that the user is mobile and serviced
by different Services for Location Information Provisioning (SLIPs), the ILS becomes a proxy with
respect to the requirements for location information. We contribute by specifying functional properties
of the SLSR, e.g. long-term interpretation of requests for location information, usage of cached location
information, mapping of location information types, selection of SLIPs that can provide location
information, and fusion of their results. Our contributions also include an implementation of the SLSR
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 64 of 102
and its rigorous evaluation in an office-like testbed environment designed for performance
benchmarking of localization solutions.
Our results characterize the influence of different functional components to the overall performance of
the SLSR. Example-wise, our results show that the usage of cached location information benefits both
accuracy and latency of provisioning, while different strategies for selection of SLIPs change the
dynamics of the performance of the SLSR, e.g. improve its power consumption, while trading-off
accuracy. We further demonstrate the benefits of this middleware approach compared to a single
localization solution in terms of localization accuracy enhancements.
3.1.2 High-Level Overview of the SLSR
A high-level overview of the SLSR is given in Figure 45. The Location-based application (LBA) is
defined as an entity that requires location information of a mobile device. The central entity of the
architecture is the ILS, serving as a setting for fusion, integration, and handover of different SLIPs. SLIP
is an entirety capable of providing location information of a mobile device. The Resources for
generating location information is an entity serving as input data for generating location information by
location information provisioning services.
Figure 45: High-level overview of the SLSR.
In the following we shortly overview only the most relevant parts in regard to the interaction between
architectural components of the SLSR is specified by a set of standardized APIs in details discussed in
[50]. The relevant integration primitives are also in more details discussed in the EU eWine Deliverable
“D3.1: Context provisioning and sensing algorithms design and implementation”.
The Standardized Localization Interface (SLI) provides a set of primitives for standardized interaction
between the LBA and the ILS. The Provisioning Service Interface (PSI) specifies the interaction
between the ILS and each SLIP, while the Resource Interaction Interface (RII) specifies the interaction
between each SLIP and resources for generating location information.
LBAs can request location information of different types. Global location information is the one in
reference to a global reference location, usually used in the GPS. Local location information is in
reference to a local “zero-point'', largely used in indoor environments. Finally, semantic location
information provides a contextual meaning, in terms of a mobile device being in vicinity to an object or
inside of a space.
Location information of each type can be requested with certain accuracy and latency features, and can
be requested once, periodically for certain duration, or on an event upon its sufficient change from the
Location-based application
Integrated location
service
Resources for generating location information
Service for location information provisioning
…
…
Architectural module
Standardized interface
Interaction indicator
Location-based application
RII instances
PSI instances
SLI instances
Service for location information provisioning
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 65 of 102
previous location. To be compliant with the PSI, a SLIP has, upon receiving a request from the ILS,
announce its features of provisioning. These features are the expected accuracy, latency, and power
consumption of location information provisioning. Based on the provisioning features of the available
SLIPs and based on the requirements from the LBAs, the ILS makes a decision on the SLIPs to be
invoked for generating of location information.
3.1.3 Design of the SLSR
Previously described main components of the SLSR could be stand-alone applications on a mobile
device to be localized, but could as well be deployed in an environment surrounding the device. The
latter is tightly related to the Internet of Things (IoT) vision of smart environments providing services
to the users and devices in them [51]. The first design decision pertains to positioning each of the
specified components in these classes.
The majority of LBAs are stand-alone entities on a mobile device, primarily used for providing some
location-based service to the users. However, it has been suggested that location information could be
used for improving various aspects of wireless networks. Such scenarios often require location
information of a mobile device to be shared with other entities surrounding the device, and therefore we
also envision LBAs to be deployed in the environment surrounding the device.
The ILS can be viewed as an individual per-device entity, but also as a global centralized entity for all
mobile devices. The latter would allow for a global optimization of invocation of SLIPs and would
simplify sharing of location information across devices and applications. However, such a global ILS
would intrinsically have increased privacy and security risks, while the avoidance of such issues is of
immense importance for location information [52]. Furthermore, such a global ILS would, because of
the large number of devices to be supported, be hardly scalable and would therefore have to be a stateless
entity. Hence, the ``intelligence'' of requesting location information would have to be pushed to the
LBA. This means that, for example, periodic or on an event-based provisioning of location information
(i.e. when the location information substantially changes from the previous one) could not be explicitly
specified, but should be done by periodically issuing requests for current location information by the
LBA. However, if such advanced knowledge of future requests for location information is available at
the ILS level, the ILS could leverage it for optimizing the invocation of SLIPs. This could yield
reductions in power consumption and latency of location information provisioning, as indicated in [53].
We therefore believe the ILS should be fully operating on a mobile device to be localized.
Along the IoT vision of smart environments, we believe that SLIPs could be stand-alone entities on a
mobile device, but could also be embedded in smart environments surrounding the device. Examples
from the stand-alone category include the usage of dead-reckoning that leverages Inertial Measurement
Unit (IMU) readings for generating location information [54]. An example in the latter category is WiFi-
based fingerprinting, where a training database, i.e. a sampling of a WiFi environment at training
locations, is needed for generating location information of a mobile device. In this case, a fingerprinting
server containing the training database is deployed either in a served environment or remotely in a cloud
instance, while a fingerprinting client deployed on a mobile device interacts with the server for obtaining
location information [55].
A detailed functional overview of the SLSR is given in Figure 46. The procedure starts by different
LBAs requesting location information of certain features from the ILS. The features of provisioning are
desired accuracy and latency of location information, where location information can be requested once,
or periodically or on an event for certain duration. These requests for location information are received
at a listener for requests for location information, where their arrival times are logged.
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 66 of 102
Figure 46: Detailed functional overview of the SLSR.
The requests are then forwarded to a long-term requests interpretation entity. The role of the long-term
requests interpretation is to translate a request for periodic provisioning or a request for provisioning on
events into repeated individual requests for location information. For example, if a request specifies
periodic provisioning with a period of 1 s in the duration of 30 s, the long-term requests interpretation
will translate such request into 30 requests for location information with the latency of 1 s at appropriate
times.
Each request is then potentially resolved with cached location information in case such information is
not stale and if it has acceptable accuracy attribute for addressing the request. Similarly, each request is
potentially resolved by mapping of location information types. For example, if point-level location
estimate is requested, while a room-level cached information exists and is not stale, the mapping of one
type to another can be performed, hence the request can be resolved. All requests resolved by either
cached or mapped location information are immediately reported back to the LBAs.
All unresolved requests are used as an input in an algorithm for selection of SLIPs. In addition,
provisioning features of available SLIPs are also used as an input to the algorithm. These features of
provisioning are obtained through the discovery of SLIPs and their features, which is initiated by the
ILS. Upon request, all available SLIPs estimate and report their provisioning features to the ILS.
Selection of SLIPs to be invoked is therefore based on the requirements from LBAs and provisioning
features of available SLIPs. The selection can be subject to various optimizations in relation to relevant
metrics, i.e. accuracy of location information, and latency and power consumption of provisioning. The
selected SLIPs are finally invoked for generating location information.
Location information from different SLIPs are received at a listener for location information. Upon
receiving each location information, the ILS decides, based on the requirements from an LBA, if this
information should be reported back to the LBA. Adversely, the location information can be fused with
location information from other SLIPs before its reporting. This fusion process enhances the accuracy
of reported location information, while trading-off latency of provisioning, since a certain delay is
introduced by waiting for multiple SLIPs (usually with different latency features) to report their location
information. The reported information is additionally used for updating cached location information.
Listeningforrequestsforloca1oninforma1on
…
requestforloca1oninforma1on
requestforloca1oninforma1on
Interpreta1onoflong-termrequestsforloca1oninforma1on
Solvingrequestswithcachedloca1oninforma1on
Solvingrequestsbymappingtootherloca1oninforma1ontype
Selec1onofloca1oninforma1onprovisioningservices
Listeningforfeaturesofprovisioning
…provisioningfeatures
Es1ma1onofprovisioningfeatures
Es1ma1onofprovisioningfeatures
provisioningfeatures
Reques1ngloca1oninforma1onfromselectedprovisioningservices
Listeningforloca1oninforma1on
Loca1oninforma1onfusionandrepor1ngtoapplica1ons
Upda1ngcachedloca1oninforma1on
Provisioningofloca1oninforma1on
Discoveryofprovisioningservicesandfeatures
Provisioningservicefunc. onalityIntegratedloca. onservicefunc. onality
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 67 of 102
3.1.4. Implementation of the SLSR
3.1.4.1. GDP-based Implementation of Distributed Messaging
For the prototypical implementation of the distributed messaging in the SLSR we have selected the
Global Data Plane (GDP) [56]. The GDP is designed as a universal middleware platform, offering
prominent types of data access. The GDP natively supports a single-writer log-based messaging, while
also providing a Representational State Transfer (REST) and publish/subscribe interfaces for accessing
data. Logs are encrypted and only applications with proper encryption keys can access their data, which
ensures data privacy and security.
Distributed single-writer log is a messaging pattern based on a partitioned and replicated commit log
service. The GDP also supports the discovery of such logs and granting reading access to a particular
log. A log is named by an opaque 256-bit number and consists of a series of records, each record
consisting of a record number, a timestamp, and data. The mapping of the distributed messaging between
the components of the SLSR and the GDP is performed by modelling each interaction primitive by a
log in which one entity is allowed to write new data. Other entities are allowed to read and receive
notification of the data being written in the log. A favourable feature of the GDP-based distributed
messaging is the support for caching and historical information storage and retrieval. This feature is
used for the implementation of the module for resolving requests for location information by leveraging
cached location information. The GDP provides the possibility of addressing services of the same type
at once, which is leveraged in the implementation of the module for the discovery of SLIPs and their
features.
Interaction between the ILS and each LBA is implemented as a set of GDP logs. Distributed messaging
supported by the GDP allows the LBA to access location information provided by the ILS even in case
such LBA is not deployed on a mobile device. The LBA is envisioned to be the only writer to its log for
requesting location, with the entry data being the parameters defining the desired features of location
information (location type (e.g. point or room-level location estimate), accuracy, latency,
once/periodically/on events, duration). The ILS is subscribed to that log and upon request reports
location information by writing it to a log for reporting location information to which the LBA is
subscribed. The registration of an LBA with the ILS is therefore a matter of creating a set of GDP logs
and registering them with the ILS.
The registration of a SLIP is performed by the SLIP granting the ILS a read permission to its ``reporting
location log'', where the first entry to that log is the address of the SLIP (256 bit identifier) and the
location information type(s) that can be provided. The ILS is a writer to a discovery log to which all
SLIPs are subscribed. SLIPs subscribed to that log report their availability and provisioning features by
writing into a log for reporting provisioning features, where an entry defines an offering (i.e. accuracy,
latency, and power consumption). The procedure continues in the same way as for the interaction
between the LBA and the ILS.
As mentioned, the GDP provides support for REST and publish/subscribe-based messaging. In the
following, we will shortly discuss how the REST messaging paradigm can support the distributed
messaging in the SLSR. Given the REST support, the implementation using publish/subscribe
paradigms is straightforward and it is therefore omitted.
The REST messaging pattern's key abstraction is a resource, where the resource is any named
information. The REST pattern bases messaging on four operations: creating, reading, updating, and
deleting a resource. An LBA can request location information from the ILS using a request for location
information, with the payload being the desired features of this information. The ILS reports this
information as the response to the request, where the response consists of the requested location
information. In case the consuming LBA requires periodic or on an event reporting of location
information, an observe flag should be set in the request. When the observe flag is set by the LBA, the
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 68 of 102
ILS will continue to reply after the initial resource has been reported, therefore the asynchronous nature
of responses can be achieved.
Registration of a SLIP with the ILS is done by issuing a register service request to the ILS, with the
payload being the address of the SLIP and location information type that can be provided by the SLIP.
During the discovery of SLIPs, the ILS issues a service discovery request to each suitable registered
SLIP. As the response, the invoked SLIPs report their provisioning features. The ILS requests location
information provisioning from a SLIP in the same way, as an LBA requests location information from
the ILS.
3.1.4.2. Selection of SLIPs
A time-bucketed operation of the ILS allows for better utilization of the SLIPs by resolving multiple
requests with the same invocation of SLIPs, hence it offers benefits in terms of reduced power
consumption of the SLSR [57]. The SLSR is for that reason implemented to operate in a periodic time-
bucketed fashion. The duration of each time-bucket is hard-coded to 0.5 s, corresponding to half of the
usual update period of roughly 1-2 s needed for users' tracking scenarios [58].
Selection of SLIPs can be subject to various optimizations in relation to accuracy, latency, and power
consumption of location information provisioning. In the current implementation of the ILS, the
selection of SLIPs can be based on two selection algorithms [59]. The primary aim of both algorithms
is latency requirements satisfaction and the secondary aim is the satisfaction of accuracy requirements
of all requests received in the duration of a time-bucket. The Per-Request Satisfaction Algorithm
(PRSA) is subject to per-request power minimization, while the Per-Time bucket Satisfaction Algorithm
(PTSA) is subject to a more global per-time-bucket power minimization. The decision on which
algorithm to use is left to the user, since one algorithm achieves better performance in terms of power
consumption, while trading-off accuracy satisfaction, as analytically indicated in [60] and
experimentally evaluated and confirmed in this work.
A step preceding the execution of both algorithms is the generation of “virtual SLIPs”. The currently
used algorithm for the generation of virtual SLIPs is based on fusion of SLIPs with similar accuracy
features. Such a fusion yields a more accurate virtual SLIP in comparison to each SLIP in the
combination. The similarity in the accuracy is based on the accuracy difference threshold accth between
the accuracy features of different SLIPs. If the similarity between SLIPs exists, the virtual SLIPs are
created as all possible combinations of such SLIPs.
The latency of each combination then equals the maximum latency among all SLIPs, while the power
consumption feature equals the sum of power consumption features of all SLIPs in the combination.
The accuracy accvirtual of the generated virtual SLIP can, assuming uncorrelated location information
from the SLIPs, be approximated as follows, with accpr,i being the accuracy of the ith SLIP:
𝑎𝑐𝑐𝑣𝑖𝑟𝑡𝑢𝑎𝑙 =
1𝑁
∑ 𝑎𝑐𝑐𝑝𝑟,𝑖𝑁𝑖=1
√𝑁
3.1.4.3. Implementation of the ILS
The ILS is realized as a multi-threaded service, as shown in Figure 47. One thread supports listening for
requests for location information from LBAs and for provisioning features from SLIPs, and notifies
other threads if a request or a provisioning feature was received. Moreover, the same thread performs
the discovery of available SLIPs by reading from a register service log and discovery of their
provisioning features by writing a discovery request in a proper discovery log. The discovery duration
for the SLIPs that are closer to a mobile device is fairly small, while this duration increases with the
increase in the distance between the mobile device and a particular SLIP. By proper time-stamping of
the requests and responses for discovery and provisioning features, we leverage this property for
distinguishing SLIP surrounding a mobile device from the ones that cannot provide location information
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 69 of 102
of the device in a given environment.
The second thread aims at addressing newly arrived requests for location information by leveraging
cached location information or by performing mapping between different location information types.
For leveraging cached location information, the second thread requires the parameter specifying cached
location information, which is generated in the third thread discussed below. In the current
implementation, we use a very simple strategy for determining if cached location information is
considered stale, i.e. it is stale if it is older than 0.5 s. With the same intuition as for the previously
discussed time-bucket duration, the staleness metric of 0.5 s has been selected because it is two times
smaller than the update period of 1 s required for users' tracking scenarios. The second thread also
handles the selection of SLIPs to be invoked for provisioning.
The third thread handles listening for location information from SLIPs. The same thread also handles
fusion of location information and reports location information to LBAs based on their requirements.
Finally, this thread deals with updating the cached information with the newly arrived location
information and reporting the updated cached information to the second thread.
Figure 47: Multi-threaded implementation of the ILS.
3.1.5. Instantiation of the SLSR
For the instantiation of the prototype implementation of the SLSR we selected TWIST testbed, which is
an office environment in its usual usage. We used a Lenovo ThinkPad laptop as a mobile device in the
instantiation. The components of the SLSR were realized as Python~2.7-based daemon processes.
For the instantiation of SLIP we selected a set of WiFi RSSI fingerprinting-based localization solutions
that are in more details discussed in the EU eWine Deliverable “D3.1: Context provisioning and sensing
algorithms design and implementation”. As discussed in that deliverable in more details, WiFi RSSI
fingerprinting-based localization solutions require a training phase in which a survey of a WiFi
environment is performed at predefined locations, i.e. at each location a set of scans for WiFi beacon
packets' RSSI measurements is taken and stored in the training database. A mobile device, whose
location is to be determined, then generates its own scan of the WiFi environment and sends it to a
fingerprinting server. At the server, this scan is compared with the scans from the database and the most
similar one is reported as the estimated location of the mobile device. Additionally, fingerprinting can
Listeningforrequestsforloca1oninforma1onfromtheapplica1onsandforprovisioningfeaturesfromtheloca1oninforma1onprovisioningservices;Reques1ngdiscoveryofloca1oninforma1onprovisioningfeaturesfromprovisioningservices;
Solvingrequestsbyleveragingcashedloca1oninforma1onorbymappingtoanotherloca1oninforma1ontype;selec1onofloca1oninforma1onprovisioningservicesandreques1ngloca1oninforma1onfromselectedprovisioningservices
Listeningforloca1oninforma1onfromtheprovisioningservices,fusionofthereceivedloca1oninforma1on,anditsrepor1ngtotheapplica1onsbasedontheirrequirements
Requestsforloca1oninforma1on
Provisioningfeatures
Selec1ondecision
Cashedloca1oninforma1on
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 70 of 102
also include a post-processing procedure, e.g. k-Nearest Neighbours (kNN), where instead of reporting
just one training location as the estimated location, a set of closest matches is merged and reported as
the location estimate, which benefits the accuracy and decreases the variability of errors.
An increase in the density of training locations benefits the accuracy of fingerprinting. Similarly, as
shown in the EU eWine Deliverable D3.1, different procedures for calculating similarities between
training fingerprints and the user's generated one yield different accuracies and latencies of provisioning.
For generating multiple instances of SLIP with different accuracy and latency features, we therefore
used different densities of training locations and different algorithms for calculating similarities between
fingerprints.
Different densities of training locations are depicted in Figure 48. The first set of SLIPs uses a “small”
number of training points, namely one training point per office, with training points as indicated with
blue dots in the figure. The second set of SLIPs uses a “medium” number of training points, i.e. two or
four training points per office, depending on an office size, as indicated with red dots in the figure. The
third set of SLIPs uses a “large” number of training points, i.e. the combination of the small and medium
sets of training points. Black squares indicate the locations of WiFi Access Points (APs) used as
transmitters of beacon packets for all instantiated SLIPs. We used two algorithms for calculating
similarities between fingerprints, namely Euclidean Distance (ED) of averaged RSSIs and Pompeiu–
Hausdorff (PH) distance of RSSI quantiles, with their detailed descriptions given in the EU eWine
Deliverable D3.1.
Figure 48: Locations of training points, WiFi APs, discrete evaluation points, and movement
trajectory.
As the result, we instantiated six SLIPs out of the combination of training dataset densities and
algorithms for calculating similarities between fingerprints. These SLIPs were able to generate and
provide point or room-level estimate of location information of a mobile device. In addition, we
instantiated two SLIPs that were able to provide only room-level location estimates. This mimics a usual
positioning service based on iBeacons that is able to provide only coarse-grained room-level accuracy
of localization with lower power consumption in comparison to WiFi-based fingerprinting (e.g. [61]).
Due to the shortage of iBeacons, we mimicked their operation by leveraging fingerprinting, more
precisely by using a small training dataset and the two algorithms for calculating similarities between
fingerprints, and by limiting the reporting of location information to only a room-level type of
provisioning.
3.1.6. Evaluation Setup, Scenarios, and Procedure
TWIST testbed is deployed in a usual office environment and it offers a fully automated testbed
infrastructure for the evaluation of indoor localization solutions. The testbed features a mobility platform
capable of autonomously carrying a device to be localized to different evaluation locations. The same
mobility platform can be used for moving a device to be localized over a predefined trajectory, which is
Ini$alloca$on
Finalloca$on
Discreteevalua- onpointsTrainingpoints(small)
Trainingpoints(medium)AnchorpointsMovementtrajectory
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 71 of 102
suitable for the evaluation in tracking solutions, in contrast to evaluation at discrete points only. For its
positioning in space, the autonomous mobility platform matches a highly accurate floor-plan of the
testbed environment with depth information provided by a Kinect camera, achieving less than 10 cm in
average localization errors in the testbed space. This is an order of magnitude lower localization error
than what the current state of the art indoor off-the-shelf indoor localization solutions can achieve, hence
the location information from the mobility platform can be used as the ground-truth location of a mobile
device for the evaluation purposes. The mobility platform with its speed of 0.5 m/s is somewhat slower
than a usual walking speed of a person and the trajectory followed by the platform is to a certain level
unnatural for a person. However, the platform reduced the disturbances due to a person's body, such as
shadowing and subtle shaking, thus increases the objectiveness of the evaluation results. Furthermore,
the mobility platform enables extraction of reference locations of a mobile device that are unavoidable
for the evaluation. This cannot be achieved by a test-person, especially in tracking scenarios, and we
therefore leveraged location information provided by the mobility platform as the reference in our
evaluation.
The testbed infrastructure also supports monitoring of Radio Frequency (RF) interference context that
can considerably degrade the performance of RF-based localization solutions [62], thus reduce the
objectiveness of evaluation. The evaluation experiments have therefore been performed on weekends
with minimized and controlled influence of RF interferences. The raw data from the experiments, i.e.
the WiFi beacon packets' RSSI scans at different locations in the testbed, were collected and stored in a
web-platform for streamlined experimental evaluation of localization solutions [63].
This enabled streamlined evaluation of the SLSR by inputting the collected raw data, calculating
location information, comparing them with ground truths, and calculating performance metrics. The
web-platform enhanced the objectiveness and comparability of our results, for example when typifying
the benefits of different functional components of the SLSR. Two repetitions of all experiments were
performed to make an argument about the stability of our performance results.
The evaluation was performed in one localization and two tracking scenarios. For the localization
scenario a set of 20 discrete evaluation points was defined, as with orange dots indicated in Figure 48.
As the performance metrics we specified point and room-level accuracies. The point accuracy is defined
as the Euclidean distance between a ground-truth and an estimated location, while the room-level
accuracy characterizes the correctness of estimated room. Clearly, increasing the number of SLIPs also
benefits the availability and robustness of location information provisioning by increasing the
redundancy of information, but due to the lack of space these influences have not been explicitly
characterized.
For the evaluation in the tracking scenarios, we specified the trajectory of movement of a mobile device,
as shown in Figure 48. During the course of movement along the trajectory, we constantly collected and
stored the raw RSSI scans. We then leveraged the collected scans as input for generating location
estimates, while changing the structure and parameterization of the SLSR. The aim of the evaluation in
the first tracking scenario was to demonstrate that an increase in the number of SLIPs benefits
localization accuracy and to characterize the nature of this benefit. In this scenario, we used each scan
of WiFi environment taken along the trajectory for estimating the location of the mobile device.
In the second tracking scenario, we aimed at showing the benefits of different functional components of
the SLSR: using the long-term requests interpretation in contrast to “pushing the intelligence” of
requesting location information to the LBAs; using cached location information and mapping between
location information types for potentially resolving requests for location information; using different
algorithms for selection of SLIPs; using different estimators of provisioning features. Metrics used for
performance evaluation in the second tracking scenario include satisfaction of accuracy, latency, and
both requirements, and the total power consumption of the SLSR. Requirement satisfaction is a binary
metrics defined as the capability of the SLSR to provide location information of with a better
characteristic than the requirement specified in a given request.
Requests for location information have been generated according to, what we believe is, a realistic
scenario for location information requirements. The first request represents a usual person' tracking
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 72 of 102
scenario with conventional requirements, i.e. 1 m in average localization error provided periodically
with the period of 1 s during the course of the trajectory and with the location information type being
point-level location information. The second requirement resembles a light-switching scenario, in which
based on the presence of a person in a room the light is either turned on or off. The location information
type is semantic (i.e. room-based) provisioning required periodically and frequently with the period of
1 s. The third request mimics a smart thermostat scenario, in which the heating in a room in turned on
based on the presence of a person in the room. Clearly, this request requires a periodic semantic
provisioning of location information with a high requirement for accuracy and low requirement for
latency of provisioning (5 s). The fourth scenario mimics a self-configuring printer scenario in which,
if the mobile device is in the same room as the printer, a fine-grained periodic provisioning is needed
with the accuracy of 1.5 m and latency of 3 s, while in all other rooms only room-level information is
needed upon a change of location information. The fifth scenario resembles a High-Definition (HD)
uncompressed video streaming using 60 GHz narrow beams, in which these narrow beams have to
“track” the user as it moves in the environment. In this scenario, fast (1 s) and accurate (1 m) periodic
provisioning of location information has to be available for successful tracking of the user. The sixth
request mimics a location-aided horizontal WiFi handover mechanism, in which a fine-grained tracking
is required in handover areas (1.5 m / 1 s), while a course-grained on an event provisioning of location
information is needed in non-handover areas. The seventh request represents the D2D link establishment
scenario, in which if two devices are in vicinity a D2D communicational link is established between
them. This scenario requires a fairly fast provisioning of location information (1.5 s) when it changes
from the previous location, with low requirement on the accuracy of location information (2 m).
3.1.7. Evaluation Results
In the first step of the evaluation, we aimed at evaluating the static performance of each SLIP instantiated
under the SLSR. The summary results averaged over two (highly comparable) repetitions of each
experiment are given in Table 7. As visible from the table, with an increase in the density of used training
dataset (from “small” to “medium” and “large”), the average accuracy of location information
provisioning increases as well. Furthermore, the algorithm PH distance of RSSI quantiles shows better
accuracy of provisioning. This is due to higher complexity of its pattern matching procedure and due to
the fact that RSSI quantiles were used as fingerprints, which provides more information than the usage
of average RSSI values in the other algorithm (more details in the EU eWine Deliverable D3.1). Both
conclusions are consistent for both repetitions of experiments, making an argument about the reliability
of the results. Furthermore, with an increase in the number of training points the latency of reporting
location estimates also increases, which is consistent with the well-known trade-offs of WiFi
fingerprinting. Also, a more complex algorithm has higher latency of location information provisioning.
These summarized performance results are used as static provisioning features of each SLIP in the
second tracking scenario. Due to the inability to directly measure the power consumption of location
information provisioning, we leverage a simple characterization of a power profile of each SLIP, i.e. all
WiFi-based SLIPs are given a constant power profile of 2. The SLIPs that mimic iBeacon-based location
information provisioning were given a two times smaller power profile. This is consistent with reported
comparisons of the WiFi vs. Bluetooth power consumptions, e.g., [64].
The results for the first tracking scenario are given in Figure 49: Influence of fusion of location estimates
on the final accuracy of location information provisioning. Each group of box-plots depicts localization
errors for two repetitions of an experiment. The results demonstrate a high level of stability across the
two repetitions, which excludes potential unforeseen outside influences.
Table 7: Summary performance results of the instantiated SLIPs.
SLIP Accuracy Room
accuracy Latency Power
consumption
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 73 of 102
Euclidean small 3.14 m 52.5% 0.66s 2
Quantile small 3.05 m 55.0% 0.72s 2
Euclidean medium 2.41 m 62.5% 0.86s 2
Quantile medium 2.22 m 65.0% 0.91s 2
Euclidean large 1.96 m 75.0% 1.05s 2
Quantile large 1.81 m 80.0% 1.12s 2
Euclidean semantic / 52.5% 0.66s 1
Quantile semantic / 55.0% 0.72s 1
The first six groups of box-plots depict the results achieved by the two algorithms with different densities
of a training dataset, namely small (S), medium (M), and large (L). As visible from the figure, there is
a substantial increase in average localization errors in comparison to the static scenario. The reason for
that is the movement of the device to be localized in this scenario, which influences the quality of the
obtained WiFi RSSI measurements. Furthermore, in this scenario the less complex algorithm, i.e. the
ED of Averaged RSSIs, achieved better performance. This is due to the fact that in moving scenarios
the usage of multiple RSSI scans for estimating location does not benefit the localization accuracy
because the older scans are essentially taken at some previous locations along the movement trajectory.
Figure 49: Influence of fusion of location estimates on the final accuracy of location information
provisioning.
The following box-plots depict the localization accuracies in case of fusion of estimates provided by the
two algorithms. For example, the “Comb. S” group of box-plots presents the results of fusion of location
estimates provided by the two algorithms, both of them leveraging the small training dataset. Similarly,
the “Comb. S-M'” depicts the localization accuracies in case the estimates provided by four instances of
SLIPs, i.e. the two algorithms leveraging small and medium datasets. The figure shows that the fusion
of location estimates is beneficial, but only if the fused instances have comparable accuracy features of
provisioning. For example, the “Comb. S” localization errors are generally smaller than the localization
errors of any instance of SLIPs that leverages the small training dataset. The same conclusion holds
for instances leveraging medium and large training datasets, for both algorithms, and for both repetitions
of the experiment. However, in case instances with different localization accuracies are fused, the
resulting localization errors are generally comparable or worse than the ones obtained by fusion of only
instances with the highest accuracies. For example, the instances labelled with “Comb. S-M” have larger
localization errors than the ones labelled with “Comb. M”. This means that the fusion should be
performed only if the fused instances have comparable accuracies.
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 74 of 102
In the second tracking scenario, we generated a realistic load for the ILS by using the previously
specified requests for location information. We captured the satisfaction of requirements using the
following procedure. If the localization error of location information reported to an LBA is smaller than
the localization error (i.e. accuracy) specified in the corresponding request for location information, then
the requirement is considered satisfied. Similarly, if the latency of provisioning of location information
is smaller than the one specified by the request, the latency requirement is considered satisfied. Both
requirements of a request are satisfied if both accuracy and latency exceed the ones specified in the
request. The consumed power metric specifies the total power consumed by all SLIPs during the course
of a movement along the trajectory, with the power profile of each SLIP being as specified in Table 8.
Table 8 summarizes the obtained results for the two algorithms for selection of SLIPs (i.e. PRSA and
PTSA). The total number of requirements differs slightly for the two repetitions of the experiment
because of small differences in movement of the mobility platform in different repetitions. The “Basic”
type of the SLSR includes only basic functionalities of the ILS, i.e. reception of requests, discovery and
invocation of SLIPs, reception of location estimates, their fusion and reporting to the LBAs. The
“Caching & mapping” type additionally includes caching and mapping functionalities. Caching
functionality enables addressing requests with cached location information if the features of such
information exceed the requirements of the request and if cached location information is not stale.
Mapping functionality supports mapping of point to room-level location information type and vice-
versa, if appropriate type of location information exists in the cache. The “Long-term interpretation”
type of the SLSR includes the long-term requests interpretation. In other words, previous types assumed
that the LBA would issue a request for location each time this information is needed. The “Long-term
interpretation” type assumes that requests for periodic or on an event provisioning for certain duration
can be specified in one request. This request is received by the long-term requests interpretation entity,
which does a request translation to multiple requests at appropriate time instances. The previously listed
types of SLSR leverage static features of provisioning of different SLIPs, as specified in Table 7. The
“Dynamic'” type uses a dynamic specification of the latency and accuracy features of provision of
different SLIPs. This is possible because we know the accuracy and latency features of provisioning of
all SLIPs and for all WiFi scans collected along a trajectory, as discussed in the previous tracking
scenario.
Table 8: Satisfaction of requirements for different instances of the SLSR.
3.2 Cooperative localization
The object, human or animal location used to be and is becoming important information in human life.
In ancient times people estimated their location using line of sight visibility to mountains, trees, islands,
beacons, etc. An important breakthrough happened by astronavigation, where stars, sun and moon are
assumed as anchors, i.e. object with known location, to estimate the position of a human on the earth.
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 75 of 102
The ancient navigation approach requires clear visibility to the anchors, which in many situations is not
possible, for example in the case of fog, etc.
By invention of radio waves, the localization based on anchor visibility is replaced by radio navigation
systems. The radio navigation system consists of a set of anchors, which transmit the radio signal, and
a device, called agent, which observes the received signal from several anchors and based on properties
of the received signal estimates the location of the device. The progress in radio navigation was mainly
driven by military needs. The majority of radio navigation systems were born before, during and after
the Second World War and in the cold war. At the beginning, the beacons located at the earth surface
were applied as in Omega, Loran, Decca systems [65]. Those systems provide limited service depending
on the geographic area, for example the Atlantic Ocean or in particular a port or a bay. Although the
radio navigation system has been born as a military tool, after a period it became available for civilian
use. The global coverage of the radio navigation system has been achieved by using a set of medium
earth orbit satellites as anchors. Today, United States NAVSTAR, the Global Positioning System (GPS)
and Globalnaya Navigatsionnaya Sputnikovaya Sistema (GLONNAS) operating by Russia are two
satellite navigation systems available globally offering location accuracy of some tens of meters [65].
Europe and China try to find independency; thus, they launch alternative systems to GPS namely Galileo
and Compass, respectively [65].
While satellite navigation systems provide sufficient accuracy outdoors, in city centres with street
canyons, in forest with dense forest canopy and indoors those systems become unusable. Furthermore,
the satellite receivers are too expensive to be a part of low cost wireless nodes in wireless sensor network
applications. In this respect, new localization approaches have been developed, mainly based on
observing parameters of the received signal coming from anchors, such as received signal strength
(RSS), time of arrival (ToA), time difference of arrival (TDoA), angle of arrival (AoA) and channel
impulse response. In order to find the location of the nodes with an unknown location, i.e. agents, each
agent has to be in the range of at least three anchors. In the case of systems consisting of a huge number
of distributed nodes, the number of anchors is huge and they need to be uniformly spread across the
area, which is not true in life examples of using wireless sensor networks. In this case the concept of
cooperative localization is applied.
If there is no communication between agents, but only communication between agents and anchors, the
localization is non-cooperative localization [66]. The limited range of wireless communications reduce
the number of nodes to which a particular node can communicate, thus every agent cannot measure the
distance to a sufficient number of anchors. Consequently, the agent location cannot be estimated only
based on anchor to agent distances, but also agent-to-agent distances have to be applied, which force
nodes to cooperate. The cooperation means to share your information to neighbouring nodes and to
retrieve information from neighbouring nodes. Thus, the main goal of cooperative localization
algorithms is to allow nodes that are not in the range of a sufficient number of nodes with the known
location, to be located and to further improve the localization estimates of all nodes in a network [66].
The basic principle of cooperative localization in shown in Figure 50
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 76 of 102
agent
anchor
links (noisy measurements)
Figure 50: Basic principle of cooperative localization.
3.2.1 Classification of cooperative localization methods
The cooperative localization methods can be classified in (Figure 51):
• centralized and distributed methods,
• range free and range-based methods
• Bayesian and Non-Bayesian
One of the main considerations for a localization scheme is where the computation of the position
estimates occurs. In centralized localization, the positions of all agents are determined by a central
processor [66]. This processor gathers measurements from anchors as well as agents and computes the
positions of all the agents. Nodes have to communicate with centralized unit and that communication
consumes more energy than computation. In such network, it is convenient to use a centralized
localization scheme. Once feasible to implement, the main motive behind the interest in centralized
localization schemes is the likelihood of providing more accurate location estimates than those provided
by distributed algorithms.
In distributed localization the location of the node is calculated at each node. There are two big
motivations for developing distributed localization algorithms. First, for some applications, no central
processor (or none with enough computational power) is available to handle the calculations. Second,
when a large network of nodes must forward all measurement data to a single central processor, there is
a communication bottleneck and higher energy drain at and near the central processor. Distributed
algorithms are scalable and thus attractive for large networks.
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 77 of 102
Figure 51: Classification of localization methods.
Range-free algorithms use techniques that only use connectivity information to determine the node's
location. Range-free localization algorithms never try to estimate the absolute point-to point distance,
but exploit the protocol-oriented metric such as the number of listened beacons and the hop-count. As a
range-free positioning algorithm, DV-Hop is the typical representation.
Range-based algorithms rely on the distance between the nodes and require absolute point-to-point
distance estimation (range) or angle estimation for positioning. These algorithms include RSSI, TDoA
and ToA techniques for internode range estimation.
The common non-Bayesian approaches are least square error estimator (LS) [66][67] and maximum
likelihood estimator (ML) [68].
The LS approach tries to minimize the mean square error between measured and calculated distances
between nodes in a network:
�̂�𝐿𝑆 = 𝑚𝑖𝑛⏟𝑥
∑1
2 (‖𝒙𝒊 − 𝒙𝒋‖ − 𝑟𝑖,𝑗)
2
𝑖∊ℕ,𝑗∊ℕ𝑖
(17)
where xi is the position of node i and ri,j is the measured distance between node i and node j, and �̂�𝐿𝑆 is
a vector of estimated position of nodes. The LS optimizer does not exploit any knowledge regarding the
statistic on ri,j. In general, the problem is not convex, and thus applying any gradient descent algorithm,
the solution can fall in the local minima. Many authors try to solve the problem as convex optimization
problem, namely linear programming [69], semidefinite programming [70], [71], multi-dimensional
scaling [72] or by convex relaxation of the LS optimization problem [79].
While the LS approach does not assume any knowledge of the noise source in measurements, i.e. r, the
ML approach assumes the statistics of noise source is known and tries to maximize the likelihood
function:
𝑥𝑀𝐿 = arg𝑚𝑎𝑥⏟𝑥
𝑝𝑟|𝑥(r|𝑥) (18)
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 78 of 102
where r represents the vector of distance measurements, x the vector of nodes locations and pr|x is the
likelihood of distance vector r if nodes are at location x. If the likelihood is Gaussian the ML approach
converges to LS approach. Generally, the likelihood function is not known, thus the ML approach is
difficult to implement.
LS and ML are both non-Bayesian estimators, which means that they treat x as a deterministic unknown
parameter. In each iteration node constructs its own cost functions based on the distance measurements
gathered and the estimated positions broadcasted by the others. Then each node tries to find a minimum
of the cost function moving to the opposite side of the gradient. Even though the algorithm is well
developed, there is no guarantee to always reach the correct solution of the problem. The reason comes
from the cost function, because depending on the geometry of the scenario sometimes there is more than
one minimum. If in this situation the initialization is close to the absolute minimum, the algorithm
converges to it but if the initial point is near any other minimum, the algorithm goes to this wrong one.
Bayesian estimators treat x as a realization of a random variable x with a prior distribution px(x). Two
common Bayesian estimators are well known, namely minimum mean square error (MMSE) and
maximum a posteriori (MAP) estimator. MMSE estimator finds mean of a posteriori distribution:
𝑥𝑀𝑀𝑆𝐸 = ∫𝑥 𝑝𝑥|𝑟(𝑥|𝑟) 𝑑𝑥
(19)
The MAP estimator finds the maximum of the a posteriori distribution:
𝑥𝑀𝐴𝑃 = arg𝑚𝑎𝑥⏟𝑥
𝑝𝑥|𝑟(𝑥|𝑟)
(20)
while a posteriori distribution is difficult to find or its dimensionality is too high that the maximization
or integration is too complicated for implementation. Fortunately, in many problems a posteriori
distribution can be written as a product of functions, and in this case solution can be found by using
factor graphs [66] or believe propagation algorithm [66], [73], [74].
Ad hoc approach to obtain agents location is to iteratively determine location of agents which are in the
range of at least three anchors. In the next step the agents with estimated location is assumed as anchors.
The procedure is repeated iteratively until all agent locations are estimated. The procedure is not
optimum and may lead to significant location errors.
3.2.2 Least square localization algorithm based on convex relaxation
The LS localization algorithms described in [66], [67], [70], [72], [75], [76], [77], [78] try to find a
location assuming a problem as convex, while in the [79], [80], [81], [82] it is revealed that the
optimization problem is non-convex, which may lead the results of the optimization to fall in a local
minima. They use a convex relaxation approach to wrap a non-convex envelope, and apply a LS
algorithm on the convex envelope.
3.2.3 Cooperative convex relaxation LS localization algorithm
The maximum likelihood estimator for the agent positions, under the assumption of zero-mean,
independent and identically-distributed, additive Gaussian measurement noise, is the solution of the
optimization problem:
𝑚𝑖𝑛𝑖𝑚𝑖𝑧𝑒 𝑓(𝑥),𝑥
(21)
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 79 of 102
where:
𝑓(𝑥) = ∑1
2𝑖~𝑗
(‖𝑥𝑖 − 𝑥𝑗‖ − 𝑑𝑖,𝑗)2 + ∑ ∑
1
2𝑘∈𝐴𝑖𝑖
(‖𝑥𝑖 − 𝑎𝑘‖ − 𝑟𝑖𝑘)2
(22)
and where 𝑥𝑖 represents the position of agent i, 𝑑𝑖𝑗 noisy measurement between agent i and j, available
at both i and j, 𝑎𝑘 anchor positions and 𝑟𝑖𝑘 denote the noisy range measurement between agent i and
anchor k.
Problem is nonconvex and difficult to solve, although function f is continuous and coercive, it has a
global minimum.
Convex relaxation methods aim to solve these hard models by approximating the energy functionals by
convex ones. The motivation is that they are much easier to solve since any local minimum is
automatically a global one. In practice, solutions of the approximating convex functionals lie within a
small bound near the actual solutions, or even give exact solutions of the original functionals. Since ML
method yields non-convex optimization problems that are in general NP-hard, convex relaxation
techniques can be employed to solve them in an efficient way. Using a simple and fast convex relaxation
method authors convert the non-convex maximum-likelihood function to convex one. They set forth a
convex under estimator of the maximum likelihood cost for the sensor network localization problem and
present an algorithm to minimize this convex under estimator.
This algorithm does the convex relaxation on the following way. Instead of using function
𝑖𝑛𝑓‖𝑧 − 𝑦‖, ‖𝑦‖ = 𝑑 which is not convex, it uses set of functions 𝑖𝑛𝑓‖𝑧 − 𝑦‖, ‖𝑦‖˂𝑑 and gets the
convex shape on this way. Then using Nesterov’s fast gradient algorithm [79], which is an optimal
method for smooth convex optimization, authors came to the algorithm which is used in this report in
order to do comparison with non-cooperative algorithm. This algorithm used for cooperative localization
requires computing the gradient of the cost function and its Lipschitz constant. Due to the fact that 𝑓 has
a Lipschitz continuous gradient [79], it is possible to follow Nesterov’s optimal method. In Figure 52
example of non-convex function is shown. Figure 53 shows illustration of the convex envelope for
internode terms of the non-convex cost function. The squared distance to the ball Bij (dotted line) is the
convex hull of the squared distance to the sphere 𝑆ij (dashed line). In this one-dimensional example the
value of the range measurement is 𝑑ij = 0.5.
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 80 of 102
Figure 52: Example of non-convex function.
Figure 53: Illustration of the convex envelope for internode terms of the non-convex cost function.
The procedure is shown in Algorithm 1. The input to algorithm is a set of distance measurements, and
anchor locations. Initially, the agents are allocated randomly in an observed space. In the iteration loop
(lines 5 to 14), first the vector w of the extrapolation points is calculated. Initially, x(k = -1) is equal x(k
= 0). The points are broadcasted to neighbours. The core of the algorithm follows. The gradient 𝛁𝐠,
related to agent to agent link, is calculated first from the arc node matrix A, vector of extrapolation
points w and orthogonal projection of vector Aw on the subset Bd of measured distances. The next for
loop is applied to calculate the second part of gradient 𝛁𝐟, which is related to anchor to agent links.
Finally, in line 13 the new estimate of location is found. The algorithm proposed in Algorithm 1: Convex
relaxation method.
is a central, but is extension to distributed version is straightforward.
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 81 of 102
Algorithm 1: Convex relaxation method.
This algorithm is fully distributed, has a simple implementation at each node, and capitalizes on an
optimal gradient method to attain fast convergence. For more detailed information about this algorithm
and comparison between this and other cooperative algorithms, reader is referred to [79].
3.2.4 Non-cooperative LS localization algorithm
In order to compare non-cooperative and cooperative approach, we choose a simple non-cooperative
algorithm based on least square optimization applying Gauss-Newton method. The procedure is depicted
in Algorithm 2. This is distance based localization algorithm and it is based on Gauss Newton iteration
method. Here only the distance-based localization of agent/agents is considered. As inputs to this non-
cooperative algorithm we have anchor locations, measured distances, number of iterations and size of
the network. There are N anchors in the system and one or more agents. At first, agents are randomly
distributed in the area of interest, line 6. The agent loop, line 7 to 13, includes the iteration loop and it
computes Euclidian distances. First, the distance between estimated agent location and all anchors are
calculated, line 9. Next, the normalized direction vector between estimated agent location and anchors
is estimated in line 11 which is needed to calculate next location of the agent.
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 82 of 102
Algorithm 2: Non-cooperative localization algorithm, Gauss Newton method.
3.2.5 Evaluation criteria of localization algorithms
The accuracy of the algorithms is measured by the Root Mean Squared Error (RMSE) per node. The
RMSE for an agent 𝑖 is defined as:
𝑅𝑀𝑆𝐸𝑖 = √𝔼(‖�̂�𝑖 − 𝑥𝑖‖2) ≈ √
1
𝐾∑‖�̂�𝑖(𝑘) − 𝑥𝑖‖
2
𝐾
𝑘=1
, 𝑖 = 1,…𝑀
(23)
where 𝑥𝑖(𝑘), 𝑘 = 1,2, … , 𝐾, are the estimates of agent 𝑖 at position 𝑥𝑖, given by a positioning algorithm
for the 𝑘th realization of noise or network deployment. The RMSE for a network consisting of M agents
can then be computed as:
𝑅𝑀𝑆𝐸 =1
𝑀∑𝑅𝑀𝑆𝐸𝑖
𝑀
𝑖=1
(24)
3.2.6 Evaluation of convex relaxation cooperative algorithm
In order to investigate the behaviour of the convex relaxation cooperative algorithm and the non-
cooperative reference algorithm we constructed a simple simulation scenario
We limited our analysis to a 2-dimensional simulation scenario, thus 3 anchor nodes would be sufficient
to avoid ambiguity caused by rotation, translation or mirroring. However, we used 4 anchors located at
the border of the observation area in each corner as natural positions the anchors would have in real life.
The error of the node-to-node distance is modelled applying normal distribution with mean value set to
zero, and standard deviation as a parameter. The value of standard deviation is express as a percentage
of error of the observation area. The number of agents has been assumed as a parameter. An example of
simulated scenario, anchor and agent locations and estimated location of agents is shown in Figure 54.
The number of agents is set to 8. The number of anchors is four and they are set in the corners of the
1000x1000m area. The circles denote the estimated location, while the locations of agents are marked
by plus sign. The error in distance measurement are set to zero, while the range of agents and anchors
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 83 of 102
are set to infinity, meaning all agents have information about the distance to four anchors. The algorithm
used to achieve this result is the non-cooperative localization algorithm. The estimated mean square
error is negligible and reaching the value of 0.016462m.
Figure 54: Simulation scenario.
Figure 55: RMSE error as a function of number of agents, distance error is 2%, agents range is
infinite.
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 84 of 102
Figure 56: RMSE error as a function of number of agents, distance error is 2%, agents range is 200m.
Figure 57: RMSE error as a function of number of agents, distance error is 20%, agents range is
infinite.
The impact of distance measurement error, number of agents and range of agents is shown in Figure 55,
Figure 56 and Figure 57. At small distance errors, i.e. 2% of the node -to-node distance and infinite
range of agents, the non-cooperative algorithm outperforms cooperative convex relaxation algorithm.
In the case of non-cooperative algorithm, the agents have obtained the accurate distance information
from sufficient number of anchors resulting in low location error. While in the case of cooperative
algorithm, the agent location is calculated observing distance to all nodes in a system resulting in
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 85 of 102
increase of cumulative location error. As a consequence, the RMSE error of cooperative localization
algorithm is increased.
If the range of agents/anchors is set to 200m some nodes in the case of non-cooperative localization do
not obtain information about the distance to sufficient number of nodes, which result in increased RMSE
of non-cooperative approach.
If a node-to-node distance error is increased to 20% the number and the range is assumed infinite, the
cooperative approach gives better results. In the cooperative approach, the neighbouring agents with
lower absolute errors are applied in calculation and these results in much lower RMSE location error.
In order to analyse the localization performance in a real-life environment we tested the cooperative and
non-cooperative algorithm on Log-a-Tec configuration at the premises of the Jožef Stefan Institute. The
sensor positions are plotted in Figure 58. The system consists of 18 ZigBee nodes operating with the
following transmitter and receiver characteristics:
• Tx power: 0dBm,
• Frequency: 868.3MHz,
• min. required signal level -90dB,
• min. required SINR 5dB,
• antenna: omnidirectional,
The sensor location is estimated using RSSI of JSI Log-a-Tec sensor network. Four nodes are chosen to
be anchors and other 14 nodes are agents. Nodes 8, 10, 14 and 18 are selected for anchors. The RSSI
values are converted to distance applying the Free Space Path Loss radio signal propagation model
characterized by the following equation:
𝐹𝑆𝑃𝐿(𝑑𝐵) = 10 ∗ 𝑛 ∗ 𝑙𝑜𝑔10(𝑑) + 20𝑙𝑜𝑔10(𝑓) − 27.55
(25)
where f represents the frequency in MHz, n is path loss coefficient, d is the distance between nodes and
FSPL is Free Space Path Loss in dB. FSPL is the attenuation of radio energy between the feed points of
two antennas that results from the combination of the receiving antenna's capture area plus the obstacle
free, line-of-sight path through free space (usually air).
The distance d is calculated by:
𝑑 = 10((𝐹𝑆𝑃𝐿−20𝑙𝑜𝑔10(𝑓)+27.55)/(10∗𝑛)
(26)
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 86 of 102
Figure 58: IJS Log-a-Tec sensor network; nodes 8,10,14,18 are anchors.
The RMSE location error of the non-cooperative and cooperative approach is shown in Figure 59 and
Figure 60, respectively. The blue curve denotes the RMSE error if no error is introduced in distance
between two nodes, if n=2.0 no propagation channel calibration is applied to convert received signal
strength measurement to distance, while if n = 2.6, the propagation channel is calibrated by measurement
received signal strength between anchors and calculating distance between anchors knowing the anchors
known location. The results in Figure 59 and Figure 60 reveal that the RMSE location error is decreasing
with the number of iterations, meaning the cooperative and non-cooperative algorithms converge.
Furthermore, the error achieved by cooperative algorithm is significantly lower compared to non-
cooperative algorithm. The path loss channel calibration is necessary to obtain usable results for user
location in the case the received signal strength is applied to estimate the distance between nodes.
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 87 of 102
Figure 59: RMSE location error of non-cooperative location approach as a function of number of
iterations and path loss channel calibration error.
Figure 60: RMSE location error of cooperative location approach as a function of number of iterations
and path loss channel calibration error.
3.2.7 Conclusion
Wireless sensor network localization has attracted significant research interest and represents a key
feature of future-generation wireless networks by enabling a multitude of applications in the military
(e.g., blue force tracking), public (e.g., search-and-rescue), and commercial (e.g., navigation) sectors.
Cooperation among nodes has the potential to dramatically improve localization performance.
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 88 of 102
We presented the comparison between cooperative convex relaxation localization algorithm and the
non-cooperative one by simulations. The simulation results reveal that the convex relaxation algorithm
is superior in comparison to the non-cooperative algorithm, in particular when the distance obtained
from the received signal strength measurements is resulting in huge distance error, which increases with
distance between nodes. In this case the calibration of path loss channel model is required to obtain node
location with acceptable error.
The cooperative localization is becoming important in 5G networks. Device to device communications
will open the possibility to locate mobile terminal applying received signal strength measurements from
neighbouring terminal using 5G device to device communications, Wi-Fi and Bluetooth links as well
the 2G, 3G, 4G and 5G infrastructure links.
3.3 Indoor localization with multilateration
This section presents UWB (Ultra-Wide Band) indoor localization approaches with various error
mitigation techniques based on deep learning NLoS classification and ranging error regression models
described in detail in WP5 Y2 report. This work is a continuation and extension of work previously
presented in WP3 Y1 report.
3.3.1 Introduction
The accuracy of localization in an indoor environment depends heavily on radio signal propagation
characteristics. They are mostly challenging and unpredictable because of their dynamic nature. In a
ranging-based UWB indoor localization systems ranging errors and consequently localization errors
depend on channel propagation characteristics [83]. With introduction of an obstacle into the line-of-
sight (LoS) propagation path the resulting non-line-of-sight (NLoS) time of flight (ToF) estimate is
enlarged by a slower propagation through obstacle medium or a longer propagation distance sourcing
from the multipath propagation with blocked direct path component [84]. With a good ranging error and
NLoS classification models based on channel impulse response (CIR), useful information can be
extracted and used for localization error mitigation methods.
3.3.2 System description
Indoor localization system built with UWB ranging radios can be implemented using different location
estimation techniques. The least complex approach is based on least squares (LS) location estimator
which doesn’t take any statistical error characteristics of measured ranges into account [85]. With severe
NLoS propagation conditions there come severe ranging errors that significantly influence on
localization accuracy. With the results in previous WP3 Y1 report we shoved that localization accuracy
can be improved using NLoS classification methods to detect NLoS conditions and remove them from
the localization pool. This approach improves localization performance but also requires denser anchor
networks to satisfy minimum number of LoS anchors required for location estimation (for 2D
localization at least 3 anchors are required).
To improve localization performance without losing useful anchors we propose ranging error regression
(prediction) methods for ranging error and consequently localization error mitigation. The error
regression information can be used as input information for location estimation process. Ranging error
regression process, which is thoroughly described in WP5 Y2 report, is trained on range measurements
in several office environments. Process of logging the propagation characteristics for individual ranges
based on channel impulse response (CIR) consists of several steps:
• Mapping the environment
• Create a fixed node positioning mesh
• Logging ranges and propagation characteristics on all node pair links
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 89 of 102
Based on recorded ranges, ranging errors can later be calculated based on a difference between exact
Euclidean distance between two points on an environmental map and the logged range for the same
radio link. With all ranging errors calculated and all corresponding CIRs an error regression model can
be trained.
We propose three approaches for localization error mitigation based on ranging error regression:
• LS location estimation with predicted error removal
• Weighted least squares (WLS) location estimation
• WLS location estimation with predicted error removal
With the first approach the estimated ranging error is simply removed from measured range. Ranging
errors are positive addition to the actual range coming from prolonged propagation caused by multipath
propagation and increased propagation time in denser materials. Propagation speeds in materials others
than air decrease and estimated range based on a speed of light and ToF measurement is then increased.
With WLS approach, predicted ranging errors are used as weights for individual ranges weighting. With
weighting according to the size of ranging error, ranges with smaller errors contribute more to the final
localization result and ranges with bigger errors are weighted less to reduce their contribution to the
final localization accuracy.
The third and the last approach is a WLS approach, where the predicted errors are also removed from
measured ranges to even improve localization performance, especially with increasing number of
available anchors.
In Section 3.3.4 proposed methods are evaluated against the standard LS approach without error
mitigation to show the effectiveness.
3.3.3 Implementation details
3.3.3.1 Test environment and equipment
Localization dataset was recorded in two office environments. Measurements from first environment
were used for training the ranging error regression model and measurements from the second office
environment were used for performance evaluation. The floor plan of second environment can be seen
in Figure 61 where node positions are marked with dots. Measurements were taken for several anchor
and tag positions and all available parameters were recorded in one measurement sample for every
measurement event:
• Actual position of node and anchor node
• Actual distance
• Measured range
• RSSI
• First path RSSI
• CIR
• Channel settings (channel, preamble length, preamble code, bitrate, etc.)
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 90 of 102
Figure 61: Test office environment floor plan.
Two UWB nodes were connected to two Raspberry PI Linux computers via USB serial connection.
The data collection application on Raspberry PI computer was connected to the central experiment
controller computer via WiFi and MQTT transport protocol. The application running on experiment
controller computer was used for recording measurements and controlling the remotely connected
UWB nodes (e.g. configuring channel settings). The measurement and experimentation setup is
depicted in Figure 62.
Figure 62: Measurement and test setup.
3.3.3.2 LS location estimation
Basic localization algorithm for a range based localization system is based on a LS estimator that is
sensitive to NLoS ranging errors.
Euclidean distance di between two nodes is defined as
𝑑𝑖 = ‖𝒑�̂� − 𝒑𝒊‖
(27)
where 𝒑�̂� represents yet unknown estimated node’s position and 𝒑𝒊 represents i-th anchor position.
In 2D search space di can be expresses as
𝑑𝑖 = √(𝑥𝑖 − 𝑥)2 + (𝑦𝑖 − 𝑦)2
(28)
Where xi and yi are coordinates of i-th anchor and x and y are yet unknown coordinates of a tag.
The LS estimator selects θ in a way that makes a signal model 𝑠[𝑛] closest to the observed data 𝑥[𝑛]. The LS error is defined as
𝐽(𝜃) = ∑(𝑥[𝑛] − 𝑠[𝑛])2
𝑁−1
𝑛=0
(29)
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 91 of 102
Assuming that the system is linear we can apply the linear LS approach
𝑠[𝑛] = 𝜃ℎ[𝑛]
(30)
Where h[n] is a known observation sequence.
The LS error criterion can be now transformed into
𝐽(𝜃) = ∑(𝑥[𝑛] − 𝜃ℎ[𝑛])2
𝑁−1
𝑛=0
(31)
To derive a matrix notation, a signal matrix 𝒔 = [𝑠[0]𝑠[1]… 𝑠[𝑁 − 1]]𝑇 and 𝑁 × 𝑝 observation
matrix H of full rank p are needed.
The linear LS criterion can be rewritten as
𝐽(𝜃) = ∑(𝑥[𝑛] − 𝜃ℎ[𝑛])2
𝑁−1
𝑛=0
= (𝒙 − 𝑯𝜽)𝑇(𝒙 − 𝑯𝜽)
(32)
And the LS estimator can be derived as
�̂�𝑳𝑺 = (𝑯𝑇𝑯)−1𝑯𝑇𝒙
(33)
Rewriting the equation for the Euclidean distance we get the nonlinear equation
−2𝑥𝑖𝑥 − 2𝑦𝑖𝑦 + 𝑥2 + 𝑦2 = �̂�𝑖2 − 𝑥𝑖
2 − 𝑦𝑖2
(34)
which can be linearized with introduction of a new variable
𝑅 = 𝑥2 + 𝑦2
(35)
The new estimate is then defined as
�̂� = [𝑥 𝑦 𝑅]𝑇
(36)
The predefined system of linear equations can now be written as
𝑯 = [
−2𝑥1 −2𝑦1 1−2𝑥2 −2𝑦2 1
⋮ ⋮ ⋮−2𝑥𝑁−1 −2𝑦𝑁−1 1
]
(37)
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 92 of 102
𝒙 =
[
�̂�12 − 𝑥1
2 − 𝑦12
�̂�22 − 𝑥2
2 − 𝑦22
⋮�̂�𝑁−1
2 − 𝑥𝑁−12 − 𝑦𝑁−1
2 ]
(38)
3.3.3.3 LS location estimation with error mitigation
The simplest form of localization with error mitigation is LS estimation with predicted ranging error
removal. For every new measured range between a tag and an anchor a ranging error is predicted with
ranging error regression model based on CIR data (look in WP5 Y2 report). Predicted ranging error is
then subtracted from measured range to compensate for expected ranging error and thus improving
localization accuracy
�̂�𝑖 = 𝑑𝑖 − 𝜖𝑖
(39)
where �̂�𝑖 is error compensated range used for localization, 𝑑𝑖 is measured range including all errors and
𝜖𝑖 is predicted ranging error. Compensated ranges �̂�𝑖 are then used in the LS location estimation
algorithm as uncompensated ranges in LS estimation without error mitigation.
3.3.3.4 WLS location estimation
With LS estimation the assumption of having constant ranging error variances is made. This assumption
is satisfactory in case of LoS ranges, but with NLoS ranges come also increased ranging errors. The
severity of ranging errors is connected to the severity of NLoS condition. The contribution of NLoS
ranges to the accuracy of localization is destructive and individual range weighting according to the
severity of NLoS condition can help improve localization performance.
With an introduction of a diagonal 𝑁 × 𝑁 positive definite weighting matrix W the LS estimation error
can be rewritten as
𝐽(𝜃) = ∑ 𝑤𝑛(𝑥[𝑛] − 𝑠[𝑛])2
𝑁−1
𝑛=0
= (𝒙 − 𝑯𝜽)𝑇𝑾(𝒙 − 𝑯𝜽)
(40)
Where W is defined as
𝑾 = [
𝑤1 0 ⋯ 00 𝑤2 … 0⋮ ⋮ ⋱ ⋮0 0 ⋯ 𝑤𝑁−1
]
(41)
Individual weights 𝑤𝑛 are defined as reciprocal values of estimated ranging error. This way ranges
with smaller predicted errors get bigger weights and more contribution to the final localization result.
𝑤𝑛 =1
𝜖𝑖
(42)
The resulting estimator is WLS location estimator
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 93 of 102
�̂�𝑾𝑳𝑺 = (𝑯𝑇𝑾𝑯)−1𝑯𝑇𝑾𝒙
(43)
3.3.3.5 WLS location estimation with error mitigation
To extend the error mitigation even further, the WLS location estimation is performed on ranges that
have been already compensated for expected ranging error. The ranging error is predicted for each
individual measured range, range gets subtracted by predicted error and weight for corresponding
range applied.
𝑤𝑛 =1
𝜖𝑖
(44)
�̂�𝑖 = 𝑑𝑖 − 𝜖𝑖
(45)
3.3.4 Evaluation
Results of testing different error mitigation procedures based on ranging error regression algorithm
presented in WP5 Y2 report show clearly that error mitigation is better than no mitigation. The most
accurate localization performance is expected from localization systems that use only LoS range
measurements as a localization input. During evaluation a LoS localization algorithm was implemented
using actual LoS information recorded during measurement which is 100 % certain and is not based on
any prediction or classification algorithm. It can be used as a reference to compare performance of other
localization algorithms. In Table 9 it is represented with LS_LOS column achieving 35 cm mean error
with 3 anchors and 18.9 cm using 10 anchors.
The worst localization performer is a LS algorithm without error mitigation achieving 1.76 m mean error
with 3 anchors and 77 cm mean error with 10 anchors.
Table 9: Mean localization error in meters for different number of anchors.
Num. Anchors LS LS_LOS LS_CLASS LS_REG WLS WLS_REG
3 1.757 0.352 0.712 0.635 1.752 0.672
4 1.037 0.243 0.431 0.364 0.938 0.342
5 0.906 0.214 0.343 0.281 0.694 0.261
6 0.831 0.197 0.297 0.245 0.588 0.217
7 0.801 0.191 0.264 0.225 0.531 0.193
8 0.785 0.190 0.238 0.205 0.494 0.177
9 0.789 0.190 0.216 0.195 0.467 0.163
10 0.774 0.189 0.200 0.183 0.453 0.154
Using only NLoS classification and elimination of NLoS ranges as an error mitigation technique,
performance is significantly better than the performance of a localization approach without error
mitigation. With 71 cm mean error with 3 anchors and 20 cm mean error with 10 anchors is an excellent
performer but it sacrifices a critical number of available anchors for localization accuracy performance
in challenging environments.
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 94 of 102
To achieve similar performance without sacrificing the number of suitable anchors a WLS approach
proves as a good approach. With 3 anchors a 67 cm mean error is achieved and 15 cm mean error is
achieved with 10 anchors. This approach proves itself significantly better than approach without an error
mitigation for small number of available anchors and achieves performance of localization algorithms
that use only LoS anchors for bigger number of available anchors.
All results of evaluation are in addition to Table 9 represented also in Figure 63.
Figure 63: Localization accuracy for different ranging error mitigation approaches.
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 95 of 102
4 CONCLUSIONS
This deliverable intends to describe the context information related to the showcases in the content of
the eWINE project. It was divided into localisation and contextualization with the idea of explaining
variations in the solutions provided in the project.
• Contextualization
o SNR/throughput estimation for automated mode selection D2D, which proposes an
automatic mode selection based on SNR and throughput. The mode selection between
infrastructure mode and D2D mode developed in our work can optimize the
performance of LTE network links so mobile users can achieve higher QoS. Our work
on this open-source D2D communication is a useful reference for future 3GPP
standardization activities.
o Detecting ultra-narrowband signals, which explains how to detect these signals based
in more information than the used and also, how to cooperate with other technology. In
this report we describe our enhanced transmission detector for the 868 MHz band. The
detector is part of the eWINE year 2 Showcase 2 demonstrator. It can be considered an
extension of the work done in year 1 on narrowband sensing.
o Channel Quality (CQ) estimation ,which analyses the best channel quality metric for a
base station to use in a white band. In this section we derived a new channel quality
metric and we used it to analyse the feasibility of whitelisting in RFDMA ultranarrow
band networks. We showed that there is a region between -120 dBm and -118 dBm
where the network can support some devices at the chosen quality of service with
whitelisting while that would not be possible if all channels (no whitelist) would be
used.
o Description of application requirements, which is a modification of the WiSHFUL
control framework that allows applications to express their needs. An application that
may need high throughput and may accept a high packet loss, for example, can express
its necessities using this framework.
o Estimator for link quality by computing expected SNR based on (inaccurate) location
information, which shows the eWINE Intelligent End-to-End Controller. We
experimentally evaluate the proposed location-based decision-making mechanism for
D2D link establishment in a complex office-like indoor environment. We showed a
relatively small loss of link establishment potential due to an increase in the
inaccuracies of location information.
o Cooperation in Neighbour Discovery, which describes a neighbourhood discovery
approaches in D2D. We focused on the passive neighbour discovery in multi-channel
environments. We present different discovery approaches with low computational
complexity that utilize cooperation between devices by exchanging discovery results in
order to improve the discovery process. Furthermore, we present an optimized
discovery approach that uses multiple transceivers and evaluate the bounds on the
performance under idealized conditions. We analyse the impact of different network
parameters such as number of channels and number of neighbours on the discovery
times of the developed approaches by using a simulative evaluation.
o Throughput measurements and interface for load balancing between several PHY
technologies (mmWave, GFDM), which provides a load balance between multiple PHY
technologies. The corresponding algorithms are designed to ponder the robustness and
overhead, resulting in a general lower resilience of the mmWave transmission compared
to cellular transmission in lower frequency bands.
• Localisation
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 96 of 102
o Generalized architecture, which explains details of the Standardized Localization
Service. We provide a detailed design and a prototypical implementation of the
Standardized Localization Service (SLSR), a middleware architecture for achieving the
integration of individual localization.
o Cooperative localization, where we describe the developed, implementation and
evaluation of the localization algorithm. We presented the comparison between
cooperative convex relaxation localization algorithm and the non-cooperative one by
simulations.
o Indoor localization with multilateration, which focus in errors mitigation techniques.
That shows clearly that error mitigation is better than no mitigation and compares
different approaches to solve this issue.
Our contributions are disseminated through the eWINE intelligence toolbox, as it is showed in the
deliverable D3.4, and can be accessed by the community.
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 97 of 102
REFERENCES
[1] “http://www.3gpp.org/specifications/,” October 2016. [Online]. Available:
http://www.3gpp.org/specifications/releases/68-release-12.
[2] srsLTE, “Open source 3GPP LTE library,” [Online]. Available:
https://github.com/srsLTE/srsLTE. [Accessed October 2016].
[3] I. a. G.-S. A. a. S. P. D. a. S. P. a. C. C. a. L. D. J. Gomez-Miguelez, “srsLTE: An Open-
source Platform for LTE Evolution and Experimentation,” in Proceedings of the Tenth
ACM International Workshop on Wireless Network Testbeds, Experimental
Evaluation, and Characterization (WiNTECH), New York City, New York, 2016.
[4] T. Lassen, “Long-range RF communication,” Texas Instruments, 2014.
[5] D. Dinesh, A. M. Wyglinski and G. J. Minden, “A spectrum surveying framework for
dynamic spectrum access networks,” IEEE Transactions on Vehicular Technology, vol.
58, no. 8, pp. 4158-4168, 2009.
[6] “OpenCV - Open Source Computer Vision Library,” 2018. [Online]. Available:
https://opencv.org/. [Accessed 9 2 2018].
[7] Schmidt, P. S., Enghardt, T., Khalili, R., & Feldmann, A. (2013, December). Socket
intents: Leveraging application awareness for multi-access connectivity. In Proceedings
of the ninth ACM conference on Emerging networking experiments and technologies
(pp. 295-300). ACM.
[8] Gawlowicz, P., Zubow, A., Chwalisz, M., & Wolisz, A. (2017, May). UniFlex: A
framework for simplifying wireless network control. In Communications (ICC), 2017
IEEE International Conference on (pp. 1-7). IEEE.
[9] Chen, G., Lu, Y., Meng, Y., Li, B., Tan, K., Pei, D., ... & Zhao, Y. (2016, June). Fast
and Cautious: Leveraging Multi-path Diversity for Transport Loss Recovery in Data
Centers. In USENIX Annual Technical Conference (pp. 29-42).
[10] A. Asadi et al., “A survey on device-to-device communication in cellular networks,”
IEEE Communications Surveys & Tutorials, pp. 1801–1819, 2014.
[11] V. Daiya et al., “Experimental analysis of rssi for distance and position estimation,” in
Recent Trends in Information Technology (ICRTIT), IEEE, 2011.
[12] D. Lymberopoulos et al., “A Realistic Evaluation and Comparison of Indoor Location
Technologies: Experiences and Lessons Learned,” in Information Processing in Sensor
Networks (IPSN15), 2015.
[13] N. P. Kuruvatti et al., “Robustness of location based d2d resource allocation against
positioning errors,” in Vehicular Technology Conference (VTC Spring), 2015 IEEE
81st, IEEE, 2015, pp. 1–6.
[14] K. Doppler et al., “Device-to-device communication as an underlay to lte-advanced
networks,” IEEE Communications Magazine, vol. 47, no. 12, 2009.
[15] S. Doumiati, H. Artail, and D. M. Gutierrez-Estevez, “A framework for lte-a proximity-
based device-to-device service registration and discovery,” Procedia Computer Science,
vol. 34, pp. 87–94, 2014.
[16] G. Zanca et al., “Experimental comparison of rssi-based localization algorithms for
indoor wireless sensor networks,” in Real-World WSNs, ACM, 2008, pp. 1–5.
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 98 of 102
[17] N. Wirström et al., “Localization using Anonymous Measurements,” in Distributed
Computing in Sensor Systems (DCOSS’15), IEEE, 2015.
[18] M. Z. Bocus et al., “An approximation of the first order marcum q-function with
application to network connectivity analysis,” IEEE Communications Letters, vol. 17,
no. 3, pp. 499–502, 2013.
[19] A. Borrelli et al., “Channel models for ieee 802.11b indoor system design,” in
International Conference on Communications, IEEE, 2004.
[20] G. Caso et al., “On the applicability of multi-wall multi-floor propagation models to
wifi fingerprinting indoor positioning,” in Future Access Enablers of Ubiquitous and
Intelligent Infrastructures, Springer, 2015, pp. 166–172.
[21] Y. Mostofi et al., “Characterization and modeling of wireless channels for net- worked
robotic and control systems-a comprehensive overview,” in Intelligent Robots and
Systems (IROS), IEEE, 2009, pp. 4849–4854.
[22] Lemic, F., Behboodi, A., Handziski, V., Zubow, A. and Wolisz, A. "Location-based
Decision-making Mechanism for Device-to-Device Link Establishment", IEEE 86th
Vehicular Technology Conference (VTC-Fall'17), 2017.
[23] A. Willig, N. Karowski, and J.-H. Hauer, “Passive Discovery of IEEE 802.15.4-based
Body Sensor Networks,” Elsevier Ad Hoc Networks Journal, vol. 8, no. 7, pp. 742–754,
2010.
[24] N. Karowski, A. Viana, and A. Wolisz, “Optimized Asynchronous Multichannel
Neighbor Discovery,” in Proc. of IEEE INFOCOM, April 2011.
[25] N. Karowski, A. Viana, and A. Wolisz, “Optimized Asynchronous Multichannel
Discovery of IEEE 802.15.4-Based Wireless Personal Area Networks,” IEEE
Transactions on Mobile Computing, vol. 12, no. 10, pp. 1972–1985, October 2013.
[26] N. Karowski and K. Miller, “Optimized Asynchronous Passive Multi- Channel
Discovery of Beacon-Enabled Networks,” Telecommunication Networks Group,
Technische Universit¨at Berlin, TKN Technical Report Series TKN-15-002, March
2015.
[27] S. Lai, B. Ravindran, and H. Cho, “Heterogenous quorum-based wakeup scheduling in
wireless sensor networks,” Computers, IEEE Transactions on, vol. 59, no. 11, pp. 1562–
1575, Nov 2010.
[28] Y.-C. Tseng, C.-S. Hsu, and T.-Y. Hsieh, “Power-saving protocols for ieee 802.11-
based multi-hop ad hoc networks,” Elsevier Computer Networks Journal, vol. 43, no. 3,
pp. 317–337, 2003.
[29] P. Dutta and D. Culler, “Practical asynchronous neighbor discovery and rendezvous for
mobile sensing applications,” in ACM SenSys, Nov. 2008.
[30] A. Kandhalu, K. Lakshmanan, and R. R. Rajkumar, “U-connect: A low-latency energy-
efficient asynchronous neighbor discovery protocol,” in Proceedings of the 9th
ACM/IEEE International Conference on Information Processing in Sensor Networks,
ser. IPSN ’10. New York, NY, USA: ACM, 2010, pp. 350–361.
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 99 of 102
[31] M. Bakht, M. Trower, and R. H. Kravets, “Searchlight: Won’t you be my neighbor?” in
Proceedings of the 18th Annual International Conference on Mobile Computing and
Networking, ser. Mobicom ’12. New York, NY, USA: ACM, 2012, pp. 185–196.
[32] W. Sun, Z. Yang, K. Wang, and Y. Liu, “Hello: A generic flexible protocol for neighbor
discovery,” in INFOCOM, 2014 Proceedings IEEE, April 2014, pp. 540–548.
[33] K. Wang, X. Mao, and Y. Liu, “Blinddate: A neighbor discovery protocol,” Parallel and
Distributed Systems, IEEE Transactions on, vol. 26, no. 4, pp. 949–959, April 2015.
[34] M. J. McGlynn and S. A. Borbash, “Birthday protocols for low energy deployment and
flexible neighbor discovery in ad hoc wireless networks,” in ACM MobiHoc, Oct. 2001.
[35] S. Vasudevan, D. Towsley, D. Dennis, and R. Khalili, “Neighbor discovery in wireless
networks and the coupon collector’s problem,” in ACM MobiCom, Sep. 2009.
[36] R. Khalili, D. L. Goeckel, D. Towsley, and A. Swami, “Neighbor discovery with
reception status feedback to transmitters,” in IEEE Infocom, Mar. 2010.
[37] S. Ali, E. T. Yazdi, and A. Willig, “Investigations on passive discovery schemes for
ieee 802.15.4 based body sensor networks,” in Telecommunication Networks and
Applications Conference (ATNAC), 2013 Australasian, Nov 2013, pp. 89–94.
[38] L. Chen, Y. Shu, Y. Gu, S. Guo, T. He, F. Zhang, and J. Chen, “Groupbased neighbor
discovery in low-duty-cycle mobile sensor networks,” IEEE Transactions on Mobile
Computing, vol. PP, no. 99, pp. 1–1, 2015.
[39] J. Du, E. Kranakis, and A. Nayak, “Cooperative neighbor discovery protocol for a
wireless network using two antenna patterns,” in 2012 32nd International Conference
on Distributed Computing Systems Workshops, June 2012, pp. 178–186.
[40] S. Vasudevan, J. Kurose, and D. Towsley, “On neighbor discovery in wireless networks
with directional antennas,” vol. 4, mar. 2005, pp. 2502 – 2512 vol. 4.
[41] A. Purohit, B. Priyantha, and J. Liu, “Wiflock: Collaborative group discovery and
maintenance in mobile sensor networks,” in Information Processing in Sensor Networks
(IPSN), 2011 10th International Conference on, April 2011, pp. 37–48.
[42] R. Cohen and B. Kapchits, “Continuous neighbor discovery in asynchronous sensor
networks,” Networking, IEEE/ACM Transactions on, vol. 19, no. 1, pp. 69–79, Feb
2011.
[43] D. Camps-Mur and P. Loureiro, “e2d wi-fi: A mechanism to achieve energy efficient
discovery in wi-fi,” IEEE Transactions on Mobile Computing, vol. 13, no. 6, pp. 1186–
1199, June 2014.
[44] M. Bakht, J. Carlson, A. Loeb, and R. Kravets, “United we find: Enabling mobile
devices to cooperate for efficient neighbor discovery,” in Proceedings of the Twelfth
Workshop on Mobile Computing Systems& Applications, ser. HotMobile ’12. New
York, NY, USA: ACM, 2012, pp. 11:1–11:6.
[45] H. Bakht, Y. Kim, I. Jang, and S. Pack, “Cooperative neighbor discovery for consumer
devices in mmwave ad-hoc networks,” in 2012 IEEE International Conference on
Consumer Electronics (ICCE), Jan 2012, pp. 100–101.
[46] J. Schiller and A. Voisard, Location-based services. Elsevier, 2004.
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 100 of 102
[47] R. Di Taranto et al., “Location-aware communications for 5g networks,” IEEE Signal
Processing Magazine, vol. 31, no. 6, pp. 102–112, 2014.
[48] S. Couronne ́ et al., “Locon-a platform for an inter-working of embedded localisation
and communication systems,” in SECON Workshops, IEEE, 2009.
[49] S. Lempert et al., “Towards a reference architecture for an integration platform for
diverse smart object technologies,” Proceedings of MMS, pp. 53–66, 2011.
[50] F. Lemic, V. Handziski, et al., “Toward standardized localization service,” in Indoor
Positioning and Indoor Navigation (IPIN), IEEE, 2016, pp. 1–8.
[51] J. M. Rabaey, “The swarm at the edge of the cloud-a new perspective on wireless,” in
2011 Symposium on VLSI Circuits (VLSIC), IEEE, 2011, pp. 6–8.
[52] A. R. Beresford and F. Stajano, “Location privacy in pervasive computing,” IEEE
Pervasive computing, vol. 2, no. 1, pp. 46–55, 2003.
[53] F. Lemic et al., “Selection and aggregation of location information provisioning
services,” IEEE International Conference on Communications (ICC’17), 2017.
[54] N. Moayeri et al., “PerfLoc: An Extensive Data Repository for Development of
Smartphone Indoor Localization Apps,” in PIMRC’16, 2016.
[55] F. Lemic et al., “Experimental decomposition of the performance of fingerprinting-
based localization algorithms,” in IPIN’14, IEEE, 2014.
[56] N. Mor et al., “Toward a global data infrastructure,” IEEE Internet Computing, vol. 20,
no. 3, pp. 54–62, 2016.
[57] F. Lemic et al., “Selection and aggregation of location information provisioning
services,” IEEE International Conference on Communications (ICC’17), 2017.
[58] T. Van Haute et al., “Performance Analysis of Multiple Indoor Positioning Systems in
a Healthcare Environment,” Health Geographics, 2016.
[59] T. Van Haute et al., “Performance Analysis of Multiple Indoor Positioning Systems in
a Healthcare Environment,” Health Geographics, 2016.
[60] T. Van Haute et al., “Performance Analysis of Multiple Indoor Positioning Systems in
a Healthcare Environment,” Health Geographics, 2016.
[61] M. Koühne et al., “Location-based services with ibeacon technology,” in Artificial
Intelligence, Modelling and Simulation (AIMS), IEEE, 2014, pp. 315–321.
[62] F. Lemic et al., “Experimental evaluation of rf-based indoor localization algorithms
under rf interference,” in Localization and GNSS (ICL-GNSS), 2015.
[63] F. Lemic, V. Handziski, et al., “Web-based platform for evaluation of rf-based indoor
localization algorithms,” in ICC Workshops, IEEE, 2015.
[64] R. Friedman et al., “On power and throughput tradeoffs of wifi and bluetooth in
smartphones,” IEEE Transactions on Mobile Computing, 2013.
[65] B. Forssell, “Radionavigation systems,” 2008.
[66] H. Wymeersch, J. Lien and M. Z. Win, “Cooperative Localization in Wireless
Networks,” Proceedings of the IEEE, vol. 97, pp. 427-450, 2 2009.
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 101 of 102
[67] N. Patwari, A. O. Hero, M. Perkins, N. S. Correal and R. J. O'Dea, “Relative location
estimation in wireless sensor networks,” IEEE Transactions on Signal Processing, vol.
51, pp. 2137-2148, 8 2003.
[68] X. Li, “Collaborative Localization With Received-Signal Strength in Wireless Sensor
Networks,” IEEE Transactions on Vehicular Technology, vol. 56, pp. 3807-3817, 11
2007.
[69] E. G. Larsson, “Cramer-Rao bound analysis of distributed positioning in sensor
networks,” IEEE Signal Processing Letters, vol. 11, pp. 334-337, 3 2004
[70] P. Biswas, T. C. Liang, K. C. Toh, Y. Ye and T. C. Wang, “Semidefinite Programming
Approaches for Sensor Network Localization With Noisy Distance Measurements,”
IEEE Transactions on Automation Science and Engineering, vol. 3, pp. 360-371, 10
2006.
[71] P. Biswas and Y. Ye, “Semidefinite programming for ad hoc wireless sensor network
localization,” in Third International Symposium on Information Processing in Sensor
Networks, 2004. IPSN 2004, 2004.
[72] Y. Shang, W. Rumi, Y. Zhang and M. Fromherz, “Localization from connectivity in
sensor networks,” IEEE Transactions on Parallel and Distributed Systems, vol. 15, pp.
961-974, 11 2004.
[73] A. T. Ihler, J. W. Fisher, R. L. Moses and A. S. Willsky, “Nonparametric belief
propagation for self-localization of sensor networks,” IEEE Journal on Selected Areas
in Communications, vol. 23, pp. 809-819, 4 2005.
[74] V. Savic and S. Zazo, “Cooperative localization in mobile networks using
nonparametric variants of belief propagation,” Ad Hoc Networks, vol. 11, pp. 138-150,
2013.
[75] X. Ji and H. Zha, “Sensor positioning in wireless ad-hoc sensor networks using
multidimensional scaling,” in IEEE INFOCOM 2004, 2004.
[76] J. A. Costa, N. Patwari and A. O. Hero III, “Distributed weighted-multidimensional
scaling for node localization in sensor networks,” ACM Transactions on Sensor
Networks (TOSN), vol. 2, pp. 39-64, 2006.
[77] R. M. Vaghefi, M. R. Gholami, R. M. Buehrer and E. G. Strom, “Cooperative Received
Signal Strength-Based Sensor Localization With Unknown Transmit Powers,” IEEE
Transactions on Signal Processing, vol. 61, pp. 1389-1403, 3 2013.
[78] T. Jia and R. M. Buehrer, “Collaborative position location with NLOS mitigation,” in
2010 IEEE 21st International Symposium on Personal, Indoor and Mobile Radio
Communications Workshops, 2010.
[79] C. Soares, J. Xavier and J. Gomes, “Simple and Fast Convex Relaxation Method for
Cooperative Localization in Sensor Networks Using Range Measurements,” IEEE
Transactions on Signal Processing, vol. 63, pp. 4532-4543, 9 2015.
[80] N. Piovesan and T. Erseghe, “Cooperative Localization in WSNs: a Hybrid
Convex/non-Convex Solution,” IEEE Transactions on Signal and Information
Processing over Networks, vol. PP, pp. 1-1, 2016.
D3.3: Demonstration and evaluation of the context provisioning and sensing algorithms
© eWINE Consortium 2016-2018 Page 102 of 102
[81] S. Yousefi, X. W. Chang and B. Champagne, “Distributed cooperative localization in
wireless sensor networks without NLOS identification,” in Positioning, Navigation and
Communication (WPNC), 2014 11th Workshop on, 2014.
[82] Y. Shang, W. Ruml, Y. Zhang and M. P. J. Fromherz, “Localization from mere
connectivity,” in Proceedings of the 4th ACM international symposium on Mobile ad
hoc networking \& computing, 2003.
[83] N. Patwari, J. N. Ash, S. Kyperountas, A. O. Hero,, “Locating the nodes: cooperative
localization in wireless sensor networks,” IEEE Signal Processing Magazine, vol. 22,
no. 4, pp. 54-69, 2005.
[84] S. Gezici, "Localization via ultra-wideband radios: a look at positioning aspects for
future sensor networks," IEEE Signal Processing Magazine, vol. 22, no. 4, pp. 70-84,
2005.
[85] S. Marano, W. M. Gifford, H. Wymeersch and M. Z. Win, “NLOS identification and
mitigation for localization based on UWB experimental data,” IEEE Journal on Selected
Areas in Communications, vol. 28, no. 7, pp. 1026-1035, 2010.