Device Calibration - Microsoft Research

Microsoft LOCADIO User Guide
March 2008
Table of Contents
Introduction ........................................................................................................................ 1
LOCADIO History ............................................................................................................. 1
LOCADIO Algorithm Overview ........................................................................................ 2
Solution Overview ........................................................................................................... 2
Possible Use Cases .......................................................................................................... 4
Site Plan Calibration and Model Construction.................................................................... 5
Visio-Based GUI ............................................................................................................... 5
Calibration Tab ................................................................................................................ 8
Path Constraints Tab ..................................................................................................... 12
Testing and Tuning the Probability Model.................................................................... 14
Device Speeds ................................................................................................................... 19
Setting Run-Time Parameters ........................................................................................... 20
Compiling the Model ........................................................................................................ 21
Server Web Service ........................................................................................................... 22
Installation .................................................................................................................... 22
Deploying a Compiled Probability Model ..................................................................... 22
Device Calibration ............................................................................................................. 23
Interface and Communication with Server Web Service .............................................. 23
Signal Strength Matching for Additional Devices ......................................................... 24
Viewing Device Locations ................................................................................................. 25
Summary ........................................................................................................................... 27
Glossary ............................................................................................................................. 28
Introduction
LOCADIO technology pairs readings of IEEE 802.11x received signal-strength indication
(RSSI) with probabilistic analysis of building floor plans to deduce where a given
wireless-enabled device is in a building. Such deduction can locate a wireless device to
within a room (or a specific portion of a larger room or hallway) up to an accuracy of 1.5
meters, opening new opportunities for licensees in security, user interface, asset
tracking, and data delivery.
LOCADIO is a technology, rather than a new Microsoft product. It provides a software
foundation that licensees can extend and refine to meet specific needs. In addition to
the UI explained in this document, LOCADIO licensees receive the LOCADIO source code,
examples using the source code, specific API documentation, underlying intellectual
property rights, and access to the many patents Microsoft has filed related to Wi-Fi
location technology.
LOCADIO History
Microsoft Research developed some of the original algorithms for location detection
using existing 802.11 wireless access points and has continued to build upon that initial
work. Because of this ongoing effort, Microsoft Research has developed a significant
percentage of the state-of-the-art technology in this field.
Over the past decade, Microsoft Research has focused on location detection in indoor
environments where technologies like GPS cannot work. RADAR, an early project in this
area, introduced the method of locating a client device by measuring the signal strength
at multiple wireless Access Points (APs), against a database of previously collected signal
strength information from multiple locations and orientations. Analysis showed that this
approach produced significantly more precise results than the strongest base station
selection approach, which identifies the location of the client device as the location of
the base station with the strongest measured signal. The RADAR technology identified
the location of a client device within 3 meters, using 40 pre-measured comparison
points in a 1,000-square-meter building with more than 50 enclosed rooms.
Improving on this initial work, researchers at Microsoft Research developed probabilistic
models to take into account uncertainties caused by uncontrollable signal variations in
the environment and wireless hardware. Other improvements to the algorithm include:


Taking into account the probability of seeing a particular access point from a
given location, along with signal strength.
Interpolation techniques for creating calibration data, which decreases the
amount of up-front calibration that the system needs.
Microsoft LOCADIO User Guide
1


The ability to determine if the client device is in motion, and to take into account
signal fluctuations caused by motion.
The use of context, such as the layout of the building and expected movement
speed.
With these advancements, the location detection algorithms can identify the location of
a client device within 1.5 meters with approximately half the calibration effort of the
initial work.
LOCADIO Algorithm Overview
The novelty of the LOCADIO solution lies in using the measurements of Wi-Fi signal
strength from a wireless device and matching those readings against the possible paths
that the device could take while moving. Monitoring the RSSI between a wireless device
and a Wi-Fi access point alone provides, at best, an ambiguous location for the wireless
device.
LOCADIO improves on the locational information gleaned from a wireless device’s RSSI
reading against access points by constraining the paths that LOCADIO assumes the device
in motion can take. LOCADIO is most useful in locating wireless devices within a building—
buildings provide constrained paths that people can take while carrying wireless devices
or assets as they are being moved and represent discrete locations where the devices
can wind up. By limiting its estimation of a device’s location to these paths and strictly
bounding the speed that it can presume the device can move, LOCADIO can deduce
where a wireless device is within 1.5 meters with a high degree of accuracy, depending
on conditions.
Solution Overview
Requirements
The default GUI for LOCADIO uses the Microsoft® Office Visio® 2007 control; thus Visio is
required.
LOCADIO GUI application must also run on a wireless-enabled device.
Introduction to Configuration Dialog Box
The principal component of the LOCADIO UI is the Configuration dialog box. The
Configuration dialog box is the central control for setting up LOCADIO; the seven tabs in
the dialog box correlate to the cardinal aspects of preparing LOCADIO for use:

Buildtime—Controls on this tab determine not only how LOCADIO samples a
wireless device’s signal strength to build a histogram of RSSI readings, but also
how LOCADIO interpolates the sampled RSSI readings against the constrained
paths that a wireless device may follow.

Runtime—Dictates how LOCADIO deals with incoming client device data when it is
in run mode.
Microsoft LOCADIO User Guide
2

Site Calibration—Entries on this tab control how LOCADIO collects RSSI readings
and fills in the Minor Path Points on the constrained path laid out by the user.

Device Speeds—The table on this tab defines probabilities of device speeds.
(Note that a default histogram of observed human walking speeds is already
entered into LOCADIO.)

Device Calibration—Entries on this tab determine how a new wireless device is
synchronized with a given run-time LOCADIO model.

Encryption—Encryption for the Active Directory® domain user name and
password information is stored in the Web configuration files used with the
LOCADIO server Web service.

Wi-Fi Settings—These settings are used to set and test wireless-card read rates
and communications with the LOCADIO server Web service.
You can access the Configuration dialog box by selecting Configuration from the Tools
menu.
Site Plan Calibration
Each site plan where LOCADIO is used initially is calibrated against a particular wireless
device. This process gathers a collection of RSSI readings for this wireless device at
various locations, later extrapolating the likely location of the wireless device along a
constrained path by comparing its wireless signal-strength readings at run time.
Device Calibration
Because LOCADIO is initially calibrated against a particular wireless device, it does not
produce accurate positioning for other wireless devices until readings from those
devices are normalized against the initial RSSI readings.
Note: It is possible to gather RSSI signal strength directly from the Wi-Fi access points
and eliminate this step; Microsoft is currently researching this option.
Current Restrictions
Some of the limitations of LOCADIO stem from the challenges inherent in measuring RSSI.
First, wireless signal-strength readings can be “noisy” and such informational noise can
limit accuracy. Second, different wireless devices measure RSSI in different ways. This
means that LOCADIO must be calibrated for each model of wireless device that you wish
to locate. For more information, see the Device Calibration section of this document.
Finally, changes to the arrangement of walls, fixtures, and furniture in buildings alter the
distortion of wireless signals that LOCADIO is calibrated to and can decrease the accuracy
of estimates of a device’s location.
LOCADIO does not specifically plot wireless device location in three dimensions. Thus, in
constructing solutions with LOCADIO technology, you have to treat each floor of a
multistory building as a separate site plan or as separate parts of a site plan with many
floors’ plans on it.
Microsoft LOCADIO User Guide
3
Architectural fixtures that distort and reflect wireless signals may help increase the
accuracy of LOCADIO. Conversely, open spaces make LOCADIO less accurate. Hence LOCADIO
is best suited to fixing the location of a wireless device at sites with narrow halls and
small rooms, such as a typical office building and, to a certain extent, some shopping
centers. LOCADIO does not do as well in a warehouse type environment, where not only
are distances between obstacles greater, but also stacked pallets can create
obstructions, or “walls,” that change constantly as goods are moved in and out. In those
cases, accuracy won’t be optimal, but LOCADIO can still support most scenarios that don’t
require measurements within 1.5 meters.
Because of the differences between wireless network interface cards, LOCADIO must be
calibrated for each wireless card used with it for optimal accuracy. (However, it may be
possible to apply a calibration to sufficiently similar wireless devices without
recalibrating LOCADIO. For more information, see the Device Calibration section.)
Possible Use Cases
The mobility afforded by widespread wireless networking can make knowing the
location of wireless devices important. Tracking solutions such as radio-frequency
identification (RFID) and other near-field radio transponders can do an admirable job,
but the dedicated infrastructure they require generally make them practical only for a
large number of items (containers in a warehouse, for example). In contrast, LOCADIO
uses only a location’s existing Wi-Fi infrastructure, without the need to add more Access
Points (APs), to provide an approximation of a wireless device’s position.
Hospitals are a representative use-case scenario. Hospitals contain myriad pieces of
equipment and supplies, but the location of only a small fraction of these things is
generally important: doctors, patients, and expensive pieces of mobile equipment. In a
hospital setting, LOCADIO could easily let a nursing station know where to find a
particular doctor, inform a doctor that a patient had been moved to a particular
radiology room, or help administrators track a mobile defibrillator in real time. The
same can be said of large office complexes. In addition, LOCADIO can be used on a
person’s own device, like a laptop, PDA, or smart-phone, to track one’s location while
finding the path to a certain room or access to a certain resource (for example, a
printer), similar to navigation systems for outdoor scenarios.
Another use case of LOCADIO is museums. Museums could use LOCADIO with wireless MP3
players to supply visitors with audio content that is specific to a particular room or
portion of a gallery. Finally, shopping malls could take advantage of LOCADIO by adding
services that can send location aware promotions or alerts to passers-by.
Microsoft LOCADIO User Guide
4
Site Plan Calibration and Model Construction
LOCADIO is based on models: site plans/constrained walking paths calibrated against a
specific wireless device. When creating a new model, you must both create a schematic
of pathways along which LOCADIO can position a given wireless device and calibrate the
model for the wireless device you want to locate via RSSI readings. This section covers
the site plan portion of model creation; for wireless device calibration, see the Device
Calibration section.
Visio-Based GUI
The Microsoft Office Visio 2007 control is embedded in the core LOCADIO GUI. This lets
LOCADIO use the layering functionality built into Visio. The LOCADIO UI has the following
layers:

Image—Handles the graphical representation of the site plan for the LOCADIO
model.

Calibration Nodes—Contains the calibration RSSI values for the model.

Path Constraints—Constructs the path that constrains where LOCADIO can locate
the wireless device during run time.

Run—Builds and executes your model.

Webservice—Provides communication with the server to associate wireless
devices with appropriate models (utilizes the Run layer).
Figure 1 Tabs in LOCADIO GUI
Note that these tabs in the LOCADIO GUI are layers in Visio; selecting a given tab activates
that layer in Visio. Opening a model in Visio (as opposed to LOCADIO) provides a means of
manually editing the layers. (This is done by selecting Layer Properties from the View
menu in Visio, as shown in Figure 2.)
Microsoft LOCADIO User Guide
5
Figure 2 Visio Layer Property dialog box
IMPORTANT: Manually editing the Visio file—particularly the layers—can break the
LOCADIO UI. Specifically, renaming layers can affect all of the layer settings upon which
the LOCADIO GUI depends.
Creating a New Model
Inserting a graphical site plan into LOCADIO is for your convenience in calibrating and
using LOCADIO—strictly speaking, LOCADIO does not need a site plan to function. However,
such a plan gives you a familiar way to designate and find points at which to calibrate
LOCADIO, in addition to meaningfully interpreting output from LOCADIO during run time.
There are two ways to add/import a site plan into LOCADIO:

Scanning and importing—This option can often be the most convenient way to
input a site plan, particularly for a large or a complex site. All commercial
structures have building plans on record with local governments (and often with
the building superintendents as well). Once scanned, other GUI layers in LOCADIO
(such as the path constraints and calibration points) can be laid over the graphic
of the site plan (Figure 3).
Note: Ensure the image has been sent to the back of your drawing by rightclicking on the image and selecting Shape, and then clicking Send to Back.

Drawing in Visio and importing—This method of producing a site plan is useful
when the site plan is small or relatively simple (such as a portion of a floor of an
office building with cubicles in them) or where the floor plan may not be readily
available (the temporary walls and structures of a museum exhibit, for example).
Again, this graphical representation of the site plan becomes a layer in Visio in
which other LOCADIO information is overlaid. Ensure that all floor plans drawn in
Visio are placed on the FloorPlan layer.
Microsoft LOCADIO User Guide
6
Figure 3 LOCADIO site plan
Save the plan in LOCADIO by selecting Save As in the File menu. Type a name and a
location for this solution (the equivalent term for site plans in Visio) as shown in Figure
4.
Note: Each solution must exist in its own folder.
Figure 4 Solution Information dialog box
Image and Page Scaling
Regardless of how you input your site plan, you must maintain the scale in Visio. LOCADIO
relies on the measurements (ratio relative to meters) of the Visio drawing to determine
speed probabilities. To do this, open the solution in Visio. From the File menu, select
Page Setup. Adjust the settings on the Page Size, Drawing Scale, and Page Properties
tabs as shown in Figure 5.
For more information on scaling in Visio, consult the Visio documentation and help files.
Microsoft LOCADIO User Guide
7
Figure 5 Page Size tab, Visio Page Setup dialog box
It is critical that you match the scale of the site plan to that of the Visio solution. Being
consistent with your scale is vital in two ways. First, if you manipulate your site plan in
one dimension (for example, shrinking the horizontal axis to be easier to work with), you
must manipulate the other dimension by the same proportion for LOCADIO to give you an
accurate position during run time.
Second, be sure to apply whatever scale your graphical site plan uses to the path
constraint. This is necessary for LOCADIO to provide accurate readings in run time.
Note: Scaling of your Visio drawing must be in meters currently.
Calibration Tab
On this tab, you calibrate the LOCADIO model at each Calibration point with the same
wireless device. This process gathers Wi-Fi signal strength (RSSI) readings at each
Calibration point to form a baseline against which the device’s RSSI readings can be
compared at run time.
You can filter your RSSI readings to specific service set identifiers (SSIDs). You may wish
to do this for a number of reasons. Not filtering out the SSIDs belonging to other offices’
wireless networks could introduce wireless access points that are not in your control; for
example, if an access point is moved or dies, it affects the original model’s accuracy. You
can also filter on the Media Access Control (MAC) addresses of specific access points.
Before taking calibration readings, you must finalize your Wi-Fi settings. The Wi-Fi
Settings tab controls how the wireless device takes RSSI readings and how it
communicates with the server, as shown in Figure 6. The default values on this tab are a
good starting point that you can tune as needed.
Microsoft LOCADIO User Guide
8
Figure 6 Wi-Fi Settings tab, Configuration dialog box
The X and Y fields display the coordinates of the wireless device when testing the Web
service. Selecting Skip Calibration causes LOCADIO to use the default RSSI values for
Device Calibration, as opposed to gathering new readings. This functionality is intended
for similar devices that are used to both configure the model and execute as a client
device.
When Enabled - Wi-Fi m/s is selected, LOCADIO can interface with the local computer’s
wireless network card. The Enabled - Wi-Fi m/s field refers to the maximum number of
milliseconds that LOCADIO waits for a scan-complete event from the operating system API
to acquire the RSSI readings. The Min Wait % value represents a percentage of Enabled
- Wi-Fi m/s that must have passed before the LOCADIO Wi-Fi reader posts its results. The
value in the Issue Scan Every field puts a limit on the frequency that a low-level
operating system API scan request is issued to a Wi-Fi card. Because of the nature of WiFi networks, you must yield network time to the operating system that lets other
network operations to complete. It is recommended that when a client device is actively
communicating with the LOCADIO server, you increase the Issue Scan Every value to a
reasonable setting—the default values represent a good starting point for device
calibration. The Enabled - Timer m/s field lets the example client application issue a
timed event for interaction/testing with the LOCADIO Web service server.
Clicking SSID Filter opens the SSID Allowed dialog box. Using the values on this list you
can instruct LOCADIO to take readings from specific SSIDs, letting less network traffic
through to the LOCADIO server. The LOCADIO server ignores access points that were not
originally included in the compiled model file.
Microsoft LOCADIO User Guide
9
Figure 7 SSID Allowed dialog box
Note: Be sure to save your model often. You will not be prompted to save when you
close the LOCADIO UI.
To place a Calibration point on the site plan, click on the location on the site plan on the
Calibration Nodes tab of LOCADIO (Figure 8). This will produce a corresponding entry in
the Calibration Points tree on the left pane once this node has been calibrated. For each
Calibration point, you can right-click its corresponding entry in the tree in the left pane;
by selecting Toggle Client Location you are switching that point from being a designated
calibration RSSI reading point to also being a point where Device Calibration RSSI
readings are taken. You can also delete points from this context menu.
Figure 8 LOCADIO configuration points
Microsoft LOCADIO User Guide
10
You can determine the location of an arbitrary point on the site plan to bring up an
information box to give you its Visio coordinates (Figure 9) by right-clicking on the site
plan.
Figure 9 Mouse Click location information box
At each Calibration point, you need to click Start Calibration and periodically turn the
wireless device’s orientation (at each beep) a small amount; eventually, you complete a
revolution so that LOCADIO can take RSSI readings from a variety of angles from any
given access point. You can optimize the settings for this process to meet your needs on
the Solution Option tab of the Configuration dialog box:

Orientation Intervals—Sets how many “small orientation turns” you take
readings from at each access point.

@ Seconds—Determines how long to hold the wireless device at each interval
defined in Orientation Intervals, to take the RSSI readings.

Total Seconds—The number of seconds that collecting the RSSI readings at each
Calibration point takes (the product of the “Orientation Intervals” and the “@
Seconds”). Since this value is computed from two other parameters, it cannot be
directly controlled by the user.

Discrete Node Distance (meters)—The number of meters between the Minor
Path Points distributed between Major Path Points.
Microsoft LOCADIO User Guide
11
Figure 10 Site Calibration tab, Configuration dialog box
After you have taken readings at the Calibration points, LOCADIO feeds these values into
a radial basis function (RBF). This interpolates the RSSI data from the calibration points
onto the Major and Minor Path Points; these are the values from which LOCADIO
extrapolates the probability of “seeing” this wireless device at any given point on the
constrained path.
Path Constraints Tab
This tab details the path constraints. Path constraints are the path along which LOCADIO
extrapolates the position of a wireless device during run time. LOCADIO path constraints
are composed of Major Path Points and Minor Path Points.
Major Path Points are represented in the LOCADIO GUI as large blue dots. You place these
points on your site plan by clicking the site plan at a desired starting location. Click a
point not far from the starting point along a line that a person could walk (or that the
wireless device you calibrated with could move if it were moved by another means at
run time). These two points are connected by a blue line. Move beyond that second
point and click again to extend the path.
To delete points or connections, press SHIFT and click: this selects the path section
connecting the point to its predecessor point; press DELETE to delete the connection
between the two points. If and when no path connects a point you wish to delete to
another point, press SHIFT, click the point in question, and then press DELETE.
If you wish to manually connect points (either the ends of a loop or an orphan point)
with a line, press and hold SHIFT, click the point connected to a path (or either point, in
the case of a loop); click on the other point you wish to connect. This creates a green
Microsoft LOCADIO User Guide
12
selection box enclosing the two points; right-click within the box and then select
Connect Selected from the context menu that opens beside the box.
Note: Select only two points when manually connecting points.
Each Major Path Point must be connected via a path to at least one other Major Path
Point; there can be no isolated Major Path Points.
Notice that each Major Path Point that you place on the site plan produces an entry in
the left pane of the GUI: these points are the backbone of the LOCADIO path constraint.
Building a LOCADIO model without all Major Path Points connected produces an error at
buildtime and prevents the model from compiling.
Note: Save your model often while constructing your path. You will not be prompted to
save when you close the LOCADIO UI.
Minor Path Points are automatically generated by LOCADIO along the path that you
constructed between Major Path Points. These provide additional points along the
constrained path at which LOCADIO can locate a wireless device during run time. You
create these Minor Path Points by clicking Distribute on the Walking Paths tab. Note
that if you add, delete, or move a Major Path Point, you must redistribute your Minor
Path Points again.
You can delete Minor Path Points from the path by clicking Delete on the Walking Paths
tab. This also clears out the graph of connected points that LOCADIO creates when it
distributes Minor Path Points between the Major Path Points.
Figure 11 LOCADIO path constraints with both Major and Minor Path Points
Microsoft LOCADIO User Guide
13
Obviously, the more Major Path Points you build your path with, the more detailed and
rich that path is (and the more realistically it may represent where wireless devices may
be). However, placing Major Path Points is a balancing act: the LOCADIO algorithm
constructs a graph connecting each path point to every other path point, meaning that
the n-th Major Path Point that you add to the path adds n-1 more connections to the
graph that LOCADIO runs against at run time.
IMPORTANT: While it does not matter in what order you construct your path
constraints and take calibration readings, you must calibrate and add Major and Minor
Path Points before you construct your LOCADIO mode.
Testing and Tuning the Probability Model
As stated earlier, the power of LOCADIO is that it pairs RSSI data with a probabilistic
model to infer where a wireless device is likely to be along a constrained path. LOCADIO
spreads the calibration data gathered before buildtime to Major and Minor Path Points
along the constrained path through a statistical formula called a radial basis function
(RBF). The amount of smoothing that LOCADIO applies to the interpolation RSSI readings
in the course of this process is called sigma. You supply the sigma values on the
Buildtime tab of the Configuration dialog box (Figure 12).
Figure 12 Buildtime tab, Configuration dialog box
The fields for the sigma values are in the Walking Paths - RBF section: Sigma RSSI and
Sigma Detection. These values are discussed in greater detail later in the paper.
The Calibration - RSSI Histograms section contains the parameters for constructing the
histogram of RSSI readings for each configuration point along your path constraint.
Microsoft LOCADIO User Guide
14
Note: You should accept the default values for these settings and change them only as
necessary.

AP Bin Size—RSSI readings are always in whole numbers: the bins size refers to
the number of consecutive readings to group together as defined by the range
specified in the Min and Max settings. For example, an AP Bin Size setting of 4
with a Min set to -200 and Max set to 0 (defaults) would group together the sets:
{(-200,-199,-198,-197), (-196,-195,-194,-193), (-192,-191,-190,-189)…}.

Min—This is the lowest number used to determine RSSI readings. RSSI readings
are always negative numbers, but the magnitude of these numbers varies from
manufacturer to manufacturer of wireless network cards. You may need to
change this value to optimize the performance of this LOCADIO model for your
wireless card.

Max—This is the complement to the minimal value of the RSSI readings possible
for the wireless card.

Alpha—This is the value that LOCADIO uses as a floor value in our histograms.
Once all our values have been collected, the final probabilities are calculated
then all values are adjusted by the Alpha. Thus any original frequency count of
zero would now have a probability equal this floor.
The Multiplier value in the Walking Paths - Distance Scale Factor is used only to
compensate for incorrect (and inconsistent) scaling of the site plan. For example, you
would use the Multiplier value if you have calibrated and set your path constraints onto
your image, but then realize you did not scale your floor plan to meters.
To select the best values to use for the RSSI sigma and detection sigma, click the Run tab
of the LOCADIO UI and select RBF from the drop-down menu next to the Build button.
Then click Build.
Microsoft LOCADIO User Guide
15
Figure 13 LOCADIO Run tab
When the Sigma Test Values dialog box opens, you can select the values to use for the
RSSI sigma and detection sigma. The default values are a good starting point. When you
are satisfied with the values for the three fields, click OK.
Figure 14 Sigma Test dialog box
Microsoft LOCADIO User Guide
16
This opens the View Sigma Values dialog box.
Figure 15 Detection errors tab, ViewSigmaValues dialog box
Because you want to minimize the number of errors, look for the smallest significant
minimum that is not part of a downward trend and adjust the Sigma Detection value to
the lowest value displayed. In this example, you would set the Sigma Detection value on
the Buildtime tab to 800.
Microsoft LOCADIO User Guide
17
Figure 16 RSSI errors, View Sigma Values dialog box
This example of RSSI errors is harder to read. In this case, you would select 875: it is the
lowest minimum that is not part of a downward trend. You would set Sigma RSSI on the
Buildtime tab to 875.
Microsoft LOCADIO User Guide
18
Device Speeds
The Device Speeds tab of the Configuration dialog box lets you construct a custom
distribution of the speeds that wireless devices can traverse the Path Constraint in your
LOCADIO probability model.
Figure 17 Device Speeds tab, Configuration dialog box
The distribution of human walking speed (in meters/second) is hard-coded into LOCADIO.
However, if-for example, you wanted to locate wireless cards on factory carts, you could
create a custom histogram of the probable speed of such a cart at any given time. As
with all other aspects of the LOCADIO algorithm, the more accurate you can be with this
data, the more accurately LOCADIO can deduce the location of a desired wireless device
in a given model.
Microsoft LOCADIO User Guide
19
Setting Run-Time Parameters
Once you have built your path constraints and taken your calibration readings along that
path, you are ready to set your run-time settings and compile your model.
The Runtime tab of the Configuration dialog box (Figure 18) lets you fine-tune aspects
of LOCADIO in execution. The Depth and Winning Count values in the Client Device Voting Initialization section deal strictly with initializing the Hidden Markov Model
(HMM), the statistical model at the heart of the LOCADIO algorithm. The Depth refers to
how many polls the model takes and the Winning Count refers to how many readings
have to agree on a position for it to be taken as valid by LOCADIO. The default value of
both is 2.
The Depth value in the Client Device - History (HMM) section refers to how much
“history” (how many iterations of the algorithm) that LOCADIO stores for computational
purposes from the HMM. A higher value can lead to greater accuracy, but at the cost of
increased server memory consumption. The default value is 10.
The Alpha RSSI and Alpha Detection values in the Server - Probability Floors section are
the lower limits of the values that LOCADIO substitutes for “0” readings (both for signal
strength and signal detection) during run time. These values must always be greater
than 0, but they can be adjusted upwards to tune LOCADIO performance.
Figure 18 Runtime tab, Configuration dialog box
When you are finished defining the parameters on this tab, click OK on the Buildtime
tab of the Configuration dialog box.
Microsoft LOCADIO User Guide
20
Compiling the Model
To compile the LOCADIO model, click Build on the Runtime tab. Note that Model is
selected by default in the drop-down menu beside the Build button: this is the correct
selection for model compilation.
The Stopped button switches to read Executing when you click it and it places LOCADIO
into an executing state against the last compiled model (Figure 19). Executing the model
lets you test the accuracy of LOCADIO on the fly and without the need of a server
installation. You can click it again to stop the execution.
Figure 19 Compiling a LOCADIO model
Microsoft LOCADIO User Guide
21
Server Web Service
The LOCADIO server Web service arbitrates the many-to-many relationship between
compiled probability models and wireless devices calibrated against various models.
Installation
Two installation packages are provided:

Locadio.msi contains the binary installs of the GUI application.

Locadio.Source.msi contains all the source code for the LOCADIO core algorithms,
example GUI applications, and example server/Web service.
Deploying a Compiled Probability Model
LOCADIO server can handle multiple compiled models and client devices. The current
Web service example implementation simply loads one default model at a time. You can
specify the default model’s location in the Web configuration file by editing the section:
<add key="DefaultModel"
value="C:\Locadio.Solutions\Building100\Locadio.loc.ModelData.bin"/>
Thus the configuration file is soft-coded with a default model_ID equals zero in the
parameter to the call MSResearch.Locadio.Server.Location.ModelSelect(string (see
SDK help file).
Microsoft LOCADIO User Guide
22
Device Calibration
Wireless devices and wireless network cards are made by a variety of manufacturers.
Consequently, signal-strength readings between additional devices that you wish to
locate in a given LOCADIO probability model may differ from the original wireless device
that we used to construct the model. To accurately produce readings for additional
wireless devices in a model, you must calibrate the device to the model. This enables
LOCADIO to determine by how much a device differs from the original calibration.
Interface and Communication with Server Web Service
The interface for calibrating devices to an existing model is composed of the Device
Calibration and Wi-Fi Settings tabs on the Configuration dialog box (Figure 20).
To calibrate a new device against an existing model, it is necessary to take RSSI readings
from Calibration points, much as you would with constructing a new model. However,
you only need to take readings from the points selected with Toggle Client Location
during the Calibration step. The Per Calibration Point field on the Device Calibration tab
should have been set before you build the model; it determines how many signalstrength readings the device being calibrated takes at a given Client Location Calibration
point.
Figure 20 Site Device Calibration tab, Configuration dialog box
You can use the Client Wi-Fi Location (Figure 21) test interface to fine-tune the Wi-Fi
settings of a client device that you are associating with an existing model. It is exactly
like the Wi-Fi Settings tab on the LOCADIO Configuration dialog box. However, whereas
Microsoft LOCADIO User Guide
23
those settings are persisted in the LOCADIO model, these settings are specific to the client
device and changes can be made after compilation of a given LOCADIO model.
Figure 21 Locadio client interface
For a description of the settings in this dialog box, see the Calibration Tab section of this
user guide.
Signal Strength Matching for Additional Devices
The LOCADIO server performs RSSI signal strength equalization by collecting RSSI values
from any new or different Wi-Fi devices. During the Calibration phase of building a
model, specific nodes were flagged with Toggle Client Location. Therefore each new
wireless device must visit these locations and collect RSSI values based on the Per
Calibration Point setting to properly equalize the two devices. If the device used to
calibrate and build the model is similar to the client device, it might be possible to avoid
this step; to do so, select Skip Calibration on the Client Wi-Fi Location dialog box. For
more detailed information, see API documentation and Client Wi-Fi Location from
source code.
Microsoft LOCADIO User Guide
24
Viewing Device Locations
There are two ways to view the location of wireless devices associated with a model.
To perform the first method of starting the run-time functionality of LOCADIO, click
Execute on the Run tab of the LOCADIO UI. LOCADIO outputs the run-time log in the text
box in the left pane; in the GUI, LOCADIO displays a dot to show its interpolation of the
wireless device’s location at each Wi-Fi reading (as shown in Figure 22).
Figure 22 LOCADIO Run tab
Microsoft LOCADIO User Guide
25
You perform the second method on the Webservice tab of the LOCADIO UI (shown in
Figure 23). This is how you test the server deployment. The Refresh Seconds setting
determines how often to look up devices the server is currently tracking. The Not
Tracking button changes to Tracking when clicked. Note that this starts the requests to
the server for all devices specific to the current model you are viewing in the GUI.
Figure 23 LOCADIO Web service tab
Microsoft LOCADIO User Guide
26
Summary
LOCADIO provides a foundation on which to create applications that can locate wireless
devices with accuracy up to 1.5 meters with no additional hardware infrastructure
beyond existing Wi-Fi access points. This user guide has shown you how to use the novel
LOCADIO algorithm with the built-in GUI provided with this software. The functionality
currently available with LOCADIO can be enough for many uses and it also provides an
easy means of testing while you build out your own applications that take advantage of
the technology.
Microsoft LOCADIO User Guide
27
Glossary
Compiled Model File
A compiled model file represents the saved results of the accumulated probability
calculations performed on the LOCADIO solution. See Model.
Equalization
Equalization in conjunctions with histograms represents a method of interpolation and
extrapolation between dissimilar radio signal strengths.
Extrapolating
Extrapolating is the process of constructing new data points outside a discrete set of
known points.
GPS
Global Positioning System (GPS) represents a satellite based location system.
GUI
Graphical User Interface (GUI) provides a visual means to interact with a computer
system.
Hidden Markov Model (HMM)
A Hidden Markov Model is a form of probabilities that uses hidden state to assist in a
Markov Process. Due to the scope of this topic the readers should investigate outside
sources if they wish to understand this topic further. A search of the term on the
Internet should provide sufficient technical information.
Histogram
A histogram is a statistical method for tracking frequency counts, the number of
occurrences, a group of items or events occur in a given set.
Interpolation
The process of constructing new data points within the range of a discrete set of known
data points.
Media Access Control (MAC) addresses
The MAC address is a unique serial number assigned to each network device which
makes it possible for the delivery of network data across a local area network (LAN).
Path constraints
Represents a restriction on the physical direction a person or thing could travel.
Examples are hallways in buildings and offices.
Major Path Points
Points that were created by the user clicking on the site plan with the left mouse
button.
Microsoft LOCADIO User Guide
28
Major Minor Path Points
Points that were created automatically by the program when the user clicks on
the distribute button.
Probabilistic analysis
Probabilistic Analysis is the process of using probably theory to understand and draw
conclusions about potential events or understand the underlying mechanics of complex
systems.
Probability
Probability is the likelihood that something is true or will happen.
Probability Model
A probability model represents the results of a probabilistic analysis and is used in
LOCADIO to predict a device’s location in regards to that model.
RADAR
RADAR is a Microsoft technology which defines another technique for locations based
services (LBS) using Wi-Fi signal strength. If you are interested in further information,
search for “RADAR” and “Microsoft” on the Internet.
Radial basis function (RBF)
A radial basis function is used to provide interpolation of our original RSSI collected
values.
Radio-frequency identification (RFID)
RFID represents a technology where small radio wave aware chips are applied to people,
places, and things for the purpose of tracking and providing information.
Received signal-strength indication (RSSI)
RSSI represents a value that measures the intensity/strength of a radio signal received
by a Wi-Fi device.
Signal strength equalization
Represents a function of interpolation between the original Wi-Fi device used to
calibrate a model and the new devices wishing to register for locations based services
with that model.
Specific service set identifiers (SSIDs)
SSID is a name used in a Wi-Fi network to associate multiple Wi-Fi access points to one
common reference. The use of an SSID allows many Wi-Fi access points to appear as
one large Wi-Fi network.
UI
UI defines a user interface typically associated with computing devices.
Microsoft LOCADIO User Guide
29
Wi-Fi
Wi-Fi represents a networking technology that utilizes radio signals for the physical
transmission medium of network data packets.
Wi-Fi access points
Wi-Fi access points represent a hardware device that is used to create a radio wave
based network.
Wireless network interface cards
A Wireless network interface card is a hardware devices used to attach to and
communicate on a network using Wi-Fi technologies.
Calibration
LOCADIO calibration is the act of gathering Wi-Fi access points signal strengths from
various locations in the target area such as a building.
Models
See Probability Model.
Sigma
Sigma is used to represent a value that is combined in our RBF function to generate
interpolation values used in our Major and Minor path constraint points.
Site plan
The site plan represents the physical building or area that we wish to provide location
based services using LOCADIO.
This is a preliminary document and may be changed substantially prior to final commercial release of the software described herein.
The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of the date of
publication. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of
Microsoft, and Microsoft cannot guarantee the accuracy of any information presented after the date of publication.
This white paper is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS
DOCUMENT.
Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this
document may be reproduced, stored in, or introduced into a retrieval system, or transmitted in any form or by any means (electronic,
mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation.
Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this
document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you
any license to these patents, trademarks, copyrights, or other intellectual property.
© 2008 Microsoft Corporation. All rights reserved.
Microsoft, Active Directory, and Visio are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or
other countries.
Microsoft LOCADIO User Guide
30