60
Faculty of Media Engineering and Technology German University in Cairo WiGuide: Indoor System for LBS Bachelor Thesis Author: Ahmed Ali Sabbour Supervisor: Prof. Dr. Amal Elnahas July, 2007

TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

Embed Size (px)

Citation preview

Page 1: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

Faculty of Media Engineering and Technology

German University in Cairo

WiGuide: Indoor System for LBS

Bachelor Thesis

Author: Ahmed Ali Sabbour

Supervisor: Prof. Dr. Amal Elnahas

July, 2007

Page 2: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

WiGuide: Indoor System for LBS

Declaration

I declare that this thesis comprises only my original work toward the BachelorDegree. Information derived from the published and unpublished work of others hasbeen acknowledged in the text and a list of references is given.

Ahmed Ali SabbourJuly 11, 2007

ii

Page 3: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

WiGuide: Indoor System for LBS

Abstract

The rapid advances in wireless technology as well as in the manufacturing of portable

devices caused a growing interest in location aware services. A location sensing

system responsible for locating a mobile user, is a crucial factor for the success of

such services. With the prevalence of wireless hotspots and wireless area networks,

the use of a wireless network infrastructure as basis for an indoor positioning system

becomes a viable option.

In this work, we propose an indoor guide system that provides information about

points of interest and objects within the vicinity of the user. Our system can be

deployed on a university campus or inside a museum equipped with a wireless net-

work. The system uses the fingerprinting technique to associate position dependent

information such as the strength of the received signal with a location.

A range based matching algorithm for matching the physical signal strength

with the fingerprints in the database is used and its performance is compared to an

Euclidean distance based matching algorithm. The properties of the wireless signals

and their distribution under several controlled experiments are analyzed.

iii

Page 4: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

Contents

Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii

Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi

List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii

1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Objectives and challenges . . . . . . . . . . . . . . . . . . . . . . . . 2

1.3 Thesis organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.1 Localization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.1.1 Indoor localization . . . . . . . . . . . . . . . . . . . . . . . . 7

2.1.1.1 Trilateration . . . . . . . . . . . . . . . . . . . . . . 8

2.1.1.2 Angulation . . . . . . . . . . . . . . . . . . . . . . . 10

2.1.1.3 Scene analysis and Fingerprinting . . . . . . . . . . . 10

2.1.1.4 Proximity . . . . . . . . . . . . . . . . . . . . . . . . 12

2.1.2 Outdoor localization . . . . . . . . . . . . . . . . . . . . . . . 12

2.1.2.1 Global Positioning System . . . . . . . . . . . . . . . 12

2.1.2.2 Cellular Networks . . . . . . . . . . . . . . . . . . . 14

2.2 Technologies and related applications . . . . . . . . . . . . . . . . . . 14

2.2.1 Examples of indoor localization systems . . . . . . . . . . . . 14

2.2.1.1 ActiveBadge (infrared) . . . . . . . . . . . . . . . . . 14

2.2.1.2 Cricket (ultrasonic) . . . . . . . . . . . . . . . . . . . 15

2.2.1.3 EasyLiving (scene analysis) . . . . . . . . . . . . . . 15

2.2.1.4 SpotON (radio frequency) . . . . . . . . . . . . . . . 15

2.2.2 Indoor tour guide systems . . . . . . . . . . . . . . . . . . . . 15

2.2.2.1 Cyberguide . . . . . . . . . . . . . . . . . . . . . . . 15

2.2.2.2 Marble Museum . . . . . . . . . . . . . . . . . . . . 16

2.2.2.3 IrReal . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.2.2.4 Hippie . . . . . . . . . . . . . . . . . . . . . . . . . . 18

iv

Page 5: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

3 WiGuide design and implementation . . . . . . . . . . . . . . . . . 19

3.1 Localization approach . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.2 WiGuide design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.2.1 Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.2.2 Wireless signal acquisition . . . . . . . . . . . . . . . . . . . . 31

3.2.3 Message passing protocols . . . . . . . . . . . . . . . . . . . . 31

3.2.4 Fingerprinting algorithm . . . . . . . . . . . . . . . . . . . . . 33

3.2.5 Matching algorithm . . . . . . . . . . . . . . . . . . . . . . . . 36

3.2.5.1 Range based matching . . . . . . . . . . . . . . . . . 37

3.2.5.2 Euclidean distance matching . . . . . . . . . . . . . . 38

3.2.6 Location presentation . . . . . . . . . . . . . . . . . . . . . . . 39

4 Conclusion and Future Work . . . . . . . . . . . . . . . . . . . . . . 40

Appendix A Screenshots . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

A.1 Client interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

A.2 Fingerprinter interface . . . . . . . . . . . . . . . . . . . . . . . . . . 43

Appendix B Installation instructions . . . . . . . . . . . . . . . . . . . 46

B.1 Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

B.1.1 Installation of the NDIS driver . . . . . . . . . . . . . . . . . . 46

B.1.2 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

B.2 Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

B.2.1 Installation of Abyss web server and configuration of PHP . . 47

B.2.2 Installation of Oracle 10g XE and running the Database . . . 47

B.2.3 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

B.3 Running . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

v

Page 6: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

Acknowledgments

I would like to thank all of the people who made it possible for me to finish this

thesis. I would like to express my gratitude to my supervisor Prof. Dr. Amal

Elnahas for her continuous support and guidance throughout the duration of the

project. I would also like to thank my friends and colleagues, specially Raed Rizk,

for being there and providing me with moral support. Finally, I would like to thank

my family, for helping me getting good education and for being supportive and

patient.

vi

Page 7: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

List of Figures

2.1 Location Based Services applications. . . . . . . . . . . . . . . . . . . 4

2.2 Location Based Service components . . . . . . . . . . . . . . . . . . . 6

2.3 Triangulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.4 Classification of outdoor localization technologies . . . . . . . . . . . 13

3.1 Effect of sampling period on the distribution of the signals from access

point xA7C8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.2 Effect of the number of access points on probability of correct location

estimation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.3 Effect of user presence. AP: xA7C8 . . . . . . . . . . . . . . . . . . . 23

3.4 Coverage of an Omnidirectional antenna . . . . . . . . . . . . . . . . 24

3.5 Experiment location . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.6 Experiment setup of orientation. AP: xA7C8 . . . . . . . . . . . . . 25

3.7 Effect of user orientation while parallel to antenna. AP: xA7C8 . . . 26

3.8 Effect of user orientation while perpendicular to antenna. AP: xA7C8 26

3.9 Relation between the average signal strength and the signal distribution 27

3.10 Client-Server architecture of the system . . . . . . . . . . . . . . . . . 28

3.11 Database ERD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.12 The fingerprinting algorithm . . . . . . . . . . . . . . . . . . . . . . . 34

3.13 Determining the group leader . . . . . . . . . . . . . . . . . . . . . . 35

3.14 Calculating the unfiltered range . . . . . . . . . . . . . . . . . . . . . 36

3.15 Calculating the filtered range . . . . . . . . . . . . . . . . . . . . . . 37

3.16 The client side of the matching algorithm . . . . . . . . . . . . . . . . 38

A.1 Location in progress . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

A.2 Services associated with the room . . . . . . . . . . . . . . . . . . . . 42

A.3 Location of the room on the map . . . . . . . . . . . . . . . . . . . . 42

A.4 Adding/Removing buildings . . . . . . . . . . . . . . . . . . . . . . . 43

A.5 Adding/Removing rooms . . . . . . . . . . . . . . . . . . . . . . . . . 44

A.6 Adding/Removing services . . . . . . . . . . . . . . . . . . . . . . . . 44

A.7 Setting location of a room on the map . . . . . . . . . . . . . . . . . 45

vii

Page 8: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

A.8 Fingerprinting of rooms . . . . . . . . . . . . . . . . . . . . . . . . . 45

viii

Page 9: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

Chapter 1

Introduction

This thesis presents an indoor location based system that provides users with location

sensitive information. The motivation, objectives and the challenges addressed in

order to achieve the desired results are outlined in the following sections.

1.1 Motivation

With the rapid advances in wireless telecommunication and portable devices tech-

nologies, the need for smart applications that could offer personalized services to

the mobile users has attracted a lot of research interest in the past few years. This

interest has led to the development of a range of services called “Location Based

Services”. Location based services are aimed at making use of geospatial location

information as well as user context in order to provide the end-user with useful per-

sonalized information. Several usage trends have been observed in location based

services among which emergency services, information services, tracking services and

entertainment services where the most general.

Nevertheless, most of the previous implementations of location based services

focused on outdoor localization and outdoor services due to the widespread use of

GPS systems. Only a few, discussed in Chapter 2, addressed indoor localization.

Those systems that could locate users indoors relied on installing sensor networks

and other options that increased the cost of system deployment. With the prevalence

of wireless LAN infrastructure as well as the ever decreasing cost of wireless access

points, the use of wireless access points as a basis for location determination becomes

an attractive option.

1

Page 10: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

CHAPTER 1. INTRODUCTION 2

1.2 Objectives and challenges

The primary aim of this project is to design a system that would be able to locate

mobile users in an indoor environment as well as provide them with location sensitive

information in the most efficient and cost effective way. The proposed system could

be deployed in multiple applications. Inside a museum, for example, tourists carrying

a PDA and moving inside the museum sections, would be able to know what kind

of art is present in the section they are standing in. Another example would be new

students visiting a campus. Students moving with their PDAs or laptops would be

able to determine where the nearest food outlets or copy centers are.

We based our localization system on a fingerprinting approach, where a finger-

print database is generated for the selected location. This fingerprint database con-

sists of the measured signal strength at different locations. A user’s signal strength

is measured and compared against the database in order to find the location.

To be able to realize that aim, the project is subdivided into several goals:

� Creating an application that provides administrators with means to add new

buildings, rooms and services through an intuitive interface. Developing an

algorithm to generate the fingerprints of a location and providing the admin-

istrators with a tool to allow rapid fingerprinting of locations.

� Creating a server that could handle multiple clients simultaneously.

� Streamlining the client application for easy deployment on devices with limited

processing power.

� Developing an algorithm to match a location to a fingerprint.

The measurement and collection of the wireless signals in different locations im-

poses many challenges such as the instability of the wireless signal and its lognormal

Gaussian distribution, the granularity of the system and its effect on the accuracy

and the effect of user orientation on the signals collected. These challenges are

analyzed in detail in Chapter 3.

1.3 Thesis organization

The thesis is organised as follows.

In chapter 2, location based services and their components are discussed. A

survey of the current location matching technologies with the focus on indoor po-

sitioning techniques is presented. In addition, different applications proposed for

indoor tour guide systems are viewed.

Page 11: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

CHAPTER 1. INTRODUCTION 3

The system implementation including different algorithms used are discussed in

chapter 3.

Finally, in chapter 4, the conclusion and suggestions for possible future enhance-

ments are presented.

Page 12: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

Chapter 2

Background

Several usage trends have been observed in location based services among which

emergency services, information services, tracking services and entertainment ser-

vices where the most general. Emergency services usage include providing the user

with recent security alerts and public safety announcements such as earthquake and

hurricane warnings. Information services usage include providing the user with the

latest news, sports results, weather forecasts, stock quotes as well as routing as-

sistance. Tracking services involve asset, fleet and logistic monitoring in addition

to individual person tracking [1]. The anatomy of different location based services

applications presented in [2], are shown in Figure 2.1.

Figure 2.1: Location Based Services applications.

A location based service system involves four enabling technologies as Figure 2.2

depicts [2]. The user device is the component by which the user requests information

4

Page 13: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

CHAPTER 2. BACKGROUND 5

and views the resulting services. It acts as a method to interface between the user of

the service and the service itself. It could be any mobile device such as a smartphone,

a PDA, a laptop or a tablet PC. Depending on the portability, any of those devices

could perform this function. For example, a PDA or a mobile phone may prove to be

the most portable device but this could result in sacrificing some of the information

that could be presented due to the limited battery and processing power these

devices might have. On the other hand, a laptop could be very un portable (in

case of performing an on-foot tour, for example), but can make up for this with the

ability to display large maps.

The content provider is an entity which provides services and information based

on the given location of a user. This provider might be implemented specifically for

the purpose of the system, such as in the case of a campus or museum guide. In

other cases, it can be a more generic one such as Yellow Pages, providing users with

information added through third party content providers.

The network component is a crucial part of the system because it is the back-

bone of information delivery and data transmission between the user device and the

content provider. The communication network through which the user is connected

to the service provider affects the amount of data that could be transferred to the

user. If the user is using a WiFi Wireless network, then it would be safe to assume

that the user is on a high bandwidth network and probably a low cost one. On the

other hand, if the user is connected through a cellular network like GPRS , then the

cost of data transfer should be taken into account as well as the limited bandwidth

availability.

Every location based service system involves a positioning component of some

sort. The positioning component, also known as localization component, is responsi-

ble for locating the user at any time.Depending on the intended usage of the system,

the system could resort to positioning using several technologies including using the

mobile network, GPS, WLAN, radio beacons and active badges as will be discussed

in the following sections.

2.1 Localization

Localization process involves several issues and characteristics that need to be de-

fined before we can start discussing the several approaches. Each approach maybe

suitable in one application over the other. According to the following comparison

criteria, a choice regarding which location-sensing system could be chosen would be

made.

Page 14: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

CHAPTER 2. BACKGROUND 6

Figure 2.2: Location Based Service components

Physical Position and Symbolic Location Physical position is the position ob-

tained from the system using physical co-ordinates such as those obtained from

a GPS device. The GPS device usually provides the user with co-ordinates in

the form of lateral and longitudinal degrees as well as altitude with respect

to the sea. On the other hand, a symbolic location is a location that has a

meaning in its context. For example, a symbolic location system could inform

users that they are in the living room instead of giving them co-ordinates.

Usually, a physical positioning system can provide the co-ordinates to another

interface that would query a database of symbolic locations in order to emulate

a symbolic location system [3].

Absolute vs. Relative In an absolute positioning system, if two mobile devices

are located at the same spot, their position will be the same (for example, in a

GPS system). On the other hand, if a relative positioning system is used, the

device will report its location with respect to a specific reference point or in

case of locating other devices, with respect to itself. As the case with physical

position and symbolic location, either systems; absolute or relative, can be

augmented to simulate the other, though with limited success [3]. In case of

an absolute positioning system, the system could emulate relative positioning

by searching for a reference point and modifying the reported location to be

with respect to that reference point. In case of relative positioning, one could

use the knowledge of the position of other reference points in order to determine

the absolute location.

Location Computation The location computation parameters defines whether

the client is the one that calculates the location using a specific algorithm

or that it is a centralized server that manages this calculation. This choice

would depend upon the size as well as the designated power consumption of

Page 15: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

CHAPTER 2. BACKGROUND 7

the client. If the client computes its location (for example using triangulation

from GPS signals), it would need to have sufficient computational power in

order to calculate its position in adequate time. This computational power

would translate as more electronic power consumption. On the other hand, a

device that relies on an external server to locate it by broadcasting a beacon

signal or receiving the locations directly from the server would not need much

computational power but would mean that the server would have to undertake

more responsibilities which might affect the number of clients that could be

served simultaneously. On another note, having the server compute the clients’

locations and possibly saving them raises privacy concerns [4].

Accuracy and Precision Accuracy represents how much is the location deviated

from the actual position. Precision is the percentage of time the system is able

to determine the location and achieve the specified accuracy. Both accuracy

and precision are important when determining the effectiveness of a specific

positioning system. Depending on the intended application, a 50m accurate

system might be sufficient, for example in an outdoor city tour guide. In con-

trast, the same system might not be effective at all if the intended application

was indoor positioning since this 50m window of error is simply too large that

it might span the whole building. New research is directed towards the use of

information from several sources by aggregating them into a statistical model

in effort to increase both the accuracy and precision of the system.

Responsiveness and Latency For the application to be productive, it has to be

responsive which means that the location of the user would have to be calcu-

lated in real-time. This can sometimes pose a challenge because if the user

device was to rely on the server for location calculation, there might be some

latency when obtaining the information due to the effects of network prop-

agation delays. The other option of letting the device calculate its position

might also prove challenging since the device might not have enough processing

power in order to calculate the information in real time [5].

In general, localization techniques can be broadly classified into 2 main categories:

indoor and outdoor.

2.1.1 Indoor localization

Several interesting location-aware applications for indoor environments are emerging

in the research fields [5]. Some of the examples are as follows.

Asset tracking and monitoring of objects such as projectors for ease of finding

as well as theft protection.

Page 16: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

CHAPTER 2. BACKGROUND 8

People tracking inside a facility, like doctors in a hospital to quickly route the

nearest doctor to emergencies.

Shopping assistance in shopping malls by giving the users the ability to find the

locations of specific items in stores as well as displaying information about

those items such as the price and where is the cheapest place to get them.

Museum guide systems that inform the visitors of a museum with the location

of the various attractions as well as providing specific information about those

attractions once the user is near them.

The common factor in the above applications is that they are mostly indoor

applications thus, they need an efficient indoor localization algorithm in order to

function properly. Several indoor localization techniques have been developed such

as [6–10]. The following section presents one of the possible classifications of the

different techniques that can be used in localization as well as their implementations.

2.1.1.1 Trilateration

Trilateration falls under the category of Triangulation where the geometric proper-

ties of triangles are used to compute the objects’ locations. The lateration technique

works by measuring the distance to three distinct non-collinear reference points from

the object of interest X and then applying a triangulation algorithm to obtain the

position of the object. The triangulation algorithm is achieved by drawing a circle

of radius d which centered at the reference point, where d is the measured distance

from the access point to the object of interest at X. Using three access points, three

circles could be drawn which would intersect at a point X. This point would indi-

cate the location of the user. [11]. In order to measure such distance, three general

approaches exist.

a) Direct

This method involves physically measuring the distance between the mobile

object and three different reference points which is infeasible and inapplicable

to the applications of indoor positioning. It generally involves robots that

measure the distances through extension of probes.

b) Time-of-flight

Time-of-flight works by recording the time it takes for a signal to propagate

from a transmitter to a receiver at a known velocity. Since this method in-

volves time measurement, a specific clock resolution must be attainable by the

Page 17: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

CHAPTER 2. BACKGROUND 9

Figure 2.3: Triangulation

system according to the timing technology used. Ultrasound based systems

[10][8], do not require a very good resolution as the waves travel at the speed of

sound so the differences to be measured are usually in the milliseconds range.

On the other hand, systems using RF Signals [12] such as WLAN and Blue-

tooth would need to have a much higher clock resolution since radio waves

travel at the speed of light so the time difference is usually in the nanosecond

range which is 6 times less in the order of magnitude than the ultrasound

based technologies [3].

According to the timing technology, two systems for measuring the time-of-

flight exist. In the first one, which could be used with ultrasound, the devices

must have highly accurate synchronized clocks so that the difference in the

time of transmission of the signal and the time of its arrival at the other end

can be measured and converted into a distance. For the other system that can

be used with WLAN, a method based on round trip time is used where the

sender sends a signal and expects a reply. The time it takes for receiving the

reply implies the distance between the two nodes [10]. This system overcomes

the need for an accurately synchronized clock because the sender’s clock would

only need to be accurate enough for it to measure the round trip time.

A challenge that has to be faced when using the time-of-flight method is how

the receiver could distinguish between the direct pulses and pulses arriving

after reflecting off objects in the environment, specially that they look identical

to the receiver. Such reflecting pulses would have traveled a longer path and

Page 18: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

CHAPTER 2. BACKGROUND 10

hence have a longer time-of-flight which would imply to the receiver that the

sender is further away than the actual distance resulting in a reduced accuracy.

Some implementations such as [10] make use of statistical analysis and analysis

of the reflective properties of the environment to prune some of the pulses

which are reflected, resulting in improved accuracy [3]. Some of the systems

that are based on the time-of-flight method include GPS[13], ActiveBat[10],

Cricket[8], Bluesoft[14] and PulsON[15].

c) Attenuation

The intensity of the emitted signal is inversely proportional to the square of

the distance from the source. Using this relation and given the signal strength

at the source, the measured signal strength could be used to estimate the dis-

tance of the object from the source. Measuring the distance using attenuation

is usually less accurate than using time-of-flight specially in environments with

many obstructions which cause a lot of signal reflection [12].

2.1.1.2 Angulation

In angulation, angles instead of distances are used to determine the location of

an object. To compute the position, two angle measurements in addition to one

length measurement between the two reference points are required. Using an array

of multiple phased antennas with a known distance between them, by measuring

the phase shift angle between the signal arriving at the first antenna and the signal

arriving at the second antenna and given the differences in arrival time and the

geometry of the array, the system can compute the angle from which the transmission

was emitted [3].

2.1.1.3 Scene analysis and Fingerprinting

The scene analysis technique depends on analyzing the “scene” to obtain features

that are easily compared and represented. A scene can be described either by images

for the location or by the signal strength at that location. In static scene analysis,

the observed features are looked up in the database that maps objects to locations.

In differential scene analysis, the difference between successive scenes is tracked [3].

Those differences will imply that the user has moved. If features are known to be

at specific locations, the observer can compute its location relative to them. The

advantage of such system is that it can act independently from an external server

by storing the database locally which means that less power is required for data

transmission and the privacy of the user could be maintained. The disadvantages

Page 19: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

CHAPTER 2. BACKGROUND 11

include the need for a pre-built lookup database of the features that might need to

be rebuilt if the features of the scene change.

Fingerprinting is a type of scene analysis. Usually, the fingerprinting approach

consists of two stages.

� The first stage is the calibration stage. At specific points called reference

points within the environment, the signal strength, along with other parame-

ters such as the signal to noise ratio at each point is recorded and saved in a

database. For the fingerprinting database to be accurate, a significant number

of reference points should be made available which increases the time needed

for the calibration phase [11].

� The second phase which is the actual positioning phase where the object mea-

sures the signal strength at its current position and then, using a matching

algorithm, the measured signal is matched with vales stored in the database in

order to obtain an approximation on the user’s current position. The matching

could be done on the client side which requires that the database of finger-

prints is stored locally, thus increasing the storage and memory requirements

on the client. The other option is matching on the server side which increases

the load on the server and possibly the load on the network.

The algorithm by which the location of a user could be determined could either

be deterministic [6][16] or probabilistic [17][18]. The deterministic method is a

straightforward method where the average signal strength received from each

access point is measured at the location to be identified and the result is stored

as a “fingerprint” which is a vector

~F = (f1, f2, ..., fN)

consisting of N readings f where each reading consists of an access point identi-

fier and a minimum and maximum Received Signal Strength Indicator (RSSI)

value. When matching, the Euclidean distance

distance =

√√√√ n∑i=1

(ri − fi)2

between the actual reading vector ~R and each fingerprint vector ~F stored in the

database is calculated. The fingerprint that generates the minimum Euclidean

distance is considered the best match [19].

Page 20: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

CHAPTER 2. BACKGROUND 12

On the other hand, the probabilistic approach using Bayesian probability

works by defining the fingerprint as a likelihood function where the proba-

bility of a being at a location observing a fingerprint is given by the equation

p(l|f) =p(f |l)p(l)

p(f)

is calculated [17][20]. Using the probabilistic approach requires choosing a

likelihood function p(f |l) as well as having pre knowledge of the wireless sig-

nal propagation model of the environment. The probabilistic approach yields

better results in terms of accuracy [11][21].

2.1.1.4 Proximity

The proximity technique is useful in knowing whether an object is near a specific

location rather than knowing the exact location. One type of proximity detection

relies on the presence of physical proximity detectors such as pressure pads. Another

type of proximity detection relies on the usage of automatic ID systems such as ATM

machines or point-of-sale credit card machines where accessing an ATM at a certain

time gives an indicator of the place of that user at that time. In a university for

example, the use of computer login history can help in estimating the possible user

location. The accuracy of the proximity detection system is usually lower than other

methods so it cannot be used alone and could be used together with another method.

2.1.2 Outdoor localization

Outdoor localization involves locating users in a relatively open environment with no

obstacles. The applications of outdoor localization include mapping services as well

as providing location sensitive information where the exact location of the user is not

necessarily known. Current technologies for outdoor localization can be classified

into 3 main classes as in [22]:

� Handset Based

� Cellular Network Based

� Hybrid Approaches

2.1.2.1 Global Positioning System

The Global Positioning System (GPS), which is the most widely used outdoor posi-

tioning system, relies on the 24 active satellites as well as the 3 redundant satellites

deployed by the United States and Russian military. A device that is capable of

Page 21: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

CHAPTER 2. BACKGROUND 13

Figure 2.4: Classification of outdoor localization technologies

Page 22: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

CHAPTER 2. BACKGROUND 14

locating itself using GPS is able to know its latitude, longitude, time as well as

height at anytime during the day and night. For the positioning to work, the user

device has to calculate its distance from four or more satellites. This distance can

be calculated by measuring the round trip time difference [13]. Generally, GPS can-

not work indoors or in places with heavy forestations due to the fact that it needs

at least a signal level of -130Bm in order to work. For the GPS to work indoors,

retransmitters called pseudolites have to be installed. These pseudolites work by

relaying the GPS signal from outside the building inside. The drawback of using

this method is the reduction in accuracy [23].

2.1.2.2 Cellular Networks

Cellular networks such as GSM (Global Standard for Mobile Communications) and

UMTS (Universal Mobile Telecommunication System) are network systems used to

provide mobile telecommunication services. Locating a user on one of these networks

can be done differently as follows.

The first method is the cell-of-origin method, the coverage area is divided into

cells. At any given time, the mobile user, using the cellular network, has to register

with the cell he is currently in, which enables the system to locate him at any

given time. The radius of the range that a cell could cover is in the order of a few

kilometers [23]. Positioning accuracy of up to 1km can be achieved using GSM.

The other two methods that can be used with cellular networks are somehow

similar to the methods used indoors. The first one is based on a trilateration time-

of-flight approach as described before. The second method is based on the finger-

printing approach where the signal characteristics at several areas are measured

and stored in a database. Both of these methods have a better accuracy than the

cell-of-origin method averaging between 150m to 300m [23].

2.2 Technologies and related applications

2.2.1 Examples of indoor localization systems

Several research and commercial localization systems have been developed. In the

following section, some of those systems are examined.

2.2.1.1 ActiveBadge (infrared)

The ActiveBadge system was developed by the Olivetti Research Laboratory [9].

It uses infrared transmitters that are attached to users’ badges. Infrared sensors

are attached through out the building. A central server collects the unique tags

Page 23: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

CHAPTER 2. BACKGROUND 15

that are transmitted by the users’ badges and associates them with the infrared

sensor that is fixed inside the room. ActiveBadge localization system is room based

localization system, and it provides a programmable application interface that allows

applications to be developed on top of the system.

2.2.1.2 Cricket (ultrasonic)

The Cricket localization system [8] uses ultrasound technology. Emitters are dis-

tributed within the environment and the receivers are embedded within the objects

to be located. The devices that are to be located perform triangulation and time-

of-flight calculations in order to locate themselves. The Cricket system can identify

and ignore ultrasound signals that result from reflection, thus increasing the accu-

racy. Embedding the receivers in the devices and forcing them to computer their

own location increases the power and processing requirements of such devices.

2.2.1.3 EasyLiving (scene analysis)

The EasyLiving system is a system based on image analysis [24]. It uses a Digiclops

3D camera to record the features of a location and compare it to a database of

scenes. EasyLiving requires high-performance cameras as well as systems that have

adequate processing power in order to analyze the images captured and match them

with the database.

2.2.1.4 SpotON (radio frequency)

SpotON is an ad hoc location-sensing system [12]. It uses low cost radio tags as

well as radio receiving base stations as a basis for the localization system. Each

radio tag transmits a unique identification number. Each base station then, sends a

central server the unique number along with the signal strength that it is receiving

from the tag. The central server then uses the trilateration technique to compute

the location of the tag.

2.2.2 Indoor tour guide systems

There have been several previous implementation of indoor tour guide system. In

the following section, some of those systems are described.

2.2.2.1 Cyberguide

Cyberguide is a tour guide system developed in Georgia Institute of Technology in

order to guide users during exhibits held in the GVU (Graphic, Visualization and

Usability) center [25]. The system was implemented on an Apple MessagePad 100

Page 24: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

CHAPTER 2. BACKGROUND 16

with the Newton 1.3 operating system as well as pen-based PCs running Windows

for Pen Computing 1.0. The design of the system is highly modular with three main

components namely positioning, mapping and information components, working

together in order to provide the services.

The first component is the navigator which is concerned with positioning. It is

responsible for determining the user’s location as well as orientation on the map.

The indoor version of Cyberguide used an active beacon system in order to locate

the users. Using an array of infrared remote controls, each remote control transmits

a unique beam pattern. Using an infrared receiver that is connected to the Apple

MessagePad using a serial port, these unique patters are used to identify which cell

the user is currently in, hence the location of the user could be updated on the map.

The range of each infrared cell is small, so it makes the process of wide deployment

of infrared remote controls a rather expensive process.

The mapping component, called cartographer, provides the maps of the environ-

ment that the system is used in. The maps are interchangeable and can be based

on bitmap graphics or vector graphics. Bitmap maps are easily obtained through

scanning existing hard copy maps but were difficult to handle during scaling and

rotation as well as representing the points of interest. The vector map proved to be

of higher quality and was easier to rotate and scale. Drawing a path representing

a tour for example was easier on the vector based map but expensive in terms of

computation, specially on small hand held devices with limited processing power.

The third component, the librarian is the information component. that repre-

sents the database of information attached to each point of interest. Each point of

interest is marked on the map with a star. When the user selects a star, its name is

displayed and the information attached to it is fetched from the information repos-

itory to be displayed on the screen. The system also provides means for the user to

search the repository.

2.2.2.2 Marble Museum

This tour guide application was developed to support the human tour guides in the

Marble Museum in Italy. The system was implemented on Compaq IPAQ PDAs

running the Windows CE operating system with an additional 1Gb memory card

that stores the various multimedia such as photos and audio files needed for the tour.

The usage of an internal memory reduced the need for a high bandwidth network

in order to support the different users requesting the files.

The location determination technology used in this application is infrared bea-

cons. Each entrance to a section in the museum is fitted with an infrared transmitter

on the ceiling. The transmitter can cover up to 90°and the user is assumed to hold

the PDA almost vertically when entering a new section. The transmitters transmit

Page 25: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

CHAPTER 2. BACKGROUND 17

8 characters per second. From those 8 characters, 3 are used to identify the section

and 3 more to validate the correctness of the signal. When the PDA receives the

8 character signal, the application will translate it into a section, play a sound to

confirm and then automatically present the user with a map of the current section.

As soon as the user is in a section, an audio commentary regarding that section

is played which minimizes the users interaction with the PDA and letting them

concentrate on enjoying their visit.

Currently, the system cannot adapt the map to the user orientation and offers

limited support of “path finding”, where a user requests to see the route to a specific

artwork [26].

2.2.2.3 IrReal

IrReal is a system that was originally implemented in the CeBIT2000 computer fair

that was held in Hannover. It is currently being used in the Computer Science build-

ing in the University of Saarbrucken in Germany to provide users with information

such as the current food menu as well as the bus schedule of the bus that passes

infront of the computer science building [27].

It is based on strong infrared transmitters and PalmPilot PDAs but can as

well run on any IrDA [28] enabled PDA. The system is based on an adapted idea

of the European video text system. The idea behind this project was to use an

infrastructure of strong infrared transmitters that have a range of about 30 meters

to transmit location sensitive information without the need of an additional database

stored on the client or an access to a wireless network to obtain information.

Each infrared transmitter is connected via a serial port to the nearest computer

workstation. Using the localized information on this computer, or information ob-

tained through a wired network, the transmitter sends formatted text and graphics.

Each mobile device is loaded with a small application called BrowsIR that is

capable of displaying the information that is currently being transmitted by the

nearby infrared transmitter.

To control the localization of the broadcasted information, each infrared trans-

mitter is tuned to a specified range which also increases the accuracy as infrared

beams do not cross walls. In addition, the infrared receivers on the PDAs are sensi-

tive to orientation. This orientation sensitivity has allowed the system to be deployed

in such a way that, depending on the user’s orientation, different information will

be received.

Page 26: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

CHAPTER 2. BACKGROUND 18

2.2.2.4 Hippie

Hippie is an Internet-based nomadic information system which allows users to ac-

cess information independent of the device that they are currently using. It has

been developed for cultural environments providing various information about art

exhibitions [29].

The system allows pre planning of the visits at home through an Internet browser.

A web based interface provides several visitor activities such as browsing the exhibit

database, printing summary information, checking of the opening hours as well as

ticket pricing and making virtual tours.

The location of users in the exhibit is detected by means of an infrared infras-

tructure which detects the position of the user as well as an electronic compass which

detects the orientation. The infrared transmitters are fixed next to the various art

items where each transmitter sends out a unique ID identifying which art item is

currently being looked at. An infrared receiver that is either attached to the cloth-

ing of the visitor or is embedded in a hand held device receives the ID. Information

related to the received ID is downloaded through wireless LAN and is presented to

the user in the form of text, pictures as well as audio clips.

Hippie allows the visitors of the exhibition to search the different sections, leave

comments on the art work and contact other visitors by leaving them notes. Finally,

Hippie takes into consideration the user preferences by adapting the results to display

artwork that the user is interested in as well as providing tips about similar artwork.

Page 27: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

Chapter 3

WiGuide design and

implementation

This project has been designed to serve as a tourist guide in a museum. However,

it has been tested on the campus of the German University in Cairo. It is a guide

application where a student moving with his laptop would be able to locate himself

within the university buildings. Upon successful location, the application would

display his location on the map and then provide him with the services and points of

interest that are in his vicinity. In this chapter, the approach chosen for localization

as well as the challenges faced, the matching algorithm are described in details.

3.1 Localization approach

Fingerprinting is chosen as the localization approach as fingerprinting has a higher

accuracy then other approaches such as time-of-flight specially in indoor environ-

ments with multi path effects. Also using methods such as the time-of-flight requires

accurate synchronization of the clocks of both the mobile device and the access points

because an error small error in time measurement can result in an relatively large

error in the detected position [30].

As the fingerprinting approach relies heavily on the signal strength, many factors

needed to be studied before implementing our system such as the sampling period,

grid granularity and the length of the fingerprint vector.

Sampling period Building fingerprint database requires selecting calibration points

where samples of the singal strength are measured and saved in the database

to represent this point. As the signal can be considered as a random property

and has a lognormal Gaussian distribution [19], taking more than one reading

is necessary. In addition, the duration of the sampling period as well as the

sampling rate are important factors to be determined. In order to decide upon

19

Page 28: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

CHAPTER 3. WIGUIDE DESIGN AND IMPLEMENTATION 20

the proper values, a testing experiment is done at a specific location where the

number of samples taken were chosen to be 10, 20, 50 and 100 readings. The

sampling rate was chosen to be one sample per second.

The results as shown in Figure 3.1, show the strength of the signal received

from the nearest access point which was xA7C8 as opposed to the frequency of

appearance. We define a leader signal to be the one with the highest frequency.

It is worth noticing that the RSSI varies in all cases between 17 and 64. In

order to decrease the variation, a filtered range, explained later in more detail,

which is a range excluding the readings that are below a certain threshold, was

calculated. This threshold was chosen to be 30% of the number of readings

of the leader. The effect of choosing different sampling periods for measuring

the signal strength at a specific location on the range and the filtered range

is summarized in Table 3.1. The sampling period chosen is 30 seconds. It

was chosen because 10 seconds did not always yield a representative range,

specially in cases where the signal was unstable. Choosing a period that is

more than 30 seconds would impose a large delay on the user of the system

and would reduce the user experience.

60 61 620

1

2

3

4

5

6

7

8

9

10

10 Readings

RSSI

FRE

Q

21 45 56 58 60 61 620

10

20

30

30 Readings

RSSI

FRE

Q

21 22 45 49 51 54 56 58 60 61 62 63 640

10

20

30

40

50

50 Readings

RSSI

FRE

Q

17

18

20

21

22

44

45

48

49

50

51

52

53

54

55

56

57

58

60

61

62

63

64

0

10

20

30

40

50

60

70

80

90

100

100 Readings

RSSI

FRE

Q

Figure 3.1: Effect of sampling period on the distribution of the signals from accesspoint xA7C8

Grid granularity The distance between the different reference points to take will

affect the granularity of our system. As shown in Table 3.2, making the spacing

between the grid points small, and increasing the number of reference points

Page 29: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

CHAPTER 3. WIGUIDE DESIGN AND IMPLEMENTATION 21

will increase the accuracy of the system but at the same time, it will increase

the time it takes to generate the database dramatically [11]. It will also increase

the search time while trying to obtain a match. It is also worth saying that

the increasing the number of reference points beyond a certain limit will have

little to no effect on the accuracy, as the rate of increase of accuracy decreases

because there is simply not enough variations in the signal strength [19].

Length of fingerprint vector The number of access points to consider when the

fingerprint database is being built as well as when the client is trying to match

his location is important. In a study made in [31], Figure 3.2 shows that

a higher number of access points does increase the precision, specially when

the standard deviation of the samples is large, though the rate of increase of

the precision decreases when the number of access points is greater than five.

Unfortunately, the number of access points that are observed by a client might

be less than five most of the times. This has led to the choice of relying on

three access points.

Figure 3.2: Effect of the number of access points on probability of correct locationestimation

samples leader sd filteredsd range filteredrange10 60 0.84 0.58 60 to 62 60 to 6230 61 14 0.54 47 to 75 60 to 6250 63 11.15 1.12 51 to 75 61 to 65100 63 14.82 13.33 48 to 78 49 to 77

Table 3.1: Effect of sampling period on signals from access point xA7C8

Page 30: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

CHAPTER 3. WIGUIDE DESIGN AND IMPLEMENTATION 22

points error(m)132 1.7599 1.6366 1.7433 1.7816 2.25

Table 3.2: Effect of number of reference points on the distance error

User body and orientation In most modern laptops with built in wireless cards,

the wireless antenna is embedded in the LCD screen. The human body is

mainly composed of water. Since the resonance frequency of water is 2.45

GHz and the frequency at which the wireless signals propagate is 2.4 GHz, the

human body acts as a barrier and absorbs a significant amount of the signal

that is propagating [19]. Due to this, the received signal strength is affected

by the presence of the user.

Due to the previous observation, the orientation of the user affects the strength

of the signal received, depending on where the user is standing with respect

to the access point. The effect of the presence of the user is also studied in

Figure 3.3. Although it is insignificant to our application because a user will

always be holding the device, nevertheless, as the graphs in Figure 3.3 show,

the difference between the signal distribution in presence and absence of the

user is negligible.

The antennas on most wireless access points are omnidirectional antennas. As

Figure 3.4 shows, omnidirectional antennas transmit their signal uniformly in

one plane only. Hence, the positioning of the antennas on the access points

and the position of the user relative to the antenna affect the signal strength.

An experiment like the setup in Figures 3.5 and 3.6 has been done. The ex-

periment was done by measuring the signal strength for a period of 30 seconds

at the locations marked parallel and perpendicular. Those locations represent

measurements that are parallel to the axis of the antenna and perpendicular

to the axis of the antenna, respectively. In Figures 3.7 and 3.8, the effect of

both, the user orientation as well as the position of the user with respect to

the antennas is shown. The graphs show that there is indeed a difference be-

tween the readings taken parallel to the antenna axis and the readings taken

perpendicular to the antenna access. The results taken perpendicular to the

antenna access are more stable (having the same leader), than their parallel

counterpart. As for the orientation, it is obvious that the orientation affects

the distribution of the signals, specially when the readings are taken parallel to

the antenna. When the readings are taken perpendicular to the antenna, the

Page 31: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

CHAPTER 3. WIGUIDE DESIGN AND IMPLEMENTATION 23

14

17

18

20

22

23

24

26

27

28

29

30

32

33

34

35

38

39

41

42

43

44

45

46

47

48

49

50

51

53

54

55

56

57

58

59

60

63

64

0

2

4

6

8

10

12

14

16

18

With User

14

17

18

20

22

23

24

26

27

28

29

30

32

33

34

35

38

39

41

42

43

44

45

46

47

48

49

50

51

53

54

55

56

57

58

59

60

61

63

64

0

2

4

6

8

10

12

14

16

18

Without user

Figure 3.3: Effect of user presence. AP: xA7C8

effect of the user orientation affects the frequency of the leader. The readings

taken in the South and West orientations have a leader frequency which is

greater than 10, while the readings taken in the North and East orientations

have a leader frequency which is less than 10.

Signal sensitivity The mapping between the actual radio signal strength and the

signal strength reported by the wireless card in dBm is non linear. It is in fact

logarithmic [19]. This leads to the signal strength not being different enough

to distinguish between different locations close to the access point which leads

to ambiguity with respect to certain locations. In Figure 3.9, it is obvious that

as the average signal strength increases when the user is near the access point,

the more the distribution becomes left skewed. This means that as we move

away from the access point, the probability of an error in location detection

increases. At the same time, as we move closer to the access point, it becomes

more difficult to identify the location, because the values of the RSSI reported

by the wireless card would be very similar to each other. [19].

Who senses the location The wireless signals that are used to locate the user

can be measured at both, the client device as well as the access point that

is transmitting the signal. If the signal measurement is going to be done on

the access point, access to the API of each access point must be provided in

Page 32: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

CHAPTER 3. WIGUIDE DESIGN AND IMPLEMENTATION 24

Figure 3.4: Coverage of an Omnidirectional antenna

order to program it to provide a list of clients that are currently associated

with it. This approach was unfavorable due to the complexity of the different

access points’ APIs and due to the fact that it would require a different imple-

mentation for each access point manufacturer. On the other hand, the second

approach which relies on the client device to read the signals received is more

appropriate for future expansion because if more access points are added, no

further reprogramming of the access points is required.

Who calculates the position Calculating the position of the user requires access

to the database of fingerprints and locations. Implementing the location al-

gorithm on the client side would require storing the database on the client’s

device which could pose a problem on small devices such as PDAs because of

the large memory requirements that a database management system needs.

Location computation also needs a device with adequate processing power so

that the localization could be done in a short time. For these reasons, cal-

culating the position on the server is considered a better solution although it

puts a greater load on the server as well as the network due to the network

traffic needed to transmit location information back and forth between the

server and the client.

Page 33: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

CHAPTER 3. WIGUIDE DESIGN AND IMPLEMENTATION 25

Figure 3.5: Experiment location

Figure 3.6: Experiment setup of orientation. AP: xA7C8

Page 34: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

CHAPTER 3. WIGUIDE DESIGN AND IMPLEMENTATION 26

20 30 32 33 38 41 42 43 440

10

20

30

North

20 24 26 29 30 32 33 38 41 42 43 44 45 49 51 540

10

20

30

South

20 29 30 32 33 38 41 42 43 44 45 49 51 540

10

20

30

East

20 24 26 27 28 29 30 32 33 38 41 42 43 44 45 49 51 540

10

20

30

West

Figure 3.7: Effect of user orientation while parallel to antenna. AP: xA7C8

2024262728293032333841424344454649505154555758

0

10

20

30

North

182023242627282930323338414243444546495051535455565758596364

0

10

20

30

South

2023242627282930323338414243444546495051545557586364

0

10

20

30

East

1820232426272829303233353841424344454647495051535455565758596364

0

10

20

30

West

Figure 3.8: Effect of user orientation while perpendicular to antenna. AP: xA7C8

Page 35: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

CHAPTER 3. WIGUIDE DESIGN AND IMPLEMENTATION 27

Figure 3.9: Relation between the average signal strength and the signal distribution

Page 36: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

CHAPTER 3. WIGUIDE DESIGN AND IMPLEMENTATION 28

3.2 WiGuide design

Our WiGuide system has been designed according to the client-server architecture.

The system model is shown in Figure 3.10. The client is a thin client with only an

interface to the application. This design would allow the system to be easily imple-

mented on devices with limited processing power and limited memory availability

such as PDAs and mobile phones. The client collects wireless signals through the

PlaceLab library.

Figure 3.10: Client-Server architecture of the system

The server consists of a database as a backend to store the various data entities

which are described in detail in the following sections. A background service is

always running at the server listening for connections from clients and processing

the information. Finally, a webserver is installed on the server as a frontend for

providing the results to the client.

The server and the client interact together using protocols that use XML as the

message format.

Several external libraries and applications have been used in order to facilitate

the development of the application.

Page 37: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

CHAPTER 3. WIGUIDE DESIGN AND IMPLEMENTATION 29

PlaceLab NDIS Wrapper to add functionality to Java to enable the collection

and use of raw data acquired from the wireless card.

Hibernate a powerful high performance object/relational persistence and query

library to map database entities into classes that conform to the Enterprise

Java Beans (EJB) standards.

JDOM v1.0 a Java-based solution for accessing, manipulating, and outputting

XML data from Java code. It is used in implementing the protocol of passing

messages between the server and the client.

OpenChart v2.1.1 an open source Java library and toolkit for creating different

kinds of charts and embedding them into web applications or Swing applica-

tions. It is used in the statistical analysis application for drawing bar charts

of signal distributions.

The Jakarta Mathematics Library is a library of lightweight, self-contained math-

ematics and statistics components. It is used in the fingerprinting algorithm

as well as the location algorithm. It is also used in the statistical analysis

application.

Oracle 10g XE as the back end database for storing the different data required

by the application.

Abyss Web Server v2.4 as the gateway to provide the users with the services

and content in the form of HTML web pages.

PHP 5 as the programming language to interface with the database and render

the content with the help of the Abyss Web Server.

3.2.1 Database

The database consists of 5 tables that are pictured in the Entity Relationship Dia-

gram (ERD) in Figure 3.11, and are described below.

AccessPoint This table represents access point entries. An access point is identi-

fied by its MAC address.

Building This table contains the different buildings that could be present within

the environment. A building can be given a name, for example, B4.

Room A room is the main area where a client is located. A room belongs to a

building and has a name, a number and two co-ordinates that represent the

location of the room on the map. These co-ordinates are pixel co-ordinates

and not actual physical co-ordinates.

Page 38: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

CHAPTER 3. WIGUIDE DESIGN AND IMPLEMENTATION 30

(1,3)

(1,16)

Figure 3.11: Database ERD

Page 39: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

CHAPTER 3. WIGUIDE DESIGN AND IMPLEMENTATION 31

Section A section is a point within a room where a reading is taken. The room is

divided into 16 sections that are 2 meters apart. In the case that one side of

the room is longer than the other or if the room is not symmetric, then the

sections are divided arbitrarily so that they could cover the whole room.

Reading A reading consists of a signal strength received from the access point and

a MAC address identifying this reading with the access point that it came

from.

Service When a client is located, he is presented with a list of services that are

associated with the room. A service could represent actual entities that are

physically present within the room such as a computer or a printer, or it could

represent points of interest that are near that room.

3.2.2 Wireless signal acquisition

Java does not provide a way to access the wireless card and obtain readings from it

directly. Fortunately, Java provides a feature called Java Native Interface (JNI) that

allows a Java application to interface with libraries that are not written in Java. In

Windows, the driver that is responsible for the wireless cards is called NDIS driver,

which stands for Network Driver Interface Specification and is written in C++.

A possible solution to access the wireless driver is to write an interface to the

NDIS C++ driver using JNI. The other solution relies on a library that has been

developed in Java and already wraps the NDIS C++ driver. This library is called

PlaceLab [32].

PlaceLab has been developed by Intel Research in Seattle and has been released

to the open-source community. Using the PlaceLab library to read the signals from

the wireless card involves initializing a WiFiSpotter and then invoking a method in

the PlaceLab library to get the array of readings.

The above is repeated according to the sampling period that is chosen with a

delay of one second between each sample and the other.

3.2.3 Message passing protocols

Messages are passed between the client and the server in 2 situations.

� When the client passes the observed signal vector to the server.

� When the server passes the location information back to the client.

The protocol needed to transfer information between the server and the client,

a protocol needed to be implemented. The chosen method was to implement the

Page 40: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

CHAPTER 3. WIGUIDE DESIGN AND IMPLEMENTATION 32

protocol using Extensible Markup Language (XML) which is a standard for data

sharing and data exchange between different systems.

The Java Document Object Model (JDOM) library is an open-source Java library

that is used to create, parse and interpret XML documents [33]. JDOM is used in

order to construct the XML protocol messages that are sent between the client and

the server and is also used in parsing those messages to obtain useful information.

The protocol implemented is composed of 2 main components as follows:

� Client-Server protocol defines the message that is passed from the client

to the server. It includes information about the observed signal vector that

is supposed to be matched. The signal vector consists of a series of access

points where the Medium Access Control (MAC) address of each access point

is recorded along with the Received Signal Strength Indicator (RSSI) value.

<?xml version="1.0" encoding="UTF-8"?>

<message>

<accesspoint apid="0">

<mac>00184D320A0C</mac>

<signal>67</signal>

</accesspoint>

<accesspoint apid="1">

<mac>00147F741F85</mac>

<signal>16</signal>

</accesspoint>

</message>

� Server-Client protocol defines the message that is passed back to the client

either indicating a successful location or indicating that an error has occurred.

It consists of a flag that indicates whether there were results returned from

the database or not. If results have indeed been returned from the database

and the client could be located, the server sends the database ID of the room

where the client has been located, along with the exact row and column of the

reading. The latter row and column are only used in determining the precision

of the system and they make no difference in the result of positioning. An

accuracy level indicator is also returned to specify the confidence level of such

detection.

No results found

<?xml version="1.0" encoding="UTF-8"?>

<content valid="0" />

Page 41: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

CHAPTER 3. WIGUIDE DESIGN AND IMPLEMENTATION 33

Successful location

<?xml version="1.0" encoding="UTF-8"?>

<content valid="1">

<room roomid="7" accuracy="2" nr="2" nc="2" mapx="390" mapy="22">

<name>Photocopier room</name>

<num>223</num>

<building>B4</building>

</room>

</content>

3.2.4 Fingerprinting algorithm

The fingerprinting algorithm is the algorithm that is used to build the database of

fingerprints. It is used in the initial stages of deployment.

For a user to be located within a certain room, it has to be fingerprinted. The

room to be fingerprinted is divided into 16 sections that are roughly 2 meters apart.

If the room is not symmetric, the 16 sections are divided so that they cover the area

of the whole room.

The fingerprinting algorithm starts by collecting the reading samples then, pro-

cessing those readings because of the variations of the signal strength between sam-

ples, as shown in figure 3.12. Processing the readings implies selecting a leader which

represents the reading that has the maximum frequency of occurrence, then calcu-

lating a filtered range of signal strengths that can be represented by that point. The

calculations of the frequency distribution are done using the Jakarta Mathematics

Library. The details of each of those steps is explained below.

Collecting samples The process of fingerprinting first starts by standing in the

section to be fingerprinted and then initiating the fingerprinting algorithm. For

30 seconds, which is the time that has been decided as the sampling period, the

system administrator should be standing still while the computer is recording

the wireless signals received.

Grouping signals After the 30 seconds have passed, the algorithm will start ag-

gregating the signals received by the MAC address of the access point that

transmitted it. After the process of aggregation, we will end up with N groups

representing N access points that were observed during the 30 second sampling

period. Usually the number of access points observed varied from one point

to the other, depending one how many access points are seen by that point.

Page 42: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

CHAPTER 3. WIGUIDE DESIGN AND IMPLEMENTATION 34

30 times

Yes

No

Figure 3.12: The fingerprinting algorithm

Determining the leader of each group The leader is the signal whose received

signal strength indicator (RSSI) is the most within a group of signals belonging

to the same access point. The process of determining the leader works by first

sorting the group by the frequency of repetitions of each RSSI. Normally, the

first reading in the group should now be the leader. But, in the case of several

readings having the same number of repetitions, the leader in this case is the

mean of those readings. The flowchart for the algorithm of determining the

leader is presented in Figure 3.13.

Determining the unfiltered range and the filtered range The unfiltered range

is simply the minimum and maximum readings to be considered in the group

to be used in calculating the filtered range explained below. In the case of

having only one leader, those minimum and maximum values are both equal

to the RSSI of the leader. Otherwise, the minimum is the minimum RSSI

Page 43: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

CHAPTER 3. WIGUIDE DESIGN AND IMPLEMENTATION 35

add to

Yes, add to

No

Store as

Store as

Figure 3.13: Determining the group leader

that has the same number of repetitions as the leader of that group, and the

maximum is the RSSI value of the leader of that group. The flowchart of

calculating the unfiltered range is presented in Figure 3.14.

Because sometimes the variations of the signal within a group are so large, they

often include signals with very low RSSI values and having very low frequencies

as well. Those signals hugely affect the value of the standard deviation of the

group which in turn, affects the accuracy of the system.

As a solution for this problem, a threshold defined as the minimum percentage

of frequency of occurrence of a reading for it to be considered in calculations,

is used in order to control which signals take part in calculating the standard

deviation of a group as shown in Figure 3.15. It is used to filter out readings

that are very infrequent but evenly spaced within the range so that they don’t

affect the standard deviation of the readings.

The threshold frequency is calculated by multiplying the threshold by the fre-

quency of the group leader. After that, when calculating the filtered standard

deviation, any reading whose frequency is less than the threshold frequency is

disregarded.

The filtered range is determined by just adding the filtered standard deviation

to the maximum value of the unfiltered range that has been calculated before,

Page 44: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

CHAPTER 3. WIGUIDE DESIGN AND IMPLEMENTATION 36

Yes

No

Figure 3.14: Calculating the unfiltered range

and subtracting the filtered standard deviation from the minimum value of the

unfiltered range.

Finally, the strongest and most frequent 3 access points along with their RSSI and

the minimum and maximum values of the filtered range are stored in the database,

associated with the current section. This process repeats until no more sections for

that room are left to be fingerprinted.

3.2.5 Matching algorithm

When a client wants to get located, the client application starts taking readings for

30 seconds, determines the group leader just like in the fingerprinting algorithm, and

constructs a signal vector, containing the signal strength of the top three groups. The

top three groups are determined by multiplying each group leader by its frequency,

sorting the groups using this number descendingly and then selecting the first three

groups.

The signal vector is then sent to the server through an XML message as in

Figure 3.16. The server upon receiving the client’s signal vector, runs a matching

algorithm to match this vector against its database entry, then sends the room ID

and the location on the map to the client.

In WiGuide, two algorithms have been developed in order to match a user: a

range based algorithm, and an Euclidean distance based algorithm, presented in [6].

Page 45: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

CHAPTER 3. WIGUIDE DESIGN AND IMPLEMENTATION 37

add toYes,

Yes

No

No

Figure 3.15: Calculating the filtered range

According to the selected matching algorithm, the server would then perform

the matching and determine a best location match of the user. The server would

then send the room ID of the matched room to the client for the next step.

3.2.5.1 Range based matching

The range based algorithm is based on the idea that the received signals from the

client are being matched with the ranges that are stored in the database for each

access point.

If the server gets an XML message with 3 observations A,B and C, it tries to find

a reading, where an access point with MAC address A.MAC exists and the received

signal strength A.RSSI lies within the range of that reading. The server tries this

with each observation received from the client in order to filter down the result set.

Page 46: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

CHAPTER 3. WIGUIDE DESIGN AND IMPLEMENTATION 38

30 times

Figure 3.16: The client side of the matching algorithm

The results obtained are then grouped by the rooms that are associated with

the readings. The results are then sorted by the number of occurrences that a room

appears in the result set. Sorting by the room occurrences will ensure that if a

reading is repeated several times within a room, this means that this room has a

higher probability of being the correct location.

Finally, the server returns the ID of the first room in the results as well as the x

and y coordinates for the map that are associated with that room.

3.2.5.2 Euclidean distance matching

The Euclidean distance between two vectors, ~R = (r1, r2, ..., rn) and ~F = (f1, f2, ..., fn),

can be represented by

distance =

√√√√ n∑i=1

(ri − fi)2

Page 47: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

CHAPTER 3. WIGUIDE DESIGN AND IMPLEMENTATION 39

where n represents the fingerprint size and the observation size. The fingerprint size

is the number of access points that has been saved in the database for a particular

reading vector. The observation size is the number of access points that have been

“seen” in this observation. The value of n is equal to the length of the vectors ~R

and ~F , where |~R| = |~F |. The length of the vectors be equal to 3, 2 or 1.

At the beginning, the server issues an SQL query to return all the fingerprints

that have sizes equal to the size of the observation vector. The Euclidean distance

based algorithm works by calculating the Euclidean distance between the observed

readings vector ~R and each fingerprinting vector ~F returned from the database.

Sometimes, only a subset of the access points in an observation can be matched

with a fingerprint vector, in this case, a penalty which is equal to the square of the

RSSI value of the reading that was not found in the fingerprint vector is added to

the value of the distance.

Finally, after calculating the Euclidean distances between the observation vector

and all the fingerprints that were returned, the fingerprint vector that yields the

minimum distance is considered the best match. The room ID associated with this

fingerprint is returned to the client, as well as the x and y coordinates for the map

that are associated with that room .

3.2.6 Location presentation

An XML reply from is sent from the server to the client as explained above. The

client, then, parses the room ID part and includes it in an HTML request that is

sent to a page written in PHP stored on the server. This room ID is used by PHP

to query the database for services associated with this room and then output it in

an HTML form. The client then just displays this HTML page and presents the

user with the services located in his/her current location.

In addition, the x and y coordinates sent by the server are used to plot this point

on the map as seen in Figure A.3.

Page 48: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

Chapter 4

Conclusion and Future Work

Designing location-aware systems that provide location sensitive information in-

volves several components that cooperate in a seamless way.

In this project, a WiGuide system is proposed that provides a push-based location-

based service. The system is based on the client/server architecture and consists

of 2 main components: a localization component and a data related component.

The localization component uses the finterprinting algorithm along with a matching

algorithm to locate a user. The matching algorithm is either using the Euclidean

distance based or a range based algorithm. The system is able to locate a user cor-

rectly with an accuracy of 70% for the Euclidean distance based algorithm and 60%

for the range based algorithm with a mean error of 4 meters which is acceptable for

room based localization.

In the future, the system’s accuracy could be enhanced by using a probabilistic

approach in fingerprinting instead of the deterministic approach that is currently

being used. Instead of the currently used Euclidean distance algorithm, a more

accurate algorithm such as taking the k -nearest neighbors into account may be

used. Deploying more wireless access points and distributing them over the area

to be localized will enhance the accuracy as well. Taking the orientation of the

user into account, by using an electronic compass will enable the application to

provide orientation sensitive information which is important in case of deployment

in a museum.

For the services, more interaction could be built, which should be easy to extend

because the current services frontend is based on HTML instead of being hard coded

into the application. Providing the user with audio and video based services for

museum deployments, or providing the user with the schedule of the current room

that he is standing in would be an interesting development.

The current prototype is implemented on a laptop. For a truly mobile applica-

tion, this project could be implemented using J2ME, so that it work on any Java

enabled mobile device.

40

Page 49: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

Appendix A

Screenshots

A.1 Client interface

Figure A.1: Location in progress

41

Page 50: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

APPENDIX A. SCREENSHOTS 42

Figure A.2: Services associated with the room

Figure A.3: Location of the room on the map

Page 51: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

APPENDIX A. SCREENSHOTS 43

A.2 Fingerprinter interface

Figure A.4: Adding/Removing buildings

Page 52: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

APPENDIX A. SCREENSHOTS 44

Figure A.5: Adding/Removing rooms

Figure A.6: Adding/Removing services

Page 53: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

APPENDIX A. SCREENSHOTS 45

Figure A.7: Setting location of a room on the map

Figure A.8: Fingerprinting of rooms

Page 54: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

Appendix B

Installation instructions

B.1 Client

B.1.1 Installation of the NDIS driver

In order for the fingerprinter and the client to be able to access the wireless card,

you have to install a driver

a) Open your Wireless Network Card properties

b) Click [Install...]

c) Select Protocol

d) Click [Add...]

e) Click [Have Disk...]

f) Browse for 〈Your installation directory〉\driver\

g) Select ndisplab.inf

h) Finally, open a command prompt and type: net start ndisplab

B.1.2 Configuration

Editing settings.properties for configuration.

#settings.properties

showExactLocation=1

readingThreshold=30

serverPort=7803

fingerprinterSamples=30

clientSamples=30

46

Page 55: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

APPENDIX B. INSTALLATION INSTRUCTIONS 47

serverHostname=<HOSTNAME OF THE WEBSERVER>

serverPath=C\:\\Abyss Web Server\\htdocs\\

mapPath=wiguide/maps/map.png

useEuclidean=1

showExactLocation When enabled, the exact section where the user was detected

will be displayed in the interface.

readingThreshold This is the minimum frequency percentage of the leader fre-

quency. Any reading with a frequency less than this will not be taken into

consideration when fingerprinting.

serverPort The port that the server uses to listen for connections from the client.

fingerprinterSamples The sampling period of the fingerprinter.

clientSamples The sampling period of the client.

serverHostname Hostname of the webserver that provides the content.

serverPath The path of the server’s web documents folder.

mapPath The path of image of the map. It should be 270x270 pixels.

useEuclidean Selects either the Euclidean distance based matching algorithm or

the Range based matching algorithm.

B.2 Server

B.2.1 Installation of Abyss web server and configuration of

PHP

a) Install Abyss web server from 〈Your installation directory〉\requirements\webserver\Abyss.exe

b) Configure PHP (See Abyss documentation)

c) Extract 〈Your installation directory〉\requirements\webserver\webserver.zip

into 〈Abyss installation directory〉

B.2.2 Installation of Oracle 10g XE and running the Database

a) Install Oracle 10g XE from 〈Your installation directory〉\requirements\database\OracleXE.exe

b) Creating a user in the database with the username tourguide

c) Running the DatabaseInitScript.txt in SQL*Plus

Page 56: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

APPENDIX B. INSTALLATION INSTRUCTIONS 48

B.2.3 Configuration

Editing settings.properties and hibernate.properties for configuration.

#settings.properties

showExactLocation=1

readingThreshold=30

serverPort=7803

fingerprinterSamples=30

clientSamples=30

serverHostname=<HOSTNAME OF THE WEBSERVER>

serverPath=C\:\\Abyss Web Server\\htdocs\\

mapPath=wiguide/maps/map.png

useEuclidean=1

showExactLocation When enabled, the exact section where the user was detected

will be displayed in the interface.

readingThreshold This is the minimum frequency percentage of the leader fre-

quency. Any reading with a frequency less than this will not be taken into

consideration when fingerprinting.

serverPort The port that the server uses to listen for connections from the client.

fingerprinterSamples The sampling period of the fingerprinter.

clientSamples The sampling period of the client.

serverHostname Hostname of the webserver that provides the content.

serverPath The path of the server’s web documents folder.

mapPath The path of image of the map. It should be 270x270 pixels.

useEuclidean Selects either the Euclidean distance based matching algorithm or

the Range based matching algorithm.

#hibernate.properties

hibernate.connection.driver_class=oracle.jdbc.driver.OracleDriver

hibernate.connection.url=jdbc:oracle:thin:@//<HOSTNAME OF DATABASE SERVER>:1521/xe

hibernate.connection.username=tourguide

hibernate.connection.password=tourguide

hibernate.connection.pool_size=1

hibernate.dialect=org.hibernate.dialect.Oracle9Dialect

Page 57: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

APPENDIX B. INSTALLATION INSTRUCTIONS 49

B.3 Running

In the bin folder, you have 3 executable files. Make sure you run them as an

Administrator.

Fingerprinter.exe Runs the fingerprinting application that does fingerprinting

and other configuration tasks.

WiGuideServer.exe Runs the server to listen for clients.

WiGuideClient.exe Runs the client.

Page 58: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

Bibliography

[1] Mohapatra, D. Suma, and S.B., “Survey of location based wireless services,”

International Conference on Personal Wireless Communications, 2005.

[2] S. Steiniger, M. Neun, and A. Edwardes, “Foundations of location based ser-

vices,” 2006.

[3] J. Hightower and G. Borriello, “A survey and taxonomy of location systems

for ubiquitous computing,” Tech. Rep. UW-CSE 01-08-03, University of Wash-

ington, Computer Science and Engineering, Box 352350, Seattle, WA 98195,

August 2001.

[4] M. Satyanarayanan, “Pervasive computing: vision and challenges,” Personal

Communications, IEEE [see also IEEE Wireless Communications], vol. 8, no. 4,

pp. 10–17, 2001.

[5] N. Lemieux, “Reading course on indoor systems,” 2006.

[6] P. Bahl and V. Padmanabhan, “RADAR: An in building RF based user location

and tracking system,” in IEEE Infocom Volume 2, pp. 775–784, March 2000.

[7] M. Paciga and H. Lutfiyya, “Herecast: An Open Infrastructure for Location-

Based Services using WiFi,” IEEE International Conference on Wireless and

Mobile Computing, Networking and Communications WiMob, 2005.

[8] N. Priyantha, A. Chakraborty, and H. Balakrishnan, “The Cricket location-

support system,” Proceedings of the 6th annual international conference on

Mobile computing and networking, pp. 32–43, 2000.

[9] R. Want, A. Hopper, V. Falcao, and J. Gibbons, “The active badge location

system,” ACM Trans. Inf. Syst., vol. 10, pp. 91–102, January 1992.

[10] A. Harter, A. Hopper, P. Steggles, A. Ward, and P. Webster, “The anatomy

of a context-aware application,” Wireless Networks, vol. 8, pp. 187–197, March

2002.

50

Page 59: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

BIBLIOGRAPHY 51

[11] B. LI, J. SALTER, A. DEMPSTER, and C. RIZOS, “Indoor Positioning Tech-

niques Based on Wireless LAN,” 2007.

[12] J. Hightower, R. Want, and G. Borriello, “SpotON: An indoor 3D location sens-

ing technology based on RF signal strength,” UW CSE 00-02-02, University of

Washington, Department of Computer Science and Engineering, Seattle, WA,

February, 2000.

[13] “Global positioning system.” http://www.gps.gov.

[14] A. Bensky, S. Berliner, U. Holzkaner, E. Mirodin, et al., “Accurate distance

measurement using RF techniques,” Feb. 22 2005. US Patent 6,859,761.

[15] A. Petroff and P. Withington, “Time Modulated Ultra-Wideband (TM-UWB)

Overview,” Wireless Symposium/Portable by Design Feb, vol. 25, pp. 1–10,

2000.

[16] S. Saha, K. Chaudhuri, D. Sanghi, and P. Bhagwat, “Location Determination

of a Mobile Device using IEEE 802.11 Access Point Signals,” 2003. S. Saha, K.

Chaudhuri, D. Sanghi and P. Bhagwat, Location Determination of a Mobile De-

vice using IEEE 802.11 Access Point Signals, IEEE Wireless Communications

and Networking Conference (WCNC) 2003.

[17] A. Ladd, K. E. Bekris, A. Rudys, L. E. Kavraki, and D. S. Wallach, “Robotics-

based location sensing using wireless ethernet,” Wireless Networks, vol. 11,

no. 1-2, pp. 189–204, 2005.

[18] M. A. Youssef, A. Agrawala, and A. U. Shankar, “WLAN Location Determi-

nation via Clustering and Probability Distributions,” Dec. 24 2003.

[19] K. Kaemarungsi, Design of Indoor Positioning Systems Based on Location Fin-

gerprinting Technique. PhD thesis, 2005.

[20] T. Roos, P. Myllymaki, H. Tirri, P. Misikangas, and J. Sievanen, “A Proba-

bilistic Approach to WLAN User Location Estimation,” International Journal

of Wireless Information Networks, vol. 9, pp. 155–164, July 2002.

[21] M. Youssef and A. Agrawala, “The Horus WLAN location determination sys-

tem,” Proceedings of the 3rd international conference on Mobile systems, appli-

cations, and services, pp. 205–218, 2005.

[22] B. Preissl, H. Bouwman, and C. Steinfield, E-Life After the Dot Com Bust,

ch. 4. Physica-Verlag, 2004.

Page 60: TOUR APPLICATION WIGUIDE Indoor Localization Using Wireless Lan Infrastructure

BIBLIOGRAPHY 52

[23] R. Bill, C. Cap, M. Kofahl, and T. Mundt, “Indoor and outdoor positioning

in mobile environments a review and some investigations on wlan positioning,”

GeoInformation Science Journal, vol. 10, 2005.

[24] S. Shafer, J. Krumm, B. Brumitt, B. Meyers, M. Czerwinski, and D. Robbins,

“The New EasyLiving Project at Microsoft Research,” Proceedings of the 1998

DARPA/NIST Smart Spaces Workshop, pp. 127–130, 1998.

[25] S. Long, R. Kooper, G. D. Abowd, and C. G. Atkeson, “Rapid prototyping of

mobile context-aware applications: the Cyberguide case study,” in MobiCom

’96: Proceedings of the 2nd annual international conference on Mobile comput-

ing and networking, (New York, NY, USA), pp. 97–107, ACM Press, 1996.

[26] C. Ciavarella and F. Paterno, “The design of a handheld, location-aware guide

for indoor environments,” Personal Ubiquitous Comput., vol. 8, no. 2, pp. 82–

91, 2004.

[27] A. Butz, J. Baus, and A. Kruger, “Augmenting buildings with infrared infor-

mation,” Augmented Reality, 2000.(ISAR 2000). Proceedings. IEEE and ACM

International Symposium on, pp. 93–96, 2000.

[28] “Infrared data association.” http://www.irda.org.

[29] R. Oppermann and M. Specht, “A nomadic information system for adaptive

exhibition guidance,” in ICHIM, pp. 103–109, 1999.

[30] “Wi-fi location-based services: Design and deployment considerations,” tech.

rep., Cisco Systems.

[31] K. Kaemarungsi and P. Krishnamurthy, “Modeling of indoor positioning sys-

tems based on location fingerprinting,” INFOCOM 2004. Twenty-third An-

nualJoint Conference of the IEEE Computer and Communications Societies,

vol. 2, 2004.

[32] A. LaMarca, Y. Chawathe, S. Consolvo, J. Hightower, I. Smith, J. Scott,

T. Sohn, J. Howard, J. Hughes, F. Potter, et al., “Place Lab: Device Posi-

tioning Using Radio Beacons in the Wild,”

[33] “JDOM Java Document Object Model.” http://www.jdom.org.