EQUIPMENT TRACKING AND SECURITY SYSTEM FOR HOSPITAL
ENVIRONMENT USING WLAN INDOOR LOCATION TRACKING SYSTEM
ZUHER H.M FHELELBOOM
UNIVERSITI TEKNOLOGI MALAYSIA
iii
To God the Almighty, without whom knowledge without faith is fruitless and
to my parent, who have molded me into who I am.
iv
ACKNOWLEDGMENT
In the name of Allah, Most Gracious, and Most Merciful
First, I would like to take this opportunity to express my sincere and utmost
gratitude to my project supervisor Prof.Dr Tharek Bin Abdul Rahman for this vision,
guidance and support throughout the duration that I undertook to complete this
project successfully.
Secondly, I would like to convey my deepest gratitude to Mr. Chua Tien Han,
for preparing the relevant groundwork for research in the field of indoor location
tracking in the Wireless Communication centre, P15, Faculty of Electrical
Engineering, UTM. His suggestions and comments on methodologies that I chose
helped me avoid the common pitfalls in this filed of work
Also I would like to thank friends and stuff in (WCC) for their help facilities
and for providing conductive working environment
I would like also to express my gratitude to Mr. Usman Ullah Sheikh, mentor
friend and guru during software development phase utilizing Java. His tips and
advice help quicken my learning curve in java programming.
Last but not least, I would like to thank my parents, my siblings and all my
friends that have given their moral support during the ups and down of my project
work life cycle.
v
ABSTRACT
Location tracking systems has brought tremendous benefits, especially to the
medical field; one of its benefits is to help keeping track of critical equipment of the
hospital which is a challenge in any hospitals. However hospital's equipment often
scattered throughout the facility, forcing busy staff to waste precious time tracking
down intravenous pumps, wheelchairs or other equipment. Furthermore, hospital also
suffers the lost of the equipment due to thefts. Therefore, equipment management
system using Wireless Location Area (WLAN) based indoor location tracking
system is proposed to alleviate these problems. A simple measurement campaign will
be conducted to study the properties of the Ekahau location tracking system and then
the equipment management system which include real-time equipment tracking and
security system. Ekahau WLAN-based indoor location tracking system will be
applied in this project to provide real-time location estimation. Each equipment will
equipped with Ekahau WLAN Tag, and its location will be calculated by the Ekahau
engine server. The location is predicated through WLAN signal strength fingerprinting technique. Requirements of basic equipment tracking and security will be
developed and examined in Java platform. A test-bed would then be setup within the
confines of the WCC (wireless Communication Centre) using the existing WLAN
incorporating the IEEE 802.11g standard AP (Access Point) and adapters. The
location of the equipment will be provided by Ekahau positioning engine software
readily available at the WCC. At the end of the project, a system which is capable to
provide real-time equipment's location to user will be developed. Besides that the
system will be capable to give alert to the control centre if the hospital's equipment is
brought out from the authorized area.
vi
ABSTRAK
Sistem penjejak lokasi telah membawa manfaat yang sangat besar,
terutamanya kepada bidang perubatan, salah satu manfaatnya ialah membantu
menjejak peralatan kritikal hospital, dimana ia merupakan satu cabaran dimana-mana
hospital. Walau bagaimanapun peralatan hospital sering bertempiaran di sekitar
kemudahan hospital. Ini memaksa staf yang sibuk membazir masa yang berharga
untuk menjejak pam intravena, kerusi beroda, atau peralatan lain. Tambahan lagi
hospital juga mengalami kehilangan peralatan akibat pencuri. Oleh yang demikian,
sistem pengurusan peralatan menggunakan sistem penjejak lokasi dalam bangunan
berasaskan rangkaian kawasan setempat wayerles (WLAN) dicadangkan untuk
meringankan masalah-masalah ini. Satu kempen pengukuran mudah akan dijalankan
untuk mengkaji ciri-ciri sistem penjejak lokasi Ekahau dan kemudiannya sistem
pengurusan peralatan yang merangkumi penjejakan peralatan masa-nyata dan sistem
keselamatan. Sistem penjejak lokasi dalam bangunan Ekahau yang berasaskan
WLAN akan digunakan dalam projek ini untuk membekalkan penganggaran lokasi
masa-nyata. Setiap peralatan akan dilengkapi dengan tag WLAN Ekahau dan
lokasinya akan dkira oleh pelayan enjin Ekahau. Lokasi diramal melalui teknik
pencap-jarian kekuatan isyarat WLAN. Keperluan-keperluan asas penjejakan
peralatan dan keselamatan akan dibangunkan dan diselidik dalam platform Java.
Tapak pengujian kemudiannya akan dibentuk di pusat komunikasi wayarles (WCC)
dengan menggunakan WLAN sedia ada yang menggabungkan titik capaian (AP)
TEEE802.11g dan adapter. Lokasi peralatan akan diberi oleh perisian enjin lokasi
Ekahau yang sedia ada di WCC. Di penghujung projek, sebuah sistem yang berupaya
untuk memberi lokasi masa-nyata peralatan kepada pengguna akan dibangunkan.
Disamping itu, sistem tersebut akan berupaya memberi amaran kepada pusat kawalan
jika peralatan hospital dibawa keluar daripada kawasan yang dibenarkan.
vii
TABLE OF CONTENTS
CHAPTER
1
2
TITLE
PAGE
DECLARATION
ii.
DEDICATION
iii.
ACKNOWLEDGEMENT
iv.
ABSTRACT
v.
ABSTRAK
vi.
TABLES OF CONTENTS
vii.
LIST OF FIGURES
xi.
LIST OF TABLES
xiv.
LIST OF ABREVIATIONS
xv.
LIST OF APPENDIX
xvi.
INTRODUCTION
1
1.1
Introduction
1
1.2
Problem Statement
3
1.3
Objective
3
1.4
Scope of Work
4
1.5
Thesis Organization
6
LITERATURE REVIEW
7
2.1
Positioning System
7
2.2
Classification of Positioning Infrastructures
9
2.2.1
Integrated and Stand-Alone
Infrastructures
2.2.2
Network and Terminal-based Positioning
9
10
viii
2.2.3
Satellites, Cellular, and Indoor
Infrastructures
2.3
2.4
2.2.3.1 Satellite Infrastructures
11
2.2.3.2 Cellular Infrastructures
12
2.2.3.3 Indoor Infrastructures
13
Global Positioning System (GPS)
13
2.3.1
Space Segment
13
2.3.2
Control Segment
14
2.3.3
User Segment
15
Cell of Origin (COO) /Cell ID (CID)
2.4.1
Cell of Origin (COO) /Cell ID (CID)
Positioning Technique
2.4.1.1 Timing Measurements
TOA/TDOA
2.4.1.2 Angle of Arrival
2.4.1.3 Enhanced-Observed Time
Difference
2.5
2.6
3
17
18
18
19
20
Indoor Positioning System
21
2.5.1
Wireless Local Area Network (WLAN)
21
2.5.1.1 Principles of WLAN Positioning
22
2.5.1.2 WLAN Fingerprinting
23
2.5.2
RFID Positioning
25
2.5.3
Infrared (IR) Based
26
2.5.4
Ultrasound-based Systems
28
Ekahau Positioning Engine
29
2.6.1
Positioning Engine Architecture
31
2.6.1.1 Hardware Components
31
2.6.1.2 Software Components
33
2.6.2
2.7
11
Positioning Method
Market segments of Location Based Services
SYSTEM DESIGN AND DEVELOPMENT
33
34
35
ix
3.1
Designing and Developing Real Time Equipment
Tracking System
3.2
Indoor WLAN positioning engine (Ekahau
Positioning Engine 3.)
39
3.3
Test-Bed selection
40
3.4
Hardware Specification and Setup
40
3.4.1
Wireless IEEE 802.11g Access. points
41
3.4.2
Mobile Station (Laptop)
43
3.4.3
Ekahau T101 Wi-Fi Tag
44
3.5
Ekahau Software Setup (both engine and client)
46
3.6
Ekahau site Calibration
48
3.7 Software Development Tools
50
3.7.1
Ekahau Software Development Kit 3.0
(SDK 3.0)
3.7.2
Selection of SDK™ Java API or Ekahau
YAX™
3.7.3 Understanding Location Estimates
3.7.4 Understanding the Logical Areas
3.8
3.7.5.1 Creating Logical Areas
Java and the Java Development Kit (JDK 1.4.2)
3.8.1
Mastering a Java Integrated Development
Environment (IDE)-JBuilder
3.8.1.1 JBuilder Workspace
3.9 Development of Equipment Tracking System userinterface Module
51
51
52
53
53
54
55
55
56
3.10
Development of Tracking Module
56
3.11
Trail Run of the System
57
3.12
WLAN Signal Strength (SS) Measurement
57
3.13
The Effect of Access Points and Calibration
Nodes on the Accuracy
4
35
PROGRAM IMPLEMENTATION AND
DISCUSSION
58
59
4.1
Positioning System Program Requirement
59
4.2
Program Functionality
60
x
4.3
5
Program Implementation
PROPERTIES of WLAN-BASED INDOOR
LOCATION TRACKING SYSTEM
5.1
Properties WLAN Signal Strength
5.1.1
Properties of Signal Strength at Different
Time
5.1.2
Properties of Signal Strength at Different
Locations
5.2
5.3
Effects of Number of APs on the Accuracy
Effects of Number of Calibration Nodes on the
Accuracy.
6
61
64
64
65
66
70
71
CONCLUSION AND PROPOSED FUTURE
WORK
6.1
Conclusion
72
6.2
73
REFERENCES
APPENDICES A-E
Future Works
72
74
77-102
xi
LIST OF FIGURES
FIGURE NO.
TITLE
PAGE
1.1
Tree diagram of location-A ware Equipment tracking and
5
security system using WLAN indoor location tracking
system
2.1
Positioning Infrastructures
8
2.2
Classification scheme for Positioning Infrastructures
9
2.3
GPS Constellation
14
2.4
GPS Control stations
15
2.5
GPS Absolute Positioning
16
2.6
GPS Positioning Based on Time of Arrival Principles
16
2.7
Base Station Configurations in a Cellular Network
17
2.8
Cell-ID Methods
18
2.9
TOA/TDOA
19
2.10
Angle of Arrival
20
2.11
E-OTD
20
2.12
Modes for fingerprinting
24
2.13
ActiveBadge and WIPS
27
2.14
Ultrasound Infrastructure
29
3.1
Block Diagram of the System
36
3.2
System Design and Development Flowchart
37
3.3
EPE Concept
39
st
3.4
WCC 1 Floor layout
40
3.5
Dlink DWL-2000AP+ Wireless Router and Access point
42
xii
3.6
Toshiba Satellite M100 equipped with WLAN Card (Intel
44
PRO/Wireless 3945ABG)
3.7
Ekahau T101 Wi-Fi Tag
44
3.8
EPE Model Creating and Calibration Setup
48
3.9
Ekahau Manger Login Screen
48
3.10
Using the Measure tool for setting map scale and
49
conversion from pixels to meters
3.11
Calibration Phase; sample points are recorded while the
50
user rotates laptop at a full 360o
3.12
Assignments of Logical Areas
54
3.13
JBuilder workspace
55
3.14
Main window of the Program
56
3.15
A screenshot of NetStumbler Listing Available Access
57
Points
3.16
Ekahau Manager (Accuracy analysis)
58
4.1
Main Program Interface
61
4.2
Interface of Adding New Equipment
61
4.3
View the Available Equipments
62
4.4
Alert if the Equipment taken away from defined location
62
4.5
Interface of searching for specific Equipment
63
4.6
Ekahau Tracking View map
63
5.1
Measurement of the SS during non-busy Hours
65
5.2
Measurement of the SS during busy Hours
65
5.3
Floor 1 WCC, UTM with the locations of APs
66
5.4
RSS at location A
67
5.5
RSS at location B
67
5.6
RSS at location C
67
5.7
RSS at location D
68
5.8
RSS at location E
68
5.9
RSS at location F
68
5.10
RSS at location G
69
xiii
5.11
shows the overall result of RSS, at different locations
69
5.12
Effects of number of APs on the accuracy
70
5.13
Effects of number of APs on the Accuracy
71
5.14
Effects of number of Calibration nodes on the accuracy
71
xiv
LIST OF TABLES
NO
TITLE
PAGE
2.1
Overview of positioning methods
8
2.2
Overview of WLAN fingerprinting systems
25
2.3
3.1
location-based Application based on Market
segment
Components of Ekahau Positioning Engine
34
47
xv
LIST OF ABBREVIATIONS
AOA
-
Angle of Arrival
AP
-
Access Point
CID
-
Cell Identification
COO
-
Cell of Origin
EPE
-
Ekahau Positioning Engine
GPS
-
Global Positioning System
GSM
-
Global System
IEEE
-
Institution of Electrical and Electronic Engineering
LAN
-
Local Area Network
RSS
-
Received Signal Strength
SS
-
Signal Strength
WCC
-
Wireless Communication centre
WLAN
-
Wireless Local Area Network
Wi-Fi
-
Wireless Fidelity
xvi
LIST OF APPENDIX
APPENDIX
TITLE
PAGE
A
EKAHAU SDK TESTER VIEWR
77
B
Signal Strength Measurement during Non-Busy Hours
92
and Non Busy Hours
C
Measurement of the RSS at different Location
94
D
Number of Access points(Accuracy analysis)
101
E
Number of Calibration Nodes (Accuracy analysis)
102
xvii
CHAPTER 1
INTRODUCTION
1.1
Introduction
Wireless networks are becoming more and more popular in build
environment such as in hospitals, universities, malls and so on, in build environment
prefer to set up a wireless network rather than the traditionally wired network
because the flexibility and freedom it can provided. Based on the wireless
infrastructure, a great many new and promising applications are coming into our
lives.
Now wireless local area network (WLAN) is not just a mere communications
system, it can be used to locate people and objects Locations, based on signal
strengths received from access points, this is called the WLAN Positioning System.
To implement a successful location based application, the most important is to locate
mobile devices accurately, at least within an acceptable range, to pin-point the user’s
positioning.
The problem of positioning and tracking has been tackled by many systems
over the years, such as GPS, wide-area cellular-based system, infrared-based system,
magnetic tracking system, physical contact systems and radio frequency based
systems. Locating objects and people outdoors is becoming trivial by using
technologies like Global Positioning System (GPS), GPS makes a big success in
outdoor navigation, but fails in indoor due to the indoor channel characteristics,
2
accurately estimating location for indoors environment remains a difficult. There are
actually various ways for determining and tracking position indoors, but to do so
accurately remain very costly; deployment of sensors all around a building or the
usage of expensive hardware might be required. Radio frequency-based tracking in
WLAN has gained more and more attention in recent years, because it makes use of
existing WLAN infrastructure, requires no extra hardware, and provides relatively
large coverage [1].
Location tracking systems brings with it tremendous benefits, especially to
the medical field, one of its benefits are to help track critical equipment of the
hospital, keeping track of equipment is a challenge in any hospital, no matter how
large or small are they. However, hospital's equipments are often scattered
throughout the facility, forcing busy staff to waste precious time tracking down the
equipments. If the equipment can not be found, hospitals unnecessarily purchase or
rent replacements. However, in the emergence case the time lost because of the
equipment unavailability, putting patient at risk. It can be expensive and can cost
human life; in addition hospitals can loose a lot of money in medical equipment due
to thefts.
For example, in-patient bedside medical equipment consists of an infusion
pump and a physiological monitoring system that monitors most parameters such as
ECG, heart rate, blood pressure, oxygen saturation and other parameters. An infusion
pump is used to administer medicine or nutrient, often through a vein. These pumps,
mounted on an IV (intravenous) cart, are highly mobile equipment that are allocated
to General Service, thus making it difficult to locate a specific infusion pump prior to
a repair. In addition, these pumps are often misplaced or stolen due to the nature of
its use [2].
This project is proposed to design and develop a real time Equipment
Tracking and Security System for Hospital environment based on WLAN indoor
location tracking system to alleviate the problems which are mentioned above. A
simple measurement campaign will be conducted to study the properties of the
Ekahau [3] location tracking system, and then the equipment management system
which include real-time equipment tracking and security system. The equipment
3
tracking system using WLAN-based indoor location tracking system will provide the
physical location of the equipment at any time within the coverage of the hospital.
The equipment security system will provide protection of the equipment from theft.
Ekahau WLAN-based indoor location tracking system will be applied in this project
to provide real-time location estimation. Each equipment will be equipped with an
Ekahau WLAN Tag and its location will be calculated by the Ekahau engine server.
The location is predicated through WLAN signal strength finger-printing technique.
At the end of the project, a system which is capable to provide real-time equipment's
location to user will be developed. Besides that the system will be capable to give
alert to the control centre if the hospital's equipment is taken away from the
authorized area.
1.2
1.3
•
Problem Statement
•
The most current system used is manual.
•
More time is wasted in search of equipments.
•
In case of emergency time is an important constraint.
•
Theft of equipments will cost the hospital in replacing them.
Objective
To design and develop a real time hospital equipment management system which
will includes equipment tracking and security system, using WLAN indoor
location tracking system.
•
To study the properties of WLAN signal strength (SS) for indoor location
tracking application.
•
To study the properties of WLAN-based indoor location tracking system.
4
1.4
Scope of Work
The equipment management system would be developed and examined into
an electronic version based on the Java platform. The Implementation of WLANbased indoor location for real time tracking will be done by utilizing Ekahau
Positioning Engine [3] (Mapping, Fingerprinting and calibration), as well as this
project will involve building Database for all equipments available in the hospital for
security and management purposes.
A test-bed would then be setup within the confines of the wireless
Communication Centre (WCC), Block P15 Faculty of Electrical Engineering, using
the existing WLAN incorporating the IEEE 802.11g standard Access Point (AP),
Tags which are attached to the hospital equipments will be use in order to emulate
the location of the equipment. A two-dimensional map covering the entire ground
floor building of WCC is covered in the system saved into the positioning engine and
scaled accordingly. The received signal strength intensity (RSSI) index of the testbed would be obtained from the calibration run of the positioning engine using the
propriety software on the previously stored scaled map. This commonly, known as
the finger printing technique. The location of the equipment will be calculated by
using the positioning engine software from the RSSI obtains during the calibration
process.
An interface would then be developed into the equipment management
recorder application, to extract the location of the equipment. This will be done by
obtaining the received signal strength which is emitted by the tag, and comparing it
with the recorded RSSI which obtained from the calibration process.
Equipment tracking and security system using WLAN indoor location
tracking system is does not involve any hardware development as the existing
hardware are readily available off-the shelf. It only consists of the software
development cycle in a Java. WCC has been chosen as the perfect test-bed to run
simulated test of the software as the existing access point are sufficiently installed
and EPE server is deployed within the confines of building itself.
5
Equipment Tracking and Security System using
WLAN indoor location tracking system
WLAN indoor location Tracking system
IEEE 802.11 b/g WLAN Infrastructure
Figure 1.1: Tree Diagram of Location –A Ware Equipment Tracking and Security
System Using WLAN Indoor Location Tracking System
From the tree diagram as shown from figure 1 the lowest hierarchical level is
the physical WLAN infrastructure, which involve access points, WLAN PCMCIA
cards, laptops and Ekahau WLAN Tag. One layer above the WLAN indoor location
tracking system consist of Ekahau Position Engine 3.0 (EPE) is the only software
based real time location system currently in market. The top of the diagram is the
Equipment tracking and security system using WLAN indoor location tracking
system.
Moreover this project will include a proper study of the properties of the
WLAN-based indoor location tracking system; this will include examining of the
WLAN signal strength (SS), at different time and locations, in order to prove the
stability and reliability of location tracking using WLAN SS finger-printing
technique. The measurement of SS will be obtained using NetworkStumbler
software. Besides that, the effects of number of access points, and calibration nodes
on the location estimation accuracy will be investigated by using Ekahau manager
accuracy analysis.
6
1.5
Thesis Organization
The first chapter the provides readers, glimpse at the basic aspects of the
research undertaken such as problem statement objectives, and scope of work,.
The second chapter gives an overview of available positioning techniques.
And among the topics that are discussed, Classification of Positioning system, Global
Positioning System; Cell of Origin /Cell ID Positioning, system, and finally Indoor
Positioning System.
The third chapter, reports on the methods employed to develop the
positioning system and the methodology, in which the methods employed and the
soft wares needed for this project are explained.
The fourth chapter presents the result and discussion of implementation of
equipment tracking and security system based on WLAN indoor location tracking.
The topics discussed are positioning system program requirement, program
functionality and finally program implementation.
The fifth chapter, studies the properties of WLAN based-Indoor location
tracking system in terms of accuracy based on the signal strength of the wireless
network.
In the sixth chapter, are the conclusion and discussion of future works that
can be carried out is presented.
CHAPTER 2
LITERATURE REVIEW
2.1
Positioning System
Positioning is a process to obtain the spatial position of a target. The core
function of any positioning is the measurement of one or several observables, for
example, angles, ranges, range differences, or velocity. Such an observable usually
reflects the spatial relation of a target relative to a single or a number of fixed points
in the surrounding environment, where a fixed point denotes a point of well-known
coordinates. They are often measured by utilizing the physical fundamentals of radio,
infrared or ultrasound signals, such as their velocity or attenuation. These signals
when used for positioning measurements are also referred to as pilot signals or
simply
pilots.
Furthermore,
measurements
are
sometimes
classified
into
radiolocation and non radiolocation methods. In the former category, observables are
directly or indirectly measured by radio signals, while the latter category falls back
on other physical quantities, for example, of optical or acoustic nature.
After the required observables have been determined, the target’s position
must be derived after taking into consideration the measurement results and the
coordinates of the fixed points. This determination is usually based on a certain
method that strongly depends on the types of observables used. Examples are circular
and hyperbolic lateration or angulations. Table 2.1 shows an overview of the basic
positioning methods [4] and the associated observables and measurement methods.
8
Table 2.1 Overview of positioning methods
Because a target is not able to derive its position autonomously, a distributed
infrastructure that implements positioning is required. Figure 2.1 depicts the different
components such an infrastructure may consist of. Each target to be located must be
equipped with a terminal, that is, a terminal is always the entity whose position is, at
first unknown.
Figure 2.1 Positioning Infrastructures.
Furthermore, base stations are required for most positioning methods either to
perform measurements or to assist the terminal in doing so. The type of infrastructure
used, satellites, Global System for Mobile Communications and Universal Mobile
Telecommunications System (GSM/UMTS) base stations, WLAN access points, or
9
tag readers serve as base stations, while mobile phones, organizers, notebooks,
badges, tags, and sensors may serve as terminals during positioning.
2.2
Classification of Positioning Infrastructures
Positioning infrastructures can be classified with respect to different criteria.
The most common distinctions are made between integrated and stand-alone
positioning infrastructures, terminal and network-based positioning, as well as
satellite, cellular, and Indoor infrastructures. Figure 2.2 gives an overview of
constellations of these classes and indicates the constellations being applied today
(indicated by the Gray-shaded boxes).
Figure 2.2 Classification Scheme For Positioning Infrastructures.
2.2.1 Integrated and Stand-Alone Infrastructures
An integrated infrastructure refers to a wireless network that is used for both
communication and positioning purposes. Typically, these networks have initially
been designed for communication only and are now experiencing extensions for
localizing their users through standard mobile devices, which especially holds for
10
cellular networks. Components that can be reused are base stations and mobile
devices as well as protocols of location and mobility management.
An integrated approach has the advantage that the network does not need to
be built from scratch. On the other hand, positioning additionally burdens the
network, which is at the expense of capacities that would be available for user traffic
otherwise. Measurements in most cases must be done on the existing air interface,
whose design has not been optimized for positioning but for communication, and
hence the resulting implementations seem to be somewhat complicated and
cumbersome in some cases.
A stand-alone infrastructure works independently of the communication
network the user is attached to. In contrast to an integrated system, the infrastructure
and the air interface are exclusively intended for positioning and are very
straightforward in their designs. The most prominent example of a stand-alone
infrastructure is Global Positioning System (GPS), but especially for indoor
environments, for example, offices or airports, a number of proprietary solutions
have been developed as well. Disadvantage is the fact that targets cannot be located
via a standard mobile device, but require additional, sometimes proprietary
equipment
2.2.2
Network and Terminal-based Positioning
Furthermore, there is a distinction between network and terminal based
positioning, which refer to the site that performs measurements and calculates the
position fix. For network based positioning, this is done by the network, while for
terminal-based positioning the terminal carries out the measurements and position
calculations. A hybrid approach is given if the terminal performs measurements only
and then transmits the results to the network, where the position is calculated from
these results. This is called terminal-assisted network based positioning. The
reverse configuration is referred to as network-assisted terminal-based positioning,
but is applied quite rarely. The decision which class of methods to use primarily
11
depends on the characteristics of the respective LBS, for example, on the site where
position data is needed and further processed, and on the capabilities of the
respective mobile device. Network operators upgrading their networks for
positioning are usually concerned about what is called a smooth migration. Usually,
subscribers refuse to exchange or to modify their devices solely in order to use the
new network features that go along with the upgrade. Network-based methods have
the advantage that even legacy handsets can be located without any modifications on
the handset. This is the reason why operators of cellular networks emphasize the
implementation of at least one network-based method.
2.2.3
Satellites, Cellular, and Indoor Infrastructures
Another criterion to classify positioning is to consider the type of network in
which it is implemented and operated.
2.2.3.1
Satellite Infrastructures
By their very nature, satellites cover huge geographical areas, and thus
satellite positioning can pinpoint the location of a target on a whole continent or even
the entire world. The most prominent example is GPS, which operates with at least
24 satellites and which thereby enables worldwide coverage. Because satellite
systems for mobile communications, like Iridium, have not been designed for
positioning, satellite positioning is always achieved by a stand-alone infrastructure
of several satellites that is not used for communication. Also, satellite positioning is
always terminal based. The undisputable advantages of satellite positioning are the
aforementioned global availability and the comparatively high accuracy of position
fixes. However, with regard to location Based Service (LBSs) it suffers from certain
drawbacks that are typical for satellite-based systems in general. First, the signals
radiated from satellites are usually very susceptible to shadowing effects and are
easily absorbed by buildings, walls, and mountains. As a consequence, positioning
12
only works if a direct line of sight between the satellites and the receiver is given,
this usually is not the case when staying indoor. Second, satellite positioning of today
suffers from comparatively high power consumption at the satellite receiver. Third,
the roll out and operation of a satellite system come along with enormous capital
investments. For example, it is estimated that the US Department of Defence (DoD)
has approximately raised $12 billion for GPS till date and will spend further
hundreds of millions of dollars within the next few years. One reason for these huge
amounts is the short life span of satellites, which is typically in the range of five to
seven years, and the associated necessity to permanently replace them.
2.2.3.2
Cellular Infrastructures
Cellular positioning refers to mechanisms in cellular networks like GSM or
UMTS for obtaining the position of a subscriber. Basically, the procedures of
location management can be exploited for this. Actually, this is the principal way
LBSs work in today’s cellular networks. However, using only location management
for supporting LBSs has some deficiencies, for example, insufficient accuracy and
inappropriate location formats like cell and location-area identifiers. Thus, network
operators have considerably extended their networks by introducing auxiliary
components and protocols in order to perform positioning in a more appropriate,
accurate, and efficient manner. Usually, operators of cellular networks tend to
implement and run several positioning methods in parallel in order to improve
availability and to deploy them adaptively depending on the user and service
requirements, current network utilization, migration aspects, and other criteria. The
different positioning methods are specified by the responsible standardization groups
(e.g., 3GPP), which also recommend the set of mandatory positioning methods to be
implemented at a certain stage of network expansion. Some methods are network
based, and hence legacy devices without positioning capabilities can be smoothly
and easily integrated into the system. Unlike satellite positioning, almost always
work indoor. However, the roaming subscriber may experience the unavailability of
his default positioning method if the foreign network is situated in an earlier stage of
expansion than his home network.
13
2.2.3.3
Indoor Infrastructures
Indoor positioning focuses on a deployment in buildings, on university
campuses, hospitals and company premises. It is based on radio, infrared, or
ultrasound technologies with a very limited communication range. Indoor positioning
is realized either by a stand-alone infrastructure, for example, in the ActiveBadge
system, or in conjunction with WLANs like IEEE 802.11. In the former case, targets
are equipped with proprietary tags or badges, which operate on the basis of infrared,
ultrasound, or Radio Frequency Identification (RFID) technology, and which receive
pilot signals from or transmit them to a nearby base station. If positioning is
integrated into WLANs, standard components like Personal Computer Memory Card
International Association (PCMCIA) and access points (APs) can be used. The
benefits of indoor positioning are the low power consumption of the involved
devices and the comparatively high accuracy because of the short range of
underlying radio or ultrasound technologies [5].
2.3.
Global Positioning System (GPS).
GPS is a satellite based radio navigation system. It was developed by the
United Stated Department of Defense for military use, it provide specially coded
satellite signals that can be processed in GPS receiver, enabling the receiver to
compute position, velocity, and time. The GPS system consists of three segments, the
space segment, the control segment, and the user segment. [5]
2.3.1
Space Segment.
The space segment consists of nominally 24 satellites that circulate the Earth
every 12 sidereal hours on six orbits. A constellation of satellites describes the
number and positions of satellites in space. To completely cover the whole surface of
the Earth with positioning services, it would be sufficient to operate GPS with a
14
minimum number of 21 satellites. However, the operational GPS constellation
consists of 24 satellites, and in general even more of them are launched in order to be
able to immediately replace older or malfunctioning ones. (Figure 2.3). Given this
constellation, it is guaranteed that a GPS receiver is covered by at least four satellites
at any point on the Earth’s surface, the required minimum number for estimating its
position in 3D. However, in most cases, there are between five and eight satellites
visible from any point on the Earth, which significantly improves the accuracy of
lateration.
Figure 2.3 GPS Constellation.
2.3.2
Control Segment
The control segment is responsible for monitoring and controlling the
satellites of the space segment. It consists of five ground stations around the world,
which are located at Colorado Springs, Hawaii, Ascension Island, Diego Garcia, and
Kwajalein (Figure 2.4). These locations have been selected in a way that each
satellite can be observed and controlled 92% of the time. All ground stations are
Monitor Stations that are equipped with GPS receivers for monitoring and tracking
the satellites. The data measured by these stations is then passed to the central Master
15
Control Station, which is located at Colorado Springs. This station processes the
received control data and calculates clock corrections. Furthermore, it centrally
coordinates all operations concerning the space segment, ranging from corrections of
satellites orbits, clock keeping, and signal encryption. For each satellite a dedicated
message with control data is assembled and returned to one of three Uplink Stations,
which then transmits the control message to the respective satellite. These Uplink
Stations are collocated at the Monitor Stations.
Figure 2.4 GPS Control stations.
2.3.3
User Segment
The GPS user segment consists of the GPS receivers and the user
community. GPS receiver converts signals into position, velocity, and time estimates.
Four satellites are required to compute the four dimension of X, Y, Z position and
time. GPS receivers are used for navigation, positioning, time dissemination, and
other research. Navigation in tree dimensions is the primary function of GPS.
Navigation receivers are made for aircraft, ships, ground vehicles, and for hand
carrying by individuals.
16
Absolute positioning is the fastest and most common use of GPS for real-time
navigation (see Figure 2.5). GPS receivers are range measurement devices that
measure the distance between the receiver antenna and various satellites, and
determine the position of the receiver by the intersection of the range vectors. This is
similar to the method used in time of arrival. A simplified two-dimensional model
shows the location at the intersection of three range circles. The circles represent
spheres in space (see Figure 2.6) [6].
Figure 2.5 GPS Absolute Positioning
Figure 2.6 GPS Positioning Based on Time of Arrival Principles.
17
2.4
Cell of Origin (COO) /Cell ID (CID)
Cell of origin (COO) or Cell-ID is a purely network-based location
positioning solution. The solution uses the latitude and longitude coordinates of the
base station serving the mobile device as the location of the user. As such, COO has
the highest response time and was the most widely deployed positioning solution in
2001. It can, however, be very inaccurate. Accuracy is dependent on the size of the
network cells. The simplest cell networks have transmitters that are omnidirectional,
transmitting equally in all directions and producing a circle. Because circles don't
tessellate well, mobile network architects try to approximate them to hexagons, as
shown in Figure 2.7.
Figure 2.7 Base Station Configurations in a Cellular Network
The cellular network positioning can be mobile-assisted, mobile-based, or
network-based. Mobile-assisted positioning means that the mobile terminal performs
the location measurements and transfers the measurement data to a particular
component called location server (LS). The LS calculates the location estimate and
sends it back to the mobile terminal. In mobile-based positioning, the mobile
terminal is responsible for carrying out both the location measurements and the
calculation of the location estimate, whereas in network-based location, the network
performs the measurements and calculation. In the simplest case, the measurement
data used in estimating the location of the mobile terminal contains only the
identification information of the serving cell, or access point in case of WLAN. The
18
information is used to find out the corresponding location of the signal source, which
is then estimated to be the location of the Mobile Terminal. The name of this
technique is Cell-Identification (Cell-ID) and its accuracy is directly proportional to
the cell size in the network. For example, in the GSM network the cell size might
vary from a couple of hundred meters to over 30 kilometres. For many locationbased services, the accuracy of the Cell-ID technique is not sufficient. Thus, methods
that are more complex have been developed to increase the accuracy.
Figure 2.8 Cell-ID Methods.
2.4.1
Cell of Origin (COO) /Cell ID (CID) Positioning Techniques.
2.4.1.1 Timing Measurements TOA/TDOA
The positioning method known as uplink time of arrival (TOA) is based on
the time of arrival of a known signal sent from the mobile device and received by
three or more base stations see Figure 2.9. The signal is the access burst created by
having a mobile device performs an asynchronous handover.
19
Figure 2.9 TOA/TDOA
.The time different of arrival TDOA, values are calculated by pair wise
subtracting the TOA values. The position of the mobile device is then calculated by
hyperbolic trilateration, provided that the geographic coordinates of the measurement
units are known and the timing offset between the measurements units used in the
measurement are known [6].
2.4.1.2 Angle of Arrival
Angle of arrival (AOA) is a network-based method of determining position
that does not require a mobile device upgrade to operate. In AOA, a mobile device's
signal is received by multiple base stations (see Figure 2.10). The base stations have
additional equipment that determines the compass direction from which the user's
signal is arriving. The information from each base station is sent to the mobile
switch, where it is analyzed and used to generate an approximate latitude and
longitude for the mobile device.
20
Figure 2.10 Angle of Arrival
2.4.1.3 Enhanced-Observed Time Difference
Enhanced-observed time difference (E-OTD) is similar to time difference of
arrival (TDOA), but is a handset-based positioning solution rather than a networkbased solution. E-OTD takes the data received from the surrounding base stations to
measure the difference in time it takes for the data to reach the terminal (see Figure
2.11). The time difference is used to calculate where the mobile device is in relation
to the base stations. For this to work the location of the base stations must be known
and the data sent from the different base stations must be synchronized. [6]
Figure 2.11 E-OTD
21
2.5
Indoor Positioning System.
2.5.1
Wireless Local Area Network (WLAN).
Wireless Local Area Networks (WLANs) are specified by IEEE in the
802.11 series and are available in different variants. A WLAN installation inside a
building is basically a cellular network that comprises several cells, each served by a
base station. In the IEEE 802.11 terminology, a base station is called access point,
and the coverage area of an access point is referred to as Basic Service Area (BSA).
The set of all terminals served by an access point is called Basic Service Set (BSS).
Several BSSs, in turn, can be interconnected via a wired infrastructure to form an
Extended Service Set (ESS). The infrastructure described here is needed for
operating IEEE 802.11 in the so-called infrastructure mode. Alternatively, IEEE
802.11 enables direct communication between terminals without any infrastructure in
between, which is known as the ad hoc mode. However, for positioning as described
here, only the infrastructure mode is of relevance.
The IEEE 802.11 specifications comprise two layers, one representing the air
interface, which is the physical layer, and the other for coordinating multiple
accesses, which is the medium access layer (MAC). IEEE 802.11 is available in
various versions with different frequencies, modulation, and multiple-access
schemes, types of signals (radio or infrared), data rates, and bandwidth, ranges, and
other facilities. Today, most installations are based on IEEE 802.11b and 802.11g.
The former was developed in 1999. It operates in the license-free 2.4 GHz frequency
range, provides data rates of up to 11 Mbps, and achieves ranges between several
tens of meters and a few hundreds of meters, strongly depending on the surrounding
environment. In 2003, networks based on IEEE 802.11g began to appear. They are
backward compatible to IEEE 802.11b installations and enable increased data rates
of up to 54 Mbps.
WLAN installations are available in most public buildings today, and vendors
are increasingly equipping PDAs and phones for WLAN connectivity. This makes
WLAN very attractive for serving as a basis for indoor positioning.
22
2.5.1.1
Principles of WLAN Positioning
Almost all WLAN positioning systems that have been developed as
prototypes or are available as commercial products so far rely on measurements of
the received signal strength (RSS), the received signal-to-noise ratio (SNR), or
proximity sensing. Timing measurements are not an option, because precise timing
synchronization is a very difficult issue in WLAN and time differences would be
very hard to measure owing to the extremely short ranges the signals travel in indoor
and local environments. RSS and SNR observations are based on the so-called
beacons, which are broadcast either in the uplink or the downlink. Upon arrival of
such a beacon, the receiver measures the RSS or SNR and makes it available to userlevel applications, which is a standard feature of most WLAN equipment. For
measurements in the uplink, the mobile terminals must explicitly generate these
beacons, which are then received by all access points that are in range. This is the
basis for realizing network-based positioning methods. For measurements in the
downlink, a standard feature of WLAN known as passive scanning can be utilized.
Mobile terminals continuously perform passive scanning to detect nearby access
points and select the best one for transmission.
The observation of beacons either in the downlink or uplink leads to the
following three basic positioning methods:
•
Proximity sensing. The position of the terminal is adopted from the
position of the access point that the terminal has scanned with the best
signal quality.
•
Lateration. The position of the terminal is derived from lateration. The
distances between access points and terminal are determined by the path
loss a beacon experiences during transmission.
•
Fingerprinting. The observed RSS patterns originating from or received
at several access points are compared with a table of predetermined RSS
patterns collected at various positions. The position for which this
comparison fits best is then adopted as the terminal’s position.[5]
23
2.5.1.2 WLAN Fingerprinting
The fingerprinting takes place in two phases. In the off-line phase, the system
records RSS patterns for well-defined reference positions and stores them in a radio
map. In a simple approach, this radio map consists of entries of the form (p, RSS 1. .
. RSS n), where p denotes the reference position and RSS i for i = 1. . . n represents
the RSS value of the ith access point. However, the RSS strongly depends on line-ofsight conditions on the spot, and these conditions, in turn, vary depending on the
target’s orientation. Therefore, most systems record RSS patterns for several
directions d (e.g., north, south, west, east) at each reference position, resulting in
entries of the form (p, d, RSS 1. . . RSS n).The reference positions may be selected
equally spaced according to a regular grid or selected irregularly depending on
accuracy demands and the building’s structure.
The reference positions might be specified by means of Cartesian
coordinates, descriptive room numbers, or any other reference system. The offline
phase is also referred to as training or calibration. In the on-line phase, RSS patterns
related to the target are recorded and compared with the RSS fields of the entries
stored in the radio map. The position of the target is then extracted from the
reference position of the entry with the closest match.
Fingerprinting can be performed terminal assisted, terminal based, and
network based (see Figure 2.12.) For terminal-assisted and terminal-based
approaches, the radio map is derived from RSS downlink measurements made at the
various reference positions in the off-line phase. For this purpose, a terminal
observes the beacons emitted by the access points in the surrounding area from
several directions and records the associated RSS values. The procedure during the
on-line phase is then as follows: the target terminal permanently records RSS
patterns in a similar fashion as in the off-line phase, but only in the direction of user
movement. In the terminal-assisted approach, it sends regular measurement reports to
a server in the network (see Figure 2.12(a)). This server maintains the radio map and
performs the matching of RSS patterns for deriving the position. In the terminalbased approach, the radio map is maintained in the terminal, and the matching can be
performed locally (see Figure 2.12(b)).
24
Figure 2.12 Modes for Fingerprinting.
For network-based fingerprinting, the radio map is created from RSS
measurements made in the uplink. In the off-line phase, the terminal periodically
emits beacons from several directions at each reference position. The access points in
the surrounding area receive these beacons and record the associated RSS. The
measurement results are then centrally merged for composing the radio map. During
the on-line phase, the target terminal must periodically emit beacons for
measurements at the surrounding access points, which then transmit the resulting
measurement reports to the server for position matching (see Figure 2.12(c)) [5].
In recent years, the research community has created a multitude of WLAN
fingerprinting systems. A selective overview of some systems and their properties is
presented in Table 2.2. The systems are compared against the observables they make
use of, the delivered accuracy, the mode of measurements and calculations. The
method for creating radio maps, and the type of matching algorithm applied. The
pioneer of all WLAN fingerprinting systems is the RADAR system developed by
Microsoft Research in 1999 [7].One of the few commercial systems that are available
for purchase is the Ekahau [3] system. The Nibble system is special in that it
observes the SNR of incoming beacons instead of the RSS. [8]. Detailed information
on the Horus system can be obtained from [9], and on the WhereMops system from
[10].
25
Table 2.2 Overview of WLAN fingerprinting systems. [11].
2.5.2
RFID Positioning
Radio Frequency Identification (RFID) is an emerging technology that is
primarily used today for applications like asset management, access control, textile
identification, collecting tolls, or factory automation. It is based on radio signals that
are exchanged between an RFID reader and RFID tags.
A reader consists of an antenna, a transceiver, a processor, power supply, and
an interface for connecting it to a server, An RFID tag has an antenna, a transceiver,
and a small computer and memory. There is a distinction between active and passive
tags. The former is equipped with power supply in the form of a battery, while the
latter extracts the required energy from the radio signals emitted by the readers.
Active tags typically bridge distances of several tens of meters, while passive tags
have a range between tens of centimetres and a few meters. Furthermore, active tags
contain more memory and are equipped with more intelligence. They often contain
additional sensors, for example, for checking temperature or humidity, and are able
to store the history of sensor data and to calculate statistics from it. Passive tags, on
the other hand, have a memory size of a few kilobytes only, and their functions are
restricted to deliver an ID or other information stored in memory.
The RFID systems available at the market operate at different frequency
ranges. Typically, they are categorized as high-frequency (850–950 MHz and 2.4–5
GHz), intermediate-frequency (10–15 MHz), and low frequency (100–500 kHz) .
26
The frequency range has an impact on the communication range, the data rates, and
the costs. Generally, systems operating at higher frequencies achieve larger ranges
and faster data rates, but also suffer from increased acquisition costs.
RFID technology can be basically categorized in the positioning classification
scheme as proximity sensing. However, there is no beacon broadcast in a one-way
fashion as for other proximity methods. Rather, the RFID reader explicitly prompts
the tags within its communication range to respond with some information from their
memory. For positioning purposes, this might be a simple identifier that either
represents the location of the tag or the target person to be located.
2.5.3
Infrared (IR) Based
.Unlike radio signals, infrared signals have the advantage in that their emitters
have a short range of some meters only and do not penetrate walls. These properties
predispose them for use in conjunction with proximity sensing for applications that
require resolving a target’s position at least with the granularity of rooms inside a
building. However, they are only slightly reflected and scattered at obstacles inside a
room, and hence it may be necessary to have a line of sight between emitter and
receiver.
When the first infrared positioning systems were developed at the beginning
of the 1990s, infrared was already a mature technology available in a broad range of
products (e.g., remote controls of domestic appliances). Compared to radio, the
required equipment was and still is comparatively cheap, straightforward, and shows
only low power consumption. In general is the ActiveBadge system developed by
Olivetti research at the beginning of the 1990s [12]. It focuses on the localization of
staff members within an office environment for automatically forwarding incoming
telephone calls to the telephone set that is next to the current location of the cal lee.
For this purpose, each staff member wears an infrared tag, the so-called active badge,
which periodically emits a beacon. The beacon carries an ID that uniquely identifies
the person wearing the badge. It is emitted every 15 s and lasts for a duration of one-
27
tenth of a second. In this way, the batteries inside the badges are not exhausted too
fast and last for about one year. The ratio between beacon duration and its periodicity
also decreases the chance of collisions between the emissions of badges from
different persons staying close by. In this way, it is not required to establish a
complicated multiple-access scheme
The beacons are received by infrared sensors installed inside the building (see
Figure 2.13(a)). For the prototype, they have been placed high up on walls or ceiling
tiles of rooms and on the entrances and exits of corridors. At regular intervals, the
sensors are polled by a central location server, which stores the gathered data as
triplets of the form (ID, location, time). The location server can be interconnected
with a switch for automatically forwarding telephone calls to the right place or it can
be requested by a receptionist for manual switching. Thus, ActiveBadge follows a
network-based approach for positioning.
Figure 2.13 ActiveBadge and WIPS
An example for an infrared terminal-based approach is the Wireless Indoor
Positioning System (WIPS) developed at the Royal Institute of Technology in
Sweden [13]. In WIPS, infrared beacons are emitted by transmitters mounted in
different rooms of a building (see Figure 9.3(b)). The beacons carry information
from which location data can be derived and are caught by badges attached to
persons when entering the coverage area of a transmitter. In order to make location
data collected thus available to a distributed application, the badges forward it to a
central database via WLAN. Thus, WIPS incorporates two wireless technologies,
28
infrared for positioning and WLAN for connectivity, and hence the badges are more
complex and power consuming than those used in the ActiveBadge system. WIPS
comprises several location related applications like the listing of all people connected
to the system together with their locations, the listing of persons staying close by to a
certain person, or the announcement of nearby peripherals [5].
2.5.4
Ultrasound-based Systems
An alternative to positioning via infrared and radio signals is the use of
ultrasound. The major advantage of ultrasound signals is their propagation velocity
of 1,243 km/h, which is very low when compared to that of infrared and radio signals
of approximately 300,000 km/s. Consequently, ultrasound provides a very
convenient basis for timing measurements and can thus be utilized for lateration
without the need for complicated and expensive synchronization mechanisms.
Ultrasound signals do not penetrate walls and do not require a line of sight
between sender and receiver. Unfortunately, their propagation range is very limited,
which makes them impracticable for localization in large coverage areas and thus as
an alternative to cellular positioning methods. However, inside buildings ultrasound
can achieve positioning accuracies in the range of centimetres, assuming that there
exists a close-meshed network of transmitters and receivers respectively.
The working of ultrasound is again demonstrated by means of network-based
and terminal-based approaches. An example for the former is the ActiveBat system,
which was developed at the University of Cambridge and by Olivetti [14]. Each
person to be located must carry a so-called bat, which consists of a hemispherical
array of ultrasound transducers and a radio transceiver operating at 418 MHz. Each
of these bats is assigned a unique address. The area inside a building to be covered
for positioning must be equipped with a close mesh of ultrasound detectors, which
are mounted on the ceiling (see Figure 2.14). The detectors are connected to a PC via
a serial network.
29
The positioning process is then controlled by radio signals. It is triggered by a
broadcast message sent by the controlling PC on the 418 MHz radio link. This
message carries the address of the bat to be located. At the same time as this message
is emitted, the PC sends another one over the serial network for resetting the
ultrasound detectors and for establishing a common time basis in this way. Upon
arrival of the broadcast message, the addressed target bat emits an ultrasound
impulse that propagates in a hemispherical pattern toward the detectors mounted at
the ceiling. The arrival time of this impulse is recorded at each detector. Finally, the
PC polls the timing information from the detectors and calculates the target bat’s
position by lateration. The time differences between the controlling broadcast
message and the reset message sent over the serial network are very small compared
to the slow propagation of ultrasound and can therefore be neglected.
Figure 2.14 Ultrasound infrastructure
2.6
Ekahau Positioning Engine
Ekahau positioning engine (further abbreviated as EPE) is one of the
commercial positioning systems based on IEEE 802.11 wireless LAN infrastructure.
It models the propagation properties of signals emitted by wireless network units
using probabilistic empirical approach. Basically, it collects local network SS data
for each positioning site (an office, library, hospital, etc.) during training of the
30
system, and makes inferences from the collection to produce the estimates of location
to the user application.
Ekahau's software-based positioning and site survey technologies are based
on over 10 years of research by one of the leading research groups in the world, the
complex system computation group at the University of Helsinki. The results of this
co-operation are Ekahau's multiple positioning and site survey patents that exploit
the theoretical results behind concepts such as Bayesian network, stochastic
complexity and on-line competitive learning.
The advantage of the solution is that it does not need the coordinates of the
access points - unlike the mathematical propagation model, and can be re-calibrated
at any time if the environment changes or the network units are replaced. There is the
option to select, which access point data to consider in inference, and thus altogether
removed access points can be easily handled without re-training. At the same time,
that does not remove the data of the removed access point from the model, which
stores the information of all access points audible in the area. So, it can be placed
back without the need for re-training. All listed gives a pleasant degree of flexibility
for the deployment. The other important advantage of the system is that it does not
need any supplementary hardware components to a wireless network installed in the
target area and the client wireless devices equipped with the supported network
adapters.
Given that wireless network becomes more and more common attribute of any
institution and more and more end-users join the wireless communication
environment, it is attractive to consider a software only positioning solution.
Among disadvantages are relatively long and sophisticated learning step
needed to be repeated from time to time, and supplementary software installation on
client devices.
EPE is considered to be one of the best WLAN positioning systems
developed so far for it claims to achieve up to 1m average positioning accuracy
under certain conditions. It has successfully enabled such LBS applications as the
31
first library navigation system Smart Library deployed by the Oulu University of
Finland [15], the hospital location tracking systems at Birmingham Heartlands
hospital (Great Britain) and Palmeto Health (USA), it has been integrated into the
security and monitoring system of AirDefense Enterprise. In collaboration with
Oracle Japan it plans to launch location-based applications for Asian market.
According to the press release many other brands performed their interest in the
innovatory positioning solution of Ekahau. August 10, 2006 Mercy Hospital, a
leading healthcare facility in Miami, has deployed Ekahau Inc.’s Real Time
Location System (RTLS), a wireless tracking solution that enables hospital staff to
immediately find the whereabouts of mission critical equipment and other mobile
assets [16].
2.6.1
Positioning Engine Architecture
The pre-requisite components of positioning system are hardware
components, to some extent independent from the vendor. The software components
are the commercial product of Ekahau.
2.6.1.1 Hardware Components
The hardware components are:
•
IEEE 802.11 wireless local area network,
•
server computer running EPE, and
•
Supported client wireless devices running Ekahau client software.
Ekahau also has an option solution to supplement the wireless network
infrastructure by Ekahau T101 radio tags for continuous location tracking within
access point’s coverage area. However, this option is considered in this work.
Despite being based on a installed IEEE 802.11 local wireless network, EPE still
requires that the space configuration of network units provide coverage for the area
32
such that any location in the area is covered by at least three, preferably five or more
access points, access points should not be placed in one line, and the distance
between adjacent access points is not less that 7-10 meters. The first requirement is
to solve ambiguities in the estimate. The other two are for the signals not to intersect
by a small angle, which cannot be disguised by the system from the natural
fluctuations of intersecting signals, and obscures the point of intersection. These are
requirements on optimality of WLAN infrastructure to achieve the best accuracy.
Ekahau RTLS (Real-Time Location System) is a continuous monitoring platform
that allows system administrators to know where their wireless assets are currently
located
The platform is software based; with the central Positioning Engine running off
Windows or Linux servers, and software clients available for the tracking of
Windows-based
(2000/XP,
Pocket
PC)
laptops
and/or
handheld
devices.
Additionally, the vendor separately sells hardware "tags," small Wi-Fi radios that can
be attached to other mobile assets or worn by individuals for people-based tracking.
The vendor notes that their platform operates on standard Wi-Fi networks without
requiring proprietary antennaes or other hardware. The list of supported WLAN
cards is rather rich, and continually growing. Wireless adapters are the weak point of
wireless LAN positioning systems, because all their vendor-diversity measures the
signal strength. So that the model of environment built by reading one vendor
wireless adapter does not hold true for the locating of the client that has chosen
another. Ekahau makes an attempt to make adapter measurements compatible with
the measurements of the adapter used for building the model. The list of supported
devices is intended to cover exactly that issue. Whereas there is some promise that
the client adapter from the list of supported devices works such that the positioning
produces sufficient accuracy, it remains unclear how it runs with a non-supported
client adapter.
33
2.6.1.2 Software Components
Ekahau's software architecture is client-server architecture and consists of
three modules:
•
Ekahau Positioning Engine (EPE),
•
Ekahau Manager, and
•
Ekahau Client.
EPE is the server application that stores current model of environment, reads
the network data (SS information is sent by the Ekahau Client of client devices
currently residing in the target wireless network area to the EPE server port), and
resolves the client location. The LBS application is made possible to communicate
with EPE server and retrieve location information for the tracked clients by means of
java interface package Ekahau SDK, developed for java applications, or Y AX
protocol developed for other programming environment applications [17].
Ekahau Manager is a graphical tool to build the model of the environment.
It runs on the manager laptop, a special case of client device, reads local adapter
measurements for the selected set of sample locations in the target area, and records
the result over the wireless network to the engine. The procedure is the initial step to
start the system. It is also called model calibration. During the evaluation the engine
for simplicity is run locally.
Ekahau Client is a software component that should be installed on each
client device to read the SS data from the network card and send it to the server.
2.6.2
Positioning Method
34
The positioning approach of Ekahau system combines both empirical and
tracking models in a single probabilistic framework. It consists of two processes
applied sequentially: model calibration and so-called rail tracking [18]. Model
calibration implicitly models the environment as vaguely described in Empirical
model section, and then Hidden Markov Model is applied to consider the full history
of the tracked device. The implementation details of the system are discussed in
Chapter 3
2.7
Market segments of Location Based Services
In the table 2.3 shows below the list of market segments and their
applications are listed. This project will concentrate on the healthcare industry, where
the objective of this project is to design and develop a real time hospital equipment
management system which will includes equipment tracking and security system,
using WLAN indoor location tracking system.
Table 2.3 location-based Application based on Market segment
CHAPTER 3
SYSTEM DESIGN AND DEVELOPMENT
This chapter gives an overview about the design methodologies used in this
project. The methodology of this project can be divided into two parts; the first part
is to design and develop a real time tracking and security system for the equipment in
the hospital environment. And the second part is to have a proper study of the
properties of the WLAN-based indoor location tracking system; this will include
examining of the WLAN signal strength (SS), besides that, the effects of number of
access points, and calibration nodes on the location estimation accuracy.
3.1
Designing and Developing Real Time Equipment Tracking System
Although Software only based solution for develop and design of Real Time
tracking system of the equipment, it would require much supporting hardware and
other related works to ensure its successful implementation. Prior to the software
development of the system, the testbed for the implementation of the system would
have to be selected. Then a hardware implementation and fingerprinting will be
following
The work would then begin on the software development of the real time
equipment tracking system. Figure 3.1 shows the Block diagram of the system.
36
Figure 3.1 Block Diagram of the System
The basic structure of a WLAN positioning system implemented in this
project, which is an infrastructure involving, Ekahau positioning engine Server,
Ekahau’s T101 Wi-Fi Tags, Ekahau Client Laptop and access points. The tag is
responsible for gathering the signal strengths from all access points, then send them
to the server through the strongest access point. The server would then calculate the
location of the tag based on signal strengths and send the coordinates of the location
to the client. All these process will be described in detail subsequently in this
chapter.
The reader is advised to glance through the methodology workflow of this
project presented in a flowchart manner as shown in the figure 3.2 to gain an
overview of the work done during this project.
.
37
Location Determination Module
Select of Test-bed
NO
Meet requirements of
project implementation
YES
Installation of Hardware Equipment
• WLAN Access Points
• Ekahau Positioning engine on the server
• Ekahau wi-fi Tags (configured with EPE)
(Ekahau site calibration)
Calibration of the test-bed to obtain the radio
signal map (fingerprinting) using Ekahau manager
Develop interface for retrieval of location
coordinates from positioning engine
Test system with mobile station/Tag in
real time.
NO
Acceptable range of
Accuracy of tracking
module?
YES
Integration of modules
Redo the
calibration
site
38
User-interface Module
Development of the Equipment management
Record by using JBuilder
Develop storage and extraction method
of records
Test with a sample Data
YES
Error?
NO
Integration of Modules
Integration of models
:
YES
Testing for error
NO
END
Figure 3.2 System Design and Development Flowchart
39
3.2
Indoor WLAN positioning engine (Ekahau Positioning Engine 3. 0)
Figure 3.3 EPE Concept
To better understand the hardware setup requirements and the software
development that are needed for implementation of the Location-Based services, we
first need to understand the Ekahau Positioning Engine (EPE) architecture and
concept, it can be seen that for EPE to work, a standard IEEE 802.11a/b/g Wi-Fi
network is needed with certain amount of Access points (APs) installed, the EPE
product brochure specifies that it will require at least 3 and preferable 5 Wi-Fi
Access Points for accuracy of 1 m real time tracking.
The figure 3.3 explains how the Ekahau components interact with each other:
•
The Ekahau Client is run on devices such as Laptop, PDAs and Ekahau’s T101
Wi-Fi Tags.
•
The Ekahau Positioning Engine calculates x and y co-ordinates as well as other
data such as speed and heading.
•
The Ekahau Manager offers functions such as creating the model, tracking tags
in real time and maintaining the tags.
The Ekahau Application Framework (Java APIs and YAX protocol) is used to take
advantage of the tag locations
40
3.3
Test-bed Selection
The selection of the test-bed is paramount to ensure the successful
implementation of the project. Therefore, after understanding of EPE concept and
architecture as mentioned before hand, the wireless communication center(WCC),
Block P14 in the Electrical Engineering Faculty of the University of Technology,
Malaysia has been selected as a test-bed of this project.
It has a floor layout area of AXB meters square and has two floors. For
implementation purpose however, only the first floor map for WCC is shown below.
Figure 3.4 WCC 1st Floor layout
3.4 Hardware Specification and Setup
After understanding the EPE concept and architecture, we now proceed to
specify the hardware requirements as well as detailing the installation procedure.
However, the hardware components consist of those pre-requisites for the positioning
system, namely Wireless IEEE 802.11g Access Points the EPE Server, Ekahau’s
T101 Wi-Fi Tags, and Ekahau Client Laptop.
41
3.4.1 Wireless IEEE 802.11g Access Points
Since the selected test-bed required a number of access points that covers the
entire test-bed with a radio signals. The access points should be installed at strategic
location.
Ekahau Positioning Engine supports all 802.11a/b/g Wi-Fi Access Points. The
Following these steps are extracted from the Ekahau Positioning engine user guide
these should be adhered for good positioning results:
1. Provide at least 3 access point signals at each location
•
EPE can locate a device with only one AP signal, but a minimum of 3 signals
must be detected by the client device in each location for better than 5 meter (15 ft)
average accuracy
•
Increasing the number of AP signals increases accuracy. The preferred number of
signals per location is 5-10 2.
2. Install “dummy” access points for additional signals
•
.To increase the number of AP signals per location, you may install additional
“dummy” access points without network connection. Just power up the dummies.
Channel configuration is not very important as the dummies are not sending data and
will not interference with data networks.
3. Disable automatic power management features
• . Disable optional power management and self-healing features for reliable
positioning results.
•
Enable ESSID broadcasting / probe responses to locate Wi-Fi adapters that do
not support passive scanning.
4. Access point placement tips
•
Start from the corners of the intended coverage area.
•
With 3 access points the test area size can be, for example,20x20 m (obstructed)
– 40x40 m (open).
42
•
If the area has low-height obstructions, such as office cubicles, attach the access
points (using indoor antennas) to ceilings or walls above the height of the
obstructions.
•
Do not place the access points (or antennas) in straight lines or near one another
(less than 5 meters). Use adhesive tape to secure the antennas for a site survey and
testing before installing them permanently.
•
Depending on the desired coverage area, refer to your access point manual to
adjust the output power levels.
5. Minimized interference (noise)
•
High interference may decrease data throughput and positioning accuracy.
Noise can be minimized by proper channel configuration, for example using 802.11b
channels 1, 3, 6, 9, and 11 (for 5 adjacent access points), to keep the channels as
separated as possible. Also try to minimize radio interference from other Wi-Fi
networks and radio sources.
6. Strong but diversified AP signals
•
Strong access point signals typically vary less than weaker signals. This is why
the best positioning accuracy is usually achieved closer to access points, whereas
areas with fewer and weaker signals provide lower accuracy.
•
Stronger is better, but moving APs or using directional antennas to provide
different RSSI for areas in close proximity will help differentiating the areas and
improving accuracy.
However, the details technical specification for Aps which used in this project
are listed below.
Figure 3.5: Dlink DWL-2000AP+ Wireless Router and Access point
43
•
•
IEEE 802.11g (2.4GHz-2.4835GHz)
Data Link Speed 54Mbps
•
Antennas ( 1 internal embedded,1 external dipole(2dB))
•
Configuration and management ( Web-based management, DHCP client
server)
•
Four operation modes
o
Standard Access point
o
Access point client
o
Pt-to-pt Bridge
o
Pt-to-Mt Bridge
Currently, there are 16 APs within the selected test-bed area (WCC) which
makes it the excellent selection for the implementation of the project. This will be
proven in Chapter 5 during the accuracy analysis.
3.4.2 Mobile Station (Laptop)
The Laptop (Toshiba Satellite M100) that is used for creating the positioning
model is required to have installed the Ekahau Manger, equipped with internal
WLAN Card (Intel PRO/Wireless 3945ABG) chipset, which connects the Ekahau
client (laptop) and positioning engine. The minimum requirements to install Ekahau
manager with at least Windows 2000 or XP professional, Pentium III,256 MB RAM
and 500 MB HD. The specification of both the Laptop and Wireless LAN card are
shown below.
•
Laptop (Toshiba Satellite M100)
o
Processor Intel Core Duo T2300 1.66 GHz ( Dual-Core )
o
80 GB HDD
o
512 MB of RAM
o
Operation system Microsoft Windows XP service Pack 2
44
•
Wireless LAN Card (Intel PRO/Wireless 3945ABG)
o
Data Transfer: Rate 54Mbps
o
Dimensions: 0.2 in x 1.2 in x 2 in
o
Weight 0.2 oz
o
Data Link Protocol: IEEE 802.11b, IEEE 802.11a, IEEE 802.11g
o
Encryption Algorithm: LEAP, MD5, AES, 128-bit WEP, 64-bit WEP, TLS,
PEAP, TTLS, TKIP, WPA, WPA2
o
Line Coding Format: DBPSK, DQPSK, CCK, 64 QAM, BPSK, QPSK, 16
QAM
Figure 3.6 Toshiba Satellite M100 equipped with WLAN Card (Intel PRO/Wireless
3945ABG)
3.4.3
Ekahau T101 Wi-Fi Tag
Figure 3.7 Ekahau T101 Wi-Fi Tag
Ekahau T101 Wi-Fi Tag is a small active radio tag used for tracking and
finding any mobile object. Once attached to the object, they become a “target”, and
45
can be accurately tracked with the Ekahau RTLS platform within the coverage area
of an 802.11 network. Unlike competing solutions, the Ekahau T101 tags do not need
any proprietary antenna or radio infrastructure on site, but can work with any
standard 802.11b/g access point brands, thus enabling pure Wi-Fi based real-time
tracking of mobile objects. The Ekahau solution provides enterprises a low cost and
rapid way to deploy a tracking solution in their environment. Unlike RFID or
Infrared based solutions, the T101 tag is not required to be in the close proximity of a
reader gate or scanner. This allows the T101 tags to be used for continuous location
tracking as long as the tag is within Wi-Fi coverage area, which can encompass an
entire building or campus. The technical specifications of Ekahau’s T101 Wi-Fi Tags
as listed below.
•
Enclosure
o
Outside Dimension (mm): 65X65X27.
o
Power switch with configurable Call button function.
o
Tag and battery status indication with two colour LED.
•
WI-FI
o
Supported IEEE 802.11b/g
o
Supported Wi-Fi specification :v1.1
o
Modulation scheme: Direct Sequence Spread Spectrum (DSSS)
o
Media Access: GSM/CA
o
Receiver Sensitivity: -82dBm.
o
Frequency range 2.4-2.485 GHz
o
Supported Network protocols TCP/IP.DHCP
o
Security: WEP Encryption 40/128 Bit.
o
Antenna Type: Internal omni-directional ceramic multilayer
o
Average antenna Gain:-30dB
•
Operation Range from Access point
o
Open space: 100m (330ft)
o
Typical office: 30m (100ft).
46
•
Configuration
o Command Line Interface (CLI)
o Connective serial cable
o Terminal Emulation: VT100.
o Line parameters: 9600 bps, 8 data bits, no parity bit, and 1 stop bit.
o Minimum configuration: SSID, Tag IP method, Engine IP address.
o Optional configuration: WEP, motion/button/periodic scan on/off, scan intervals,
and sensitivity to motion.
•
Battery life.
o
Can be used external power source (3-12v dc)
o
Battery integrated 1400mAh rechargeable.
o
Expected 3-5 day battery life with 5 min periodic wakeup
o
Expected 24 hours battery life with 1 min periodic wakeup
3.5
Ekahau Software Setup (both engine and client)
Prior to starting the calibration work or site calibration as Ekahau calls it, We
require to install the proper EPE components either on the server side or application
site, only after all these components are fully installed and a connection between the
positioning engine and client is established. The work will then begin with
calibration site in order to build the radio map fingerprint (radio-map) of selected
test-bed. The position engine components are shown in the table 3.1.
47
Table 3.1Components of Ekahau Positioning Engine
Component Description
Supported Platforms
Ekahau
Positioning
Engine™
The Ekahau Positioning Engine™ is a Java-
Widows XP and
based application server that provides the
Windows 2000
Ekahau T101 tag, PC, and PDA locations,
areas, speed, and heading via the Ekahau Java
SDK, YAX Protocol, or visually in sample
applications or the Ekahau Manager.
Ekahau
The Ekahau Software Development Kit (SDK)
Widows XP and
SDK™ and
contains the SDK Java package, Javadoc and
Windows 2000
YAX
code examples for quickly connecting to the
Ekahau Positioning Engine and reading local
information. The Ekahau YAX™ protocol can
alternatively be used to read the location
information via TCP sockets.
Ekahau
The Ekahau Manager™ is an application for
Widows XP and
Manager
creating positioning models, saving them in
Windows 2000,
the Ekahau Positioning Engine™, drawing
requires a wireless
logical areas, testing live positioning, and
enabled laptop
analyzing positioning accuracy. It is
important to note that the Ekahau Manager™
requires a wireless-enabled laptop to be run
on. This is necessary to perform a site survey
to aid the accurate location of tags.
Ekahau
Client™
The Ekahau Client™ is a network reader
Widows
component, which must be installed and
Windows
running on each PC/PDA/Device that is to be
Pocket PC 2002 and
tracked. The PC that is running the Ekahau
2003
Manager™ also requires the Ekahau Client™
to be installed on it
XP
and
2000,
48
3.6
Ekahau site Calibration.
Figure 3.8 EPE Model Creating and Calibration setup [17]
Figure 3.9 Ekahau Manger Login Screen [17]
The purpose of Site Calibration™ is to map physical locations (bitmap
coordinates of a floor plan) with signal strength values from APs, which are audible
at the given location The Ekahau Manager provides module for the model calibration
of selected area; this is done in the of-line phase. First of all, the algorithm requests
as an input a digital map of the destination area. After map was uploaded and
conversion from pixels to meters set, there should be selected sample points by
clicking on the map.
49
3.10: Using the Measure tool for setting map scale and conversion from
pixels to meters [17]
The distance between sample points should be 3-5 meters. It is important to
set them optimally-in the midways of all common paths through the area. The
number and density of sample points depends on the application requirements. If the
application only uses area level information, one sample point per are area might be
enough. If application requires more accurate location information, sample points
should cover the whole area. After selection one can start the collecting signal
strength measurements at sample points.
Signal strength measurement (also referred to as fingerprints) of the sample
points are stored in the database –the model of the signal properties at various
locations. The process of construction the model is called calibration. The database
instead of deterministic relations location-fingerprint stores the probabilities of
observing certain fingerprints at certain location.
Thus, the model is probabilistic. The signal strength data is sampled in time
interval of about 10 seconds, at each selected sample point. The user has to turn
round his device in a full 360o circle to get the distribution independent from device
orientation.
50
Figure 3.11: Calibration Phase; sample points are recorded while the user rotates
laptop at a full 360o
As depicted from figure 3.11 above, each sample point in yellow is calibrated
with exactly the same procedure as mention above. Once the calibration has been
completed, a trial run of the tracking accuracy of the fingerprint can be simulated.
This can be done by clicking on the tracking button in Ekahau manager, circled in
red. Notice that the different colors of the calibrated map, where each color indicates
of the intensity of the signal strength obtained during the calibration.
3.7 Software Development Tools
Once the calibration phase has been completed, the project moves on to the
software development phase. Two main paths of this phase has been defined, each
leading to the integrated of both modules for the complete implementation of the
Equipment Tracking and Security System
51
3.7.1
Ekahau Software Development Kit 3.0 (SDK 3.0)
Ekahau Positioning Engine (EPE) 3.0 offers two ways for serving location
information to local or remote applications:
•
Ekahau SDK™ Java API for Java developers
•
Character-based TCP protocol Ekahau YAX™ for any programming
language that supports TCP sockets
3.7.2
Selection of SDK™ Java API or Ekahau YAX™
Prior to the software development of the application, a choice must be made
on how to connect to the EPE. Both options utilize TCP sockets to connect to the
Positioning Engine. The SDK is just an easy-to-use Java front end for the YAX
protocol. After recording a positioning model and saving it in the Positioning Engine
with Ekahau Manager, use Ekahau SDK or YAX Protocol to read client coordinates,
logical areas, speed, heading, and other information from Positioning Engine into
your application.
The selection actually depends on which language you use for writing your
application. If you are using a development environment that supports Java version
1.4.2 (or higher), use the SDK, since it is the quickest way to implement a locationaware application. If you cannot use Java, choose YAX. It requires some extra work,
but can be used with any modern programming language like C/C++, C#, Perl,
Python, Visual Basic, etc.
52
3.7.3
Understanding Location Estimates
Location estimate for a device can be described as an arrow that may have its
ends located on different maps:
•
Accurate Location is the most accurate location estimate with some delay
(typically 5s) depending on positioning settings Accurate Location is more
accurate than Latest Location because more history data can be used to
calculate the estimate.
•
Latest Location is the most current location estimate. It is less accurate than
Accurate Location but almost real-time (typically 1–2s delay). Thus it is most
useful to applications that require real-time locations.
Both location estimates contain rectangular x and y pixel coordinates that
origin from the associated map’s top left corner, growing from left to right and top to
bottom. Reading the accurate and latest locations using Ekahau Java SDK:
LocationEstimate.getAccurateLocation()
LocationEstimate.getLatestLocation()
Reading the accurate and latest locations using YAX protocol’s.
LOCATION_ESTIMATE message:
accurateX and accurateY
latestX and latestY
53
3.7.4
Understanding the Logical Areas
Ekahau Positioning Engine supports pre-defined “logical areas” to allow
application developers quickly display area names, find nearest printers, create
virtual tours, add burglar alarms, etc.
Before reading area information from Ekahau SDK or YAX, you need to
draw and name logical areas and save them in your positioning model with Ekahau
Manager. Therefore, once a logical area has been defined, the application developer
can quickly utilize the assigned logical area while developing his application without
the need to accurately determine the exact Cartesian coordinates of the map
3.7.5.1 Creating Logical Areas
Logical areas are user-drawn areas (polygons) that can have a name and other
location-based properties. Logical areas are used to determine whether a client
device is within a given area. Figure 3.12 depicted below shows logic areas that have
been drawn on the EPE map it must be noted however that for a logical area to
function properly, at least one Tracking Rail and record at least one sample point
inside each logical area – otherwise the logical area will not function correctly.
The logical areas named (Directors Office, Operation Room; Lab A, Lab B,
and Warehousing) as shows in figure 3.12. The security system will be utilized the
logical areas such as, each equipment will be registered into a specific logical area,
"where the Equipment Suppose to be" for security purpose, in case if the equipment
is taken away from the authorized area. The system will give alert to the control.
54
Figure 3.12 Assignments of Logical Areas
3.8
Java and the Java Development Kit (JDK 1.4.2)
Java is rapidly emerging as one of the preeminent application language for
Microsoft Windows-based system. A major reason for this shift from applet to
application languages is two-fold: first, applets themselves have been largely
replaced to scripting languages for incorporation into web pages, and second, java
version 2.0 and higher now provide a rather complete set of visual objects, such as
command buttons, labels, text boxes, radio buttons, and check boxes, that can be
easily assembled into a working graphical user interface (GUI) and integrated into a
multitasking operating system environment.
For both a teaching and learning viewpoint, java requires familiarity with
three elements, all of which are required for object-oriented, graphical-based
programming these are:
•
Traditional concept of object-oriented program code.
55
•
The visual objects required in creating a graphical user interface (GUI)
•
The concept of event-based programming, where the user rather than the
programmer, determines the sequences of operation that is to be executed
3.8.1
Mastering a Java Integrated Development Environment (IDE)-JBuilder
JBuilder is an award-winning integrated development environment (IDE) for
the Java programming language. JBuilder includes a comprehensive collection of
tools, designers, and wizards to help you design, develop, test, deploy, and manage
your Java applications throughout their lifecycle. JBuilder also includes many
readymade components and templates to further increase consistency and
productivity.
3.8.1.1 JBuilder Workspace
JBuilder uses one window to perform most of the development functions,
editing, visual designing, navigating, browsing, compiling, debugging, and other
operations, figure 3.13 shows the JBuilder workspace
Figure 3.13JBuilder workspace
56
3.9
Development of Equipment Tracking System user-interface Module
All the development of the Equipment tracking system user-interface is done
by using JBuilder. The main window of the program as shown in the figure 3.14
consists of the main functions of the system. Which are View the Available
Equipment, Stop Tracking, Add new Equipment, and Search. All these functions will
be clearly explained in chapter 4
.
Figure 3.14 Main window of the Program
3.10
Development of Tracking Module
The tracking module for integration with the Equipment tracking system
(GUI) is actually developed directly into the same code. Tracking module will
continuously track the Tag location by the EPE.
57
3.11
Trail Run of the System
After the integration of both modules has been completed, a trial run of the
complete system is done. By doing so, the preliminary accuracy of the system can be
examined and analyzed so that any program bugs can be eliminated and the program
workability can be fine-tuned . Referrer to Appendix A
3.12
WLAN Signal Strength (SS) Measurement
As mentioned earlier the hardware is used to measure the signal strength
where a laptop and access points are used. The laptop is pre installed with
NetStumbler software to acquire the RSSI. In [21] it is found that the NetStumbler
software is the best suited to acquire the RSSI for computers using Windows
operating system. This freeware tool for monitoring 802.11 WLANs provided the
simplest way to input the signal-to-noise ratio values for further real-time processing.
NetStumbler is a tool for Windows that allows detection WLANs using IEEE 802.11b,
802.11a and 802.11g protocols. It works with many WLAN cards.
Figure 3.15: A screenshot of NetStumbler Listing Available Access Points.
58
Note that, NetStumbler displays the current signal, noise and signal/noise
ratio as well as the historical strongest signal (Signal+), weakest noise (Noise-) and
greatest signal/noise ratio (SNR+). For surveying, these historical maxima and
minima, the weakest signal, strongest noise and least signal/noise ratio would be
much more useful. A better indication in conditions of poor reception can be
obtained by Netstumbler’s graph of signal strength and noise level for an access
point. The low and fluctuating signal strength and the low signal/noise ratio suggest
that the network service is likely to be unreliable at this distance from the access
point.
3.13
The Effect of Access Points and Calibration Nodes on the Accuracy
The accuracy of the system is mainly dependent on the number of access
points as well as the number of the nodes. The optimum number of access points and
calibration nodes required for optimum accuracy of positioning can be determined
using the accuracy analysis in-built in the Ekahau Manager. Initially the analysis is
done using minimum number of access points and nodes, and then the number
increased until optimum accuracy is obtained
Figure 3.16 Ekahau Manager (Accuracy Analysis)
CHAPTER 4
PROGRAM IMPLEMENTATION AND DISCUSSION
This chapter shows program implementation results of this project. Firstly
positioning system program requirement will be discussed Then, the program
functionality will be described which highlighted the main objectives of the tracking
system. Finally, the main widows of the program will be explained in program
implementation
4.1
Positioning System Program Requirement
Every program that has been developed was intended to provide a solution to
a certain pertaining problem. With a clear vision of the problem in mind, a few
objectives will be listed for the program to achieve before it can be implemented.
However, the objectives for the Equipment Tracking and security System
based on WLAN indoor location tracking system have been clearly set out in
Chapter 1, and below are some general guidelines for implementation of any
positioning system to follow to achieve those specific objectives
•
The system can be chosen to utilize only the existing hardware (if the test-bed
has an existing Wi-Fi infrastructure) and not require any additional expensive
hardware.
60
•
The system should be able to track the equipment within the selected test-bed
with given the accuracy, precision, and reliability.
•
The system should be able to respond to user queries.
•
The system should have a friendly graphical user-interface.
4.2
Program Functionality
The Equipment Tracking and Security System based on WLAN Indoor
Location Tracking System was designed to achieve the project objectives, therefore,
the program has been implemented with certain functionality listed as follows
•
Providing the client device with the map of the test-bed area and automatically
tracking all available equipment with in the test-bed area and giving alert to the
control centre in case if the equipment leave certain defined area.
•
Maintain the database of the available equipments.
•
In case of searching for a specific equipment, the program will give the exact
location within the test-bed
61
4.3
Program Implementation
Once the program's development cycle is complete and fine-tuned, a full
implementation of it is carried out in the confines of the WCC, Block P15.The figure
bellow: shows the Program functionality
• Main program Interface
Figure 4.1 Main Program Interface
•
Figure 4.2 Interface of Adding New Equipment
Interface of adding new
equipment. Enables the
caregivers to add new
equipment with the
information needed such as,
Name of the equipment, the
IP of the tag which will be
attached to the equipment,
selection of the default
location, and additional
information about the
equipment.
62
•
•
This window shows
all available
equipment within the
test-bed area
The table shows the
IP address of the tag,
name of the
equipment, location
in X,Y coordinates,
name of the logical
area where the
current location of
the equipment and
finally the state of
tag
Figure 4.3 View the available Equipments
This window
automatically appears
with alert sound when
the equipment taking out
of the defined area.
The equipment will be
indicated by the red
colored object.
Figure 4.4 Alert if the Equipment taken away from defined location
63
•
Searching of
specific equipment
by typing the IP
address of the Tag
Figure 4.5 Interface of searching for specific Equipment
•
Figure 4.6 Ekahau Tracking View map
The result of the
search will provide
the map, where the
target equipment is
indicated by the red
colored. object
CHAPTER 5
PROPERTIES of WLAN-BASED INDOOR LOCATION
TRACKING SYSTEM
This chapter studies the properties of WLAN based-Indoor location tracking
system in order to achieve the maximum accuracy
5.1
Properties WLAN Signal Strength
Because of Ekahau positioning engine, is mainly dependent on the received
signal strength (RSS) to calculate the location of the mobile object. Thus, study of
the signal strength behaviour is an important. The measurement of the signal strength
was done in two phases. In the first phase the measurement of the signal strength was
taken at different time, and in the second phase the measurement of the signal
strength was taken at Different locations.
65
5.1.1
Properties of Signal Strength at Different Time
The signal strength measurements at different time have been done at two
different times which is Non Busy Hours and Busy Hours. None busy Hours, where
the measurement of the signal was done in, a fixed surrounding environment, without
presence of the people and the movement of the doors. While during the Busy Hours,
the influence of changes in surrounding environment opening doors and people
movement, on the received signal strength have been investigated. An experiment
was carried out to show some of the measurement difference that should be taken
into account. Figures 5.1.and 5.2 shows the result of the measurement.
Figure 5.1 Measurement of the SS during non-busy Hours
Figure 5.1 Measurement of the SS during busy Hours
66
The measurement of the signal strength for both non-buys and busy hours
was done at a fixed location, within 30 minute. The above figure shows the signal
strength during buys hours, where the effect of changing in environment caused a
variation in received signal strength level up to 10 dBm.
5.1.2
Properties of Signal Strength at Different Locations
This experimental will investigate how the RSS fingerprints at different
locations may look like. RSS measurements were taken at seven different locations
within the test-bed (WCC) as indicated in the figure 5.3; location (A, B, C, D, E, F,
and G), where the RSS from five APs is used. In each location measurement of
signal strength was taken within 20 minute, and using the existing five APs
Figure 5.3 Floor 1 WCC, UTM with the locations of APs
67
Figure 5.4 RSS at location A
Figure 5.5 RSS at location B
Location C
SNR (dBm)
0
-10
1
2
3
4
5
6
7
8
9 10 11 12 13 14 15 16 17 18 19 20
-20
-30
-40
AP1
AP2
AP3
-50
-60
-70
AP4
AP5
-80
-90
Time (min)
Figure 5.6 RSS at location C
68
Location D
0
1
2
3
4
5
6
7
8
9 10 11 12 13 14 15 16 17 18 19 20
SNR (dBm)
-20
AP1
AP2
-40
AP3
-60
AP4
AP5
-80
-100
Time (min)
Figure 5.7 RSS at location D
Location E
0
1
SNR (dBm)
-10
-20
2
3
4
5
6
7
8
9 10 11 12 13 14 15 16 17 18 19 20
-30
-40
AP1
-50
-60
AP3
-70
-80
AP5
AP2
AP4
-90
-100
Time (min)
Figure 5.8 RSS at location E
Lcation F
0
1
2
3
4
5
6
7
8
9 10 11 12 13 14 15 16 17 18 19 20
SNR (dBm)
-20
AP1
AP2
-40
AP3
-60
AP4
AP5
-80
-100
Time (min)
Figure 5.9 RSS at location F
69
Figure 510 RSS at location G
Figures 5.11 shows the overall result of RSS, at different locations
70
5.2
Effects of Number of APs on the Accuracy
This experiment was to investigate Ekahau positioning accuracy by
increasing the number of access points, from one up to five, the experiment was done
on the corridors as indicated in red color in the figure 5.12. In first investigation, a
total number of five sample points have been measured. Later, the accuracy level was
measured with one AP, two APs, and so on. Figure 5.13 shows the overall result,
where the worst accuracy level was about (3.7 m) obtained with only one AP, and the
figure also shows that the accuracy will be increased as the number of APs increase,
where the best accuracy level was obtained with using five APs.
Figure 5.12 Locations of the Access Points
71
Figure 5.13 Effects of number of APs on the accuracy
5.3
Effects of Number of Calibration Nodes on the Accuracy.
Also this experiment investigates the Ekahau positioning accuracy by
increasing the number of calibration nodes (radio map), where the measurement of
accuracy level starts from three nodes up to eleven. Figure 5.13 clearly shows that,
increasing of nodes leads to increase of the accuracy.
Figure 5.14 Effects of number of calibration nodes on the accuracy
CHAPTER 6
CONCLUSION AND PROPOSED FUTURE WORK
6.1
Conclusion
In general, the main objective of this project is to develop an equipment
tracking and security system for the hospital environment based on WLAN indoor
tracking system.
The deployment of equipment tracking and security system has been
successfully done and implemented in the confines of the WCC, BLOCK P15 which
is the selected virtual test-bed of the hospital. The system enables hospital
environments to improve the management of critical equipments. Real-time tracking
of the equipment can help hospitals improve their focus on patient care, deliver better
service, increase revenue/throughput, decrease costs and increase equipment
utilization. For example, better equipment management can ensure greater
availability of critical equipment while optimizing the usage of equipment and
systems for faster patient response.
Ekahau positioning engine, is mainly dependent on the received signal
strength (RSS) to calculate the location of the mobile object, based on RSS values.
The experimental results in Chapter 6 show that the presence of people should also
be taken into account when collecting the location fingerprint. For example, in
crowded environments like hospitals, the Calibration/fingerprint to built radio map
should be taken with presence of the people, in order to improve the accuracy.
73
The experiments with the EPE WLAN location system have impressively
shown that indoor positioning is possible in the 1m accuracy level. However to reach
this accuracy level some requirements have to be met. These requirements comprises
of, a careful calibration as well as sufficient number of access points (An increase in
the number of APs and calibration nodes leads to increased accuracy).
6.2
Future Works
There exists a number of fields in which the idea of WLAN based location
tracking system can be implemented. And a few examples of such applications are
staff tracking and patients tracking.
•
The work can be extended to include the tracking of patients, for example in
mental illness facilities. For example, to enable the nurses to track the location of
patients and receive alarms based on patient movements. When a device, such as a
tag attached on a patient's wardrobe, exits the logical area, an alert triggers to the
control centre.
•
The work can be also extended to include the tracking of the Staff in order to
improve the process workflow.
REFERENCES
[1]
Ismail Guvenc, “Enhancements to RSS Based Indoor Tracking Systems Using
Kalman Filters”, MS Thesis , 2002 ,
http://www.eece.unm.edu/~ismail/ismail_tez1.pdf
[2]
Reenajit Kaur1, Vinnie Defrancesco2, John Enderle3.” Design, Development
and Evaluation of an Asset Tracking System”, University of Connecticut, CT,
IEEE 2005.
[3]
Ekahau Positioning Engine,
http://www.ekahau.com/products/positioningengine.
[4]
Hightower, J., G. Borriello. (2001a). Location Systems for Ubiquitous Computing. IEEE Computer,
Vol. 34, No. 8. August (2001), 57–66.
[5]
K¨upper, A. (2005). Location-based Services Fundamentals and operation.
USA. John Wiley & Sons Ltd.
[6]
Jagoe, A.(2002).
Mobile Location Servies: The Definitive Guide . USA
.Prentice Hall PTR.
[7]
Bahl, P., V. N. Padmanabhan. (2000). RADAR: An In-Building RF-based User
ocation and Tracking System. Proceedings of IEEE Infocom 2000, Tel Aviv,
Israel, 775–784.
[8]
Castro, P., P. Chiu, T. Kremenek, R. Muntz. (2001). A Probabilistic Room
Location Service for Wireless Networked Environments. Proceedings of the
75
3rd International Conference on Ubiquitous Computing, Atlanta, Georgia.
Springer-Verlag, 18–34.
[9]
Youssef, M., A. Agrawala, A. Udaya Shankar. (2003). WLAN Location
etermination via Clustering and Probability Distributions. Proceedings of the
First IEEE International Conference on Pervasive Computing and
Communications (PerCom). IEEE Computer Society, 155–164.
[10] Wallbaum, M., T. Wasch. (2004). Markov Localization of Wireless Local Area
Network Clients. R. Batti, M. Conti, R. Cigno (Eds.), Proceedings of the First
IFIP TC6 Working Conference on Wireless On-Demand Network Systems,
WONS 2004. Springer-Verlag, 1–15.
[11] Wallbaum, M., S. Diepolder. (2005). Benchmarking for Wireless LAN
Location Systems. Proceedings of the 2nd IEEE Workshop on Mobile
Commerce and Services, (WMCS05), Munich, Germany. IEEE Computer
Society.
[12] Want, R., A. Hopper, V. Falcao, J. Gibbson. (1992). The Active Badge
Location System. ACM Transactions on Information Systems, Vol. 10, No. 1,
91–102.
[13]
Royal
Institute
of
Technology,
Sweden.
(2000).
WIPS
Technical
Documentation.
[14] Ward, A., A. Jones, A. Hopper. (1997). A New Location-Technique for the
Active Office. IEEE Personal Communication, Vol. 4, No. 5, 42–47.
[15] SmartLibrary - Location-Aware Mobile Library Service. Markus Aittola, Tapio
Ryhaenen and Timo Ojala. MediaTeam Oulu, University of Oulu, Finland.
[16] http://www.prnewswire.co.uk/cgi/news/release?id=163844
[17] Ekahau Positioning Engine. Developer Guide. Ekahau Ltd.
76
[18] Indoor Positioning Using Wireless LAN Radio Signals. Bernd Eissfeller,
Danilo GÄansch, Swen MÄuller, Andreas Teuber, Institute of Geodesy and
Navigation, University FAF Munich, Germany.
[19] Reenajit Kaur1, Vinnie Defrancesco2, John Enderle3.” Design, Development
and Evaluation of an Asset Tracking System”, University of Connecticut, CT,
IEEE 2005
[20] Aoif Deery,et.Al “ Clinical Trials of WLAN Patient Location System
“,Department of information technology, December 2005.
[21] Netstumbler/Ministumbler: http://www.netstumbler.com/
[22] [http://www.dlink.com/products/category.asp?cid=4&sec=0
[23] Ekahau T101 Wi-Fi tag user guide.
APPENDIX A
EKAHAU SDK TESTER VIEWR
package EquipmentTracking ;
import java.awt.Toolkit ;
import javax.swing.SwingUtilities ;
import javax.swing.UIManager ;
import java.awt.Dimension ;
import java.awt.Dimension ;
import java.awt.Graphics2D ;
import java.awt.GraphicsConfiguration ;
import java.awt.event.ActionEvent ;
import java.awt.event.ActionListener ;
import java.awt.event.MouseAdapter ;
import java.awt.event.MouseEvent ;
import java.awt.event.WindowAdapter ;
import java.awt.event.WindowEvent ;
import java.awt.image.BufferedImage ;
import java.awt.image.ColorModel ;
import java.io.ByteArrayInputStream ;
import java.io.IOException ;
import java.io.InputStream ;
import java.util.Iterator ;
import java.util.LinkedList ;
import java.util.List ;
import javax.imageio.ImageIO ;
import javax.swing.JFrame ;
import javax.swing.JMenuItem ;
import javax.swing.JPopupMenu ;
78
import javax.swing.JScrollPane ;
import javax.swing.JSplitPane ;
import javax.swing.JTable ;
import javax.swing.SwingUtilities ;
import com.ekahau.sdk.Device ;
import com.ekahau.sdk.DeviceListener ;
import com.ekahau.sdk.Location ;
import com.ekahau.sdk.LocationContext ;
import com.ekahau.sdk.LocationEstimate ;
import com.ekahau.sdk.LocationEstimateListener ;
import com.ekahau.sdk.LogicalArea ;
import com.ekahau.sdk.LogicalAreaListener ;
import com.ekahau.sdk.PositioningEngine ;
import com.ekahau.sdk.Status ;
import com.ekahau.sdk.StatusListener ;
import com.ekahau.sdk.TrackedDevice ;
import java.lang.String ;
import java.io.File ;
import javax.sound.sampled.Clip ;
import javax.sound.sampled.AudioSystem ;
import javax.sound.sampled.DataLine ;
import javax.sound.sampled.AudioInputStream ;
import java.awt.Color ;
import com.ekahau.sdk.TrackedDevice ;
**/
/*
// SDKTesterView code
public class SDKTesterView }
boolean packFrame = false ;
private Device trackedDevice ;
private LocationEstimateTracker locationEstimateTracker = new LocationEstimateTracker ;()
private LogicalAreaTracker logicalAreaTracker = new LogicalAreaTracker ;()
private StatusTracker statusTracker = new StatusTracker ;()
private LocationContext currentLocationContext ;
private List devices = new LinkedList ;()
private DeviceTableModel tableModel ;
public static MapView devicesView ;
79
Frm1 gFrm1= null ;
Frame4 gFrame4 = null ;
String strAreaName = null ;
public static JFrame frame ;
**/
*
Construct and show the application .
/*
/*****************************************************************************/
**/
* Views a window with all available devices on real locations on a map. With a
* mouse-click on the map-area you can select the "active" device which then
* turns to red. The map shown in the screen gets changed when the active device
* gets a location on another map. The screen also shows the most probable
* logical area as a green polygon .
/*
// SDKTesterView code
public SDKTesterView (Frm1 f) throws Exception
}
gFrm1 = f ;
devicesView = new MapView ;()
tableModel = new DeviceTableModel ;()
PositioningEngine.connect(); // Connect and initialize the positioning
PositioningEngine.addDeviceListener(new TrackedDeviceListListener ;(()
initGUI ;()
try }
jbInit ;()
{
catch (Exception ex } (
ex.printStackTrace ;()
{
System.err.println("SDK TesterView started ;("
{
public void UpdateShow(boolean update (
}
frame.setVisible(update ;(
{
private void initGUI() throws Exception
80
}
// JFrame.setDefaultLookAndFeelDecorated(true ;(
frame = new JFrame("WCC TestBed Map ;("
frame.addWindowListener(new WindowAdapter ()
}
public void windowClosing(WindowEvent e (
}
//
When the window is closed, disconnect from the Positioning Engine
//
PositioningEngine.disconnect ;()
System.err.println("Closed ;("
//
if(strAreaName== null) strAreaName = "None ;"
//
gFrm1.ExecuteMap(strAreaName ;(
{
;({
devicesView.setToolTipText("Select device to follow by clicking ;("
devicesView.addMouseListener(new MouseAdapter ()
}
public void mouseReleased(MouseEvent e (
}
maybeShowPopup(e ;(
if(strAreaName== null) strAreaName = "None ;"
if(gFrm1 == null) System.out.println("Null gFrm1 ;("
//
gFrm1.ExecuteMap(strAreaName ;(
{
;({
JTable table = new JTable(tableModel ;(
table.setPreferredScrollableViewportSize(new Dimension(500, 70 ;((
JSplitPane splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT ;(
JScrollPane deviceViewSP = new JScrollPane(devicesView ;(
deviceViewSP.setPreferredSize(new Dimension(1024, 600 ;((
splitPane.add(deviceViewSP, JSplitPane.TOP ;(
splitPane.add(new JScrollPane(table), JSplitPane.BOTTOM ;(
frame.getContentPane().add(splitPane ;(
frame.setSize(new Dimension(1024, 768 ;((
frame.setVisible(false ;(
81
{
**/
* Shows the device-list as a popup-menu for selection
/*
private void maybeShowPopup(MouseEvent e (
}
JPopupMenu menu = new JPopupMenu ;()
synchronized (devices (
}
for (Iterator i = devices.iterator(); i.hasNext (;()
}
final TrackedDevice device = (TrackedDevice) i.next ;()
JMenuItem item = new JMenuItem(getDeviceDescription(device ;((
item.addActionListener(new ActionListener ()
}
public void actionPerformed(ActionEvent e (
}
selectTrackedDevice(device ;(
{
;({
menu.add(item ;(
{
{
menu.show(e.getComponent(), e.getX(), e.getY ;(()
{
**/
* Changes the active device
/*
public void selectTrackedDevice(Device device (
}
synchronized (devices (
}
for (Iterator i = devices.iterator(); i.hasNext (;()
}
TrackedDevice current = (TrackedDevice) i.next ;()
if (device.getDeviceId().equals(current.getDeviceId ((()
}
82
this.trackedDevice = device ;
{
{
{
devicesView.setTrackedDevice(device ;(
{
class TrackedDeviceListListener implements DeviceListener
}
public synchronized void deviceAdded(final Device device (
}
TrackedDevice trackedDevice = new TrackedDevice(device ;(
trackedDevice.addLocationEstimateListener(locationEstimateTracker ;(
trackedDevice.addLogicalAreaListener(logicalAreaTracker ;(
trackedDevice.addStatusListener(statusTracker ;(
trackedDevice.setTracking(true ;(
synchronized (devices (
}
devices.add(trackedDevice ;(
{
SwingUtilities.invokeLater(new Runnable ()
}
public void run ()
}
devicesView.addDevice(device ;(
tableModel.addDevice(device ;(
{
;({
{
public synchronized void deviceChanged(final Device device (
}
SwingUtilities.invokeLater(new Runnable ()
}
public void run ()
}
tableModel.updateDevice(device ;(
{
;({
{
83
public synchronized void deviceRemoved(final Device device (
}
synchronized (devices (
}
for (Iterator i = devices.iterator(); i.hasNext (;()
}
TrackedDevice current = (TrackedDevice) i.next ;()
if (device.getDeviceId().equals(current.getDeviceId ((()
}
current.setTracking(false ;(
i.remove ;()
break ;
{
{
{
SwingUtilities.invokeLater(new Runnable ()
}
public void run ()
}
devicesView.removeDevice(device ;(
tableModel.removeDevice(device ;(
{
;({
{
{
**/
* Receives the location estimates from the Ekahau Positioning Engine. Check
* the Documentation of LocationListener in the javadoc-documentation for
* details .
/*
private class LocationEstimateTracker implements LocationEstimateListener
}
public void handleLocationEstimate(LocationEstimate locationEstimate ,
final TrackedDevice device (
}
if (trackedDevice == null (
}
trackedDevice = device; // Starts tracking the first device found
{
84
final Location location = locationEstimate.getLatestLocation ;()
SwingUtilities.invokeLater(new Runnable ()
}
public void run ()
}
tableModel.updateDeviceLocation(device, location ;(
{
;({
//
If the LocationContext has changed, the tracked device has entered
//
another map .
//
This means that we have to change the map in our window :
if (device == trackedDevice
! &&
location.getLocationContext().equals(currentLocationContext ((
}
currentLocationContext = location.getLocationContext ;()
BufferedImage image = null ;
if (location.getLocationContext() != null (
}
image = createImage(location.getLocationContext ;(()
final BufferedImage finalImage = image ;
SwingUtilities.invokeLater(new Runnable ()
}
public void run ()
}
devicesView.setMap(location.getLocationContext(), finalImage ;(
{
;({
{
{
SwingUtilities.invokeLater(new Runnable ()
}
public void run ()
}
devicesView.updateDeviceLocation(device, location ;(
{
85
;({
{
{
private BufferedImage createImage(LocationContext locationContext (
}
InputStream in = new ByteArrayInputStream(locationContext.getMap ;(()
BufferedImage raw = null ;
try
}
raw = ImageIO.read(in ;(
{
catch (IOException e (
}
{
if (raw == null (
return null ;
GraphicsConfiguration graphicsConfiguration = devicesView
.
getGraphicsConfiguration ;()
ColorModel colorModel = raw.getColorModel ;()
ColorModel gcColorModel = null ;
if (graphicsConfiguration != null (
gcColorModel = graphicsConfiguration.getColorModel ;()
if (!colorModel.equals(gcColorModel) && gcColorModel != null (
}
BufferedImage image = graphicsConfiguration.createCompatibleImage(raw
.
getWidth(), raw.getHeight ;(()
Graphics2D graphics2D = image.createGraphics ;()
//
graphics2D.drawImage(raw,0,0,640,480,null ;(
graphics2D.drawImage(raw, null, 0, 0 ;(
graphics2D.dispose ;()
return image ;
{
return raw ;
{
**/
* Receives the logical areas and prints the most probable of the selected
* device's areas on the map .
/*
86
private class LogicalAreaTracker implements LogicalAreaListener
}
private void PlayMySound ()
}
File soundFile = new File("alarm.wav ;("
try }
AudioInputStream sound = AudioSystem.getAudioInputStream )
soundFile ;(
DataLine.Info info = new DataLine.Info(Clip.class ,
sound.getFormat ;(()
Clip clip = (Clip) AudioSystem.getLine(info ;(
clip.open(sound ;(
clip.start ;()
{
catch (Exception e1 {} (
{
public void handleLogicalAreas(final LogicalArea[] logicalAreas ,
final TrackedDevice device (
}
if ((logicalAreas != null) && (logicalAreas.length > 0 ((
}
*/
String ipaddress_of_cr_dev = device.getAttribute("NETWORK.IP-ADDRESS ;("
FILE OPEN ("DATABASE ;("
FIND (IP_ADDRESS_OF_CR_DEV ;(
FROM DATABASE FILE -==READ THE SUPPOSED TO BE LOCATION !
IF THE LOCATION != TO CURRENT LOCATION!!!! PLAY SOUND, CHANGE COLOR ;
/*
String areaName ;"" =
if (logicalAreas[0] != null (
}
areaName = logicalAreas[0].getName ;()
*/
)
if(( device.getAttribute("NETWORK.IP-ADDRESS").equals("192.168.0.233 && (("
device.getAttribute("NETWORK.IP-ADDRESS").equals("192.168.0.114 ((("
87
}
if(areaName.equals("Meeting (("
}
System.out.print("helloo ;("
devicesView.setTrackedDevice(null ;(
{
{
/*
if( device.getAttribute("NETWORK.IP-ADDRESS").equals("192.168.0.114 (("
}
System.out.println(areaName ;(
if(areaName == null (
}
frame.setVisible(true ;(
System.out.println("Location not found, because set at null, exit ;("
selectTrackedDevice(device ;(
PlayMySound ;()
return ;
{
//
areaName = "Usman ;"
if(areaName.equals("Lap A (("
}
System.out.print("helloo ;("
devicesView.setTrackedDevice(null ;(
{
else
}
frame.setVisible(true ;(
selectTrackedDevice(device ;(
//
Play sound
PlayMySound ;()
System.out.print("bye bye ;("
{
{
if( device.getAttribute("NETWORK.IP-ADDRESS").equals("192.168.0.233 (("
}
88
System.out.println(areaName ;(
if(areaName == null (
}
frame.setVisible(true ;(
System.out.println("Location not found, because set at null, exit ;("
selectTrackedDevice(device ;(
PlayMySound ;()
return ;
{
if(areaName.equals("Operation Room (("
}
System.out.print("helloo ;("
devicesView.setTrackedDevice(null ;(
{
else
}
frame.setVisible(true ;(
selectTrackedDevice(device ;(
PlayMySound ;()
System.out.print("bye bye ;("
{
{
{
if(device.getAttribute("NETWORK.IP-ADDRESS").equals("192.168.0.114 (("
}
String s = getDeviceDescription(device ;(
System.out.println(s ;(
{
*/ searching /************************
;
if ( Frame4.x != null (
89
}
if (device.getAttribute("NETWORK.IP-ADDRESS").equals(Frame4.x ((
}
selectTrackedDevice(device ;(
{
else if (Frame4.x.equals(null } ((
}
//
devicesView.trackedDeviceKey = null ;
System.out.println("Else s ;("
devicesView.setTrackedDevice(null ;(
{
System.out.print(Frame4.x ;(
{{
else
if ((device != null) && (trackedDevice != null (
&&
device.getDeviceId().equals(trackedDevice.getDeviceId ((()
}
int[][] logicalAreaPolygon ;
if (logicalAreas[0] == null (
}
logicalAreaPolygon = null ;
{
else
}
logicalAreaPolygon = logicalAreas[0].getPolygon ;()
{
final int[][] finalLogicalAreaPolygon = logicalAreaPolygon ;
SwingUtilities.invokeLater(new Runnable ()
}
public void run ()
}
devicesView.setLogicalAreaPolygon(finalLogicalAreaPolygon ;(
{
;({
{
90
SwingUtilities.invokeLater(new Runnable ()
}
public void run ()
}
tableModel.updateDeviceArea(device ,
logicalAreas.length > 0 ? logicalAreas[0] : null ;(
{
;({
{
{
{
**/
* Receives status messages from the Ekahau Positioning Engine and prints them
* to standard error and forwards them to device-table .
/*
private class StatusTracker implements StatusListener
}
public void handleStatus(final Status status, final TrackedDevice device (
}
SwingUtilities.invokeLater(new Runnable ()
}
public void run ()
}
tableModel.updateDeviceStatus(device, status ;(
{
;({
{
{
**/
* Returns the description of the tracked device
*
@ * param device
* the device to extract information from
@ * return ip and dns-address as String
/*
91
public String getDeviceDescription(Device device (
}
// return device.getAttribute("NETWORK.IP-ADDRESS ;("
return device.getAttributes().getProperty("GENERAL.NAME ;("
{
*/
public static void main(String[] args) throws Exception
}
new SDKTesterView ;()
/*{
private void jbInit() throws Exception }
{
{
APPENDIX B
92
Signal Strength Measurement during Non-Busy Hours
Signal Strength Measurement during -Busy Hours
Time (min)
SNR(dBm)
AP1
AP2
AP3
1
-77.6786
-61.3445
-73.7712
2
-77.2833
-61.05
-75.0588
3
-77.15
-61.2917
-74.75
4
-77.3
-60.8167
-74.9407
5
-77.2
-61.225
-74.725
6
-77.25
-61.7917
-74.958
7
-77.25
-61.95
-74.9244
8
-77.3083
-61.7667
-74.8167
9
-77.1167
-62.15
-74.6441
10
-77.1417
-61.975
-74.7333
11
-77.437
-62.0924
-74.6496
12
-76.5083
-62.0833
-76.6134
13
-77.4286
-63.0833
-76.3167
14
-78.1167
-62.8583
-75.7778
15
-78.1933
-62.875
-75.8644
16
-77.9917
-62.9667
-75.7395
17
-78.2
-62.7833
-75.6833
18
-78.0167
-63.0583
-75.6333
19
-78.1724
-63.3583
-74.437
20
-78.0583
-62.3917
-75.4874
21
-77.7667
-62.8833
-75.2167
22
-78.1917
-63.0833
-75.6333
23
-78.025
-63.025
-75.6333
24
-77.8305
-62.2627
-75.3051
25
-76.2521
-60.9244
-74.4034
26
-76.3983
-61.5
-74.5254
27
-76.4872
-62.0169
-74.322
28
-77.275
-62.3917
-73.8151
29
-77.5667
-62.4
-73.9831
30
-77.35
-61.95
-73.4667
93
Time (min)
SNR(dBm)
AP1
AP2
AP3
1
-80.22522523
-68.64166667
-71.00833333
2
-81.68269231
-63.12605042
-73.60504202
3
-82.2815534
-61.36134454
-73.58823529
4
-81.75471698
-62.44166667
-73.93220339
5
-82.46078431
-61.68907563
-74.87394958
6
-83.03947368
-62.89915966
-75.79487179
7
-80.64035088
-61.27731092
-74.70588235
8
-79.57522124
-61.76470588
-75.61016949
9
-77.50434783
-63.19327731
-76.15966387
10
-78.04504505
-61.09243697
-75.50420168
11
-78.11504425
-62.04166667
-76.20168067
12
-78.14655172
-63.84166667
-74.69747899
13
-78.18103448
-62.125
-74.79166667
14
-79.77586207
-69.13333333
-75.82758621
15
-83.22619048
-66.73333333
-78.56896552
16
-79.26724138
-62.45378151
-75.41880342
17
-77.46956522
-62.09243697
-75.14655172
18
-76.92436975
-62.60833333
-73.77966102
19
-77.74166667
-63.19327731
-74.39166667
20
-78.14529915
-64.58823529
-74.35
21
-80.53636364
-63.56666667
-75.53846154
22
-81.17757009
-63.61016949
-75.75630252
23
-79.53043478
-67.06666667
-74.15
24
-78.10084034
-63.09166667
-75.71794872
25
-77.83898305
-62.45378151
-72.64166667
26
-78.04385965
-62.11666667
-73.33898305
27
-81.30188679
-65.25210084
-75.43333333
28
-79.38383838
-64.75833333
-74
29
-75.82608696
-62.11016949
-74.02542373
30
-78.12820513
-62.125
-73.2
94
APPENDIX C
Measurement of the RSS at different Location
RSS at location A
time (min)
SNR(dBm)
AP1
Ap2
AP3
AP4
AP5
2
-55.1356
-60.7768
-73.5
-55.2344
-38.4237
3
-56.25
-59.5
-73.0847
-53.322
-37
4
-55.7
-60.875
-71.45
-53.9
-37
5
-56
-59.8
-72.6
-53.4
-37
6
-55.45
-59.775
-72.35
-53.8
-37
7
-55.3559
-59.75
-72.7966
-53.85
-37
8
-55.5
-59.425
-72.2
-53.35
-37
9
-57
-59.4492
-72.1525
-54.0508
-37.0847
10
-55.8305
-59.4917
-72.9333
-53.45
-37
11
-56.2167
-59.9417
-72.4
-54.0167
-37
12
-55.4667
-59.7373
-72.4915
-53.8305
-37
13
-55.65
-59.9333
-72.1833
-53.6333
-37
14
-55.35
-59.5583
-72.8421
-53.6885
-37
15
-55
-59.4261
-72.661
-53.661
-37
16
-55.35
-59.2051
-71.95
-53.3443
-36.9833
17
-55.25
-59.15
-72.2034
-53.75
-36.8167
18
-56.5
-59.35
-72.3684
-53.6
-36.35
19
-55.2951
-59.275
-71.85
-53
-36
20
-55.0508
-60.0252
-72
-53.55
-36.4333
-54.85
-59.375
-72.0984
-53.4
-36.5238
1
RSS at location B
95
Time (min)
SNR (dBm)
AP1
AP2
AP3
AP4
AP5
1
-45
-38.3
-84.6316
-76.918
-61.9672
2
-44.85
-36.05
-86.8182
-76.7
-62
3
-46.4
-36.05
-86.2
-76.05
-62
4
-45.7
-35.85
-85.9375
-76.1
-62
5
-45.35
-37.55
-85.7308
-76.45
-62
6
-45.7
-35.6
-86.2727
-75.95
-61.8
7
-47.6
-37.25
-85.5313
-76.05
-61.7833
8
-44.6
-38.1
-84.7273
-76.65
-61.6333
9
-44.7627
-37.6
-84.5
-76.8947
-62
10
-44
-37.5424
-85.2381
-76.7627
-61.7119
11
-44.15
-37
-85.4167
-75.55
-61
12
-43.75
-35.9
-85.2143
-75.9
-61.2167
13
-43.8833
-35.1
-85.7143
-75.7
-61
14
-43.9667
-35.2
-85.875
-76.1167
-61
15
-43.9
-35.15
-85.7429
-75.9825
-61
16
-45.3167
-35.1333
-85.7273
-75.85
-61
17
-46.1186
-38.4833
-85
-76.6545
-61.05
18
-44.8
-38.9492
-84.9024
-77.9655
-61.4746
19
-44.5833
-38.3
-84.4
-76.2373
-61.6667
20
-44.6167
-40.2031
-83.6154
-78.082
-61.6393
RSS at location C
96
Time(min)
SNR(dBm)
AP1
AP2
AP3
AP4
AP5
1
-79.4286
-80.0357
-78.0161
-31.6066
-51.0167
2
-79.4
-80.3333
-77.6667
-33.6
-51
3
-79.18
-79.6842
-77.95
-31.6167
-51
4
-79.4727
-80.7917
-77.9167
-33.3333
-51.3833
5
-78.7368
-79.1277
-77.3333
-32.55
-51.0667
6
-81.7
-79.4576
-77.9153
-31.5
-51.0833
7
-81.8667
-79.4211
-78.2373
-32.6
-51.3729
8
-80.875
-80.322
-76.322
-31.0847
-51.3833
9
-80.4107
-81.2034
-75.9
-31.3
-51.2
10
-78.35
-79.7627
-78.2
-33.85
-51.35
11
-78.6
-79.2679
-77.7797
-33.45
-51.5833
12
-79.15
-78.7895
-78.1
-33.05
-51.5
13
-78.7
-78.125
-78.0588
-33.9
-51.3729
14
-80.3051
-78.7931
-77.8214
-31.4407
-51.1833
15
-80.2667
-79.6429
-77.5167
-30.8833
-51.4333
16
-78.2105
-79.4082
-78.4333
-34.3667
-51.15
17
-78.9
-78.7667
-77.8333
-32.55
-51.4576
18
-78.9286
-79.7857
-77.7288
-32.5085
-51.7
19
-80.4
-79.2632
-78.1
-32.85
-51.5738
20
-80.7759
-78.5167
-77.9516
-32.3387
97
RSS at location D
TIME (min)
SNR(dBm)
AP1
AP2
AP3
AP4
AP5
1
-67.1803
-72.7213
-61.1452
-87
-80.1864
2
-68.322
-72.9492
-60.8475
-86.5714
-80.339
3
-67.4833
-72.6842
-61.1
-87.2609
-80.2222
4
-66.9667
-72.9
-61
-87.1538
-79.9074
5
-67.15
-72.5667
-61.05
-86.9286
-79.9815
6
-66.9333
-72.6333
-61
-86.925
-80.1296
7
-66.6207
-72.4915
-61.5357
-87.1212
-79.66
8
-67.3833
-72.8
-61
-87.4545
-79.5789
9
-67.2807
-73.0333
-60.9
-87.4474
-80.5
10
-67.3333
-72.65
-61.25
-87.2069
-79.6842
11
-67.3333
-72.7
-60.95
-87.5769
-80.25
12
-67.0167
-72.6167
-60.95
-87.8571
-80.0351
13
-67.0508
-72.5424
-61.1017
-87.8889
-78.8909
14
-67.65
-72.5
-61.6
-87.125
-79.1
15
-67
-72.75
-61.05
-87.6667
-80.7222
16
-67.55
-72.6
-61.05
-87.8966
-80.5
17
-67.3898
-72.7458
-60.6441
-87.8333
-80.7547
18
-67.8
-72.7
-61.15
-88.4615
-79.9833
19
-66.9167
-72.65
-60.9
-88.1154
-79.9333
20
-66.9667
-72.7667
-60.8
-87.7442
-79.7593
98
RSS at location E
TIME (min)
SNR(dBm)
AP1
AP2
AP3
AP4
AP5
1
-81.9444
-86.619
-36.4667
-69.2623
-57.7167
2
-81.9783
-88
-36.4667
-68.2632
-58.75
3
-81.5833
-86
-36.1833
-68.0169
-57.5424
4
-81.5333
-87.5
-36.05
-68
-57.1864
5
-81.7857
-88
-36.0167
-68.3
-57.75
6
-82.6154
-88
-36
-68.2712
-58.1525
7
-82.1463
-88
-36
-68.45
-57.5932
8
-82.1282
-88
-36.0333
-68.4915
-57.2
9
-83.0652
-87
-36
-68.3
-57.35
10
-83.1475
-88
-36.0169
-68.339
-57.4915
11
-82.5614
-87.3333
-36
-68.5
-58
12
-81.6102
-87
-36
-68.8667
-58.3158
13
-81.4259
-88
-36.0333
-68.4833
-57.0667
14
-81.6111
-86
-36
-68.8167
-57.8833
15
-81.549
-86
-36
-68.4333
-58.05
16
-81.5789
-86
-36
-68.95
-57.75
17
-82.0545
-86
-36
-68.9
-58.15
18
-81.7925
-86
-36
-68.8983
-57.6379
19
-81.6875
-88
-36.0333
-68.6
-57.4746
20
-81.5
-88
-36.082
-69.05
-59.2
99
RSS at location F
TIME (min)
SNR(dBm)
AP1
AP2
AP3
AP4
1
-73.2931
-82.6
-72.3871
-87.3333
2
-73.5333
-82.7736
-72.6333
-88.2941
3
-73.2167
-82.7627
-72.7667
-89.5
4
-73.5085
-82.9643
-72.9667
-88
5
-73.3
-82.9667
-72.7627
-89.3684
6
-73.15
-82.7368
-72.4333
-90
7
-73.1579
-82.9123
-72
-88.5556
8
-73.1667
-82.6667
-72
-89
9
-72.9333
-82.8246
-72
-89.75
10
-72.9492
-82.9138
-72
-89.5
11
-73.15
-83.2222
-72
-89.5556
12
-73
-83
-72
-89.2
13
-73.05
-82.2632
-72
-89.5714
14
-72.6316
-82.6316
-72
-89
15
-72.6
-82.4737
-72
-89
16
-72.8644
-82.2542
-72
-89
17
-73.1833
-82.2941
-72
-87.5882
18
-73.2
-81.6863
-72.2833
-88
19
-72.95
-81.9649
-72
-88
20
-73.5833
-82.3864
-72
-88.625
AP5
-79.3673
-80.32
-79.2553
-79.1224
-80.125
-79.4074
-78.44
-79.2326
-79.4255
-79.3333
-79.4706
-79.2353
-79.5
-79.6667
-79.2667
-79.18
-80.7083
-79.6735
-80.1463
-79.234
100
RSS at location G
TIME (min)
SNR(dBm)
AP1
AP2
AP3
AP4
AP5
1
-81.5
-87
-36.4667
-73.0492
-78.1897
2
-81
-88.5
-36.4667
-72.9492
-78.1132
3
-81
-86.75
-36.1833
-73.2167
-77.0333
4
-81.75
-85.7727
-36.05
-73.0833
-76.2034
5
-80
-86.4878
-36.0167
-73.3
-76.5667
6
-82
-87.7692
-36
-73.25
-75.8167
7
-80.5
-85
-36
-73.2
-76.963
8
-80
-85
-36.0333
-73.2
-77.3833
9
-80.4615
-86
-36
-73.15
-77.7667
10
-84.3636
-85.9231
-36.0169
-73.2143
-77.8136
11
-86.6667
-88.2727
-36
-73.45
-77.95
12
-84
-88.1429
-36
-73.35
-77.6
13
-86.9091
-85.625
-36.0333
-73.5
-78.15
14
-88.7391
-88
-36
-73.375
-78.25
15
-85
-90.7857
-36
-73.5
-78.25
16
-87.0571
-87.6667
-36
-73.4068
-78.1017
17
-85.2727
-88.6
-36
-73.4333
-77.85
18
-82
-86.875
-36
-75
-78.3333
19
-83.022
-86
-36.0333
-73.339
-78.4833
20
-83.5
-86
-36.082
-74.6923
-78.6667
101
APPENDIX D
Number of Access points
(Accuracy analysis)
One AP
3.6
3.7
3.3
3.1
3.6
4
4.1
4.3
Average
3.7125
5 AP
0.9
1
1.1
1
0.9
1
0.9
1
Average
0.975
Tow AP
1.3
2
1.9
1.4
1.5
1.7
1.7
1.9
Average
1.675
3 AP
1.2
1.3
0.9
0.8
0.8
0.9
1.3
1.2
Average
1.05
4 AP
0.9
1
1.1
1.1
0.9
1
0.8
1
Average
0.985714
102
APPENDIX E
Number of Calibration Nodes
(Accuracy analysis)
No of node
3
5.4
5.6
5.1
Average
5.366667
4
5.1
5.3
4.8
Average
5.066667
5
3.9
3.7
4.2
Average
3.933333
6
2.4
2.4
2.6
Average
2.466667
7
2.4
2.2
2.1
Average
2.233333
8
1.7
1.8
1.7
Average
1.733333
9
1.5
1.4
1.4
Average
1.433333
10
1.2
1.3
1.3
Average
1.266667
11
1.1
1.2
0.9
Average
1.066667
© Copyright 2026 Paperzz