Download - Accuracy Improvement of WLAN Based
Accuracy Improvement of WLAN Based
Position Sensing
Freie wissenschaftliche Arbeit zur Erlangung
des Grades Diplom-Ingenieur
an der
Technischen Universität Berlin
Institut für Wirtschaftsinformatik
Fachgebiet Systemanalyse und EDV
Prof. Dr. Hermann Krallmann
Vorgelegt von: Stefan Brüning Studiengang: Wirtschaftsingenieurwesen Matrikelnummer: 199375 Adresse: Bamberger Str. 28
10779 Berlin E-Mail: [email protected] Betreuer: Prof. Dr. Hermann Krallmann Assistierender Betreuer: M.A. Vladimir Stantchev Abgabedatum: 24. August 2006
Abstract
I
Abstract
WLAN based position sensing achieves accuracy of a few metres with acceptable
calibration effort. To improve accuracy extensive measurements are necessary. This
thesis presents an approach to position sensing that provides a compromise of setup
effort and achievable accuracy.
To develop a basic understanding existing WLAN position sensing systems are
analysed and compared. Then the possibilities to enhance WLAN position sensing by
combining it with other networking technologies as well as opportunities to improve the
process by using WLAN only are examined. Based on the result of the analysis the
newly developed “Two Level Position Weighting” algorithm is able to incorporate
different types of information into the position sensing process.
To test the algorithm it is implemented for the Windows CE client of the MagicMap
system. In order to allow client based position sensing a new GUI and a standardised
interface for algorithms was developed. In first evaluations the algorithm achieved an
average accuracy between 5.91m and 6.70m depending on the PDA used. Suggestions
for further improvements are made as the algorithm is still in a very early stage.
Table of Contents
II
Table of Contents
Abstract ....................................................................................................................... I
List of Figures ............................................................................................................ V
List of Abbreviations................................................................................................ VII
1. Introduction ........................................................................................................ 1
2. Problem Statement............................................................................................. 2
2.1. Research Plan .............................................................................................. 3
2.2. Approach ...................................................................................................... 3
3. Radio Wave Based Position Sensing................................................................ 4
3.1. Characteristics of Radio Waves .................................................................... 4
3.1.1. Ideal Radio Signal Propagation ............................................................. 5
3.1.2. Radio Wave Attenuation........................................................................ 5
3.1.3. Propagation Models .............................................................................. 6
3.1.4. Use of Models ....................................................................................... 7
3.2. Methods for Position Sensing ....................................................................... 7
3.2.1. Cell of Origin (COO).............................................................................. 7
3.2.2. Angle of Arrival (AOA)........................................................................... 8
3.2.3. Time of Arrival (TOA) ............................................................................ 9
3.2.4. Time Difference of Arrival (TDOA)......................................................... 9
3.2.5. Receiver Signal Strength (RSS) ............................................................ 9
4. WLAN Based Position Sensing ........................................................................10
4.1. Wireless Local Area Networks .....................................................................10
4.1.1. The WLAN Standards ..........................................................................11
4.1.2. Difficulties Using 2.4 GHz.....................................................................12
4.2. Using WLAN for Position Sensing................................................................13
4.3. Classes of Algorithms ..................................................................................14
4.3.1. Empirical Signal Strength Based Algorithms ........................................14
4.3.2. Propagation Model Based Algorithms ..................................................14
4.3.3. Probabilistic Algorithms........................................................................15
4.3.4. Collaborative Algorithms ......................................................................15
4.4. WLAN Based Position Sensing Systems .....................................................15
4.4.1. Horus System ......................................................................................16
4.4.2. RADAR System....................................................................................16
4.4.3. LEASE System.....................................................................................17
Table of Contents
III
4.4.4. MagicMap ............................................................................................17
4.4.5. MoteTrack ............................................................................................18
4.4.6. Place Lab.............................................................................................18
4.5. Smoothing Techniques ................................................................................19
4.5.1. Bayesian Inference Engine ..................................................................19
4.5.2. Markov Localisation .............................................................................19
4.5.3. Centre of Mass.....................................................................................19
4.5.4. Time Averaging....................................................................................20
4.5.5. Perturbation Technique........................................................................20
4.6. Evaluation of Algorithms ..............................................................................20
5. Accuracy Improvement by Combining WLAN with Other Network
Technologies .....................................................................................................21
5.1. Bluetooth .....................................................................................................21
5.2. RFID ............................................................................................................22
5.3. ZigBee .........................................................................................................23
5.4. RuBee..........................................................................................................24
5.5. GSM ............................................................................................................24
5.6. WiMax..........................................................................................................25
5.7. GPS.............................................................................................................25
5.8. Potential Accuracy Improvements................................................................26
6. Accuracy Improvements Using WLAN Only....................................................27
6.1. Getting More Accurate Data.........................................................................27
6.1.1. Sniffers.................................................................................................27
6.1.2. Access Point Sniffers ...........................................................................28
6.1.3. Peer-to-Peer Signal Strength ...............................................................28
6.2. Algorithm Improvement................................................................................28
6.2.1. Radio Map Based.................................................................................28
6.2.2. Propagation Model Based ....................................................................29
6.2.3. Collaborative Position Sensing.............................................................29
6.3. Self-Adjusting Systems ................................................................................29
6.3.1. Automatic Radio Map Creation.............................................................29
6.3.2. Detection of Wrong System Parameters...............................................30
6.4. Environmental Influence on WLAN Position Sensing ...................................30
6.4.1. Indoor Position Sensing .......................................................................30
6.4.2. Outdoor Position Sensing.....................................................................31
6.5. Decision for Developing an Algorithm ..........................................................31
7. Two Level Position Weighting Algorithm ........................................................32
Table of Contents
IV
7.1. Requirements ..............................................................................................32
7.2. Basic Principle .............................................................................................33
7.3. Propagation Model.......................................................................................33
7.4. Weighting of a State.....................................................................................34
7.4.1. Distance Information ............................................................................34
7.4.2. Client Movement ..................................................................................36
7.4.3. Using Client Movement as Filter...........................................................36
7.5. Finding the Highest Weighting .....................................................................36
7.5.1. Level One: Intersection Points..............................................................37
7.5.2. Level Two: Refine Result .....................................................................39
7.6. Smoothing the Results.................................................................................40
7.7. Assessment of Algorithm Development........................................................40
8. Case Study.........................................................................................................41
8.1. Update to .NET CF 2.0 ................................................................................41
8.2. New Features ..............................................................................................42
8.3. Overview......................................................................................................42
8.4. Visual Studio Projects ..................................................................................43
8.4.1. NodeModel...........................................................................................43
8.4.2. Controls................................................................................................49
8.4.3. MagicMapCE .......................................................................................51
8.4.4. Algorithms............................................................................................55
8.4.5. Installer ................................................................................................60
8.5. Case Study Conclusion................................................................................60
9. Evaluation Tests ................................................................................................61
9.1. Test Environment.........................................................................................61
9.2. Tests Performed ..........................................................................................62
9.3. Test Conclusion ...........................................................................................64
9.3.1. CE Client..............................................................................................64
9.3.2. Algorithm..............................................................................................64
9.3.3. Devices ................................................................................................65
10. Conclusion and Outlook ...................................................................................65
References.................................................................................................................68
Appendix A: Propagation Model Parameters.....................................................73
Appendix B: Evaluation Test Result Tables.......................................................75
Appendix C: Zusammenfassung in deutscher Sprache....................................77
List of Figures
V
List of Figures
Figure 3-1: Cell of Origin Method.................................................................................... 8
Figure 3-2: Angle of Arrival Method ............................................................................... 8
Figure 3-3: Time of Arrival Method................................................................................. 9
Figure 3-4: Receiver Signal Strength Method ................................................................ 10
Figure 4-1: Expected Signal Propagation ....................................................................... 13
Figure 4-2: Empirical Signal Propagation ...................................................................... 13
Figure 5-1: Comparison of Standard Technologies........................................................ 26
Figure 7-1: Weighting Deviation for r=10 and r=20 ..................................................... 35
Figure 7-2: Weighting for a Circle with Radius r=10 .................................................... 35
Figure 7-3: Intersection of Circles .................................................................................. 37
Figure 7-4: Points and Distances at the Intersection....................................................... 38
Figure 7-5: Angles at the Intersection............................................................................. 39
Figure 8-1: Client Object Structure ................................................................................ 43
Figure 8-2: NodeModel Class Diagram.......................................................................... 44
Figure 8-3: NodeModel Class......................................................................................... 45
Figure 8-4: Node Class ................................................................................................... 46
Figure 8-5: NodeDictionary Class .................................................................................. 47
Figure 8-6: AccessPointNode Class ............................................................................... 47
Figure 8-7: AccessPointSeerNode Class ........................................................................ 48
Figure 8-8: ClientNode Class ......................................................................................... 49
Figure 8-9: AccessPointEdge Class ................................................................................ 49
Figure 8-10: ImageScroller Class ................................................................................... 50
Figure 8-11: MoveEventHandler, MoveEventArgs, and ZoomEventArgs Classes ....... 50
Figure 8-12: MagicMapCE Main Screen........................................................................ 52
Figure 8-13: MagicMapCE Node Tree View ................................................................. 52
List of Figures
VI
Figure 8-14: MagicMapTreeNode Class ........................................................................ 52
Figure 8-15: AlgorithmSelectorView ............................................................................. 53
Figure 8-16: MagicMapCE Algorithm Selection Screen ............................................... 53
Figure 8-17: MagicMapCE Node Filtering Screen......................................................... 53
Figure 8-18: MapControl Class ...................................................................................... 54
Figure 8-19: NodeControl Class ..................................................................................... 55
Figure 8-20: Algorithms Class Diagram......................................................................... 56
Figure 8-21: NodeDictionaryReducerBase Class ........................................................... 57
Figure 8-22: AlgorithmBase Class ................................................................................. 58
Figure 8-23: Two Level Position Weighting Algorithm Settings Screen....................... 59
Figure 9-1: Floor Plan of Test Environment................................................................... 62
Figure 9-2: Positioning Error Dell Axim X5.................................................................. 63
Figure 9-3: Positioning Error Dell Axim x51v............................................................... 63
List of Abbreviations
VII
List of Abbreviations
AOA Angle Of Arrival
AP Access Point
CF Compact Framework
COO Cell of Origin
DECT Digital Enhanced Cordless Telecommunications
EDR Enhanced Data Rate
FAF Floor Attenuation Factor
GPS Global Positioning System
GSM Global System for Mobile Communications
GUI Graphical User Interface
IEEE Institute of Electrical And Electronics Engineers
IP Internet Protocol
ISO International Standard Organization
LAN Local Area Network
LBS Location Based Service
MAC Media Access Control
NDIS Network Device Interface Specification
NNSS Nearest Neighbour(s) in Signal Space
OSI Open System Interconnect
PDA Personal Digital Assistant
RFID Radio Frequency Identification
RSS Receiver Signal Strength
RSSI Receiver Signal Strength Indicator
RTLS Real-Time Location System
SSID Service Set Identifier
List of Abbreviations
VIII
TCP Transport Control Protocol
TDOA Time Difference of Arrival
TOA Time of Arrival
UMTS Universal Mobile Telecommunications System
WAF Wall Attenuation Factor
WIFI Wireless Fidelity
WLAN Wireless Local Area Network
WPAN Wireless Personal Area Network
1. Introduction
1
1. Introduction
Mobile computing has grown from a niche technology to global business. Populated
areas are nearly completely covered with wireless networks. At the same time mobile
devices are getting constantly cheaper and more powerful. The implemented
functionality increases with each new device generation but services provided are still
limited to communication or device specific functions.
Location aware applications that require the position of the mobile device are starting to
break through but are still limited to a few services. Mobile phone users can track their
phone or define a limited area as their home zone and pay wired equivalent rates. These
services do not exploit the potential of location based services (LBS). A location based
service is “a wireless-IP service that uses geographic information to serve a mobile user.
Any application service that exploits the position of a mobile terminal” (Open
Geospatial Consortium (OGC) 2006). While the market for mobile communication is
nearly saturated and profit is declining experts are still forecasting growth for location
based services (Kollmann, T. 2006).
To provide location based services the current user position is required. A standardised
positioning component for outdoor position sensing is already available but an
equivalent indoor system however is still missing: GPS works well with an accuracy of
a few metres in rural areas but is ineffective in indoor and urban areas with tall
buildings shielding the satellite signals. Ironically, this is where people spend most of
their time. Therefore, a system for downtown and indoor areas is required.
The proprietary solutions available are working well but need specialised hardware. An
attempt to solve the position sensing problem using standard hardware is to use wireless
LANs. WLAN technology is widespread. Almost every recent laptop or PDA is
equipped with WLAN hardware. WLAN access points are set up all over the cities by
private households or companies offering connectivity in hot spots.
A second possible application field for position sensing is logistics. For example, the
ability to locate a truck on a highway increases information about the delivering
process. The ability to track asset in warehouse management using position sensing
does facilitate goods handling. WLAN may provide a solution for these applications as
well.
2. Problem Statement
2
As previous research shows, WLAN hardware can be used to locate a device in indoor
and urban areas (Bahl, P. & Padmanabhan, V. N. 2000; Cheng, Y.-C., Chawathe, Y. &
Krumm, J. 2005; Ibach, P., Hübner, T. & Schweigert, M. 2004; Youssef, M. &
Agrawala, A. 2005). It is cheap, ubiquitous, and software only solutions are available.
2. Problem Statement
Over the past few years WLAN based position sensing has been investigated in detail.
Several research projects at universities (Ibach, P., Hübner, T. & Schweigert, M. 2004;
Youssef, M. & Agrawala, A. 2005) and private businesses (Bahl, P. & Padmanabhan,
V. N. 2000; Ekahau 2006) developed position sensing systems. Today, WLAN based
systems are reliable and provide sufficient accuracy for many different applications.
Nevertheless, they have not yet become a standard technology to provide positioning
information for location based services.
The required accuracy and coverage varies depending on the use intended: Locating the
next restaurant merely requires the current position in the streets. Finding the closest
printer to the laptop user needs the room number. Guiding forklifts in a warehouse
requires accuracy of a few metres.
WLAN based position sensing systems provide either low accuracy or are still
complicated to set up. The simplest method is cell based. These systems need the lowest
initial effort but also provide the lowest accuracy. Systems with high accuracy need
time consuming initial setups. Usually, a radio map has to be created and, depending on
the area to cover, several hundred reference measurements have to be taken. This
calibration needs to be repeated each time the environment of the position sensing
system changes.
Systems based on signal propagation models provide a compromise between initial
effort and accuracy. Already with very little initial information the position estimates
are acceptable. Only a few access point positions or reference measurements are
required to provide position sensing over a wide area.
Another approach to reduce the initial effort is to share the positioning information with
a community. Especially in public areas the access point positions do not have to be
determined by every user but only by a single one who provides this information to the
others.
2. Problem Statement
3
The limitation of position sensing clients to laptops is another problem. Today, more
and more PDAs are equipped with WLAN hardware but existing client software for
PDAs is rare and supports only basic functionality. PDAs are more likely to be carried
around and would benefit much more from positioning information. Usually, a laptop is
located at a fixed position (e.g. on a desk) and not moved around while operating. Only
initial estimation of the position at boot up is required.
2.1. Research Plan
The aim of this thesis is to improve the achieved accuracy of WLAN based position
sensing by developing a new algorithm. This algorithm is to be implemented on a PDA
running Windows Mobile.
The client to be developed has to be easy to use to reach a broad community of users.
The complexity of signal strength based position sensing has to be hidden behind a
simple interface for normal users. For more advanced users the interface should have
the possibility to provide additional information and to fine tune the system.
The MagicMap system (MagicMap 2006) developed at the Humboldt Universität Berlin
provides a position sensing system with low initial calibration effort, an easy to use
interface, and positioning information sharing in the community. Its algorithm is based
on a propagation model and uses a JAVA framework to compute the client position.
The JAVA client is working very well but the client for Windows Mobile PDAs is in a
very early state of development.
The existing client for PDAs can only measure signal strengths and deliver them to the
server. The positions of other clients, access points, or reference measurements are
provided by the server and displayed on the client. As the algorithm for position sensing
is based on JAVA there is no computation on the PDA at the moment.
The functionality of this client is to be enhanced and the developed algorithm to be
implemented. The achieved improvements are to be documented and evaluated.
2.2. Approach
To give a survey of the research field this thesis starts with a general description of
position sensing using radio waves in chapter 3. Then, in chapter 4, existing systems for
WLAN based position sensing and the algorithms they use are described and evaluated.
3. Radio Wave Based Position Sensing
4
The next step is to identify possible accuracy improvements for position sensing. First,
the potential of combining different network technologies with WLAN is examined.
Second, the possibilities using WLAN standard hardware only to increase the accuracy
are assessed in chapter 6.
In order to improve accuracy the experiences with the previously developed systems
will be evaluated and the most promising approach will be chosen.
Based on existing research the approach of this thesis is to develop an algorithm that
incorporates the advantages of the existing systems into a new one. The developed
“Two Level Position Weighting Algorithm” is presented in chapter 7. To prove the
effectivity and efficiency of the algorithm it is implemented in a case study. As defined
by the thesis goals, the case study is the implementation of a client running on Windows
CE for the MagicMap system. The implementation is documented in chapter 8.
To evaluate the improvements the CE client and the new algorithm are tested. The test
results are provided in chapter 9. Finally, a conclusion and an outlook are given.
3. Radio Wave Based Position Sensing
Electromagnetic waves at frequencies that can be generated using alternating current are
called radio waves. Using these radio waves to sense a client’s position provides some
advantages as they are invisible and can pervade solid material. It has some drawbacks,
for example signals are altered by absorption or interference.
In the following section the characteristics of radio waves are explained. Further, the
different methods possible to detect a client’s position are presented and their problems
and advantages are described.
3.1. Characteristics of Radio Waves
The spectrum of radio waves ranges from wavelengths of about one metre to
wavelengths of about ten kilometres. Their propagation is influenced by many factors.
The received signal strength mainly depends on the emitted energy, the frequency, the
distance to the sender, the angle of antenna to receiver, the sensitivity of the receiver,
and the attenuation by the medium between sender and receiver.
3. Radio Wave Based Position Sensing
5
3.1.1. Ideal Radio Signal Propagation
The received signal strength is physically called energy flux density. It specifies the
energy per time unit which is transported through an area unit. The general equation for
the energy flux density (S) is
20 EcS ⋅⋅= ε (1)
with 0ε being permittivity, c being the speed of light and E being the electric field
strength (Demtröder, W. 1999). For 1 m² of a spherical surface in distance r around the
dipole in an angle of ϑ against the dipole axis S is specified as
( ))/(sin16
sin 2
230
2
2420
2
crtrc
dqS −= ω
επ
ϑω. (2)
If the sender is not changed the following factors remain constant: charge q, amplitude
d0, frequency ω, permittivity 0ε , and speed of light c. As the sender is transmitting
continuously the received energy is not declining over the time. For averaging purposes
the time specifying factor ( ))/(sin 2 crt −ω is therefore taken as a constant factor as
well.
Without attenuation the received signal strength is related to the distance to the sender
by 1/r² and to the angle to the antenna by ϑ2sin . All other terms are defined as constant
factor k, which simplifies the relation between radius and received power P to
2
2sin
rkP
ϑ⋅= . (3)
Expressed in dB equation (3) is
[ ] )log(210)log(sin10)log(10 2 rkdBP ⋅⋅−⋅+⋅= ϑ . (4)
3.1.2. Radio Wave Attenuation
The attenuation of radio waves is highly complex. It is influenced by the material
characteristics of obstacles in the position sensing environment. In a typical
environment a variety of obstacles exists: walls, floors, furniture, and humans have very
different attenuation characteristics compared to normal air.
Radio waves are either distracted, reflected, or they interfere. Each surface they cross
and each edge they pass influences the signal strength measured at the receiver.
3. Radio Wave Based Position Sensing
6
Therefore the attenuation is not determined theoretically but empirically. The most
commonly used model is described in the next section.
3.1.3. Propagation Models
Much research has been undertaken in the field of models of radio propagation.
Hashemi (1993b) gives a survey of models and test results using their impulse response.
The most common model used in the area of signal strength based position sensing has
been developed by Seidel and Rappaport (1992). It is based on the assumption that the
mean path loss increases exponentially with distance:
n
d
ddPL
∝
0
)( (5)
with d being the distance between sender and receiver, d0 a reference distance, and n
the mean path loss exponent. Expressed in dB this is
)log(10])[(])[(0
0d
dndBdPLdBdPL ⋅⋅+= . (6)
For free space they determined n = 2, which corresponds to the results of the theoretic
derivation in 3.1.1.
Seidel and Rappaport found path loss to be log-normal distributed (compare Hashemi,
H. 1993a) and introduced the random variable Xσ: This model has been used later by
Ladd et al. (2002, p. 10).
( ) ( ) σΧ+
⋅⋅+=
0
0 log10d
dndPLdPL . (7)
Seidel and Rappaport introduced several attenuation factors for floors, soft obstacles,
and concrete walls, which added attenuation for each corresponding obstacle the signal
pervaded. They all have the form of
( ) OAFnOoPL ⋅= (8)
with o being the kind of obstacle, nO being the number of obstacles between sender and
receiver, and OAF being the Obstacle Attenuation Factor.
Bahl and Padmanabhan (2000) used a derived model for their RADAR (see section
4.4.2) system. They determined the Wall Attenuation Factor (WAF) empirically as well
as the number of obstacles C up to which the number of walls (nW) makes a difference.
3. Radio Wave Based Position Sensing
7
( ) ( ) WAFnWd
dndPLdPL ⋅+
⋅⋅+=
0
0 log10 , CnW <
( ) ( ) WAFCd
dndPLdPL ⋅+
⋅⋅+=
0
0 log10 , CnW ≥
(9)
3.1.4. Use of Models
Radio wave attenuation is a complex process. In a real world environment the effort to
create an accurate model that reflects all aspects is extremely high. The simplification of
this process by the models described facilitates the prediction of signal strength and
allows the used algorithms to compute positions in a limited amount of time. Research
proved that the loss in accuracy is low compared to the achieved reduction of
complexity.
3.2. Methods for Position Sensing
3.2.1. Cell of Origin (COO)
The cell of origin (COO) method uses the sector or radio cell to determine a mobile
terminal’s position. For this reason the radio network needs to be divided into sectors
that are served by different senders or at least different directed antennas. The mobile
terminal is estimated somewhere in the sector of the strongest sender. Therefore,
accuracy is depending on sector size. In figure 3-1 the client is placed at the position of
access point A.
Accuracy also depends on the handover strategy of the wireless network, i.e. is the
currently associated access point or base station really the strongest (nearest) sender? In
wireless LAN 802.11 networks the handover is not specified by the standards. Intel
adapters use a method based on the relative signal strength difference with bound and
hysteresis (Dornbusch, P. & Zündt, M. 2002). There is a probability that the currently
associated access point is not the strongest sender and therefore additional inaccuracy is
brought into the method.
3. Radio Wave Based Position Sensing
8
Figure 3-1: Cell of Origin Method
3.2.2. Angle of Arrival (AOA)
The Angle of Arrival (AOA) method requires a receiver that is capable of determining
the direction to the signal origin. Two angles of two different receivers are needed to
determine the mobile terminal in a two dimensional space. In figure 3-2 the angle of
access point A is dashed because it is not needed to locate the client.
Figure 3-2: Angle of Arrival Method
To determine the angle complex antennas are needed. Either multiple antennas are used
to determine the angle or moving antennas (as radar stations) are required. Thus, the
angle determination has to be done at the base station as the client can change its
orientation as well.
Access Point A Access Point B
Access Point C
Client
α
γ
β
Access Point A
Access Point B
Access Point C
Client
3. Radio Wave Based Position Sensing
9
3.2.3. Time of Arrival (TOA)
The Time of Arrival (TOA) method is based on the determination of the time difference
the signal needs to travel from the emitter to the receiver. Radio signals travel at the
speed of light (c = 299,792,458m/s). Therefore, a clock accuracy of better than 3.3ns is
required to achieve a resolution of one metre. Clock synchronisation is also essential
since accuracy depends on a consistent time in all senders and receivers.
The time travelled is transformed into the distance between sender and receiver. By
triangulation of at least three distances to known positions of access points it is possible
to determine the mobile terminal’s location in a two dimensional space.
In the figure below each dot in the dotted lines represents one unit of time. By
multiplying this time with the speed of light the distance can be estimated and the
position can be computed using trilateration.
Figure 3-3: Time of Arrival Method
3.2.4. Time Difference of Arrival (TDOA)
The time difference of arrival (TDOA) method eliminates the need for a synchronised
clock in the receiver. Not the total time travelled is used but the difference with which
each signal reaches the receiver. Therefore, a fourth sender is needed for time
determination to calculate the position of a client in a two dimensional space.
3.2.5. Receiver Signal Strength (RSS)
Position sensing using the signal strength is based on the attenuation of the signal
depending on the distance to the emitter. In general, attenuation increases with distance
but it also strongly depends on the characteristics of the material the signal pervades
(air, walls, water). Reflections and interferences also influence the signal strength
Access Point A
Access Point B
Access Point C
Client
4. WLAN Based Position Sensing
10
detected. The signal strengths are then transformed into distances and trilateration is
used to determine the mobile terminal’s position.
Figure 3-4: Receiver Signal Strength Method
4. WLAN Based Position Sensing
This section describes the possibilities for position sensing using WLAN. The different
standards for WLAN and the common position sensing methods are presented. The
possible methods and algorithms are classified. Afterwards, a survey of existing WLAN
based position sensing systems is given. The best known existing systems, the
algorithms they use, and their characteristics are described in greater detail. Some
additional techniques, which help improve the accuracy of main position sensing
algorithms, are explained. Finally, some frameworks to analyse the different systems
are presented and the used algorithms are compared and evaluated.
4.1. Wireless Local Area Networks
Wireless local area networks (WLAN) have been built to transfer data among
computers. There were no thoughts on trying to sense the position of the wireless
terminals during the specification of the standards. Nevertheless, because hardware is
cheap and commonly available people are trying to ‘abuse’ the WLAN hardware to
sense their position.
Using WLAN 802.11 for position sensing provides some advantages:
• As mentioned above the hardware is cheap and commonly available.
• The range available is sufficient for common use cases.
• The number of publicly available access points, which may be included in the
system, increases daily.
• The frequency spectrum is unlicensed and therefore free of fees.
Access Point A
Access Point B
Access Point C
Client
4. WLAN Based Position Sensing
11
4.1.1. The WLAN Standards
The standards WLANs have been specified by the Institute of Electrical and Electronics
Engineers (IEEE 2006). The first ones were released in 1999 and covered the Medium
Access Control (MAC) and Physical (PHY) layers of the ISO/OSI model. Several
further specifications have been released since then. The standard 802.11 itself is rather
unspecific and leaves too much space for manufacturer-specific modifications. Several
amendments specifying more details, especially of the physical layer, made the standard
become a success. Today the most relevant standards for WLAN are (in order of
release):
802.11b WiFi
This is the most common WLAN standard. It is also known as WiFi (wireless fidelity).
The data rate is specified with 11Mbits. Eleven channels are supported in a frequency
range from 2412MHz to 2462MHz. This frequency spectrum is unlicensed in most
countries. Only three channels may be used independently (lowest, middle, and highest
one) because each channel needs a bandwidth of 25MHz (IEEE Standards Association
1999b, 18.4.6.2). The range is about 30m indoors.
802.11a WLAN
This standard uses the frequency range from 5150MHz to 5350MHz and 5725MHz to
5825MHz. It reaches up to 54MBit/s and allows 12 independently usable channels. It is
not widespread because of regulatory limitations. In Germany only the lowest four
channels are allowed at a maximum transmitting power of 30mW (IEEE Standards
Association 1999a, 17.8.3.3). The range is only about 10m indoors.
802.11g WLAN
Most devices sold today support this standard. It uses the same frequencies as 802.11b
with the same limitations but supports data rates up to 54Mbit/s. Both standards can
coexist but “pure” 802.11g networks allow higher data rates (IEEE Standards
Association 2003a, 18.4.6.2).
802.11n MIMO
The 802.11n is the forthcoming amendment to the 802.11 wireless LAN standards. It
promises higher data rates and longer range but is still under development. The current
draft 1.0 failed to be forwarded for sponsor ballot and is due for final approval not
before July 2007. Nevertheless, several manufacturers are already selling products
4. WLAN Based Position Sensing
12
“compliant to the 802.11n draft”, for example Netgear with their RangeMAX product
series and Linksys with their SRX product series.
The physical layer is based on the multiple-input, multiple-output (MIMO) technology
which uses a multiple-antennas principle to increase transmission efficiency. The
reception is increased by using signal post processing. Fading of the signal is avoided
by using spatial diversity of reception. Sending efficiency is increased by beam-
forming: the main lobe of the antennas is directed at the receiver. This technology will
increase the range to about 50m.
By using additional frequency bands the maximal available data rate will be increased
to about 540Mbit/s.
Senders or receivers using this technology will not be able to be part in a WLAN
position sensing environment developed so far due to the automatic focusing of sender
power. Current systems need a constant sender power to sense their position.
4.1.2. Difficulties Using 2.4 GHz
The WLAN standards 802.11b and 802.11g are using the unlicensed spectrum at
2.4GHz. This frequency band is free to use for industrial, scientific, and medical
purposes (ISM band). Other technologies using the 2.4GHz band may disturb WLAN
signals, e.g. Bluetooth (see 5.1), Zigbee (see 5.2), some cordless telephones (not
DECT), and microwave ovens working at 2.455GHz.
Water absorbs radio waves at 2.4GHz very well. That causes a rather high influence of
humans, plants, and all water containing objects on signal strength. Water has a high
permittivity at 2.4GHz (77 at 2.54GHz). The expected signal propagation and
empirically sensed signal propagation differ extremely (compare figure 4-1 and figure
4-2). The sensed signals are much distorted and do not show a continuous attenuation as
predicted.
4. WLAN Based Position Sensing
13
Figure 4-1: Expected Signal Propagation
Figure 4-2: Empirical Signal Propagation1
4.2. Using WLAN for Position Sensing
Accuracy of cell based position sensing is depending on sector size. As shown above
WLAN access points cover an area with a radius of up to 30m. Time of arrival based
technologies are very accurate like RADAR or GPS but need precise clocks. Standard
802.11 WLAN hardware does not provide the required clock accuracy, which makes
this method not applicable.
Using the signal strength is the most common method for position sensing based on
standard WLAN 802.11 hardware. The Received Signal Strength Indication (RSSI) is
specified in the standard and provided by all WLAN hardware. Anomalies in the
propagation of the signal make this method quite inaccurate but by using optimised
algorithms researchers are trying to overcome these shortcomings.
The signal strength may either be measured at the client whose position is to be
determined (Bahl, P. & Padmanabhan, V. N. 2000; Youssef, M. & Agrawala, A. 2005)
or the client’s signal strength can be sensed by stationary sensors. These stationary
sensors are called sniffers (Krishnan, P. et al. 2004).
1 Signal strengths measured at OECON, Braunschweig, map built by Florian Lederer and Andreas Weiß
4. WLAN Based Position Sensing
14
4.3. Classes of Algorithms
Algorithms based on signal strength can be based on empirical data or on propagation
models. The result can be either deterministic or a probability distribution of position.
Algorithms using information from other clients are collaborative.
4.3.1. Empirical Signal Strength Based Algorithms
Empirical signal strength based algorithms compare the actual sensed signal strengths
with previously measured ones. While measuring the signal strengths a dataset is
generated consisting of access points described by MAC address or SSID and
corresponding signal strength. The data set is called a signal strength vector. Initially,
the user has to measure signal strengths at all possible positions. These measurements
are called reference measurements, calibration points, or fingerprints. The database of
positions with corresponding signal strengths is called a radio map. The system then
compares the saved signal strength vectors with the one currently sensed.
Simple algorithms estimate the mobile terminal at the position of the best match. Better
algorithms evaluate the best matches and place the client at the centre or use a similar
logic.
4.3.2. Propagation Model Based Algorithms
Propagation model based methods are trying to predict the signal strength vector in a
position by using a model for the propagation of the signal. The distance to the emitter
is used to forecast the expected signal strength. Usually, an averaged attenuation factor
is used as well. More advanced models use different attenuation factors for different
types of structure between sender and receiver, for example concrete walls or soft
obstacles. A random variable may be used to express the uncertainty and inaccuracy of
the model.
Propagation models can be used to estimate the distance between sender and receiver
directly or to generate a radio map. This reduces the workload for creating the radio
map manually and works automatically in case the radio map needs to be rebuilt due to
changed infrastructure.
Models can either return a single value for the predicted signal strength or a probability
distribution. Models returning a single value are called deterministic. Models returning
a probability distribution are called statistical.
4. WLAN Based Position Sensing
15
4.3.3. Probabilistic Algorithms
Probabilistic algorithms are trying to cope with the inaccuracy of RSS based position
sensing by using stochastic methods. The signal strength vector is taken as result of a
stochastic experiment that can be predicted. The position itself is taken as the
conditional probability with the previous position as prior probability. If no probabilistic
functions are used the algorithm is called deterministic.
4.3.4. Collaborative Algorithms
Algorithms using information delivered from other mobile terminals or clients follow a
collaborative approach. This requires a method to exchange information among multiple
clients.
Collaborative algorithm can either provide previously gathered information, for
example access point positions determined by other clients, or they provide information
about the current position for example signal strength measured by another client.
4.4. WLAN Based Position Sensing Systems
Many different systems have been developed to implement WLAN based position
sensing. The best known ones are the Horus (4.4.1) and the RADAR (4.4.2) system.
Other systems include:
• The system developed by Li et al. (2006).
• The algorithm presented by Prasithsangaree., Krishnamurthy, and Chrysanthis
(2002) which uses the k best matches of a radio map and then computes the
centre as the estimated client position.
• The system described by Saha et al. (2003) based on a radio map and using a
neural network to sense the position.
• A statistical model with detailed derivation by Tonteri (2001).
• The system by Madigan et al. that uses a Bayesian graphical model to sense the
positioning of multiple clients simultaneously (Madigan, D. et al. 2005).
There are also several commercial solutions, e.g. the Ekahau Positioning Engine
(Ekahau 2006). As the company does not release detailed information on their
technology they are not included in this overview.
Some selected systems are described in more detail in the following sections.
4. WLAN Based Position Sensing
16
4.4.1. Horus System
The Horus system has been developed at the University of Maryland by Youssef et al.
(Youssef, M. & Agrawala, A. 2005; Youssef, M. A., Agrawala, A. & Shankar, A. U.
2003). It uses probability distributions to reduce the disturbing effects of the noisy
wireless channel and a clustering technique (Joint Clustering Technique) to reduce
calculation load on the mobile terminal.
The system is based on a radio map. To reduce computation load, the locations are
clustered to a set of locations with corresponding signal strength distributions. To sense
the client’s position the system starts by estimating the most likely cluster the client is in
by using the maximum likelihood method. To increase the accuracy of these discrete
positions the centre of mass of the most likely location is determined. Furthermore, a
time averaging of the physical location is created to smooth the results. For more
information on these techniques see section 4.5.
To handle small-scale variations the Horus system assumes a maximum user speed of
two metres per second. If the change of location is above this threshold the system
perturbs the received signal strength vector and assumes the position closest to the
previous position
In a test environment the Horus team reached an aberration of less than 86cm in test bed
1 and less than 132cm in test bed 2 in 90% their measurements.
4.4.2. RADAR System
The RADAR system by Microsoft Research (Bahl, P. & Padmanabhan, V. N. 2000;
Bahl, P., Padmanabhan, V. N. & Balachandran, A. 2000) is based on building a signal
strength map first and sensing the mobile terminal’s position afterwards. Instead of
using fixed WLAN access points and sensing their signal strength the RADAR system
uses fixed computers equipped with a WLAN card, which sense the signal strength
emitted by the mobile terminal. Besides the signal strength at a given location, it also
recorded the direction the user is facing, because user orientation has a significant
impact (up to 5dBm) on signal strength.
To determine the user position they implemented a simple linear-time algorithm. It is
called nearest neighbour(s) in signal space (NNSS). The algorithm calculates the
distance in signal space (using the Euclidean distance measure) between the measured
signal strength and known values of the radio map. Then it picks the position that
4. WLAN Based Position Sensing
17
minimises the distance. In a second step, the algorithm takes the n nearest neighbours
and averages their positions.
The median resolution of the RADAR system is about 2-3 metres.
4.4.3. LEASE System
The LEASE system developed by Krishnan et al. (2004) measures the signal strength of
mobile terminals using sniffers at previously defined positions that continuously
observe the signal strength. In addition to the mobile terminals the authors deployed
stationary emitters with well known positions. The measured signal strengths from these
emitters reflect the structure of the environment as their signals are attenuated
accordingly. Access points as another type of stationary emitter play a minor role in this
system.
The advantage of this system is the independence of the network infrastructure. Access
points can be placed for optimal data transfer rates and the stationary emitters can be
placed for optimal position sensing functionality. Furthermore, the system can detect
wrong system parameters using multiple stationary sniffers and rerun the initial setup of
the signal strength map.
The need for specialised hardware is the biggest disadvantage of this system. Sniffers
and stationary emitters have to be placed and set up in the position sensing area before
the actual position sensing process.
4.4.4. MagicMap
The MagicMap system has been developed at the chair of Prof. Malek in the department
of computer science at the Humboldt Universität Berlin (Ibach, P., Hübner, T. &
Schweigert, M. 2004; Schweigert, M. & Hübner, T. 2005). It uses a propagation model
based method. The sensed signal strengths are converted into distances to access points.
MagicMap follows a collaborative approach. Clients exchange information on access
point positions and reference measurements.
MagicMap uses the SpringLayout of the Java Universal Network/Graph framework
(JUNG 2006) to estimate the client position. Edge lengths between clients and access
points are determined by MagicMap using the signal strength. JUNG then tries to place
all nodes minimising the deviation of edge lengths. Reference measurements are taken
4. WLAN Based Position Sensing
18
into account using an averaged k-nearest-neighbours principle (Ibach, P., Stantchev, V.
et al. 2005).
MagicMap requires very little initial information. Some access points have to be placed
at their map location by dragging them on the screen. Under dynamic conditions
MagicMap then reaches an accuracy of five metres (Ibach, P., Schreiner, F. et al. 2005).
4.4.5. MoteTrack
The focus of the MoteTrack system (Lorincz, K. & Welsh, M. 2005) lies more on
making position sensing more stable than on making it more accurate. The authors
moved the computing load from the back end server to the clients. The algorithm used
is similar to the RADAR one: Taking samples from all possible client positions and
then estimating the best match to the current detected signal. Finally, the geographic
centroid of the k-nearest neighbours is taken as client position. Instead of using a fixed
value for k, only a subset of the k-nearest neighbours is taken, which satisfies conditions
of similarity. The MoteTrack system reaches an accuracy of 3m in 80% of all cases.
4.4.6. Place Lab
Place Lab (Cheng, Y.-C., Chawathe, Y. & Krumm, J. 2005) is an attempt by Intel
Research to realise metropolitan scale position sensing without GPS. During the setup
phase signal strength data was collected in the area of interest by “war driving”: while
driving along the streets in a car the signal strengths are recorded together with the
corresponding coordinates estimated by a GPS receiver. In the position sensing phase
this collected data is compared to the actually sensed signal strengths and the position is
computed.
The achieved accuracy varies from 13-20 metres in downtown areas up to 40 metres in
suburban areas. The authors found that accuracy is depending less on the used
algorithms but more on the number of access points in range.
Although accuracy is dramatically lower than those reached by other systems presented
in this thesis remarkably less time is required for the initial setup in relation to the
covered area. That makes this technique useful for many purposes but not for the
intended accuracy improvement of WLAN based position sensing in this thesis. Some
internet communities already demonstrate and apply similar techniques (Herecast 2006;
Plazes 2006)as do some commercial products (Skyhook Wireless 2006).
4. WLAN Based Position Sensing
19
4.5. Smoothing Techniques
The techniques discussed in this chapter are used to increase the accuracy by smoothing
the position. Either they try to improve the results by averaging the best estimates
(Centre of Mass, Perturbation Technique) or take into account the limited movement of
the mobile terminal (Bayesian Inference Engine, Markov Localisation, Time
Averaging).
4.5.1. Bayesian Inference Engine
Ladd et al. (Ladd, A. M. et al. 2002) propose a system based on a radio map. Instead of
calculating the distance based on the signal strength they take the signal strength vector
as an outcome of a random variable. Using Bayesian’s rules, they determine the
conditional probability of being at a location with detected signal strength values as
prior probability. Afterwards they smooth the result by applying the hidden Markov
Chain to the last n results assuming a typical low speed for a laptop carrier.
4.5.2. Markov Localisation
Wallbaum (2004) developed a system based on a radio wave propagation model similar
to the one Bahl and Padmanabhan (2000) used for the RADAR system. In addition to
the propagation model he developed a movement model for the mobile client. Using a
Markov Chain he determined the probability of the computed position under the
condition of the previous position. The conducted experiments showed that the
proposed Markov Localizer can provide a mean error of less than 1.4111m when
tracking a mobile terminal.
Berna et al. (2003) proposed a similar system based on a hidden Markov Chain. It uses
labelled and unlabelled data. The achieved accuracy was better than 2.25 metres in 70%
of measurements using labelled data only. Training of the Markov Chain using the EM
algorithm with unlabelled data resulted in a 20% improvement.
4.5.3. Centre of Mass
The centre of mass technique uses the normalised probability assigned by a discrete
location estimation process (e.g. radio map based processes) as weight measurement of
a physical object in space and calculates the centre of mass of the n nearest objects
(Youssef, M. & Agrawala, A. 2004, 2005). This enables a discrete algorithm to deliver
continuous results.
4. WLAN Based Position Sensing
20
4.5.4. Time Averaging
The time averaging technique smoothes the results of an algorithm by using a queue of
n lastly calculated positions and taking the average of these (Youssef, M. & Agrawala,
A. 2004, 2005).
4.5.5. Perturbation Technique
The perturbation technique is used to overcome so-called small-scale variations. Small-
scale variations occur due to the signal propagation as electro-magnetic wave: Signal
minima and maxima alternate twice during the wavelength which is about 12.5cm at
2.4GHz. This technique perturbs the signal strength vector entries by a chosen
percentage, calculates the resulting position of every perturbation element, and finally
uses the position closest to the previous one (Youssef, M. 2003).
4.6. Evaluation of Algorithms
Much research has been undertaken in the field of algorithm development. To compare
different algorithms many authors developed means to evaluate performance,
efficiency, and accuracy of WLAN based position sensing algorithms:
• Roos et al. (2002) formulated WLAN based position sensing as machine
learning problem. For testing purposes they developed a framework and
implemented three different algorithms: the deterministic nearest neighbour
method and the probabilistic kernel and histogram methods. The algorithms
have been systematically tested using different numbers of access points and
different numbers of reference measurements called calibration points. The
results of the comparison showed that the probabilistic methods perform slightly
better than the deterministic ones, especially when using fewer access points.
• Kaemarungsi and Krishnamurthy (2004) present an analytical model of a
framework for localisation using location fingerprints.
• Hatami and Pahlavan (2005) compared statistical (radio map based) methods
with propagation model based methods. They developed a hybrid algorithm
using a propagation model to generate reference measurements and to apply the
nearest neighbour method to these. This so-called “Distance Variations”
algorithm performs no worse than statistical models but is less sensitive to the
number of access points.
5. Accuracy Improvement by Combining WLAN with Other Network Technologies
21
• A general analysis of performance that can be applied to any WLAN based
position sensing systems has been developed by Youssef and Agrawala (2003).
They compared the RADAR and Horus system and found the Horus system to
perform slightly better.
• Krishnakumar and Krishnan developed a model for location estimation accuracy
(Krishnakumar, A. S. & Krishnan, P. 2005). Using a similar propagation model
as Ladd they found a point of minimum uncertainty in their experiments but left
the analytic proof to further research.
Generally radio map based algorithms provided the highest accuracy in controlled
environments. The initial workload is the biggest disadvantage of this method.
Furthermore, the radio map has to be rebuilt every time the access point infrastructure
or environment changes. Without updating the results are getting less accurate. A great
advantage of this method is the independence from models for signal propagation. The
signal strength vector is taken “as it is”.
On the other hand propagation model based approaches need less initial workload. They
can cope better with changing conditions. Reducing the number of available access
points to a minimum still produced satisfying outcomes. Accuracy is not as high as with
radio map based approaches but probability based algorithms are close to deliver the
same accuracy (Hatami, A. & Pahlavan, K. 2005).
5. Accuracy Improvement by Combining WLAN with
Other Network Technologies
A possibility to enhance WLAN position sensing is to combine WLAN with other
networking technologies. Previous research showed that these approaches can deliver
better results than pure WLAN systems. There are some other technologies which may
be used to sense the client’s position. This overview does not include all technologies
but the most common ones. Each technology is described briefly and its potential for
position sensing is evaluated.
5.1. Bluetooth
Bluetooth (Bluetooth SIG 2006) works in the same unlicensed frequency spectrum from
2.4GHz to 2.485GHz as 802.11b/g. It uses adaptive frequency hopping to overcome
interferences from other senders using this spectrum. The signal changes randomly
5. Accuracy Improvement by Combining WLAN with Other Network Technologies
22
among 79 frequencies with 1 MHz space. Bluetooth and WLAN 802.11 can coexist side
by side without disturbing each other (Shoemake, M. B. 2001). The IEEE standard for
wireless personal area networks (WPAN) is based on the Bluetooth specification (IEEE
Standards Association 2005).
Bluetooth allows data rates up to 1Mbit/s at version 1.2 and up to 3Mbit/s at version 2.0
with enhanced data rates (EDR). The transmitting range is from one metre for class 3
devices up to 100m for class 1 devices (Bluetooth SIG 2004).
Since revision 1.1 (Bluetooth SIG 2001) Bluetooth supports a receiver signal strength
indicator (RSSI) to enable power saving technologies to adopt the transmitting power.
Feldmann et al. (2003) describe an indoor Bluetooth position sensing system using this
feature reaching a precision of 2.08m. Anastasi et al. (2003) describe a system based on
Bluetooth cells with the precision limited to the cell size (approximately 20m in case of
class 2 transmitters).
Bluetooth infrastructure is by far not as widespread as WLAN. As Bluetooth suffers
from the same disadvantages as WLAN it is unlikely to achieve better accuracy.
5.2. RFID
Radio Frequency Identification (RFID) is a technology that uses low cost chips (so-
called tags) and tag readers to mark movable objects with computer readable
information (Informationsforum RFID 2006). The technology is used in a wide range of
applications. More than 140 different ISO standards are defined for RFID. The
frequencies range from low frequencies with less than 100 kHz to ultra high frequencies
with up to 954MHz.
Passive tags operate without power supply. They are powered by a continuous wave
emitted by the reader. This technology works only in the near field of half wave length
and therefore only up to a few centimetres.
Active tags are battery-powered. They send their identification code on request by a
reader. Their range is up to 100 metres.
RFID allows cell of origin based position sensing methods and signal strength based
methods. The signal strength of RFID tags is less influenced by walls and persons than
WLAN signals. Using short range RFID tags the accuracy can be better than with
WLAN based systems. However, accuracy expected with long range tags is not better
than five metres (Menz, M. 2005).
5. Accuracy Improvement by Combining WLAN with Other Network Technologies
23
Ni et al (2004) developed a system based on RFID tags and tag readers, which can
return the power level of tags similar to the RSSI of WLAN. They evaluated the power
level by comparing the level of the tag whose position is to be sensed with reference
tags placed at know positions. Using reference tags in a raster of 1x2 metres they
reached an accuracy of about one metre in 50% of measurements.
RFID can increase accuracy of WLAN based position sensing systems but the accuracy
is strongly dependent on a dense mesh of tag readers and reference tags. The
combination of WLAN with RFID offers the opportunity to have a general coverage
and some special areas with additional RFID equipment giving extra accuracy.
5.3. ZigBee
ZigBee is a protocol stack for use in WPANs. Its focus is more on becoming a wireless
standard for remote control in the industrial field than on data transfer. It uses the PHY
and MAC layers as specified in the IEEE standard 802.11.4 (IEEE Standards
Association 2003b).
More than 150 companies are members of the ZigBee alliance. It was started by eight
promoters: Ember, Freescale, Honeywell, Invensys, Mitsubishi, Motorola, Philips, and
Samsung. Today, the number of promoters is growing along with the increasing number
of members. The standard was finalised in December 2004 (ZigBee Alliance 2006).
ZigBee provides 16 channels with a bandwidth of 250 Kbits at 2.4 GHz. As fallback, it
supports one channel with 20 Kbits at 868MHz in Europe and 10 channels with 40
Kbits at 915MHz in America. The maximum transmission range is device dependent
and varies from 10 to 100 metres. ZigBee targets industrial control applications without
requirements for high data rates but the needs for low power, low cost, and ease of use.
The ZigBee protocol stack specifies a signal strength measurement for channel
selection. It does not, however, specify its further use or forwarding to the upper layers
but it seems possible to use RSS based methods for position sensing. It uses the same
2.4GHz ISM band as WLAN and Bluetooth but promises to be more stable in harsh
conditions. However, it is unlikely that ZigBee reaches a higher accuracy than WLAN.
However, ZigBee was never widely accepted and may soon be replaced by RuBee,
which offers some great advantages.
5. Accuracy Improvement by Combining WLAN with Other Network Technologies
24
5.4. RuBee
RuBee is a new standard for wireless networks in harsh environments. The beginning of
the work on the new standard IEEE P1902.1 has been announced on June 8, 2006
(Stevens, J. K. 2006). The project description is available on the IEEE homepage (IEEE
Standards Association 2006).
RuBee uses low frequencies below 450 kHz. The radiated energy consists of 99.99%
magnetic energy as opposed to 99.99% electric energy using RFID frequencies at
900MHz. That enables radio waves to pervade easily water and metal but the
transmission range is reduced as the field strength attenuation is closer to 1/r³ than 1/r
for higher frequencies. RuBee’s transmission range is expected to be between 10 and 50
feet (Schuman, E. 2006).
RuBee is able to operate on many thousand tags but the available bandwidth is very
small. Only about 10 read operations per second are available as opposed to up to 200
using RFID. Therefore Rubee is not a replacement to RFID, but merely an alternative.
Position sensing is already in the focus of the working group. “The use of visibility
networks may include providing the status and location of people or high-value assets in
a user-configurable area…” (Stevens, J. K. 2006). Less signal attenuation by walls and
other elements in the environment will increase the accuracy of signal strength based
position sensing methods.
5.5. GSM
The Global System for Mobile Communications (GSM) is currently the most
widespread standard for mobile telephone systems. The successor of GSM is UMTS,
wnich allows higher data rates but does not change the network system itself
substantially (Steglich, S. 2004). Therefore, the position sensing characteristic shown in
this section can be applied to both systems.
GSM works on a cell base: each mobile phone is logged into the base station of one
cell. The radius of a cell is between 200m in a city and 35km in rural areas. Most
commercially available location systems available today are using this information.
For more accuracy the Timing Advance parameter (TA) may be used. It has been
defined to align the incoming radio signals at the base station into slots. Using this
parameter the distance of the mobile phone may be roughly determined (accuracy
around 500m).
5. Accuracy Improvement by Combining WLAN with Other Network Technologies
25
Most base stations use directed antennas to divide the covered area into sectors to
support a higher network load. By triangulation of sectors of multiple antennas the
position may be determined more exactly.
GSM positioning systems are working outdoors only. Walls cause too much
disturbance. Operation is on the network side as only the network provider possesses
the necessary information for position sensing. Commercial operators promise accuracy
from 250m to 100m in downtown areas (jackMobile 2006; Mobiloco 2006) That makes
GSM position sensing useful for large-scale systems (i.e. country wide) only.
5.6. WiMax
WiMax is the common name for standard 802.16 released by the IEEE (IEEE Standards
Association 2004). It is focussed on high data rates between fixed senders and receivers.
Transmission needs a line of sight between transceivers. Using a different frequency
band the standard has been extended to mobile devices (Intel 2004).
WiMax has been developed to realise high data rates using an air interface between two
fixed transceivers rather than communication among mobile devices. The specifications
make it a rather bad choice for position sensing.
5.7. GPS
GPS is the common abbreviation of “Navigational Satellite Timing and Ranging -
Global Positioning System“(NAVSTAR-GPS). The system is based on the signal
propagation delay of signals sent by satellites in orbit around the earth. Four “visible”
satellites are needed for receivers without exact clock. Twenty-four satellites plus some
spare ones cover the whole earth (Assistant Secretary of Defence 2001; Navstar GPS
Joint Program Office 2006). GPS was built for position sensing and is included in this
list for reference purposes.
Initially, the standard availability (SA) for non-military users provided accuracy of less
than 100 metres. Since May 2000 this artificial inaccuracy has stopped and 90% of all
measurements provide an error of less than 10m. Differential GPS (DGPS) uses a
stationary GPS receiver with a well-defined and well-known position. By comparing the
error of the calculated and known position, it is possible to reduce the mean error and to
achieve accuracy of 1-3 metre.
5. Accuracy Improvement by Combining WLAN with Other Network Technologies
26
Due to the need of satellite communication GPS is working outdoors only. Even in
cities with many skyscrapers, it is difficult to have the necessary contact to four
satellites. New receiver technologies are trying to overcome these shortcomings.
5.8. Potential Accuracy Improvements
Until today, there is no single standard technology that provides all advantages bundled
for position sensing. Essentially, accuracy of RSS based methods increase with smaller
cell sizes. GSM provides the widest range but the lowest accuracy. WLAN provides an
acceptable accuracy and cell size. The use may be city-wide as more and more access
points are set up in populated areas. This is not to be expected from other technologies
as Bluetooth, ZigBee, RFID, and RuBee. Their use will always be limited to special
areas equipped with transceivers. RFID possibly provides the highest accuracy but also
a very limited range.
Cell size depends on technology and so does accuracy. RuBee may reach the highest
accuracy as its frequency band is least influenced by obstacles. For a comparison of
accuracy and range see figure 5-1.
Figure 5-1: Comparison of Standard Technologies
Combining WLAN with other technologies is a promising way to improve the accuracy
using RSS based methods. Using WLAN for an overall position sensing and RFID in
Accuracy
Range
1m 10m 100m 1km 10km 100km
House
City
Country-side
World
GPS
GSM
RFID RuBee WLAN ZigBee Bluetooth
6. Accuracy Improvements Using WLAN Only
27
some areas where better accuracy is required may be a compromise between effort and
accuracy.
Other technologies not based on radio signals may be used, too. The combination of
ultra sound and WLAN using the Ekahau engine showed some promising results (Hii,
P. & Zaslavsky, A. 2005).
GPS is still the best solution for position sensing as it is available worldwide with an
accuracy of below ten metres but encounters the highest costs as well. The satellites
have to be maintained and the system has to be administered. In indoor environments
and in some downtown areas with many skyscrapers other alternatives are superior to
GPS. They provide acceptable accuracy and coverage considering the much lower costs.
6. Accuracy Improvements Using WLAN Only
Current systems for position sensing using 802.11 hardware only are achieving rather
good accuracy but are leaving some potential for improvements. The following
paragraphs present approaches to tackle this problem.
6.1. Getting More Accurate Data
Increasing the quality of available data to determine the client’s position would deliver
the biggest improvement of accuracy. However, as mentioned before WLAN is not built
for position sensing hence common devices are not designed for exact signal strength
signals detection. Furthermore, WLAN signals are distorted, reflected, absorbed,
defused, and interfere with each other. Small changes in the environment (e.g. a person
walking by) cause significant changes in the WLAN signal strength. Therefore, it is
easier to get more measurements than more accurate ones. The solution is to place
additional signal strength detectors in the position sensing area.
6.1.1. Sniffers
Additional clients at a fixed and known location deliver information about the current
signal strength at their position. Using these so-called “sniffers“, it is possible to react
on changes in the environment causing variations in signal strength.
Sniffers are only useful in case the used algorithm considers the measured signal
strengths. The LEASE system (Krishnan, P. et al. 2004) uses sniffers. They do not sense
the client’s signal strength but the one received by sniffers.
6. Accuracy Improvements Using WLAN Only
28
6.1.2. Access Point Sniffers
Some manufacturers produce access points, which provide information about the signal
strength of clients in range. This additional data may be used to determine the distance
between client and access point. Since this behaviour is not specified in the standards it
may be included only in predefined installations with known access point hardware.
6.1.3. Peer-to-Peer Signal Strength
Clients may measure the signal strength of other clients within their transmission range
and enhance the accuracy of position sensing using this additional information. In case
both clients “see” each other there are two data sets available to determine the distance
between the clients and the measurement error may be reduced as well. Standard
WLAN client hardware needs to be switched to promiscuous mode in order to allow
other clients to be seen.
Here, problems may occur with different receiver sensitivity and different transmission
power of clients. The attenuation of the signal has to be determined for each pair of
transceivers and each transmission direction individually.
6.2. Algorithm Improvement
As shown in 4.4 the used algorithms differ widely in initial effort and reachable
accuracy. Each single approach has been researched and tested in detail. Better accuracy
may be reached by picking the best solutions out of the available ones and combining
them into a new system.
The derivation from the analysis above is that a probabilistic algorithm based on
propagation models, which can be enhanced by including a radio map and uses a
collaborative system to exchange information offers the best chance to increase
accuracy.
6.2.1. Radio Map Based
Creating a radio map of all possible positions currently results in the highest accuracy,
but building a radio map and keeping it up to date is a time-consuming process.
Therefore, propagation based algorithms should deliver a basic accuracy that could be
extended if higher accuracy was needed by using a radio map.
6. Accuracy Improvements Using WLAN Only
29
6.2.2. Propagation Model Based
Propagation model based algorithms reduce the initial workload to a minimum but can
provide accuracy close to radio map based. By making propagation models more exact
and by including more data the so far reached accuracy can be improved.
6.2.3. Collaborative Position Sensing
Collaborative approaches provide additional room for improvements. The first step is to
exchange information about the position sensing infrastructure as it is done in
MagicMap. The second step is to use the clients to sense position information about
other clients. This requires WLAN clients to operate in promiscuous mode. A system
using this approach is described by Fretzagias and Papadopouli (2004).
6.3. Self-Adjusting Systems
Most previously developed systems need the construction of a radio map before
position sensing. This lengthy process has to be repeated each time the environment
changes. Otherwise, the accuracy is reduced.
Self-adjusting systems on the other hand react autonomously on changes in the
environment and in the system infrastructure. Furthermore, self-adjusting systems detect
wrong system parameters and automatically correct them. The following paragraphs
describe some ideas for self-adjusting systems.
6.3.1. Automatic Radio Map Creation
The requirement to build the radio map before the actual position sensing takes place is
a huge disadvantage of systems based on this method. Building the radio map requires
taking reference measurements for all possible locations and may take a long time.
However, when the radio map is created automatically the initial workload to set up the
system is reduced. Thus, it is not necessary anymore to rebuild the map in case the
environment or the system infrastructure changes. The system administrator simply
restarts the building process and restores the initial system accuracy.
Automatic radio map creation requires the installation of sniffers (6.1.1). This
functionality has already been implemented and tested in the LEASE system (4.4.3).
Hatami and Pahlavan (2005) used their propagation model to create a radio map and
compared several algorithms working on that map. Alternatively a kind of device could
6. Accuracy Improvements Using WLAN Only
30
be created, which automatically cycles through all positions and measures the signal
strengths (automated “war driving”, see section 4.4.6).
6.3.2. Detection of Wrong System Parameters
Wrong system parameters occur if a user entesr wrong reference measurements or if the
WLAN infrastructure is changed, e.g. the position of an access point is altered or the
emitter power is changed.
Detecting and correcting such wrong parameters is crucial as already one wrong
reference measurement reduces accuracy and produces wrong positions. Only the use of
sniffers provides a way to detect falsely set parameters automatically.
The LEASE system (4.4.3) incorporates a simple way for detection. It expects the signal
of stationary emitters to be log-normal distributed with standard deviation σ. When the
measured values from at least one stationary emitter consistently exhibit a statistically
significant deviation it is assumed to have been moved or the environment has been
changed. Thus, the model is rebuilt.
6.4. Environmental Influence on WLAN Position Sensing
The signal strength is strongly influenced by the environment. Obstacles reflect, absorb,
and disperse the signals measured. If they are known their characteristics may be used
to increase the accuracy.
Using WLAN in an outdoor environment for position sensing poses additional
difficulties for the system. Seasons and especially the weather influence the attenuation
of the signal. Therefore, propagation models have to be adapted to the new conditions in
order to keep accuracy.
6.4.1. Indoor Position Sensing
Walls, furniture, metal doors, moving objects like humans or cars have a significant
impact. However, it is very complicated to build a model that respects all these
influences accurately.
The common approach is to calculate an average attenuation factor, which reflects all
objects in the position area. Bahl et al. (2000) use the Wall Attenuation Factor (WAF)
as proposed by Seidel and Rapport (Seidel, S. Y. & Rappaport, T. S. 1992). The Wall
Attenuation Factor is averaged over all walls in the area and then multiplied by the
number of walls between sender and receiver. This number may be counted by the
6. Accuracy Improvements Using WLAN Only
31
algorithm using an area map with exact positions of all walls. The same procedure may
be used to evaluate other obstacles in the propagation path.
As the signal strength is a very inaccurate measure this very extensive method may not
increase the accuracy in proportion to the effort. The trade-off of gained accuracy and
effort put in may not justify the costs.
6.4.2. Outdoor Position Sensing
In an outdoor environment additional complexity is added to the model. Besides all
indoor relevant factors the weather and the seasons also influence the WLAN signal
strength.
The weather influences the general attenuation of radio signals. Air humidity, rain, and
snowfall change the contingent of water in the air. WLAN frequencies of 2.4 GHz are
strongly influenced by water. Therefore, the general attenuation factor has to be
changed accordingly.
In addition the vegetation changes during the different seasons: in winter, trees and
hedges do not carry leaves. Plants and especially leaves contain a great portion of water.
Therefore, the attenuation of trees is much higher in summer than in winter.
Adopting existing algorithms to outdoor conditions does not seem to be a complex
problem. Systems that can automatically detect wrong parameters like the LEASE
system can also adopt the parameters to changing outdoor environments.
6.5. Decision for Developing an Algorithm
The most promising accuracy improving potential lies in developing a new algorithm.
The technology of choice is WLAN. No other standard technology offers a huge
improvement for indoor positioning systems (unlike GPS which is more accurate but
only available outdoors) but is as widespread as WLAN.
Getting more accurate data for a signal strength based position sensing system is very
complicated as the signal strength is distorted by many different factors. The only
improvement on this aspect seems to be a continuous observation of signal strength
using sniffers. The use of sniffers is not examined in this work as it is part of a different
MagicMap project.
Gathering more data by taking into account the environment and structure of the
building leads to improvement but makes the preliminary setup effort much bigger.
7. Two Level Position Weighting Algorithm
32
Developing a new method for position sensing seems to be the most promising way to
keep the system simple, keep the setup effort low, and still work on standard hardware.
7. Two Level Position Weighting Algorithm
The algorithm presented in this thesis defines a weighting for every position the client
may reside in. It then searches for the position with highest weighting using a two level
approach. First, the position is roughly estimated. Then the result is refined by
specifying the exact position within this estimate.
This chapter starts with the requirements set up for the new algorithm. Then, the
assumptions made for the algorithm are described. The main part presents the algorithm
itself. Finally, some conclusions about the algorithm are drawn.
7.1. Requirements
Before the development of the algorithm the requirements describing the wanted
characteristics of the algorithm were formulated.
No Calibration
Systems based on an empirical radio map need a long set up phase before the algorithm
is able to detect the client’s position. These radio maps have to be adapted to a changing
environment. To reduce the initial effort the algorithm to be developed should work on
only a few initial parameters.
Improvement of Accuracy by Using Reference Measurements
The algorithm should provide the possibility to include previously measured signal
strengths. These reference measurements improve the accuracy by specifying
abnormalities to the propagation model. The system parameters can be adjusted
accordingly.
Working Using Reference Measurements Only
If no access point positions are known the algorithm has to provide a possibility to work
on reference measurements only. When setting up the system in an unknown
environment access points may be hidden behind walls or otherwise invisible. Then, the
only information available is reference measurement.
7. Two Level Position Weighting Algorithm
33
7.2. Basic Principle
Signal strengths are the only information available in a WLAN based position sensing
system. They have to be used to estimate the client’s position. As no initial setup shall
be required a radio map cannot be built. Signal strength measurements are not exact and
attenuation of radio propagation is depending on the environment, hence no exact
computation of the client position is possible. The algorithm has to tolerate this
inaccuracy and still deliver a reasonable solution.
The proposed algorithm defines a weighting for all possible states. A state is defined as
being located at a given place. For this purpose the algorithm uses the measured signal
strengths, the access point positions, reference measurements, client movement, and
signal strength measured by other clients. The position at which a measurement for
reference purposes is taken is called a reference point. All these different information
sources contribute a weighting for each possible state. The weightings are then summed
up and the algorithm searches in all possible states for the state with the highest
weighting. The client is estimated to be at that position.
7.3. Propagation Model
To estimate the weighting of a state at a distance to a signal emitting device (access
points or other clients) the signal strength is used. The received signal strength has to be
converted into a distance measurement. For this purpose a propagation model as
described in section 3.1.3 is required. The used propagation model is similar to the one
used by Ladd et al. (2002). While there inaccuracy is represented by a random variable
X introduced within the propagation model, here inaccuracy of signal strength
measurements is brought into the calculation in a later step. The used model is:
( ) ( )
⋅⋅−=
0
0 log10d
dndSdS . (10)
Hence, the distance d is:
n
SS
dd 100
0
10−
⋅= . (11)
Incorporation of the attenuation factor suggested by Seidel and Rappaport (1992) is out
of the scope of this work and is part of other projects within MagicMap.
7. Two Level Position Weighting Algorithm
34
7.4. Weighting of a State
7.4.1. Distance Information
Distance information is used to create a theoretical sphere with the origin of the distance
measurement as centre and the distance as radius. The client is estimated on the surface
of that sphere. Four exact distance measurements lead to one intersection point and thus
to the position of the client.
As the distance measurements are very imprecise the distance is taken as maximum of
an exponential function. The sphere describes all states with highest weighting. All
other states are weighted lower.
The function to compute the weighting w is
( )2
2rx
r
s
ew−⋅−
= (12)
with r being radius of the sphere, x being distance from centre to the point whose
weighting is to be calculated, and s being scaling factor:
2
)ln(
d
ws
−= . (13)
This function adds fault tolerance to the algorithm. It specifies which percentage of
weighting w is still assigned to a position that varies by d from the expected distance r.
Figure 7-1 shows the function for r = 10 and r = 20. A deviation of 25% is still
assigned a weighting of 50%.
7. Two Level Position Weighting Algorithm
35
0
0,25
0,5
0,75
1
1,25
0 5 10 15 20 25 30 35 40
Distance
We
igh
tin
g
10
20
Figure 7-1: Weighting Deviation for r=10 and r=20
If the radius is 10 a value of 7.5 or 12.5 is still assigned a weight of 0.5. The function
with radius 20 returns 0.5 at 15 or 25. In a two dimensional area a circle with radius 10
produces weightings of the surrounding points as shown in figure 7-2.
0
5
10
15
20
0
5
10
15
20
0
0,5
1
Weighting
X
Y
Figure 7-2: Weighting for a Circle with Radius r=10
Access Points
The distance to access points is calculated using the presented propagation model.
7. Two Level Position Weighting Algorithm
36
Reference Measurements
The distance to reference measurements cannot be calculated directly. Therefore, an
empirical model to estimate this distance has to be developed. Related research suggests
the use of the Euclidean distance (vector difference) of signal strengths.
Other Clients
In a collaborative position sensing system like MagicMap it is possible to include signal
strength measurements from other clients. The weighting is lower than information
from access points or reference points as the position of the other client is uncertain as
well.
7.4.2. Client Movement
Client movement is a class of information different from distance measurements. The
distance a client can move in between two algorithm runs is limited. A human will not
walk faster than 2m/s carrying a wireless device. Therefore, all position in a circle of
2m around the human are assigned the same weighting. Positions more distant are less
likely. Their weighting decreases with distance.
7.4.3. Using Client Movement as Filter
If the weighting result of client movement is not summed up but multiplied with the
distance information weighting it operates as a filter of possible positions: those in close
neighbourhood of the previous position are possible. All others are nearly impossible.
That way the search area is reduced to the direct surrounding of the client. If the
previous position is correct this will speed up the calculations and reduce sudden
jumping from one position to another.
7.5. Finding the Highest Weighting
Using the method described above it is possible to specify weighting for each state. The
highest weighting specifies the most likely position of the client. It has to be found
among all possible states, i.e. all possible positions on the map or in a three dimensional
space.
The first attempt was to use Simulated Annealing (Kirkpatrick, S., Gelatt, C. D. &
Vecchi, J. M. P. 1983). Simulated Annealing tries to find the state with the lowest
energy while the temperature is cooling down but the initial search area was too big and
7. Two Level Position Weighting Algorithm
37
the algorithm needed too many cycles to find the solution. Therefore, the area of
possible solutions had to be reduced.
The second attempt uses a two level search. The first step is to reduce the set of possible
solutions to the set of all sphere intersection points. The intersection point with the
highest weighting is estimated as the client’s position. In an accurate environment with
no disturbance this would return the best solution. As the signal strengths are inaccurate
the algorithm refines the result by searching for higher probabilities around the result of
step one.
7.5.1. Level One: Intersection Points
To reduce the set of possible solution the spheres around the access points are projected
on an area (usually the map displayed). The intersection points of all circles with each
other are calculated. Intersections of spheres are not used because three spheres are
required to return points. Circle intersections require only two. As WLAN signal
strength measurements are very inaccurate and there is no guaranteed intersection this
method is more likely to deliver a solution at all. The method used is described in this
section.
Figure 7-3 shows two access points AP1 and AP2. The radiuses r1 and r2 of the circles
around them are calculated using the signal strengths.
Figure 7-3: Intersection of Circles
r1
r2
q
h
x2 x1
y1
y2
p
d
AP1
AP2
C
7. Two Level Position Weighting Algorithm
38
Using the Pythagorean Theorem the distance between the two access points is then
determined as
( ) ( )2
21
2
21 yyxxd −+−= . (14)
If the two circles intersect d is divided by C into the parts p and q. Using the
Pythagorean Theorem twice
222
2 qhr += (15)
222
1 phr += (16)
and the distance qpd += the partial distance p is determined as
d
drrp
2
222
21 +−
= . (17)
The height h then can be determined:
221 prh −= . (18)
Figure 7-4: Points and Distances at the Intersection
Using this height and the theorem on intersecting lines the coordinates of point C can be
determined:
( )
d
xxpxxC
121
−+= ,
( )
d
yypyyC
121
−+= . (19)
I1
x2 x1
y1
y2
p
d
xc
yc
I2
C
h
h
AP2
AP1
7. Two Level Position Weighting Algorithm
39
Figure 7-5: Angles at the Intersection
The angles α and γ are equal and so are their sinuses. Sinus is defined as opposite leg
divided by hypotenuse:
h
r
d
yy=
− 12 (20)
Using this relation the coordinates of the two intersection points I1 and I2 can be
computed:
( )
d
yyhxx CI
121
−+= ,
( )
d
xxhyy CI
121
−−=
( )
d
yyhxx CI
122
−−= ,
( )
d
xxhyy CI
122
−+=
(21)
The weighting of each intersection point is computed. The client is estimated to be
located around the intersection point with the highest weighting.
7.5.2. Level Two: Refine Result
The second step of the algorithm refines the search result by looking for a better
solution in the surrounding of the intersection with the highest weighting. The algorithm
calculates the weighting of surrounding positions and moves to any position with a
higher weighting.
The algorithm starts by checking positions in a surrounding at a distance called step
width to the intersection. Initially, this step width is the equivalent of one metre in map
coordinates. The algorithm moves to any position with a higher weighting in the
I1
x1
y1
xc
yc
C
h
AP1
γ
α
r
d
7. Two Level Position Weighting Algorithm
40
surrounding of one metre and moves the client position to it. Then the surrounding of
the new position is examined.
If a better position cannot be found the step width is divided by two. That way the
algorithm moves the position very quickly towards the optimum at first. Closer to the
optimum the resolution is getting finer with every step.
If the step width is less than one point the algorithm has found the optimal solution and
terminates.
7.6. Smoothing the Results
Previous research for MagicMap (Schweigert, M. & Hübner, T. 2005) suggested
smoothing of signal strength and hence the position by using a sliding window of the
last n signal strength measurements and using the average of these values. This works
well for stationary mobile terminals. The same result is confirmed by Youssef et al.
(Youssef, M. & Agrawala, A. 2005) by smoothing the last n estimated positions.
However, when tracking a moving terminal it seems more practical to use a movement
model than to average the input of signal strength (Wallbaum, M. 2004). Although the
results are smoother with increasing window size the mean error increases as well. This
is due to the fact that n signal scanning cycles are required to get the actual signal
strengths.
As compromise between reaction speed to client movement and accuracy the window
size has been reduced from 10 signals to 3 signals. Sometimes an access point drops out
of the measurement once. However, it is still included in the calculations with two other
values. Furthermore the position is smoothed by including the previous position in the
weighting.
7.7. Assessment of Algorithm Development
The proposed Two Level Position Weighting Algorithm is a universal method to
compute the position since it is able to incorporate many different classes of information
in the weighting. The more information is provided the more accurate the results are.
The shown possible information types include access point signal strengths, reference
measurements, and client movement. Future versions may include Bluetooth, RFID, or
RuBee types of information. The weighting system allows coping with the inaccuracy
of all these technologies.
8. Case Study
41
Besides incorporating different technologies another step to improve the algorithm
could be to allow different weightings for different classes of information. The
information of being half a metre away from a RFID sensor may get twice the weight of
a WLAN access point distance measurement since it is more accurate.
At the presented stadium the algorithm contains all essentials to sense a position using
WLAN data. It is open for future additions and improvements.
8. Case Study
To demonstrate the algorithm described above it has been implemented on a PDA
running Microsoft Windows Mobile. The client is based on the previous MagicMapCE
client developed by Keller and the thesis by Lüderitz and Engel (2006). It is integrated
in the MagicMap system and communicates with the MagicMap server via a TCP
gateway. This chapter describes some general issues and the implementation of the new
software components.
The implementation was done using Microsoft Visual Studio 2005. The programme has
been developed in C# with the Microsoft .NET Compact Framework. Additionally, the
OpenNETCF library is used for stumbling of WLAN access point data. The client is
built for Microsoft Windows Mobile 2003 but runs on the newer Windows Mobile 5.0
as well. It has been tested on a Dell Axim X5 and a Dell Axim x51v.
The MagicMapCE solution consists of seven projects: Algorithms, Controls,
CustomInstaller, MagicMapCE, NodeModel, CabFile, and Setup.
CustomInstaller, CabFile, and Setup are used to create an installer package.
Algorithms contains the algorithm classes, Controls contains two controls used
for the GUI, MagicMapCE contains the main client, and NodeModel contains the
classes of the node model. These projects are described in more detail in the section 8.3.
8.1. Update to .NET CF 2.0
The previous version of the MagicMapCE client was developed using Microsoft .NET
Compact Framework 1.0. It has been ported to the new .NET CF 2.0 to facilitate
development. Some of the new features used are:
• The support for VGA resolution has been enhanced. New forms are not only
interpolated but automatically scaled to the screen resolution. This function
needs to be enabled on forms created using CF 1.0.
8. Case Study
42
• The new generic collections are to replace the currently used hash tables for
internal data representation. The use of the NodeHashtable class is
deprecated and the NodeDictionary class is introduced.
• New nullable data types, which wrap value types in reference types, are used for
signal storage.
• The security settings for threading are stricter now. The only allowed method
call is Control.Invoke(EventHandler). The threading has been changed
accordingly.
8.2. New Features
In order to enable position sensing on the client for Windows CE several improvements
have been made. The major changes are:
• The node model has been ported from the JAVA version to Windows Mobile
and adopting it to the new requirements as specified in the MagicMap Wiki.
• The GUI was rewritten completely as the user interaction capabilities of the
previous version were too limited for client based position sensing. It now offers
basic and easy to use functions for beginners and more detailed features for the
advanced user.
• An interface for algorithms used for position sensing has been developed.
Algorithms now may be switched during runtime. The new node selectors allow
pre-selection of nodes used for calculations.
• The algorithm described in section 7 has been implemented and tested.
• The threads for signal collection (stumbling) and position computation have
been rewritten. Inter thread communication is now .NET CF 2.0-compliant.
8.3. Overview
A survey of communication structure and object relationships is given in figure 8-1.
Central element of the client is the node model. Nodes can be added, updated, or
removed from it. Maps and corresponding nodes stored on the server can be retrieved
using the communication layer. The Cache and ServerInterface classes were
developed by Keller during his work for the MagicMap project. Only minor changes
have been made to this part of the client.
8. Case Study
43
The SignalCollector thread reads signal strengths from the WLAN adapter and
updates the client node accordingly. The PositionComputer thread reads the nodes
from the node model and updates the position of the client node.
Changes made to the node model raise NodeAdded, NodeUpdated, or
NodeRemoved events. The MapControl class takes care of all drawing on the
screen and user interaction with the node model. It handles these events with
EventHandlers. Changes made by the user are forwarded to the model.
Figure 8-1: Client Object Structure
8.4. Visual Studio Projects
8.4.1. NodeModel
The NodeModel project contains the classes that represent all objects used for position
sensing. It has been ported from the JAVA client. Where necessary or helpful the JAVA
classes and functions have been replaced by the C# equivalent. All listeners have been
replaced by multicast delegates triggered by events and the JAVA MapTable has been
replaced by NodeHashtable.
8. Case Study
44
Figure 8-2: NodeModel Class Diagram
8. Case Study
45
The model has been improved continuously to meet new requirements. Some of the
suggestions made in the MagicMap Wiki article(Nomads 2006, article
MagicMap_Knotenmodell) about the node model are already put into place. The
structure is now tree-like: each node contains a list of child nodes. In future releases, the
NodeHashtable used as node container will be replaced by the new .NET CF 2.0
generic collections based NodeDictionary.
The Node class is the root object. All other specialised node classes are derived from it.
Figure 8-2 shows the class model.
NodeModel
The NodeModel class (figure 8-3) administrates the node
model. It contains methods to add, remove, and update nodes.
Events will be raised when a node is added, removed, or
updated to provide information about the changes for other
classes.
The RootNode is a ThreeDimensionalNode (as
“world” object), which contains all nodes added to the model.
CurrentParentNode is the node all methods are applied
on. AddNode adds a node to the nodes collection off the
CurrentParentNode, RemoveNode removes it. Nodes
is a link to the child nodes of the CurrentParentNode.
AccessPointNodes, ClientNodes, and
ReferencePointNodes are selections of the child nodes.
If the computer running this node model is represented by an
object in the model ThisNode holds the reference to it. For
example, a PDA is represented by a ClientNode object.
Figure 8-3: NodeModel
Class
8. Case Study
46
Node
The Node class (figure 8-4) is the base class of the model.
Each node representing an object in the model is represented
by an object derived from this class. Every node has three
identifiers: DisplayName is the name to be displayed in lists
and GUIs, Id is the database record identifier, and
InternalIdentifier is the unique identifier used for
identifying purposes in computations. The Node constructor
specifies a unique default InternalIdentifier for each
node but derived classes may override
InternalIdentifier to return a specialised identifier.
NodeModel is a reference to the NodeModel class the node
belongs to. Nodes is a NodeHashtable object, which
contains all child nodes. In case this node is child of another
node Parent refers to it. Except for the root node, every node
has a parent. Position specifies the position relative to the parent node as Point3D
object. X, Y, and Z contain the single coordinates. this implements an indexer for
the Nodes collection.
Distance returns the distance to another node in node coordinates.
GetNeighbours returns a collection of nearby nodes. It is to be overridden by
derived classes.
NodeDictionary
The NodeDictionary (figure 8-5) class is based on the new generic collection
classes provided in the .NET CF 2.0 (see section 8.1). It implements the same
functionality as the NodeHashtable class but is strongly typed. The Add method is
overloaded with adding a node using the InternalIdentifer as key. No casting is
required when using the KeyValueEntries, which makes handling easier.
Figure 8-4: Node Class
8. Case Study
47
Figure 8-5: NodeDictionary Class
WlanNode
AccessPointNode and AccessPointSeerNode are not directly derived from
Node but from WlanNode. The model is kept open for different technologies, and
future releases will contain nodes for Bluetooth and RFID position sensing. To
distinguish between WLAN and Bluetooth client nodes
(Bluetooth client nodes for example won’t have a MAC
address) the abstract class WlanNode is introduced.
AccessPointNode
AccessPointNode (figure 8-6) represents a WLAN access
point in the model. MacAddress contains the MAC address
of the access point. SSID contains the given name.
InternalIdentifier is overridden with the MAC
address. Hidden marks the access point as excluded from
position calculations and displaying.
Figure 8-6: AccessPointNode
Class
8. Case Study
48
AccessPointSeerNode
AccessPointSeerNode represents a device able to sense
signals from an access point and estimate their strength. It
stores the signal in the strongly typed Dictionary object
AccessPointSignals. Key is the access point object and
value is an array of nullable doubles to store the collected
signals. Length of this array is
MaximumEdgesForEachAccessPoint. The index of the
lastly added signal is CurrentSignalIndex. AddEdges
expects an Arraylist of AccessPointEdges and saves
the signal strengths in the corresponding entries in
AccessPointSignals using the next index position. If
there is no corresponding entry, a new entry will be created and
the SeesAccessPoint event is raised. When
MaximumEdgesForEachAccessPoint is reached the
index is reset to zero. AverageSignalLevel returns the
averaged signals of the corresponding array and null if no
values are stored. AverageSignalLevels returns a
Dictionary object containing the access point and averaged
signal levels. AverageSignalLevelEdges does the same but returns an
Arraylist of AccessPointEdges. In case the averaged value is null (i.e. no
values are stored) the access point is suspected to be out of range. The corresponding
entry is removed and the NotSeesAccessPoint event is raised. GetNeighbours
is overridden and returns all access points in the AccessPointSignals
Dictionary collection.
Figure 8-7:
AccessPointSeerNode Class
8. Case Study
49
ReferencePointNode
ReferencePointNode is derived from
AccessPointSeerNode and represents a signal strength
measurement at a known position but does not implement any
additional functionality to AccessPointSeerNode. It has
been renamed from LocationNode in the JAVA
implementation as the new name explains its functionality
more clearly.
ClientNode
ClientNode (figure 8-8) inherits from
AccessPointSeerNode and represents a client to be
located by WLAN position sensing, e.g. a laptop or PDA with
WLAN adapter. InternalIdentifier is the MAC
address.
AccessPointEdge
AccessPointEdge (figure 8-9) represents an edge from an
access point to a seer node. SignalLevel is the signal level
detected by the seer node.
8.4.2. Controls
Two new controls have been developed to create the new GUI: SelfMover and
ImageScroller. SelfMover can move itself according to pen position.
ImageScroller displays an image that can be scrolled and zoomed.
SelfMover
SelfMover changes its position on the form once the control is tapped and held. To
implement this functionality the OnMouseDown, OnMouseMove, and OnMouseUp
methods have been overridden. No further changes to the base class UserControl
have been made.
Figure 8-8: ClientNode Class
Figure 8-9: AccessPointEdge
Class
8. Case Study
50
ImageScroller
ImageScroller can display an image and scroll it according to pen movement once
the control is tapped and held. ZoomFactor specifies a factor that scales the image up
or down. An overview of properties, methods, and events is
given in figure 8-10.
The DrawingArea usually equals the control area unless the
image is smaller or scaled down and does not cover the whole
control. Then DrawingArea specifies the rectangle used by
the image.
The ImageToClientCoordinates and
ClientToImageCoordinates functions convert a point
on the image to the corresponding point on the control and vice
versa. MoveTopLeft moves the top left corner to the
specified point of the image. CenterOn centres the image on
the specified point.
The events have to be handled by MoveEventHandler (see
figure 8-11) which takes MoveEventArgs as parameter e.
ImageMoved is raised once the control is moved and the pen
is released. The MoveEventArgs contains the number of
pixels the image is moved in x and y direction.
ImageZoomed is raised when the ZoomFactor is changed.
ZoomEventArgs.Factor contains the ratio of new zoom
factor to old zoom factor. If the area to be displayed exceeds
the DrawingArea after zooming the X and Y values contain
the necessary image movement to avoid empty control areas.
Figure 8-11: MoveEventHandler, MoveEventArgs, and ZoomEventArgs Classes
Figure 8-10: ImageScroller
Class
8. Case Study
51
8.4.3. MagicMapCE
MagicMapCE is the start-up project of the solution. It contains the main routines and
the graphical user interface (GUI) of the client. As it is based on the work by Keller the
description in this document contains only the changes to his work.
MainWindow
The old GUI did not provide enough user interaction capabilities for client based
position sensing. It merely showed the node positions and allowed the defining of new
reference points. Now all nodes on the screen can be selected or moved. Their context
menu provides additional information and functionality. The map can be scrolled and
zoomed. The implementation of the new GUI is described in more detail in the
description of the MapControl control later in this section.
Figure 8-12 shows the main screen of the application. The status of the two red access
points is set to “fix” symbolised by the anchors. One of the three green clients is
selected and enlarged. Its name is shown in the status bar. The “Treeview” menu item
opens the tree view screen and “Algorithm” opens the algorithm selection screen.
The threading has been adapted to the new security rules. The communication among
the thread for signal strength collection, the thread for position computing, and the main
programme is now realised using public fields and invoking EventHandler
delegates.
8. Case Study
52
Figure 8-12: MagicMapCE Main Screen
Figure 8-13: MagicMapCE Node Tree
View
NodeTreeView
NodeTreeView (figure 8-13) is aimed at developers and advanced users. It provides
detailed information about each node currently included in the model. All nodes display
their internal name, displayed name, and their position. Client nodes and access point
nodes display their MAC address. Access point nodes also
show the measured signal strength of the last n
measurements. Client nodes provide the averaged signal
strength of all access point nodes they currently “see”.
The NodeTreeView is realised using a standard .NET
NodeTree control but the nodes displayed are specialised to
the needs of the MagicMapCE client and of the internal node
model. The MagicMapTreeNode class (figure 8-14) is
derived from TreeNode and contains a reference to the
corresponding node in the node model.
Figure 8-14:
MagicMapTreeNode Class
8. Case Study
53
AlgorithmSelectorView
AlgorithmSelectorView (figure 8-15) allows changing
the used algorithm during runtime on the “Algorithm” tab
(figure 8-16). It also provides a standardised access to
algorithm specific settings to adjust algorithm features to the
current position sensing environment. The “NodeSelector” tab
(figure 8-17) allows defining node selectors which reduce the
number of nodes before the algorithms is applied. This avoids
the problem which occurred in the JAVA client when “seeing”
too many undesirable access points. Their influence caused
wrong results, thus they needed to be excluded from
calculations. The node selectors also offer great flexibility as
they may be applied individually and configured to the needs
of the position sensing environment. NodeReducers are
described in more detail in section 8.4.4.
Figure 8-16: MagicMapCE Algorithm
Selection Screen
Figure 8-17: MagicMapCE Node Filtering
Screen
MapControl
MapControl is the central element of the new GUI. This control can be used on any
.NET form and performs all drawing on the screen. It encapsulates an
Figure 8-15:
AlgorithmSelectorView
8. Case Study
54
ImageScroller control to display the map and a NodeControl control for each
node contained in the associated node model to display the nodes.
Basic functionality is enabled by setting the Image property
to a bitmap object and adding the OnNodeAdded,
OnNodeUpdated, and OnNodeRemoved as event
handlers to the corresponding events of a NodeModel
object. All nodes added to the node model will be represented
by a NodeControl, which can be accessed using the
Controls property of the base class UserControl.
The user now can scroll the map and move the nodes on the
map. Moved nodes raise a NodeUpdated event in the
NodeModel.
A node is selected by tapping on it and the selection is
visualised by enlarging the node. The
SelectedNodeChanged event is raised and the
SelectedNode and SelectedNodeControl
properties are set.
Some visual aspects can be set using the
AccessPointColor, ClientColor,
ReferencePointColor, NodeSize, and
FixNodeImage properties. They adjust the appearance of
the used NodeControl controls.
The functionality of the encapsulated ImageScroller
control is wrapped and made public in the CenterOn,
ClientToImageCoordinates,
ImageToClientCoordinates functions, and the
ZoomFactor property. If the image is scrolled or zoomed
all NodeControl controls will be moved accordingly.
MapControl offers two specialised context menu
properties: ImageContextMenu and
NodeContextMenu. ImageContextMenu is used once the user taps and holds the
map. The position on the map the user tapped on can be determined by evaluating the
Figure 8-18: MapControl
Class
8. Case Study
55
static property Control.MousePosition which returns the pen position on the
screen. This position can be transformed into map coordinates by calling the
MapControl.PointToClient and
MapControl.ClientToImageCoordinates methods. NodeContextMenu is
used once the user taps and holds a node. The tapped node is stored in the
NodeContextMenu.SourceControl property.
In the case study application these context menus are used to provide additional
functionality: centre the map on a node, centre the map on the tapped position, zoom in
and zoom out, add a reference point at the tapped position, and fix a node’s position in
the model.
The methods DrawCircles and DrawPolygon demonstrate a way to draw
additional graphical elements on the control area. DrawCircles expects an array of
Rectangles and draws circles or ellipses in the specified rectangles. DrawPolygon
expects an array of Point and draws a polygon specified by these points on the
control. The implemented algorithms use this functionality to visualise their results.
These methods may be extended later to draw edges from clients to access points.
NodeControl
NodeControl is used by MapControl to visualise nodes
in the model. It is derived from SelfMover (see section
8.4.2). The added functionality is focussed on the needs of the
MagicMapCE client. The Node property holds a reference to
the corresponding node in the node model. It may be used to
read the name, MAC address or other information. The
displayed colour can be changed using the ForeColor
property. A node can be set to fix using the Fix property. It
then cannot be moved and displays the bitmap referenced in
FixImage.
8.4.4. Algorithms
The Algorithms project contains classes to calculate
positions using the model provided in the NodeModel
project. The two most important classes are the AlgorithmBase and
NodeDictionaryReducerBase classes. These two classes already make use of
Figure 8-19: NodeControl
Class
8. Case Study
56
the new NodeDictionary collection instead of the NodeHashtable as they were
developed later than the node model.
Figure 8-20: Algorithms Class Diagram
The interval between two algorithm runs is currently set to five seconds. The relatively
high pause allows the following of algorithm results on the screen and saves power on
the PDAs.
8. Case Study
57
NodeDictionaryReducerBase Class
Classes derived from NodeDictionaryReducerBase
reduce the complexity of the problem the algorithm has to
solve by removing nodes, which are not needed from the node
model. This makes computations faster and more accurate.
NodeDictionaryReducerBase reduces the nodes
contained in a NodeDictionary collection using rules
specified in derived classes.. This functionality has to be
implemented by the derived class by overriding the
ReduceAction method.
Configure is called by the administration class and may be
used to show a settings screen or similar. NodeModel
contains a reference to the node model it is working on. This
is mainly used for configuration purposes.
NoReductionReducer
This reducer does not do anything. It is included for proof of concept only.
MinimalSignalLevelReducer
This reducer allows only access point with signal strength stronger than the specified
minimum.
KNearestReducer
This reducer only allows the k nearest access points, which are the ones with the
strongest signal strength received, to be used in computations.
SelectedNodesOnlyReducer
This reducer only allows nodes previously specified in the settings screen to be used in
computations.
Figure 8-21:
NodeDictionaryReducerBase
Class
8. Case Study
58
AlgorithmBase Class
AlgorithmBase (figure 8-22) is the base class for algorithms
that work on the node model. Derived classes override the
Compute method to implement the algorithm functionality.
ComputePositions is the public call to start the
computation. It starts by reducing the nodes available for
calculations by executing the reducer classes contained in the
NodeDictionaryReducers collection. Then the Compute
method is called and finally the
FinishedComputePositons event is raised.
The algorithms are working on NodeDictionary collections.
NodeHashtable collections from the NodeModel are
converted by the NHT2ND method.
Status is supposed to provide status information about
progress of the algorithm. For example the accuracy of the
solution may be placed in that field and read by the calling class
when the computation is finished.
Configure is called by the algorithm selection screen and
may be overridden to change settings of the algorithms. It may display a form or a
dialogue to configure the algorithm.
Some debugging functionality is provided by the CheckingNewCircle and
CheckingNewPosition events: in case the event is raised the NewCircle or
NewPosition are to be filled with a rectangle specifying a circle respectively a point.
Calling instances may use these values to observe the progress of the algorithm. This
implementation is necessary to keep the algorithms call multithreading compatible. The
.NET Compact Framework allows EventHandler calls only among different threads
and permits read/write operations but no standard method calls.
No Computing Algorithm
This is a proof of concept implementation of the algorithm base class. It does no
computing.
Figure 8-22: AlgorithmBase
Class
8. Case Study
59
Centre of Mass Algorithm
This algorithm computes the centre of mass of all access points using the signal strength
as measure for the mass. This method works only in case the access points are placed on
the outer corners of the map. It was implemented as a first attempt to produce results on
the screen.
Distance Probability Algorithm
This was the first attempt to use the described propagation and weighting model for
position sensing. The algorithm uses Simulated Annealing (see 7.5) to find the most
probable solution. The space of possible solution is too big and the algorithm took too
long to find the highest weighting. This problem is solved in the Two Level Position
Weighting algorithm.
Two Level Position Weighting Algorithm
This class contains the implementation of the algorithm described in section 7. The used
propagation model is transformed to
n
S
kd 1010−
⋅= , n
S
dk 100
0
10⋅= . (22)
The parameters k and n have been determined
from empirical data using the Microsoft Excel
solver (see Appendix A: Propagation Model
Parameters).
Figure 8-23 shows the settings screen of the
algorithm which allows defining several
options:
• “Meter2MapFactor” specifies the
number of points that equal one metre on
the selected map. Future versions will
use geo reference points to calculate this
factor. The button “Average” returns the
number of points equalling the average
distance between the currently client
position and “seen” access points.
Figure 8-23: Two Level Position Weighting
Algorithm Settings Screen
8. Case Study
60
• The k and n values specify the parameters for the propagation model. The values
shown in figure 8-23 are from the Dell Axim X5.
• “Perform Refine” allows disabling of the second step of the search for the
highest weighting.
• “Client Movement” switches the stronger weighting of the client surrounding on
or off. It is greyed out as the functionality is not yet implemented.
• “Reference Measurements” enables or disables the use of reference
measurements in the computations. This is not implemented yet and therefore
greyed out as well.
• “Visualise Distances” helps to analyse the algorithm results. It draws circles on
the screen around access points with the estimated distance to the client as
radius. Intersections of circles are marked as well.
The algorithm shows the found maximum weighting in the status field of the
MagicMapCE application.
8.4.5. Installer
The CabFile, CustomInstaller, and Setup projects are used to build an install
package.
• CabFile packs the MagicMapCE executable and libraries into a CAB file,
which can be used to install MagicMapCE by copying it on the device and
tapping on it in the file explorer.
• CustomInstaller builds a DLL, which causes the Microsoft Windows
Installer to call ActiveSync on the host computer and copy the CAB file on to
the device and install the client.
• Setup packs the cab file and the DLL file into a Microsoft Installer file (.MSI).
8.5. Case Study Conclusion
The MagicMapCE has been improved from a passive client displaying basic
information to an active part of the system with an easy to use interface and self
position sensing capabilities. The programme is suitable for MagicMap users to track
their position as well as for advanced users and developers, who require additional
information and options. The ability to select the used algorithm and to limit the number
of nodes used to compute the position offers many possibilities to fine tune the
9. Evaluation Tests
61
algorithm and to test different settings. This will improve accuracy and speed up
computations.
The added functionality still needs improvement. Especially, the user should be able to
save the settings of algorithm and node selectors permanently. Nevertheless, the main
goal to enhance the CE client and of testing and compare different algorithms is
achieved. The result of the case study is an important step forward for the MagicMapCE
client.
9. Evaluation Tests
First evaluation tests were successful. The client sensed the signal strength and used
them to determine its position. Three access points were set up to sense the position in
an office building. Extensive tests have not been conducted due to limited time. It is left
for further research.
9.1. Test Environment
The tests were performed in an indoor environment of seven rooms connected by a
hallway. The walls are made of bricks and plaster. Two PDAs were used for testing: a
Dell Axim X5 and a Dell Axim x51v. The types of access points installed are Netgear
WGR614 (AP1) and Linksys WAP54G (AP2 and AP3). The floor plan of the test
environment and access points positions are shown in figure 9-1.
9. Evaluation Tests
62
Figure 9-1: Floor Plan of Test Environment
9.2. Tests Performed
Firstly, the parameters of the propagation model for the PDAs were determined. The
signal strengths of the three access points AP1, AP2, and AP3 were measured in steps of
one metre and the error of forecasted and actual distance were computed. The square
sum of error was minimised using the Excel solver by varying the parameters n and k of
the propagation model (see Appendix A: Propagation Model Parameters).
Secondly, 150 measurements were taken with each PDA. The previously determined
propagation model parameters were used to setup the algorithm. Using the node
selectors, all other access points than AP1, AP2, and AP3 were excluded from
computations. 15 positions were chosen randomly on the floor plan and 10 algorithm
cycles were recorded. The error was estimated by comparing the computed position
displayed on the screen with the actual position.
The tables with the results are shown in Appendix B: Evaluation Test Result Tables.
The average error with the Dell Axim X5 was 5.91m and with the Dell Axim x51v
6.70m. In 75% of all measurements the error was below 7m with the Dell Axim X5 and
below 8m with the Dell Axim x51v. Figure 9-2 and figure 9-3 show a detailed analysis
of error:
9. Evaluation Tests
63
0
2
4
6
8
10
12
14
16
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Position
De
via
tio
n[m
]
25%-75%
Overall Average
Position Average
Figure 9-2: Positioning Error Dell Axim X5
0
5
10
15
20
25
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Position
De
via
tio
n[m
]
25%-75%
Overall Average
Position Average
Figure 9-3: Positioning Error Dell Axim x51v
The dashed line shows the overall average of all measurements. The diamonds are the
averaged error for each position. The lines mark the range of positioning error. The
white areas mark the range of the middle 50% of measurements: 25% of measurements
had more error and 25% of measurements had less error.
9. Evaluation Tests
64
9.3. Test Conclusion
9.3.1. CE Client
The CE client developed in the case study performs well. The new GUI is easy to use
and clearly displays all required information. The node tree view is very helpful for
debugging and analysing purposes. The possibility to choose algorithms during runtime
and to pre-select the nodes included in position sensing allows easy adjustment of
computations.
Some open issues of the implementation are saving the settings of algorithms and node
selectors. The communication between server and sender needs to be checked and
extended to the new capabilities of the client as well.
9.3.2. Algorithm
The algorithm performed well although the results were rather “jumpy”. The position
changed in large steps, e.g. after a good estimate of 2m the computed position jumped
to a position 12m away. This can be confirmed by using the built-in visualisation tools:
the tree view showed a large deviation of signal strength and the estimated distances
visualised on the screen varied greatly. First evaluation suggested the following reasons:
• In general PDA receiver sensitivity seems to be very sensitive to device
orientation. A change of 90° produced a difference of up to 5dBm.
• A human body between access point and PDA caused additional deviation of
5dBm. As PDAs are held in hand or carried in pockets this is a common
problem.
• The angle to the access point produced deviation of 5dBm as well. This
difference was observed with Linksys WAP54G models in a distance of three
metres. They are equipped with two antennas. Access points using a single
antenna did not show this phenomenon.
Depending on the propagation model and distance to access point the deviation can
cause a difference of up to 10m in estimated distance. Therefore, the results seem to be
“jumpy”. This problem can be tackled by enlarging the signal strength window: More
measurements return a more stable average. However, this causes additional delay to
notice device movement and more inaccuracy while moving.
10. Conclusion and Outlook
65
When the client position will be included in computations this will smooth the results
and these leaps will be reduced as well. The problem may also be reduced in test
environments with more access points: The conceptual design of the algorithm is built
to deliver better results when more information is available: more access points, more
reference measurements, or information from other clients. Its basic principle can
evaluate all information and make the result more exact. Further tests should vary the
amount of information available.
In general the positioning error was bigger when the position was in greater distance to
the access points. This is probably the result of a bad fit of the propagation model
parameter. Further test should use more measurements to fit the parameters and
especially include wider ranges than the ones used here.
9.3.3. Devices
The newer Dell Axim x51v is more sensitive towards radio signals than the Dell Axim
X5 although the sensitivity should be standardised (see Appendix A: Propagation Model
Parameters). This causes problems as different parameters have to be determined for
each PDA model to acquire the same position sensing results. The parameters of the
propagation model have to be verified empirically for different PDAs and in different
environments.
Another problem occurred using the x51v. The NDIS driver of the new Windows
Mobile 2005 seems to limit the resolution of signal strength measurements to steps of
10dBm. Only the signal strength of the currently associated access point is resolved in
steps of 1dBm. This explains the lower accuracy of the Dell Axim x51v although its
WLAN adapter is more sensitive.
10. Conclusion and Outlook
WLAN based position sensing is a trade off of calibration effort and accuracy. The most
accurate systems are based on radio maps and achieve accuracy of up to two metres.
Systems based on propagation models deliver accuracy of around four metres but do not
require much initial effort.
The presented algorithm offers a combination of little initial calibration effort and
achievable accuracy. It provides acceptable results with only a few known access point
positions. The average accuracy achieved in first tests was 5.91m using the Dell Axim
X5 and 6.70m using the Dell Axim x51v. So far, an improvement of accuracy was not
10. Conclusion and Outlook
66
achieved but computation effort is reduced. Hence, the algorithm needs further fine
tuning: The assigned weightings for the different classes of information have to be
balanced against each other. Also, the accuracy of different information classes have to
be analysed empirically.
The improvements to the MagicMapCE client are an important step forward for the
MagicMap system. Now, the client provides much more interaction with the system.
The usability of the new GUI is much better. The possibility for advanced users to
adjust algorithm specific settings and to select nodes to be used in calculations offers
many possibilities to increase the accuracy of algorithm results.
The MagicMap client for Windows CE on PDAs may increase the acceptance of
WLAN based position sensing as people who are moving around are more likely to
carry a PDA than a laptop. The drawback of using PDAs lies in the lower sensitivity of
reception of WLAN signals and the higher device orientation depending deviation of
signal strengths. Nevertheless, using WLAN offers a low cost solution to provide
position information for location based services.
However, the development of the new WLAN standard 802.11n using the MIMO
technology is not compatible to the WLAN based position sensing methods developed
so far. Position sensing requires a constant transmission power emitted by a single
antenna. MIMO adapts the transmission power dynamically to the needs of the served
client using multiple antennas. Users will switch to the new standard because it provides
higher data rates and increased range. New approaches have to be developed to realise
position sensing using MIMO technology.
Switching to position sensing using other standard technologies like Bluetooth, RFID,
ZigBee, or RuBee provides accuracy similar to WLAN, but these technologies are by
far not as widespread. Systems based on these technologies would require a new
infrastructure of base stations and receivers. However, in case an area is to be covered
with position sensing equipment the investment in technologies using TOA or TDOA
technologies promises better results.
Proprietary systems, which are out of the scope of this thesis since they are not based on
WLAN or standard networking technologies, are specialised on indoor position sensing
and achieve much higher accuracy. The real-time location system built by Ubisense
uses ultra-wideband (UWB) technology based on a combination of TDOA and AOA to
10. Conclusion and Outlook
67
sense a tag’s position. It reaches accuracy of 30cm and can process thousands of tags
but needs four sensors for an area of 400m² (Ubisense 2006).
The gap of GPS reception failure when used in indoor or downtown areas may be
bridged by using different frequencies. The US company Rosum uses television signals
as they easily pass walls in combination with GPS receivers to provide a seamless
indoor and outdoor position sensing system. Portable systems are available as well.
They can be used for tracking people in emergency management scenarios (Rosum
Corporation 2006).
WLAN is able to provide basic accuracy for position sensing but the effort to increase
accuracy by is very high. The Place Lab approach to use WLAN position sensing with
as less initial effort as possible seems more practical. In case more accuracy is needed
the use of specialised systems is more appropriate. The proposed algorithm is still in a
very early state of development but offers many opportunities for further development.
References
68
References
Anastasi, G., Bandelloni, R., Conti, M., Delmastro, F., Gregori, E. & Mainetto, G. 2003, 'Experimenting an Indoor Bluetooth-based Positioning Service', paper presented to International Conference on Distributed Computing Systems Workshops (ICDCS Workshops 2003), Rhode Island, May.
Assistant Secretary of Defence 2001, Global Positioning System Standard Positioning
Service Performance Standard, viewed 18/06/2006 <www.navcen.uscg.gov/gps/geninfo/2001SPSPerformanceStandardFINAL.pdf>.
Bahl, P. & Padmanabhan, V. N. 2000, 'Radar: An in-building rf-based user location and tracking system', IEEE Infocom 2000, vol. 2, no. March, pp. 775-84.
Bahl, P., Padmanabhan, V. N. & Balachandran, A. 2000, Enhancements to the RADAR
User Location and Tracking System, MSR-TR-2000-12, Microsoft Research.
Berna, M., Sellner, B., Lisien, B., Thrun, S., Gordon, G. & Pfenning, F. 2003, 'A Learning Algorithm for Localizing People Based on Wireless Signal Strength that Uses Labeled and Unlabeled Data', paper presented to International Joint Conference on Artificial Intelligence (IJCAI).
Bluetooth SIG 2001, Specification of the Bluetooth System 1.1, viewed 18/06/2006 <https://www.bluetooth.org/foundry/specification/document/Bluetooth_Core_1.1_vol_1/en/1/Bluetooth_Core_1.1_vol_1.zip>.
---- 2004, Bluetooth Specification Version 2.0 + EDR, viewed 18/06/2006 <http://www.bluetooth.com/NR/rdonlyres/1F6469BA-6AE7-42B6-B5A1-65148B9DB238/840/Core_v210_EDR.zip>.
---- 2006, Homepage, viewed 25/07/2006 <http://www.bluetooth.com/>.
Cheng, Y.-C., Chawathe, Y. & Krumm, J. 2005, Accuracy Characterization for
Metropolitan-scale Wi-Fi Localization, Intel Research.
Demtröder, W. 1999, Experimentalphysik, 2. edn, vol. 2 Elektrizität und Optik, 4 vols., Springer Verlag, Berlin Heidelberg New York.
Dornbusch, P. & Zündt, M. 2002, 'Realisierung von Positionsortungen in WLAN', paper presented to ITG-Fachtagung "Technologie und Anwendungen für die mobile Informationsgesellschaft", Dresden, Germany.
Ekahau 2006, Homepage, viewed 03/08/2006 <http://www.ekahau.com/>.
Feldmann, S., Kyamakya, K., Zapater, A. & Lue, Z. 2003, 'An indoor Bluetooth-based positioning system: concept, Implementation and experimental evaluation', paper presented to ICWN'03, Las Vegas, USA, June.
Fretzagias, C. & Papadopouli, M. 2004, 'Cooperative Location-Sensing for Wireless Networks', paper presented to Second IEEE International conference on Pervasive Computing and Communications 2004, Orlando, Florida, March 14-17.
Hashemi, H. 1993a, 'Impulse Response Modeling of Indoor Radio Propagation Channels', IEEE Journal on Selected Areas in Communications, vol. 11, no. 7, pp. 967-78.
---- 1993b, 'The Indoor Radio Propagation Channel', Proceedings of the IEEE, vol. 81, no. 7, pp. 943-68.
References
69
Hatami, A. & Pahlavan, K. 2005, 'A comparative performance evaluation of RSS-based positioning algorithms used in WLAN networks', paper presented to Wireless Communications and Networking Conference, 2005 IEEE.
Herecast 2006, Homepage, viewed 01/08/2006 <http://www.herecast.com/>.
Hii, P. & Zaslavsky, A. 2005, 'Improving Location Accuracy by Combining WLAN Positioning and Sensor Technology', paper presented to Workshop on Real-World Wireless Sensor Networks REALWSN05, Stockholm, Sweden.
Ibach, P., Hübner, T. & Schweigert, M. 2004, 'MagicMap - Kooperative Positionsbestimmung über WLAN', paper presented to Chaos Communication Congress, Berlin, 27. - 29. Dez. 2004.
Ibach, P., Schreiner, F., Stantchev, V. & Ziemek, H. 2005, 'Ortung drahtlos kommunizierender Endgeräte mit GRIPS/MagicMap', paper presented to 35. Jahrestagung der Gesellschaft für Informatik, Bonn.
Ibach, P., Stantchev, V., Lederer, F., Weiß, A., Herbst, T. & Kunze, T. 2005, 'WLAN-Based Asset Tracking for Warehouse Management', paper presented to IADIS International Conference e-Commerce, Porto, Portugal, December 15-17.
IEEE 2006, Homepage, viewed 11/08/2006 <http://www.ieee.org/portal/site>.
IEEE Standards Association 1999a, 802.11a Wireless LAN Medium Access Control
(MAC) and Physical Layer (PHY) specifications — Amendment 1: High-speed
Physical Layer in the 5 GHz band, IEEE, viewed 18/06/2006 <http://standards.ieee.org/getieee802/download/802.11a-1999.pdf>.
---- 1999b, 802.11b Wireless LAN MAC and PHY specifications: Higher speed Physical
Layer (PHY) extension in the 2.4 GHz band, IEEE, viewed 18/06/2006 <http://standards.ieee.org/getieee802/download/802.11b-1999.pdf>.
---- 2003a, 802.11g Wireless LAN Medium Access Control (MAC) and Physical Layer
(PHY) specifications—Amendment 4: Further Higher-Speed Physical Layer
Extension in the 2.4 GHz Band, IEEE, viewed 18/06/2006 <http://standards.ieee.org/getieee802/download/802.11g-2003.pdf>.
---- 2003b, 802.15.4: Wireless Medium Access Control (MAC) and Physical Layer
(PHY) Specifications for Low-Rate Wireless Personal Area Networks (LR-
WPANs), IEEE, viewed 24/07/2006 <http://standards.ieee.org/getieee802/download/802.15.4-2003.pdf>.
---- 2004, 802.16 Air Interface for Fixed Broadband Wireless Access System, IEEE, viewed 26/07/2006 <http://standards.ieee.org/getieee802/download/802.16-2004.pdf>.
---- 2005, 802.15.1: Wireless medium access control (MAC) and physical layer (PHY)
specifications for wireless personal area networks (WPA N s ), IEEE, viewed 25/07/2006 <http://standards.ieee.org/getieee802/download/802.15.1-2005.pdf>.
---- 2006, RuBee Standard for Long Wavelength Network Protocol, viewed 25/07/2006 <http://standards.ieee.org/board/nes/projects/1902.pdf>.
Informationsforum RFID 2006, Homepage, viewed 26/07/2006 <http://www.info-rfid.de/index.html>.
Intel 2004, 'Global, Interoperable Broadband Wireless Networks: Extending WiMAX Technology to Mobility', Intel Technology Journal, vol. 8, no. 03, pp. 173-88.
References
70
jackMobile 2006, Homepage, viewed 12/08/2006 <http://www.jackmobile.de/index.html>.
JUNG 2006, Java Universial Network / Graph Framework, viewed 29/07/2006 <http://jung.sourceforge.net/>.
Kaemarungsi, K. & Krishnamurthy, P. 2004, 'Modeling of indoor positioning systems based on location fingerprinting', paper presented to INFOCOM 2004. Twenty-third AnnualJoint Conference of the IEEE Computer and Communications Societies.
Kirkpatrick, S., Gelatt, C. D. & Vecchi, J. M. P. 1983, 'Optimization by Simulated Annealing', Science, vol. 220, no. 4598, pp. 671-80.
Kollmann, T. 2006, Gib UMTS eine Chance, Manager Magazin, viewed 14/08/2006 <http://www.manager-magazin.de/it/gruender/0,2828,400634,00.html>.
Krishnakumar, A. S. & Krishnan, P. 2005, 'On the accuracy of signal strength-based estimation techniques', paper presented to INFOCOM 2005. 24th Annual Joint Conference of the IEEE Computer and Communications Societies. Proceedings IEEE.
Krishnan, P., Krishnakumar, A. S., Ju, W.-H., Mallows, C. & Ganu, S. 2004, 'A System for LEASE: Location Estimation Assisted by Stationary Emitters for Indoor RF Wireless Networks', paper presented to IEEE InfoCom 2004.
Ladd, A. M., Bekris, K. E., Rudys, A., Marceau, G., Kavraki, L. E. & Wallach, D. S. 2002, 'Robotics-Based Location Sensing using Wireless Ethernet', paper presented to MOBICOM'02, Atlanta, Georgia, USA, 23-26 September.
Li, B., Salter, J., Dempster, A. G. & Rizos, C. 2006, 'Indoor Positioning Techniques Based on Wireless LAN', School of Surveying & Spatial Information Systems, University of New South Wales.
Lorincz, K. & Welsh, M. 2005, 'MoteTrack: A Robust, Decentralized Approach to RF-Based Location Tracking', paper presented to International Workshop on Location and Context-Awareness (LoCA 2005) at Pervasive 2005, Oberpfaffenhofen near Munich, May 12-13, 2005.
Lüderitz, S. & Engel, W. 2006, 'WLAN Ortung mit PDAs', Humboldt Universität.
Madigan, D., Einahrawy, E., Martin, R. P., Ju, W.-H., Krishnan, P. & Krishnakumar, A. S. 2005, 'Bayesian indoor positioning systems', paper presented to INFOCOM 2005. 24th Annual Joint Conference of the IEEE Computer and Communications Societies. Proceedings IEEE.
MagicMap 2006, Homepage, viewed 02/08/2006 <http://www2.informatik.hu-berlin.de/rok/MagicMap/>.
Menz, M. 2005, 'RFID-basierte Positionsbestimmung', Informatik, Humboldt Universität.
Mobiloco 2006, Homepage, viewed 12/08/2006 <http://www.mobiloco.de/html/index.jsp>.
Navstar GPS Joint Program Office 2006, Homepage, viewed 18/06/2006 <http://gps.losangeles.af.mil/index.html>.
Ni, L. M., Liu, Y., Lau, Y. C. & Patil, A. P. 2004, 'LANDMARC: Indoor Location Sensing Using Active RFID', Wireless Networks, vol. 10, no. 6, pp. 701-10.
References
71
Nomads 2006, MagicMap Wiki, viewed 22/07/2006 <http://wiki.informatik.hu-berlin.de/nomads/index.php/MagicMap>.
Open Geospatial Consortium (OGC) 2006, OpenGIS® Location Service (OpenLS)
Implementation Specification: Core Services (1.1), viewed 10/08/2006 <http://www.opengeospatial.org/standards/olscore>.
Plazes 2006, Homepage, viewed 01/08/2006 <http://beta.plazes.com/>.
Prasithsangaree, P., Krishnamurthy, P. & Chrysanthis, P. K. 2002, On Indoor Position
Location with Wireless LANs, University of Pittsburgh.
Roos, T., Myllymäki, P., Tirri, H., Misikangas, P. & Sievänen, J. 2002, 'A Probabilistic Approach to WLAN User Location Estimation', International Journal of Wireless
Information Networks, vol. 9, no. 3, pp. 155-64.
Rosum Corporation 2006, Homepage, viewed 03/08/2006 <http://www.rosum.com/>.
Saha, S., Chaudhuri, K., Sanghi, D. & Bhagwat, P. 2003, 'Location determination of a mobile device using IEEE 802.11b access point signals', paper presented to Wireless Communications and Networking, 2003. WCNC 2003. 2003 IEEE.
Schuman, E. 2006, RuBee Offers an Alternative to RFID, eWeek Channel Insider, viewed 25/07/2006 <http://www.thechannelinsider.com/article/RuBee+Offers+an+Alternative+to+RFID/180573_1.aspx>.
Schweigert, M. & Hübner, T. 2005, 'WLAN-basierte Ortung mit MagicMap', Humboldt Universität.
Seidel, S. Y. & Rappaport, T. S. 1992, '914 MHz Path Loss Prediction Models for Indoor Wireless Communication in Multifloored Buildings', IEEE Transactions
on Antennas and Propagation, vol. 40, no. 2, pp. 207-17.
Shoemake, M. B. 2001, Wi-Fi (IEEE 802.11b) and Bluetooth Coexistence Issues and
Solutions for the 2.4 GHz ISM Band.
Skyhook Wireless 2006, Homepage, viewed 11/08/2006 <http://www.skyhookwireless.com/index.html>.
Steglich, S. 2004, 'Lecture Slides UMTS Akademie', OKS, Technische Universität Berlin.
Stevens, J. K. 2006, IEEE Begins Wireless, Long-Wavelength Standard for Healthcare,
Retail and Livestock Visibility Networks, IEEE, viewed 27/06/2006 <http://standards.ieee.org/announcements/pr_p19021Rubee.html>.
Tonteri, T. 2001, 'A Statistical Modeling Approach to Location Estimation', Department of Computer Science, University of Helsinki.
Ubisense 2006, Homepage, viewed 04/08/2006 <http://www.ubisense.net/>.
Wallbaum, M. 2004, 'Tracking of moving wireless LAN terminals', paper presented to PIMRC 2004. 15th IEEE International Symposium on Personal, Indoor and Mobile Radio Communications.
Youssef, M. 2003, 'Small-Scale Compensation for WLAN Location Determination Systems', paper presented to IEEE Wireless Communications and Networks Conference, New Orleans, Louisiana, USA, 16-20 March.
Youssef, M. & Agrawala, A. 2003, On the Optimality of WLAN Location Determination
Systems, UMIACS-TR 2003-29 and CS-TR 4459, University of Maryland.
References
72
---- 2004, 'Continuous Space Estimation for WLAN Location Determination Systems', paper presented to IEEE Thirteenth International Conference on Computer Communications and Networks, Chicago, IL USA, October 11-13.
---- 2005, 'The Horus WLAN Location Determination System', paper presented to Proceedings of the Third International Conference on Mobile Systems, Applications, and Services (MobiSys 2005), Seattle, WA USA, June.
Youssef, M. A., Agrawala, A. & Shankar, A. U. 2003, 'WLAN Location Determination via Clustering and Probability Distributions', paper presented to IEEE International Conference on Pervasive Computing and Communications (PerCom), Fort Worth, Texas, March 23-26.
ZigBee Alliance 2006, Homepage, viewed 25/07/2006 <http://www.zigbee.org/en/index.asp>.
Appendix A: Propagation Model Parameters
73
Appendix A: Propagation Model Parameters
The signal strengths of three access points AP1, AP2, and AP3 were measured in
distances of 0.5m and afterwards every metre. The error is the difference between mean
value and forecasted value. The square sum of error was minimised using the Excel
solver by varying the parameters n and k of the propagation model.
Dell Axim X5
Distance(m) AP1(dBm) AP2(dBm) AP3(dBm) Mean(dBm) Forecast (dBm)
Error(dBm)
0.5 -31.0 -35.0 -30.0 -32.0 -30.4 -1.6
1.0 -44.0 -43.0 -40.0 -42.3 -38.2 -4.1
2.0 -45.0 -49.0 -44.0 -46.0 -46.1 0.1
3.0 -47.0 -51.0 -46.0 -48.0 -50.7 2.7
4.0 -51.0 -52.0 -49.0 -50.7 -54.0 3.3
5.0 -55.0 -50.0 -49.0 -51.3 -56.5 5.2
6.0 -58.0 -54.0 -49.0 -53.7 -58.6 4.9
7.0 -61.0 -59.0 -54.0 -58.0 -60.3 2.3
8.0 -65.0 -57.0 -61.0 -61.8 0.8
9.0 -66.0 -66.0 -63.2 -2.8
10.0 -68.0 -68.0 -64.4 -3.6
11.0 -69.0 -69.0 -65.4 -3.6
12.0 -70.0 -70.0 -66.4 -3.6
-80
-70
-60
-50
-40
-30
-20
-10
0
0 2 4 6 8 10 12 14
Distance
dB
AP3
AP2
AP1
Mean
Forecast
Square sum of error: 140.99 n: 2.61097057 k: 0.03428622
Appendix A: Propagation Model Parameters
74
Dell Axim x51v
Distance AP1 AP2 AP3 Mean Forecast Difference
0.5 -31.0 -35.0 -30.0 -32.0 -25.5 -6.5
1.0 -44.0 -43.0 -40.0 -42.3 -32.7 -9.6
2.0 -45.0 -49.0 -44.0 -46.0 -39.9 -6.1
3.0 -47.0 -51.0 -46.0 -48.0 -44.1 -3.9
4.0 -51.0 -52.0 -49.0 -50.7 -47.1 -3.5
5.0 -55.0 -50.0 -49.0 -51.3 -49.5 -1.9
6.0 -58.0 -54.0 -49.0 -53.7 -51.4 -2.3
7.0 -61.0 -59.0 -54.0 -58.0 -53.0 -5.0
8.0 -65.0 -57.0 -61.0 -54.4 -6.6
-70
-60
-50
-40
-30
-20
-10
0
0 2 4 6 8 10
Distance
dB
m
AP3
AP2
AP1
Mean
Forecast
Square sum of error: 69.45 n: 2.40030540
k: 0.04347435
Appendix B: Evaluation Test Result Tables
75
Appendix B: Evaluation Test Result Tables
Dell Axim X5
Position Deviation [m]
1 6 6 5 1 0 1 1 1 2 4
2 4 5 4 6 6 8 4 10 8 8
3 2 2 5 5 7 7 7 6 5 7
4 4 7 8 6 6 6 7 6 7 6
5 3 3 3 4 5 5 6 5 6 4
6 3 2 2 12 12 12 12 2 2 12
7 1 2 5 6 6 6 6 5 6 5
8 2 2 10 10 12 10 12 10 2 2
9 2 2 10 12 1 2 10 10 10 12
10 5 2 10 12 15 5 15 12 15 12
11 2 10 12 12 1 15 10 10 12 10
12 10 2 1 2 4 4 6 4 4 2
13 4 5 5 4 6 4 2 4 6 4
14 4 4 3 4 4 6 7 6 6 7
15 3 2 1 10 12 3 4 5 3 1
Number: 150
Average: 5.91m
Minimum: 0m 25% Quartile: 3m
Median: 5m 75% Quartile: 9m
Maximum: 15m
Appendix B: Evaluation Test Result Tables
76
Dell Axim x51v
Position Deviation [m]
1 2 4 4 4 1 1 1 2 2 4
2 0 1 1 2 2 4 6 10 6 7
3 5 2 1 1 3 3 3 3 3 5
4 3 6 6 8 8 8 10 5 5 4
5 3 3 5 3 6 6 6 6 3 4
6 6 6 8 9 6 4 5 4 4 6
7 2 2 3 2 2 20 20 2 2 2
8 2 15 15 15 15 15 15 20 20 20
9 20 15 20 20 20 20 15 15 20 20
10 3 3 2 4 3 6 7 7 7 7
11 2 6 6 4 4 4 4 4 4 4
12 6 5 4 5 5 20 20 18 18 20
13 2 2 2 2 2 2 2 2 2 2
14 2 3 6 7 7 4 3 4 5 5
15 3 3 5 5 8 8 8 10 20 4
Number: 150
Average: 6.70m
Minimum: 0m 25% Quartile: 3m
Median: 5m 75% Quartile: 8m
Maximum: 20m
Appendix C: Zusammenfassung in deutscher Sprache
77
Appendix C: Zusammenfassung in deutscher Sprache
Diese Diplomarbeit beschäftigt sich mit verschiedenen Möglichkeiten, die Genauigkeit
von WLAN-basierten Ortungssystemen zu erhöhen.
Ortungssysteme sind eine Vorraussetzung für standortbezogene Dienste. Auch in der
Logistik sind Ortungssysteme zum Beispiel in der Lagerhausverwaltung von Nutzen.
Bislang gibt es kein standardisiertes System, das Ortungsinformationen in Innenräumen
und Innenstädten zur Verfügung stellt. GPS versagt hier, da die Geräte im Funkschatten
von Häusern keinen Satellitenempfang haben.
In den letzten Jahren wurden unterschiedliche WLAN-basierte Ortungssysteme
entwickelt. WLAN ist als Standard weit verbreitet und bietet sich daher an, um in
Innenstädten flächendeckende Ortung zu ermöglichen. Einige Internetgemeinschaften
bieten eine kollaborative, zellbasierte Ortung an. Andere Systeme mit höherer
Genauigkeit benötigen eine exakte Einmessung der Signalstärken. Einen Kompromiss
ermöglichen Ortungsverfahren, die auf einem Ausbreitungsmodel basieren: Sie
ermöglichen relativ exakte Ortung mit moderatem Aufwand.
Um die Ortungsgenauigkeit zu erhöhen, kann entweder WLAN mit anderen
Technologien kombiniert werden oder die Ortungsmethoden mit WLAN können
optimiert werden. Alternative Technologien wurden untersucht, scheinen aber keine
signifikante Erhöhung der Genauigkeit zu ermöglichen. Einige Technologien
versprechen Verbesserungen, haben aber eine kleinere Reichweite als WLAN und
können daher nur lokal eingesetzt werden.
Bei einer Begrenzung der Technologien auf WLAN bestehen
Optimierungsmöglichkeiten in der ständigen Überwachung der Signalstärken, der
Benutzung von zusätzlichen Messgeräten (stationär und mobil), der automatischen
Erstellung von Signalstärkenkarten oder durch Verbesserungen bei der eingesetzten
Software. Der von dieser Arbeit eingeschlagene Weg ist die Entwicklung eines neuen
Algorithmus.
Der entwickelte „Two Level Position Weighting“ (Zweistufiger Positionsgewichtungs-)
Algorithmus ist in der Lage, verschiedene Informationsarten wie
Signalstärkemessungen von Zugangsknoten, Referenzmessungen oder
Bewegungsmodelle mit in die Berechnung einzubeziehen. Für jede mögliche Position
wird eine Gewichtung bestimmt. Die Position mit der höchsten Gewichtung ist der
Appendix C: Zusammenfassung in deutscher Sprache
78
vermutete Aufenthaltsort. Der Algorithmus ermöglicht eine Grundgenauigkeit mit
einigen wenigen bekannten Zugangsknotenpositionen. Je mehr zusätzliche
Informationen bekannt sind, desto genauer wird die Positionsbestimmung.
Der Algorithmus wurde in einer Fallstudie für einen PDA auf Basis von Windows CE
implementiert. Die Weiterentwicklung des bestehenden Clients des MagicMap Systems
der Humboldt Universität Berlin resultierte in einer neuen Oberfläche, die mehr
Interaktion erlaubt, einer Neustrukturierung der Kernfunktionen sowie einer
einheitlichen Schnittstelle für verschiedene Algorithmen.
Erste Tests verliefen erfolgreich. Allerdings scheinen die Signalstärkemessungen auf
PDAs bauartbedingt noch ungenauer zu sein als auf Laptops. Die erreichte Genauigkeit
betrug durchschnittlich 5,91m mit dem Dell Axim X5 und 6,70m mit dem Dell Axim
x51v. Ausführliche Tests unter anderem um die Gewichtung des Algorithmus
einzustellen, stehen noch aus.
Eine Erhöhung der Genauigkeit von WLAN-basierter Positionsbestimmungen ist
möglich, allerdings sehr aufwändig. Spezialisierte Techniken bieten eine höhere
Genauigkeit bei geringerem Aufwand. Einfache WLAN-basierte Ortungsverfahren
ermöglichen jedoch eine Grundgenauigkeit, die für viele Anwendungen bereits
ausreicht. Zurzeit bietet WLAN eine kostengünstige Möglichkeit, Positionen in
Innenstädten und in Häusern zu bestimmen.
Die selbständige und eigenhändige Anfertigung versichere ich an Eides statt. Berlin, den 24. August 2006 _________________________________ (Unterschrift)