wireless indoor localization based on passive rfid tags
TRANSCRIPT
WIRELESS INDOOR LOCALIZATION BASED ON PASSIVE RFID
TAGS
By
ALSENY DIALLO
A thesis submitted in partial fulfillment ofthe requirements for the degree of
MASTER OF SCIENCE IN COMPUTER SCIENCE
WASHINGTON STATE UNIVERSITYSchool of Engineering and Computer Science, Vancouver
MAY 2019
To the Faculty of Washington State University:
The members of the Committee appointed to examine the thesis of
ALSENY DIALLO find it satisfactory and recommend that
it be accepted.
Xinghui Zhao, Ph.D., Chair
Xuechen Zhang, Ph.D.
Bayaner Arigong, Ph.D.
ii
ACKNOWLEDGMENTS
I would like first to thank my thesis advisors Ph.D. Xinghui Zhao and professor Zaixin
Lu of the Computer Science and Engineering department at Washington State University
Vancouver. The door to Prof. Xinghui Zhao and Zaixin Lu office was always open whenever
I ran into a trouble spot or had a question about my research or writing. They both consis-
tently allowed this paper to be my own work, but steered me in the right direction whenever
they thought I needed it.
Additionally, I would like to thank the experts who were involved in the validation sur-
vey for this research project: Assistant Professor in Electrical Engineering Bayaner Arigong,
Assistant Professor in Computer Science Xuechen Zhang. Additionally, thank you to Asso-
ciate Professor of Computer Science Scott Wallace, Wayne Cochran and Sarah Mochas with
their passionate participation and input in guiding me throughout my journey as a student
in computer science here at the Washington State University Vancouver. Without all the
teaching and feedback they provided to me, I could not have been successful in completing
my master of science in computer science.
I also would like to thank the staff, Mary Beth Bulger, Keri Deford, Sam Judd, Susanna
Maria, Kristine Olsen, Eric Walla, and Shawn Welter of the computer science and engineer-
ing department for their work in making sure I had all the resources available to succeed in
my research and facilitate my journey as a student here the faculty.
Finally, I must express my very profound gratitude to my mom and dad for believing in
me and for making me the man I am today throughout their rigorous education at home.
iii
Thank you to my siblings Fatoumata Diallo and Mohamed Diallo. I also would like to thank
my friends Mamadou E. Bah, Mamadou Bah and to my girlfriend Vicky Nganga for provid-
ing me with unfailing support and continuous encouragement throughout my years of study
and through the process of researching and writing this thesis. This accomplishment would
not have been possible without them.
Special thank you to NAFFA nonprofit, WSUV internationals and ISI friendship families,
and to my American friendship family Chris and Dianna Kroll for providing me the hospi-
tality and support through out my journey as a student here in the United States of America.
Special thank you to my sister Dalanda Diallo for all the support she has provided to me
and still is providing for me here in the United State of America.
Thank you.
iv
WIRELESS INDOOR LOCALIZATION BASED ON PASSIVE RFID
TAGS
Abstract
by Alseny Diallo, M.S.Washington State University
May 2019
Chair: Xinghui Zhao
Location-based services (LBSs) are significantly becoming a vital part of life. Global
Navigation Satellite Systems such as GPS have been used in a wide range of applications,
from transport navigation, and synchronization of telecommunications networks. GPS works
remarkably well in outdoor positioning. However, GPS does not perform well when the
target object is close to walls, buildings, trees, or indoor environments. This is because the
signal from the GPS satellites is too weak to penetrate an obstacle like concrete walls and
buildings. Due to the complicated characteristics of indoor environments, the development of
an indoor localization technique is always linked with a set of difficulties. For instance, indoor
localization systems are challenged by the influence of obstacles like equipment, movement of
human beings, doors, walls, and more. To overcome those challenges, we propose an indoor
localization system that uses radio frequency identification tags or RFID tags to localize
moving targets. Our indoor localization algorithm derives the accurate location of a target
object using a set of RFID tags deployed in a predefined area. Our localization algorithm
derives the target device’s location based on the signal it receives from surrounding tags.
Depending on the number of tags in the surrounding area, the algorithm uses different
v
formulas to calculate the target’s location. Specifically, there are three different cases. A
case where a target object is nearby one tag, two tags or three tags. The localization
algorithm works well when an area is well covered by tags. To optimize the coverage using
a limited number of tags, we developed a greedy algorithm that uses a novel score function
to help deploy the RFID tags in a predefined area to guarantee maximum coverage. This
approach is evaluated using both simulation and real system use cases. Additionally, we
designed a system deployment that uses the localization algorithm and the tag deployment
algorithm to track several target objects in a 2-dimensional space. The system is proven to
be reliable, fault-tolerant and scale very well with an increase in workload. The results show
our approach is effective in localizing target objects with high accuracy.
vi
TABLE OF CONTENTS
Page
ACKNOWLEDGMENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
ABSTRACT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v
LIST OF FIGURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
CHAPTER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
1 INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2 RELATED WORK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1 Localization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 K-coverage Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3 WIRELESS INDOOR LOCALIZATION . . . . . . . . . . . . . . . . . . . . 10
3.1 Problem Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2 Localization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2.1 Case 1: Device reads signal from one tag . . . . . . . . . . . . . . . . 13
3.2.2 Case 2: Device reads signal from two tags . . . . . . . . . . . . . . . 14
3.2.3 Case 3: Device reads signal from three tags or more . . . . . . . . . . 15
3.3 Coverage problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.4 Score Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
vii
3.4.1 Case 1: point (xi, yi) is covered by one tag . . . . . . . . . . . . . . . 20
3.4.2 Case 2: point (xi, yi) is covered by two tag . . . . . . . . . . . . . . . 21
3.4.3 Case 3: point (xi, yi) is covered by three or more tags . . . . . . . . . 21
4 EXPERIMENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.1 Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.1.1 Tag Deployment Algorithm . . . . . . . . . . . . . . . . . . . . . . . 25
4.1.2 Localization Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5 SYSTEM DEPLOYMENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5.1 System Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5.2 Fault Tolerance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.3 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.3.1 Scalability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.3.2 Fault Tolerance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
6 CONCLUSIONS AND FUTURE WORK . . . . . . . . . . . . . . . . . . . 38
Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
viii
LIST OF FIGURES
Page
1.1 Example of RFID Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Localization using RFID architecture. . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Example of RFID tags coverage map after deployment. . . . . . . . . . . . . 5
3.1 Case 1: Target object reads signal from one tag. . . . . . . . . . . . . . . . . 13
3.2 Case 2: target object reads signal from two tags. . . . . . . . . . . . . . . . . 14
3.3 Case 3: target object reads signal from three tags. . . . . . . . . . . . . . . . 16
4.1 A 10x10 grid with increasing Tx range and number of tags . . . . . . . . . . 27
4.2 A 20x20 grid with increasing Tx range and number of tags . . . . . . . . . . 27
4.3 A 30x30 grid with increasing Tx range and number of tags . . . . . . . . . . 28
4.4 Representation of accuracy for localization on an area size20x20 . . . . . . . 29
4.5 Representation of accuracy for localization on an area size 30x30 . . . . . . . 30
4.6 Representation of accuracy for localization on an area size 40x40 . . . . . . . 31
4.7 Cumulative distribution function . . . . . . . . . . . . . . . . . . . . . . . . 31
5.1 System Architecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.2 Average response time to serve a request. . . . . . . . . . . . . . . . . . . . . 35
5.3 Distance error in localization in peer to peer fault tolerance mode . . . . . . 36
5.4 Average distance error in location as devices mode . . . . . . . . . . . . . . . 37
ix
Dedication
This thesis is dedicated to my father, who taught me that the best kind of knowledge to
have is that which is learned for its own sake. It is also dedicated to my mother, who taught
me that even the largest task can be accomplished if it is done one step at a time.
x
Chapter 1
INTRODUCTION
Location-based services (LBSs) are significantly becoming a vital part of life. LBSs have re-
ceived significant interest in wireless communication networks. It is anticipated that location-
based services will become the most common form of context-aware computing. Localization
in an indoor environment plays a critical role in the LBSs. Indoor Location-Based applica-
tions range from tracking objects and people in real-time, assets supervision, farming, aided
monitoring technologies for healthcare, and smart homes, and more[1]. Global Navigation
Satellite Systems such as GPS has been used in a wide range of applications, from transport
navigation, guidance, to synchronization of telecommunications networks. GPS works re-
markably well in outdoor positioning. However, GPS does not perform well when the target
is nearby walls, buildings, trees, indoors, and underground environments as the signal from
the GPS satellites becomes too weak to penetrate an obstacle like concrete walls, buildings,
and roofs. Due to the complicated characteristics of indoor environments, the development
of an indoor localization system is always linked with a set of difficulties. For instance, indoor
localization systems are challenged by the influence of obstacles like equipment, movement
of human beings, doors, walls, and other factors. In order to surmount those challenges, we
propose an indoor localization system that uses radio frequency identification tags or RFID
1
tags to localize the moving target.
Radio Frequency Identification (RFID) is an excellent technology for localization in an
indoor environment. RFID Systems consist of Antennas connected to RFID readers as shown
in Figure 1.1. These antennas send back the captured information from sensed tags to the
reader for further location processing as shown in Figure 1.2. RFID tags can be Active tags
(battery powered), semi-active and Passive tags (without a built-in battery). Therefore the
tracking of RFID systems can be active or passive. There are various RFID tracking appli-
cations such as in-hospital patient tracking, asset tracking, supply chain, security, medical
and healthcare assets tracking [1].
Due to the complexity of the indoor environment, Several other techniques have been
used for indoor localization. For instance, Infrared radiation (IR) is one of the most com-
mon positioning systems that use wireless technology. IR technology has been used in many
devices among which the most common ones are TV, PDAs and mobile phones [2]. Some of
the advantages of using IR based systems are being small, lightweight and easy to deploy.
however, the system faces challenges with interference from fluorescent light and sunlight.
Additionally, IR has a high-cost system hardware and maintenance costs. Another example
is the Ultrasound. Ultrasound is unable to penetrate walls and it is affected by other sounds
in the environment. Ultrasound struggles with accuracy and interference from reflected sig-
nal propagated by the surrounding items like walls, and pieces of furniture. [3, 4]. Another
system used is Radio Frequency technologies or RF technologies. RF technologies are di-
vided into four categories (RFID, Bluetooth, WLAN, and FM) and are commonly used in
location positioning systems [5]. Unlike global positioning, ultrasound and infrared system,
radio frequency waves can penetrate through obstacles like building, walls, human bodies
easily and more. Additionally, RF-based technologies have a larger coverage area and need
less hardware.
2
(a) RFID tag (b) RFID structure
Figure 1.1: Example of RFID Tag
Our localization algorithm works perfectly when an area is adequately covered by tags.
To optimize the coverage using a limited number of tags, we developed a greedy algorithm
that uses a novel score function to improve the deployment of the RFID tags in a predefined
area to ensure maximum coverage. This approach is assessed using both simulation and real
system use cases. Additionally, we designed a system deployment that uses the localization
algorithm to track a target object in a 2D space. The system is proven to be reliable, fault-
tolerant and scale very well with an increase in workload. The results prove our strategy is
effective and efficient in localizing target objects with tremendous precision.
Figure 1.2: Localization using RFID architecture.
3
Our approach uses the RFID technology to localize a target object based on the signal
the device receives from the tags. Our work is divided into two major segments: localization
and tag deployment. First, a localization algorithm is used to compute the target object
coordinate in an area with respect to the tag’s locations the device is nearby. As shown in
Figure 1.3, different places in the area could be covered by different amounts of tags. The
Localization algorithm accuracy is dependent on how many tag’s signals the target object
can scan at his current location. The algorithm determines the target device’s location based
on the signal it receives from the surrounding tags. Depending on the number of tags in the
neighboring area, the algorithm uses different equations to calculate the target’s location.
Precisely, the localization algorithm addresses three different cases. For the case a user is
only able to scan the signal of one tag, the location of the user is approximately chosen to
be the location of the tag. In the case that the user is able to scan the signal of 2 tags, we
use a system of non-linear equation to solve for the device location. Last but not least, in
the case that the user is able to scan the signal of 3 or more tags, we use trilateration [6] to
solve for the device location.
Considering the accuracy of the localization algorithm is dependent of the number of
RFID tags a target object is able to scan, As a second part of the research, we designed a
greedy algorithm to deploy RFID tags in a 2-D space. An example coverage map is shown
in Figure 1.3. The deployed RFID tags will serve as a blueprint layout for the area we would
like to cover for localization. The tag deployment algorithm is designed to offer maximum
coverage of the desired area given a set of tags. With a limited number of tags and a given
space of size length and width, not all the points on the area would be covered equally. As
a result, a score function is developed to assign a score to each point on the map based
on whether the point is covered by 1 tag, 2 tags, 3 tags or more. The tag deployment
algorithm is evaluated using both simulation and real use cases. The results show that the
4
Figure 1.3: Example of RFID tags coverage map after deployment.
tag deployment greedy approach is effective in optimizing the coverage area using a limited
number of tags. Additionally, we designed a system deployment that uses the localization
algorithm and the tag deployment algorithm to track several target objects in a 2-dimensional
space. The system is proven to be reliable, fault-tolerant and scale very well with an increase
in workload.
5
Chapter 2
RELATED WORK
Localization in indoor environments has obtained popularity in the domain of universal com-
puting in the last decade and will advance to play an important part in the position systems
[7]. Indoor Positioning Systems are systems that use wireless communication networks. Sev-
eral technologies in indoor environments have been adapted to various applications such as
asset management, healthcare, security, warehouse and people tracking. Technologies such
as RFID, Bluetooth, Wi-Fi, with countless others are generally used in indoor localization
systems. RFID is the one technology in particular that guarantees to revolute many indus-
tries due to its low-cost and low-power features [8]. While the adoption of RFID is growing
fast, many challenges still need to be addressed. Given the complexity associated with indoor
localization techniques, several novel research has been conducted to address this sector.
2.1 Localization
In [9], (Qiu and Liang) et al. proposed a range-free 2D tag localization method based on
phased array antenna, called PATL. This method takes advantage of the adjustable radia-
tion angle of the phased array antenna to scan the surveillance region in turns. By using
6
the statistics of the tags number in different antenna beam directions, a weighting algorithm
is used to calculate the position of the tag. This method can be applied to the real-time
location of multiple targets without the usage of any reference tags or additional readers.
Additionally, they presented an optimized weighting method based on RSSI to increase the
locating accuracy. They used a Commercial Off-the-Shelf (COTS) UHF RFID reader which
is integrated with a phased array antenna to evaluate their method.
Considering the feature of the 2D phased array antenna where the beam direction is
known and adjustable, They propose a range-free weighting method PATL to calculate the
two-dimensional coordinates of the tag. They set the known antenna projection coordinate
on the ground as (0, 0). Ideally, if the antenna beam can precisely modify its beam direction
to scan the entire two-dimensional plane and the radiation lobe is enough to narrow, then
when the antenna receives the tags backscatter signal on a certain angle, They can directly
consider that the coordinate of the tag as calculated by the formula.
3D localization based on RFID tags in indoor environments has not been enough stud-
ied. Tlili, Ferdews, and Hamdi, Noureddine and Belghith, Abdelfettah proposed an approach
based on MDS for 3D localization using active RFID tags in indoor environments [10]. The
considered system is a centralized scheme that involves a server, readers, and tags. The
propagation model used to estimate the received power considers the path loss and shad-
owing effects. The considered localization model is designed in order that all readers detect
the signal emitted by targets in an indoor environment like a warehouse or an office. The
proposed system model is obtained by putting the readers in vertices of a tetrahedron.
A coherent multi-reader approach to increase the working range of passive RFID systems
has been proposed in 2012 [11]. A multi-reader system is presented which is capable of
7
increasing the working range of passive RFID systems. The presented multi-reader approach
uses constructive interference of the reader units RF waves to increase the reading range of
passive RFID tags. This gain in the range is obtained by using the constructive superposition
of the readers RF waves. In contrast to these approaches, the presented system uses a
multi-reader approach to increase the working range. A number of reader units are placed
distributed into the operating space. Each reader unit is able to adjust the transmission
(Tx) phase of its Radio Frequency (RF) wave. This way the system becomes able to achieve
constructive interference of all readers RF waves and increased field strength in certain areas.
If the phase settings are specifically adjusted to the tags position, the multi-reader system
allows for a power-up in larger distances between reader station and tag than a single-reader
system.
2.2 K-coverage Problem
With the use of RFID technology for localization, It is very important that we are able to
determine how well an area is covered. This metric will help us determine how well we can
compute the location of a device using the deployed tag map generated by our tag allocation
algorithm. In the area coverage problem, the main objective is to monitor or cover all lo-
cations of a given area. A similar problem has been addressed by other research topics before.
Wang et al. [12, 13] have proposed the Coverage Configuration Protocol (CCP) to pro-
vide different degrees of coverage in the area required by applications. It has been proved
that a set of sensors covering a convex region are connected as long as their communication
range is no less than twice of the sensing range. This property is used to derive the relation-
ship between the coverage degree and connectivity among sensor nodes. The CCP allows
verifying the k-coverage by only checking the intersection points.
8
One fundamental issue in sensor networks is the coverage problem [14], which reflects how
well a sensor network is monitored or tracked by sensors. In this paper, Huang formulates
this problem as a decision problem, whose goal is to determine whether every point in the
service area of the sensor network is covered by at least k sensors, where k is a predefined
value. The sensing ranges of sensors can be unit disks or non-unit disks. He presents a
polynomial-time algorithms, in terms of the number of sensors, that can be easily translated
to distributed protocols. The result is a generalization of some earlier results where only k
= 1 is assumed. Applications of the result include (i) positioning applications, (ii) situations
that require stronger environmental monitoring capability, and (iii) scenarios that impose
more stringent fault-tolerant capability.
The approach presented in [12], and [14] requires that exact locations of all deployed
sensors are known. In contrast, Zhang Sensing Border Concept and Wang have proposed a
distributed algorithm where each sensor node determines whether they are on the coverage
boundary by using localized distance. For k-coverage verification of an area, at first, it is
determined whether the intersection points in the sensing border of each node are k-covered.
Based on intersection coverage, the algorithm detects the boundary node of a coverage hole
for the verification of 1-coverage. Boundary node is the node for which there exists at least
one intersection point on its sensing border which is not covered by any other nodes sensing
range. Finally, the 1-coverage verification is extended to k-coverage verification that detects
the boundary node of a k-coverage hole. The total running time of the algorithm is O(n3).
9
Chapter 3
WIRELESS INDOOR
LOCALIZATION
In order to defeat challenges associated with the indoor environment, we propose an in-
door localization system that uses radio frequency identification tags or RFID tags. The
localization algorithm works perfectly when an area is well covered by tags. The algorithm
computes the target devices location based on the signal it receives from the neighboring
tags. Depending on the number of tags in the nearby area, the algorithm uses different
formulas to calculate the targets location. Specifically, the localization algorithm addresses
three different cases. For the situation a user is solely able to scan the signal of one tag, the
location of the user is approximately picked to be the location of the tag. In the case that
the user is able to scan the signal of 2 tags, we use a system of non-linear equation to solve
for the device location. Last but not least, in the event that the device is able to scan the
signal of 3 or more tags, we apply trilateration to solve for the device location.
The accuracy of the localization algorithm relies on the RFID tags deployed in a pre-
defined area. To use our localization algorithm, one must take into account an approach
10
to deploy tag in the predefined area. In order to maximize the accuracy of the localization
algorithm, we developed a greedy algorithm that uses a revolutionary score function to help
deploy the RFID tags in a predefined area to guarantee maximum coverage using a minimum
number of tags as possible.
We propose an approach to deploy RFID tags in a predefined 2D area. After a successful
deployment of the RFID tags, the localization algorithm works as follow, the target object
will transmit signal then read the signals emitted back from the RFID tags within the target
object transmission range. The target object will use information from RFID tags and apply
the localization algorithm to compute the location coordinate. This approach assumes that
the target object is capable of broadcasting and receiving radio frequency or wireless signal.
3.1 Problem Formulation
The accuracy for locating a target object using the localization algorithm is dependent on
how many RFID tags the target object is able to read radio frequency signals. We consider
3 different cases. A case where the target object is able to read radio frequency (RF) signal
from one tag, a case where a target object is able to read RF signals from 2 tags and last, a
target object is able to read RF signal from three tags.
Here are some useful definitions that we use throughout the rest of the paper to facilitate
the understanding of the localization algorithm.
k here represent a tag and (x, y) is a coordinate location of a predefined 2D area.
Target Object reads signal from 1 tag: A target object at a location (xi, yi) within the
predefined 2D area is said to be covered by tag ki if it is within tag ki transmission (Tx)
11
range.
Target Object reads signal from j tag: A target object at a location (xi, yi) within the
predefined 2D area is said to be covered by j tags if it is within j tags transmission (Tx)
range.
A location on the area A could be covered by one tag, four tags or five or more tags;
Nevertheless, the algorithm addresses the cases when a location (xi, yi) is covered by one
tag, covered by two tags and three tags or more.
3.2 Localization
We designed a localization algorithm to derive the target object’s location coordinate on a
2D area with respect to the tag’s locations the target object is able to scan. The localization
algorithm accuracy is dependent on how many tag’s locations the target object can scan at
his current location. For the case a target object is only able to scan one tag, the location of
the target object is simply chosen to be the location of the tag. In the case that the target
object is able to scan 2 tags, we use a system of non-linear equation to solve for the device
location. For case 3, the target object is able to scan 3 or more tags, we use trilateration
[6] to solve for the device location. For the cases where the target object is covered by 4 or
more tags, we will choose 3 tags with the strongest signal and use the same algorithm as
case 3 to calculate the location of the target device. This is because with 3 tags we are able
to compute with high precision the location of the target device using trilateration.
• Case 1: Device reads signal from one RFID tag
• Case 2: Device reads signal from two RFID tags
• Case 3: Device reads signal from three or more RFID tags
12
3.2.1 Case 1: Device reads signal from one tag
Recall that a location (xi, yi) is said to be covered by ki if it is within ki Tx range.
This case is a special case. With so limited information, there is no calculation to be done.
However, it is safe to say that the location of the device is that of the tag within an error
not greater than the Tx range of the tag.
Because the device has received the signal from the tag, therefore it must be within the
transmission range of the tag. The device location, as a result, could be anywhere on the
perimeter formed from the tag Tx range. Instead of guessing the location of the device, we
set the device location to be the location of the tag.
Scenario 1
As shown in Figure 3.1 Let the scenario be: Tag T ’s coordinate is (Xt, Yt),
The target device D’s coordinate is (Xd, Yd)
The distance between the tag T and the target device D is d
The coordinate location of the node D is the coordinate of the tag T The predicted location
for D is the coordinate of T . Coordinate of D = (Xt, Yt). the error for this approximation
is distance d with an upper bound of (Tx), tag T ’s transmission range.
.Tx
dD
Tag
Transmission range
distance
Target device
Figure 3.1: Case 1: Target object reads signal from one tag.
13
3.2.2 Case 2: Device reads signal from two tags
For this case, the device is within the transmission range of two tags. We solve for the
system of nonlinear equation formed by the coordinate of the tag A1 and tag A2. We
use the nonlinsolve function from sympy.solvers.solveset python library [15] to solve for the
equation obtained from both tags’ coordinate. The result is 2 solutions point S1 and point
S2. In consequence, we chose to compute the coordinate of the midpoint between S1 and S2
respectively. The midpoint is chosen to be the location of the device as shown in Figure 3.2.
We chose the midpoint here because this gives us a point that lies on the same axes with
the two solutions obtained from the nonlinear equation formed by A1 and A2. Because the
target device location is chosen to be the midpoint of S1 and S2, the error in localization
is the distance between the midpoint and S1 or S2 and it has an upper bound of distance
between S1 and S2.
Scenario 2
. A2Txd1
D .A1Tx
d2
A1/A2: TagsA1TX/A2TX: Transmissions range d1/d2: DistancesS1/S2: SolutionsD : Midpoint of S1 and S2
*
*
S1
S2
A1
A1
Figure 3.2: Case 2: target object reads signal from two tags.
This scenario occurs when an target object D (device to be located) has read signal of
14
at least 2 tags
Let the 2 tags be:
Tag A1’s coordinate is (Xa1 , Ya1),
Tag A2’s coordinate is (Xa2 , Ya2),
The target device D’s coordinate is (X, Y)
The distance between A1 (or A2) and D is d1 (or d2)
(x− xa1)2 + (y − ya1)
2 = d21
(x− xa2)2 + (y − ya2)
2 = d22
To obtain the new coordinate for the target device D, we solve the system of nonlinear
equation.
we obtain 2 solutions denoted S1 with coordinate (Xs1, Ys1) and S2 with coordinate (Xs2,
Ys2)
The coordinate of point D will be the midpoint of the point S1 and S2
xd =xs1 + xs2
2
yd =ys1 + ys2
2
3.2.3 Case 3: Device reads signal from three tags or more
Recall that Tri-lateration [16, 2] is a sophisticated version of triangulation, though it does
not use the measurement of angles in its calculations. Data from a single satellite provides a
general location of a point within a large circular area on the Earth’s surface. Adding data
from a second satellite allows the GPS to narrow the specific location of that point down
15
to a region where the two areas of satellite data overlap. Adding data from a third satellite
provides an accurate position of the point on the Earth’s surface. The exact same approach
is used here and tag location information is what is used instead of GPS. we used numpy
library [15] from python to solve the matrix form the system of nonlinear equation formed
from the three tags coordinate.
Scenario 3
As shown in Figure 3.3, this scenario occurs when an unknown target device D (device to
be located) has received a signal from at least 3 tags
. A2Txd1
D .A1Tx
d2
A3Tx
d3 . A1/A2/A3: TagsA1TX/A2TX/ A3TX : Transmissions range d1/d2 /d3 : DistancesD : Target device location
A1 A2
A3
Figure 3.3: Case 3: target object reads signal from three tags.
Let the 3 tags be:
Tag A1’s coordinate is (Xa1, Ya1),
Tag A2’s coordinate is (Xa2, Ya2),
Tag A3’s coordinate is (Xa3, Ya3)
The target device D’s coordinate is (Xd, Yd)
The distance between A1 (or A2 or A3) and D is d1 (or d2 or d3)
16
(x− xa1)
2 + (y − ya1)2 = d21
(x− xa3)2 + (y − ya2)
2 = d22
(x− xa2)2 + (y − ya3)
2 = d23
In order to obtain the location of the new point, we solve the system of these non linear
equations by transforming those equation in a matrices form
xd
yd
=
2(xa1 − xa3) 2(ya1 − ya3)
2(xa2 − xa3) 2(ya2 − ya3)
−1
∗
x2a1− x2
a3+ y2a1 − y2a3 + d2a3 − d2a1
x2a2− x2
a3+ y2a2 − y2a3 + d2a3 − d2a2
The computed x and y will be the coordinate of the target object D. This case allows us to
precisely derive the location of the target device.
ALGORITHM 1: Localization Algorithm
Result: Return (x,y) location computed for target object)
initialize x, y;neighbors tag list = search for a tag within the transmission range of the device;if neighbors tag list = 1 then
This is case 1;x, y = location of tag on list;
endif neighbors tag list = 2 then
This is case 2;location = solve the system of nonlinear equation formed by the two tag;
endif neighbors tag list > 2 then
This is case 3;sorted tag list = sort the tag by distance from the device/ based on signalstrength;
x, y = solve the system of nonlinear equation formed by the top three tags;
endreturn x, y;
17
3.3 Coverage problem
Considering the accuracy of the localization algorithm is dependent of the number of RFID
tags a target object is able to scan, we designed a greedy algorithm to deploy RFID tags
in a 2D space like shown in Figure 1.3. The deployed RFID tags will serve as a blueprint
layout for the 2D space we would like to cover for location prediction. The tag allocation
algorithm is designed to offer maximum coverage of the desired space given a set of tags.
With a limited amount of tags and a given space of size NxM, not all the points on the space
would be covered equally. As a result, a score function is developed to assign a score at each
point on the map based on whether the point is covered by 1 tag, 2 tags, and 3 tags and more.
We are given an Area A and a set of tag, K = {k1, k2, ki, ..., kn} with transmission range
Tx. For each tags ki, i = 1..n, we need to allocate each tag to a coordinate (xi, yi) inside A
such that every point (xi, yi) in the area of A is covered by at least one tags.
k here represent a tag and (x, y) are coordinate locations in our map
A location is covered by one tag: A location (xi, yi) within the predefined 2D area is said to
be covered by tag ki if it is within tag ki transmission (Tx) range.
A location is covered by j tag: A location (xi, yi) within the predefined 2D area is said
to be covered by j tags if it is within j tags transmission (Tx) range.
A point on area A could be covered by one tag, four tags or five or more tags; Since the
localization algorithm only looks at 3 cases, the tag deployment algorithm also aims to maxi-
mize for the deployment on those 3 cases. The tag deployment algorithm also addresses cases
when a point (xi, yi) is covered by one tag as shown in Figure 3.1, covered by two tags as
shown in Figure 3.2 and three tags as shown in Figure 3.3. Those three cases are important
18
to us because our algorithm uses a specially designed score function to assign scores to each
point of the area on A. The score function helps the algorithm decide where it should place
it next point such that each placement of a point on A yield a maximum coverage percentage.
The algorithm loops through each point (xi, yi) in A that has not yet been assigned a
tag and assign the tag at the first available point. After the algorithm assign a tag to a
point (xi, yi), it computes the change in score for each point (xi, yi) within it Tx range and
updates their score accordingly. As a result, the algorithm update the area coverage of A
which is
C =lxw∑i=1
score of each point on A
l: length and w: width of the predefined area A
The algorithm remembers the current location (x, y) where the tag was placed that
resulted with the highest change in the coverage score for A. The allocation algorithm con-
tinues to loop through until it exploits all possible available point then permanently insert
the tag with the highest change in the score for the area. A good score function is key here.
For that reason, we will discuss it in more detail in the next section.
3.4 Score Function
The score function helps the tag allocation algorithm to decide what is the best location (x,
y) to deploy the next tag so that the area A is well covered. A recap on why it is important
to deploy tags. After successfully deploying tags on area A, the resulted map from the tag
deployed will be used to predict the user location within A. The maximum score a point (xi,
yi) can obtain is 1. This score also determines the probability for the predicted location for
19
that point to be exactly the location of the point.
With the complexity of the problem, we divide the score function into three different cases.
The cases that interest us are the following:
• Case 1: point (xi, yi) is covered by one tag
• Case 2: point (xi, yi) is covered by two tags
• Case 3: point (xi, yi) is covered by three or more tags
we compute the score using the general formula
score = (1 −dtag−point
Tx) ∗ 0.9
where: - d is the distance between the tag ki and the location (xi, yi) the signal is received.
3.4.1 Case 1: point (xi, yi) is covered by one tag
Recall that a point (xi, yi) is said to be covered by ki if it is within ki Tx range.
The score for this point (xi, yi) is based on how far (xi, yi) is from the tag. Because the
maximum score a point can obtain is 1, for this case we compute the score for that particular
point as follow
score = (1− d/Tx) ∗ 0.9
d here is the distance between the tag and the location the point where the signal is received
from the tag. The equation is multiplied by 0.9 to mimic a real-life scenario. In a real
system settings, we compute the distance between the target object and the tag using the
signal strength of the reflected signal from the tag. This method of calculating distance
20
using signal strength has been studied by [17]. We are taking into account signal loss from
the transmission and reception process.
3.4.2 Case 2: point (xi, yi) is covered by two tag
Recall that a point (xi, yi) is said to be covered by ki if it is within ki Tx range.
For this case, (xi, yi) is within the transmission range of two tag 3.2. We can not directly
compute the distance between the tag and the device and plug it in the score function since
we have two tags involved. In consequence, we first compute the coordinate of the point
between tag1 and tag2. We use the nonlinsolve function from sympy.solvers.solveset python
library to compute the coordinate. Then compute the distance d between the newly obtained
coordinate and the location (xi, yi) the location the point where the signal is received from
the tag.
3.4.3 Case 3: point (xi, yi) is covered by three or more tags
Recall that A point (xi, yi) is said to be j covered if it is within j tags Tx range. This is
a case where our point (xi, yi) is within the transmission range of three or more tags. We
consider this to also be a special case. but a very good special case. Recall from the different
techniques for indoor wireless positioning [16, 2]. In the presence of three tags, as shown in
Figure 3.3, the probability of correctness in computing the location of a device is very high.
We use trilateration.
Trilateration
Trilateration [16, 2] is a sophisticated version of triangulation, though it does not use the
measurement of angles in its calculations. Data from a single satellite provides a general
location of a point within a large circular area on the Earth’s surface. Adding data from a
21
second satellite allows the GPS to narrow the specific location of that point down to a region
where the two areas of satellite data overlap. Adding data from a third satellite provides an
accurate position of the point on the Earth’s surface.
All the GPS devices require three satellites for an accurate calculation of position. Data
from a fourth satelliteor even more than four satellitesfurther enhance the precision of the
point’s location, and also allows factors such as elevation or, in the case of aircraft, altitude
to also be calculated. GPS receivers routinely track four to seven satellites simultaneously
and use trilateration to analyze the information.
Trilateration is a method that is used on a daily basis to determine GPS location.
For this case, no computation is required. we assign the score for the given point to be
score = 1 ∗ 0.9 which we set to be the max score a point on the area A can have. leaving
some room for error due to signal attenuation from the tag and device.
22
ALGORITHM 2: Tag deployment algorithm: Greedy approach
Result: Returns a 2D array consisting of tag location on the grid, and a list of thepoint with coverage information (score at each location point, number oftags whose signal reaches the point.)
current list = empty();current list score = 0;best list = empty();best list score = 0;while Number of tag is > 0 do
for all deployment in the grid doif if current location (x,y) is available then
add the tag at the location (x,y) of current list;compute the score for the current list;if current list score > best list score then
copy the current list to best list;update best list score;
elseremove tag from location (x,y);recompute score for current list;
end
end
endmark the location (x,y) as not available;assign id to tag at location (x,y);
endreturn tag location on grid, current list;
23
Chapter 4
EXPERIMENTS
Considering the complexity of the problem and with limited resources available, we ran a set
of simulation to evaluate the algorithm correctness, scalability and performance. As the work
was divided into two phases, location prediction algorithm and tag deployment algorithm, we
conducted a set of simulation for each algorithm. Additionally, we developed an application
that uses both the tag allocation algorithm and the location prediction algorithm to showcase
the usability of this research in a real-life scenario. In the following section, we will describe
in detail each simulation and talk in depth about the real-life scenario application that uses
our research work.
4.1 Simulation
We ran a set of simulations to evaluate the algorithm correctness and scalability and per-
formance. Both simulations were conducted on two virtual machine instances on the Wash-
ington State University Vancouver cloud server. Each virtual machine instance is running
Ubuntu18.0.4 configure with 8 GB of RAM and 8 CPU and 128 GB of disk space.
24
4.1.1 Tag Deployment Algorithm
It is very important that we are able to determine how well an area is covered. This metric
will help us determine how well we can compute the location of a device using the deployed
tag map generated by the tag deployment algorithm. A recap from section 3.1 on the cov-
erage problem,
We are given an Area A and a set of tag, K = {k1, k2, ki, ..., kn} with transmission range
Tx. For each tag ki, i = 1..n, we need to deploy each tag to a coordinate (xi, yi) inside
A such that every point (xi, yi) in the area of A is covered. The algorithm loops through
each point (xi, yi) in A that has not yet been assigned a tag and assign the tag at the first
available point. After the algorithm assign a tag to a point (xi, yi), it computes the change
in score for each point (xi, yi) within it Tx range and updates their score accordingly. As a
result, the algorithm updates the area coverage score.
Intuitively, the more tags we deploy in an area, the greater the area coverage score is. In
other words, the more tags deployed the more point on the map will be covered which will
increase the coverage score. One can argue that why not just deploy as many tags as we can
in order to well cover the area desired. At the same time, each tag has a transmission range
define to it. In consequence, the high the transmission range of the tag, the more point the
tag will cover on the map. Why not just buy as many tags with a higher transmission range
as we can so that we can deploy on the area. This is feasible if presented with a limitless
budget. You and I can agree that this is not true in many if not all cases. Therefore, we
must work with a limited budget and a limited amount of tags to deploy for area A. It is now
for the algorithm we developed in this research to find the best deployment configuration
with the given budget and limited set of resources.
25
With the provided parameter, we aimed to study how well the algorithm responds as we
played with the following parameters on our simulations.
• Number of tags
• Transmission range for the tag (Tx).
The result as shown on the figures down bellow was quite astonishing. Just as expected,
the algorithm performed very well and the result turned out to be as expected. For a fixed 2
D area, as we used more tags, the area coverage score increased accordingly. Additionally, as
we increased the transmission range for the tags, the area coverage score increased rapidly.
With those two parameters, the number of tags and transmission range for the tag (Tx),
it is left on the user of this algorithm to decide which option is more affordable to them.
Hence, both result in an increase in the area coverage score.
These plots show the distribution of point for a 10x10 in Figure 4.1, Figure 20x20 4.2
and 30x30 Figure 4.3 map. For simplicity, we represented the map as a grid. each square
represents 1 unit. Each tag has a Tx range of 1 unit. The line 1, 2, and 3 represent each a
simulation ran at with configuration for Tx range 1 unit, 2 units, and respectively 3 units.
As we increase the number of tag for the fixed map size you can notice how quickly each
configuration reaches the max score coverage for the area.
4.1.2 Localization Algorithm
It is valid to say that the better the area is covered the more accurate the prediction algo-
rithm since the later depends on the map generated from the tag deployment algorithm.
26
Figure 4.1: A 10x10 grid with increasing Tx range and number of tags
Figure 4.2: A 20x20 grid with increasing Tx range and number of tags
We conducted a similar study for the location prediction algorithm. However, for the
simulation part, we randomly generated several points (x, y) within our predefined area
where a target object could be located at. Using the tag deployment map generated from
the tag deployment algorithm, we feed the map data and the random location generated to
the localization algorithm to compute the actual location for the target device. We aim to
study if indeed the higher the coverage score for an area the better the prediction of the
27
Figure 4.3: A 30x30 grid with increasing Tx range and number of tags
location would be. In a real-life scenario, those random point generated would be the device
actual location as it is moving within the area.
These scatter plot shows a distribution for a 20x20 location prediction with tags config-
ured at 1, 2, 3 units transmission range as shown in Figure 4.4. As mentioned in section
4.1.1, increasing the number of tags or transmission range of the tags results in an increase
in the overall area coverage score. Hence a better prediction for the localization algorithm.
We ran a similar simulation as we did for the 30x30 grid as shown in Figure 4.5. However,
we increased the grid size of the area to 30x30 to see how well the algorithm scales. You can
see that the result obtained here looks very similar to what has been predicted in section
4.1.1. Additionally, the 40x40 grid in Figure 4.6 also produced results that look very similar
to what has been predicted in section 4.1.1. In conclusion, the higher the percent coverage
for the predefined area the higher accuracy the localization algorithm offers.
The result as shown on the Figures 4.4, 4.5, and 4.6 turned out just as expected, the
algorithm performed very well. We used a scatter plot to represent the error in the location
prediction algorithm. The farther away the point is from zero determines that the predicted
28
0
5
10
15
20
25
30
35
40
0 20 40 60 80 100 120 140 160 180 200
RELA
TIVE
ERR
OR
(dist
ance
= 1
uni
t)
SAMPLE OUTPUT
PREDICTION ACCURACY FOR A 20X20 GRID - Tx 1
0
5
10
15
20
25
30
35
40
0 20 40 60 80 100 120 140 160 180 200
RELA
TIVE
ERR
OR
(dist
ance
= 1
uni
t)
SAMPLE OUTPUT
PREDICTION ACCURACY FOR A 20X20 GRID - Tx 2
0
5
10
15
20
25
30
35
40
0 20 40 60 80 100 120 140 160 180 200
RELA
TIVE
ERR
OR
(dist
ance
= 1
uni
t)
SAMPLE OUTPUT
PREDICTION ACCURACY FOR A 20X20 GRID - Tx 3
Figure 4.4: Representation of accuracy for localization on an area size20x20
location was far off from the device actual location and the closer to zero the point is the
more precise the derived location is. The closer the point is from zero determines that the
predicted location was very close to that of the device actual location. For those points
laying on the zero axes, the predicted location is equal to that of the device actual location.
As a result, the higher the coverage score is for an area, the closer to zero the points is
on the plots. The cumulative distribution function in Figure 4.7 shows the probability for
accurately deriving the location of a target device given different coverage score for an area.
29
0
5
10
15
20
25
30
35
40
45
0 20 40 60 80 100 120 140 160 180 200
RELA
TIVE
ERR
OR
(dist
ance
= 1
uni
t)
SAMPLE OUTPUT
PREDICTION ACCURACY FOR A 30X30 GRID - Tx 1
0
5
10
15
20
25
30
35
40
45
0 20 40 60 80 100 120 140 160 180 200
RELA
TIVE
ERR
OR
(dist
ance
= 1
uni
t)
SAMPLE OUTPUT
PREDICTION ACCURACY FOR A 30X30 GRID - Tx 2
0
5
10
15
20
25
30
35
40
0 20 40 60 80 100 120 140 160 180 200
RELA
TIVE
ERR
OR
(dist
ance
= 1
uni
t)
SAMPLE OUTPUT
PREDICTION ACURACY FOR A 30X30 GRID - Tx 3
Figure 4.5: Representation of accuracy for localization on an area size 30x30
30
0
10
20
30
40
50
60
0 20 40 60 80 100 120 140 160 180 200
RELA
TIVE
ERR
OR
(dist
ance
= 1
uni
t)
SAMPLE OUTPUT
PREDICTION ACCURACY FOR A 40X40 GRID - Tx 1
0
10
20
30
40
50
60
0 20 40 60 80 100 120 140 160 180 200
RELA
TIVE
ERR
OR
(dist
ance
= 1
uni
t)
SAMPLE OUTPUT
PREDICTION ACCURACY FOR A 40X40 GRID - Tx 2
0
1
2
3
4
5
6
7
8
9
10
0 20 40 60 80 100 120 140 160 180 200
RELA
TIVE
ERR
OR
(dist
ance
= 1
uni
t)
SAMPLE OUTPUT
PREDICTION ACCURACY FOR A 40x40 GRID - Tx 3
Figure 4.6: Representation of accuracy for localization on an area size 40x40
0%10%20%30%40%50%60%70%80%90%
100%
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28RELATIVE ERROR (1 square box = 1 unit)
CUMULATIVE DISTRIBUTION FUNCTION FOR A 20 X20 GRID SIZE
Tx1 Tx2 Tx3
0%
10%20%
30%
40%50%
60%70%
80%90%
100%
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41
RELATIVE ERROR (1 square box = 1 unit)
CUMULATIVE DISTRIBUTION FUNCTION FOR A 30X30 GRID SIZE
Tx 1 Tx 2 Tx 3
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61
RELATIVE ERROR (1 square box = 1 unit)
CUMULATIVE DISTRIBUTION FUNCTION FOR A 40X40 GRID SIZE
Tx 1 Tx 2 Tx 3
Figure 4.7: Cumulative distribution function
31
Chapter 5
SYSTEM DEPLOYMENT
Indoor Localization techniques are used in big Airports to allow users to track their current
location in real time. It is also used in big warehouses, supermarket, and big manufacturing
warehouses to track items throughout the area. We developed a deployment system that
uses our localization technique to address a rescue scenario after a disaster. After a natural
disaster strikes, locating victims is a priority to authorities and families. We developed
a distributed system architecture that utilizes the localization algorithm developed by our
research to try to address the localization of the users’ cellphone with respect to the area
they are. This is one of the many ways the localization algorithm could be applied in a
real-world case.
5.1 System Architecture
The application works as shown in Figure 5.1. First, we deploy the tags in a predefined
area using the map generated by the tag deployment algorithm. This map is loaded on a
server on the cloud. The maps do not change at all time unless we decide to re-run the tag
deployment algorithm.
32
Figure 5.1: System Architecture.
Each users device acts as a stand-alone client. As the user device enters the covered
area, it first connects with the server. Then after a connection between server and client is
successfully established, the user device sends a command ”location”, requesting its location.
Then the server replies back with the device computed location. After the hearth-quack
strikes, the connection between the client and server could be lost. Our system addresses
this by allowing clients to engage in a peer to peer broadcast communication. The peer to
peer communication is allowed through N-way concurrent communication among WiFi and
Blue- Tooth Low Energy (BLE) devices [18].
5.2 Fault Tolerance
Our distributed localization system architectures partially rely on the server serving request
to the client. However, in the case that communication between server and client is lost,
the clients start a peer-peer communication. Each client enters in a peer to peer communi-
cation mode and start to broadcast its location to all nearby device within its transmission
range. The broadcast communication between devices is supported by a novel communica-
33
tion framework that enables N-ways concurrent communication among WiFi and Bluetooth
[18] developed by Li, Yan and Chi, Zicheng and Liu, Xin and Zhu, Ting. N-way concurrent
communication among WiFi and Blue- Tooth Low Energy (BLE) devices [18]. This research
suggests that devices communication is no longer tied to WiFi to WiFi or Bluetooth to
Bluetooth. A Bluetooth enabled device can successfully communicate with a WiFi-enabled
device with no problem. With this technology in place on the users’ devices, it can each
start broadcasting to each other and requesting each other’s last location received from the
server before the network went down. For the devices that had not got the chance to com-
municate with the server to learn their locations, those devices can also broadcast and learn
the location of the nearby devices and use the localization algorithm to compute its location.
After each device receives the location coordinate of nearby devices, it can then calculate
its own location with the localization algorithm using those nearby devices coordinate as
tags. Essentially, the coordinate received from the nearby devices forms a local map for each
device to compute its new location.
5.3 Evaluation
The system is not evaluated with cellphone devices in a predefined room. However, we
carefully crafted simulation to mimic a real-life scenario. We evaluate the system using an
instance running on the cloud with Ubuntu18.0.1 and 16 GB of Ram, 16 CPU and 256 GB
of storage as a server. With the complicity of the problem, client devices are simulated using
three separate computers each running from 5 to 10 processes each directly connected to the
server over the internet using socket communication. We use the tag deployment algorithm
to deploy 50 tags with the transmission range of 3 in the predefined area of 20x20 grid size.
The percent coverage of the predefined area is 94.3%. Two metric is evaluated on the system.
34
Scalability and fault tolerance.
5.3.1 Scalability
Each user device acts as a stand-alone client. As the user device enters the covered area, it
first connects with the server. Then after a connection between server and client is success-
fully established, the user device sends a command ”location”, requesting its location. Then
the server replies back with the device computed location. We started off the simulation
with 10 clients producing around 200 to 600 requests. Then we increased the number of the
client until reaching 30 clients to measure how well the algorithm handled many requests.
The requests increased up to 6000. As the request to the server increased, we measure the
average response time of the server. The algorithm performed very well as shown in the plot
5.2. The simulation started off with 200 requests and increased the load to 6,000 requests.
We observed a 13.21% increase in latency For a 2,900% increase in requests. This result
shows how well the localization algorithm performed as a result of the increase in requests.
This proves that the localization algorithm is able to handle many requests with less latency.
0.020876013
0.027318364 0.0278416620.026159009
0.024467007 0.024502004
0
0.005
0.01
0.015
0.02
0.025
0.03
200 650 1300 2300 3000 6000
Tim
e in
sec
Number of request
Average Response Time
Figure 5.2: Average response time to serve a request.
35
5.3.2 Fault Tolerance
For fault tolerance, we disconnected the server and let the client engage in a peer to peer
communication to evaluate whether the device is still able to accurately compute its location
using the localization algorithm and the location coordinate of the nearby devices within the
device transmission range. For each client device, we measure the difference in the device
actual coordinate location and that calculated using the localization algorithm and the loca-
tion coordinate of the nearby devices within the device transmission range. We allowed the
devices to move randomly in the predefined area. Each time broadcasting the last position
is computed using the localization algorithm. As it moves, it also receives the broadcast
from new nearby devices; hence compute it new location using those new coordinated. The
result is very satisfying. The accuracy is not at 100% as shown in Figure 5.3 some point is
far off the device actual location. These error in the calculation of the location is expected
given that each device only has local knowledge of the area. Nevertheless, devices are able
to compute its location within some error margin.
0.00
2.00
4.00
6.00
8.00
10.00
0 200 400 600 800 1000
dist
ance
number of request
(a) Simulation with about 1000 request
0.00
2.00
4.00
6.00
8.00
10.00
0 500 1000 1500 2000
dist
ance
number of request
(b) Simulation with about 2000 request
Figure 5.3: Distance error in localization in peer to peer fault tolerance mode
For efficiency and battery performance, We extended the fault tolerance study to decide
at what frequency is it acceptable for each device to broadcast their location to nearby
36
peers. First, we allowed the device to move 1 unit from its current location then broadcast
its location. Second, we allowed the device to move 2 units from its current location then
broadcast its location. Third, we allowed the device to move 3 units from its current location
then broadcast its location. Last, we allowed the device to move 4 units from its current
location then broadcast its location. For each time a device moved location, we measure
the distance error caused by the fact that the device broadcast a location that was a bit off
from its current location. we calculated the average error for all requests and concluded that
for better accuracy, it was preferable that the device broadcast its location continuously.
However, for efficiency and to preserve the user device battery, it is decided that the user
should broadcast each location each time it moved over 1 to 2 units. These numbers are
chosen given that the distance error in the localization calculation increased as the device
moved farther away from its current location as shown in Figure 5.4.
1.446615287
3.078047805
5.232531121
10.69318055
0
2
4
6
8
10
12
1 2 3 4
Dist
ance
Err
or (1
uni
t)
Displacement (1 unit)
Figure 5.4: Average distance error in location as devices mode
37
Chapter 6
CONCLUSIONS AND FUTURE
WORK
A recap from the problem statement, we divide our work into two sections. We first formu-
lated an algorithm for the location prediction of the user device. The localization algorithm
accuracy is dependent on how many tags the target object can scan at his current location.
The algorithm derives the target device location based on the signal it receives from the
neighboring tags. Depending on the number of tags in the nearby area, the algorithm uses
different formulas to calculate the target’s location. Considering the accuracy of the local-
ization algorithm is dependent on the number of RFID tags a target object is able to scan,
we designed a greedy algorithm to deploy RFID tags in a 2-D space. The tag deployment
algorithm addresses the problem in determining how well an area is covered using the score
function.
The result obtained from simulations supports that the algorithm performs very well
and the result turned out to be as expected. For a fixed 2D area, as we increased the cov-
erage score of the area, the accuracy for the localization algorithm increased accordingly.
38
The coverage score of the area is increased by using tags with a high transmission range,
or by deploying more tags. Additionally, we designed a system deployment that uses the
localization algorithm and the tag deployment algorithm to track several target objects in a
2-dimensional space. The system is proven to be reliable, fault-tolerant and scale very well
with an increase in workload.
Right now our algorithm supports only a 2-dimensional space. We are interested in
pursuing research to incorporate 3-dimensional location prediction we the use of phased
antenna array [9]. Phased antenna array will allow us to obtain the angle at which the tag
signal was received by the target device. We believe this aspect will add value to the use of
our algorithm considering in a real-life scenario 3-dimensional space will help locate target
devices in a building environment with different levels.
39
Bibliography
[1] B. Alsinglawi, M. Elkhodr, Q. V. Nguyen, U. Gunawardana, A. Maeder, and S. Simoff,“Rfid localisation for internet of things smart homes : A survey,” International journalof Computer Networks & Communications, vol. 9, no. 1, p. 8199, 2017.
[2] J. Xiao, Z. Liu, Y. Yang, D. Liu, and X. Han, “Comparison and analysis of indoorwireless positioning techniques,” 2011 International Conference on Computer Scienceand Service System (CSSS), 2011.
[3] A. Runge, M. Baunach, and R. Kolla, “Precise self-calibration of ultrasound basedindoor localization systems,” 2011 International Conference on Indoor Positioning andIndoor Navigation, 2011.
[4] C. Medina, J. Segura, and S. Holm, “Feasibility of ultrasound positioning based on signalstrength,” 2012 International Conference on Indoor Positioning and Indoor Navigation(IPIN), 2012.
[5] X. Zhu, M. Handte, and R. Eskicioglu, “Rf technologies for indoor localization andpositioning,” Proceedings of the 16th ACM Conference on Embedded Networked SensorSystems - SenSys 18, 2018.
[6] Z. Farid, R. Nordin, and M. Ismail, “Recent advances in wireless indoor localizationtechniques and system,” Journal of Computer Networks and Communications, vol. 2013,p. 112, 2013.
[7] J. Xiao, Z. Zhou, Y. Yi, and L. M. Ni, “A survey on wireless indoor localization fromthe device perspective,” ACM Computing Surveys, vol. 49, no. 2, p. 131, 2016.
[8] Y. Fang, Y. K. Cho, S. Zhang, and E. Perez, “Case study of bim and cloudenabledreal-time rfid indoor localization for construction management applications,” Journalof Construction Engineering and Management, vol. 142, no. 7, p. 05016003, 2016.
[9] L. Qiu, X. Liang, and Z. Huang, “Patl: A rfid tag localization based on phased arrayantenna,” Scientific Reports, vol. 7, no. 1, p. 112, Mar 2017.
40
[10] F. Tlili, N. Hamdi, and A. Belghith, “Accurate 3d localization scheme based on ac-tive rfid tags for indoor environment,” 2012 IEEE International Conference on RFID-Technologies and Applications (RFID-TA), 2012.
[11] B. Kubina, M. Schussler, C. Mandel, H. Maune, D. Muller, A. Ziroff, and R. Jakoby, “Acoherent multi-reader approach to increase the working range of passive rfid systems,”2012 IEEE International Conference on RFID-Technologies and Applications (RFID-TA), 2012.
[12] X. Wang, G. Xing, Y. Zhang, C. Lu, R. Pless, and C. Gill, “Integrated coverage andconnectivity configuration in wireless sensor networks,” Proceedings of the first interna-tional conference on Embedded networked sensor systems - SenSys 03, 2003.
[13] N. Yeasmin, “k-coverage problems and solutions in wireless sensor networks: A survey,”International Journal of Computer Applications, vol. 100, no. 17, p. 16, 2014.
[14] C.-F. Huang and Y.-C. Tseng, “The coverage problem in a wireless sensor network,”Proceedings of the 2nd ACM international conference on Wireless sensor networks andapplications - WSNA 03, 2003.
[15]
[16] F. Zahradnik, “Understand the use of trilateration in gps,” Nov 2018. [Online].Available: https://www.lifewire.com/trilateration-in-gps-1683341
[17] Y. Gu, A. Lo, and I. Niemegeers, “A survey of indoor positioning systems for wirelesspersonal networks,” IEEE Communications Surveys & Tutorials, vol. 11, no. 1, p. 1332,2009.
[18] Y. Li, Z. Chi, X. Liu, and T. Zhu, “B2 w2 n-way concurrent communication among wifiand bluetooth,” Proceedings of the 16th Annual International Conference on MobileSystems, Applications, and Services - MobiSys 18, 2018.
[19] Z. Abrams, A. Goel, and S. Plotkin, “Set k-cover algorithms for energy efficient mon-itoring in wireless sensor networks,” Proceedings of the third international symposiumon Information processing in sensor networks - IPSN04, 2004.
[20] W. Shi, J. Cao, Q. Zhang, Y. Li, and L. Xu, “Edge computing: Vision and challenges,”IEEE Internet of Things Journal, vol. 3, no. 5, p. 637646, 2016.
[21] Y. Yu, “Mobile edge computing towards 5g: Vision, recent progress, and open chal-lenges,” China Communications, vol. 13, no. 2, p. 8999, 2016.
[22] J. Lee, “A view of cloud computing,” International Journal of Networked and DistributedComputing, vol. 1, no. 1, p. 2, 2013.
41
[23] A. Aboodi and T.-C. Wan, “Evaluation of wifi-based indoor (wbi) positioning algo-rithm,” 2012 Third FTRA International Conference on Mobile, Ubiquitous, and Intel-ligent Computing, 2012.
[24] C. C. Bantin, A. Luttgen, C. Schwellnus, and W. Kinio, “Precise positioning of rfid tagsusing a phased array antenna,” Proceedings of the 2012 IEEE International Symposiumon Antennas and Propagation, 2012.
[25] R. Casas, D. Cuartielles, A. Marco, H. J. Gracia, and J. L. Falco, “Hidden issues indeploying an indoor location system,” IEEE Pervasive Computing, vol. 6, no. 2, p. 6269,2007.
[26] H. Chabbar and M. Chami, “Indoor localization using wi-fi method based on fingerprint-ing technique,” 2017 International Conference on Wireless Technologies, Embedded andIntelligent Systems (WITS), 2017.
[27] M. Cremer, A. Pervez, U. Dettmar, C. Hudasch, T. Knie, R. Kronberger, and R. Lerche,“Transmit beamforming for angle-of-activation (aoact) estimation in passive uhf rfidsystems,” 2015 IEEE International Conference on RFID Technology and Applications(RFID-TA), 2015.
[28] D. Deavours and D. Dobkin, “Uhf passive rfid tag antennas,” Microstrip and PrintedAntennas, p. 263303, 2010.
[29] J. Han, Y. Zhao, Y. S. Cheng, T. L. Wong, and C. H. Wong, “Improving accuracy for3d rfid localization,” International Journal of Distributed Sensor Networks, vol. 8, no. 5,p. 865184, 2012.
[30] N. C. Karmakar, P. Zakavi, and M. Kambukage, “Fpga-controlled phased array antennadevelopment for uhf rfid reader,” Handbook of Smart Antennas for RFID Systems, p.211241, 2010.
[31] T. Liu, L. Yang, Q. Lin, Y. Guo, and Y. Liu, “Anchor-free backscatter positioning forrfid tags with high accuracy,” IEEE INFOCOM 2014 - IEEE Conference on ComputerCommunications, 2014.
[32] “Location awareness and navigation in location-based systems,” Local Positioning Sys-tems, p. 165224, 2006.
[33] J. Maneesilp, C. Wang, H. Wu, and N.-F. Tzeng, “Rfid support for accurate 3d local-ization,” IEEE Transactions on Computers, vol. 62, no. 7, p. 14471459, 2013.
[34] L. M. Ni, Y. Liu, Y. C. Lau, and A. P. Patil, “Landmarc: Indoor location sensing usingactive rfid,” Wireless Networks, vol. 10, no. 6, p. 701710, 2004.
42
[35] D. Wei, W. Hung, and K.-L. Wu, “A real time rfid locationing system using phasedarray antennas for warehouse management,” 2016 IEEE International Symposium onAntennas and Propagation (APSURSI), 2016.
[36] F. Zampella, A. R. J. R., and F. Seco, “Robust indoor positioning fusing pdr and rftechnologies: The rfid and uwb case,” International Conference on Indoor Positioningand Indoor Navigation, 2013.
[37] Y. Liu and Z. Yang, “Localization for mobile networks,” Location, Localization, andLocalizability, p. 97109, 2010.
[38] M. B. Ismail, A. F. A. Boud, and W. N. W. Ibrahim, “Implementation of location deter-mination in a wireless local area network (wlan) environment,” 2008 10th InternationalConference on Advanced Communication Technology, 2008.
[39] S. Gezici, “A survey on wireless position estimation,” Wireless Personal Communica-tions, vol. 44, no. 3, p. 263282, 2007.
[40] S. Zirazi, P. Canalda, H. Mabed, and F. Spies, “Wi-fi access point placement withinstand-alone, hybrid and combined wireless positioning systems,” 2012 Fourth Interna-tional Conference on Communications and Electronics (ICCE), 2012.
[41] M. Cypriani, F. Lassabe, P. Canalda, and F. Spies, “Wi-fi-based indoor positioning:Basic techniques, hybrid algorithms and open software platform,” 2010 InternationalConference on Indoor Positioning and Indoor Navigation, 2010.
[42] F. Lassabe, P. Canalda, P. Chatonnay, and D. Charlet, “Refining wifi indoor positioningrenders pertinent deploying location-based multimedia guide,” 20th International Con-ference on Advanced Information Networking and Applications - Volume 1 (AINA06),2006.
[43] F. Lassabe, P. Canalda, P. Chatonnay, and F. Spies, “Indoor wi-fi positioning: tech-niques and systems,” annals of telecommunications - annales des tlcommunications,vol. 64, no. 9-10, p. 651664, 2009.
[44] S. Zirari, P. Canalda, and F. Spies, “Wifi gps based combined positioning algorithm,”2010 IEEE International Conference on Wireless Communications, Networking andInformation Security, 2010.
[45] A. Almaaitah, K. Ali, H. S. Hassanein, and M. Ibnkahla, “3d passive tag localizationschemes for indoor rfid applications,” 2010 IEEE International Conference on Commu-nications, 2010.
[46] J. Yi and L. Zhou, “Enhanced location algorithm with received-signal-strength usingfading kalman filter in wireless sensor networks,” 2011 International Conference onComputational Problem-Solving (ICCP), 2011.
43
[47] S. Smiley and S. SmileySuzanne, “Active rfid vs. passive rfid: What’s the difference?”Mar 2018. [Online]. Available: https://blog.atlasrfidstore.com/active-rfid-vs-passive-rfid
44