DOI: 10.21227/prrw-s463
title: CRAWDAD tools/analyze/location/loceva

description: Loceva - an evaluation tool for 802.11-based positioning systems.Loceva is an evaluation tool for 802.11-based positioning systems. Loceva uses trace files generated by Loctrace to evaluate different kinds of positioning algorithms. A large number of state-of-the-art positioning algorithms are supported by Loceva. Loceva contains a lot of filters and generators to set up different scenarios and enable emulation.File :loceva-0.5.1.src.tar.gz, loceva-0.5.1.tar.gz, property.prop.txtUsage :Loceva can be controlled by a so-called property file. In Java a property file 
contains key-value-pairs with a equals character as seperator. Most configurable 
values of Loceva are accessible by properties so that the same jar file can be 
used to emulate a wide range of different scenarios.  You can download an example 
property file that can be used to play around with Loceva.

After downloading and unpacking the jar archive Loceva can be run with the following command:

java -cp loceva-0.5.1.jar:locutil1-0.5.1.jar:locutil2-0.5.2.jar org.pi4.loceva.Loceva -offline FILENAME -online FILENAME [-prop PROPERTY]

FILENAME can be a trace file containing offline traces as well as online traces. 
Both parameters -offline and -online are required. The -prop parameter can be used 
optionally to define a property file.Lastmodified :2007-12-05Dataname :tools/analyze/location/locevaChange :the initial version.Releasedate :2007-09-14References :king-tools
                The Loceva websiteWebsite :http://www.crawdad.org/tools/analyze/location/locevaKeyword :802.11
                GPS
                location
                signal strengthLicense :This tool is released under the GNU General Public License.
Please respect our work and abide the license.Output :See "usage" for details.Parameters :See "usage" for details.Algorithm :1. Overview

Trace files generated by Loctrace are used by Loceva to evaluate different 
kinds of positioning algorithms. A large number of state-of-the-art positioning 
algorithms are supported by Loceva. Loceva contains a lot of filters and 
generators to set up different scenarios and enable emulation.


2. Management

To make it easy to evaluate and compare algorithms currently under research, 
Loceva contains a management part that enables emulation in general and 
allows to easily select different kinds of scenarios. For this, Loceva utilizes 
trace files created with Loctrace to emulate a specific scenario. 
Such an emulated scenario can then be used for a comparison of different 
positioning algorithms. This makes sure that differences in the results are 
based on the positioning algorithms and not on the environment that changed 
over time in a way beneficially for one particular algorithm.

The creation and management of various scenarios is enabled by so-called filters. 
Filters create different scenarios by disabling or selecting different objects 
of a trace file. For instance, a MAC filter artificially switches off access 
points even if they have been part of the trace file. Another example is 
the position filter that disables different reference points of the fingerprint 
database based on their coordinates.


3. Algorithms

The positioning part contains various positioning algorithms to make it easy 
to compare newly envisioned algorithms with state-of-the-art ones. 
The following list shows the positioning algorithms that are part of Loceva. 
The list is grouped by the research projects that have invented them:

- RADAR: Nearest neighbor(s) in signal space, k nearest neighbors in signal space
- PlaceLab: K nearest neighbors p unknown, Ranking
- Rice: Histogram, Gaussian
- Horus: Horus

Although the main focus of Loceva is on positioning algorithms, it also contains 
a few continuous user tracking algorithms:

- RADAR: Viterbi-like algorithm
- Rice: Tracking
- Horus: Horus


4. Analysis

After selecting a certain scenario and positioning algorithm, Loceva computes 
the position error that would have occurred in this setting. The position error 
is defined as the Euclidean distance between the actual position of the user and 
the position estimate calculated by the algorithm. At the end of each emulation 
the average position error is printed, and a graph showing a cumulative distribution 
function of the position error (as shown in the figure below) is generated. 
Such a graph can be used to compare the position accuracy of different positioning 
algorithms by determining the median, 95th percentile and so on. Additionally, 
Loceva can be enabled to create a file that contains a log of intermediate results 
computed by the selected positioning algorithm. This log can be used with Locana 
to analyze the behavior of the positioning algorithm in question.