308 lines
13 KiB
Plaintext
308 lines
13 KiB
Plaintext
# Sample configuration file for OwlPS Positioner
|
||
|
||
# [Miscellaneous options]
|
||
|
||
# This option controls whether or not the output text files are flushed
|
||
# (written to the storage support) after each line.
|
||
# The default is to flush.
|
||
#flush-output-files = true
|
||
|
||
# "Replay" mode. With this option enabled, the current time is the
|
||
# emission timestamp of the most recent request; you will want to
|
||
# enable this when reading inputs (requests) off-line to replay
|
||
# scenarios, if time-related options are enabled (e.g.
|
||
# positioning.calibration-requests-timeout).
|
||
# To be useful, this option requires the listeners' clocks to be
|
||
# synchronised. If it is not the case, you should leave it disabled.
|
||
# The default is to run in "live mode", i.e. with this option disabled.
|
||
#replay = off
|
||
|
||
[data-input]
|
||
# The options in this section are related to the data that are read
|
||
# when the program starts.
|
||
|
||
# Description of the machines running the listeners (capture points).
|
||
cp-medium = CSV
|
||
cp-csv-file = /usr/local/etc/owlps/listeners.csv
|
||
|
||
# Description of the clients
|
||
mobile-medium = CSV
|
||
mobile-csv-file = /usr/local/etc/owlps/mobiles.csv
|
||
|
||
# Description of deployment area topology.
|
||
# You probably don't need a full description of the topology, see the
|
||
# topology example file for details.
|
||
# Uncomment the following line to activate the topology reading.
|
||
#topology-medium = CSV
|
||
#areas-csv-file = /usr/local/etc/owlps/topology.csv
|
||
#waypoints-csv-file = /usr/local/etc/owlps/waypoints.csv
|
||
|
||
#reference-points-medium = CSV
|
||
#reference-points-csv-file = /usr/local/etc/owlps/reference_points.csv
|
||
|
||
[input]
|
||
# The following options are related to the input of the requests
|
||
# (positioning requests and (auto-)calibration requests) from the
|
||
# aggregator.
|
||
|
||
#medium = CSV
|
||
#csv-file = /tmp/input.csv
|
||
|
||
#medium = UDP
|
||
#udp-port = 9902
|
||
|
||
[log]
|
||
# The following options allow to log the requests received from the
|
||
# aggregator.
|
||
|
||
# Uncomment the following line to completely disable logging (has
|
||
# precedence over the other logging options):
|
||
#medium = none
|
||
|
||
#medium = CSV
|
||
#csv-file = /tmp/owlps-positioner.log
|
||
|
||
[positioning]
|
||
# The options in this section are related to the way the requests are
|
||
# handled and the results are computed.
|
||
|
||
# Uncomment lines to activate one or more algorithm.
|
||
#algorithm = Real
|
||
#algorithm = InterlinkNetworks
|
||
#algorithm = FBCM
|
||
#algorithm = NSS
|
||
#algorithm = FRBHMBasic
|
||
|
||
# This option allows to create a new mobile when a request is sent by
|
||
# a mobile which is not currently in the mobiles' list (i.e. not
|
||
# declared in the mobiles' configuration file). If unset, the requests
|
||
# sent by unknown mobiles will be dropped.
|
||
# It is unactivated by default, mainly to avoid interferent devices.
|
||
#accept-new-mobiles = false
|
||
|
||
# This option allows to create a new capture point (CP) when a request
|
||
# is captured by a CP which is not currently in the CPs' list (i.e. not
|
||
# declared in the CPs' configuration file), or when a self-calibration
|
||
# request is sent by an unknown CP.
|
||
# It is unactivated by default for the sake of security.
|
||
#accept-new-cps = false
|
||
|
||
# When receiving a calibration or autocalibration request from a CP,
|
||
# containing the transmiter's coordinates, memorise the new CP's
|
||
# coordinates.
|
||
# This is unactivated by default for the sake of security.
|
||
#update-cp-coordinates-online = false
|
||
|
||
# Coordinates of the deployment area.
|
||
# This is used to delimit the area in which reference points are
|
||
# generated (when generate-reference-points includes "mesh"), and
|
||
# also by the MinMax trilateration method.
|
||
# Since MinMax is currently the only trilateration method implemented
|
||
# in OwlPS, you should define these parameters if you use any of the
|
||
# trilateration-based algorithms (InterlinkNetworks, FBCM, FRBHM).
|
||
# With the autocalibration, the Z coordinate is the floor number, not
|
||
# a true coordinate in meters.
|
||
# They are declared as strings (X;Y;Z). Do not quote!
|
||
#area-start = -2;-2;0
|
||
#area-stop = 20;30;6
|
||
|
||
# Algorithm to calculate the similarity, in the signal strength space,
|
||
# of two measurements.
|
||
# The following algorithms are implemented:
|
||
# - mean: The mean of all the packets in the measurement is
|
||
# computed, then the euclidean distance between the two means is
|
||
# used.
|
||
# - interval: The mean Im and the standard deviation Is of the
|
||
# packets in the measurement I are computed; the closest reference
|
||
# measurement R is the one with the highest number of packets in
|
||
# the interval [Im-Is, Im+Is].
|
||
# - interval2: Derived of the previous one, this algorithm
|
||
# computes the percent of packets in both the intervals
|
||
# [Im-0.674×Is, Im+0.674×Is] and [Im-Is, Im+Is].
|
||
# Assuming a normal distribution, we should find approximately
|
||
# 50% of the packets in the first interval, and 68% in the second
|
||
# interval. The closest R is the one for which the percents of
|
||
# the two intervals are the closest to these theoretical scores.
|
||
# The default is "mean".
|
||
#ss-similarity = mean
|
||
#ss-similarity = interval
|
||
#ss-similarity = interval2
|
||
|
||
# Smallest possible value for a received signal strength, in dBm. This
|
||
# depends on the sensibility of the CPs' Wi-Fi hardware. It is used to
|
||
# compensate for CPs that are not in coverage in a given measurement.
|
||
# The default value is -99 dBm, which should be fine in most cases.
|
||
#smallest-ss = -99
|
||
|
||
# Generate reference points from the (auto)calibration requests
|
||
# received.
|
||
# This option can be set to any combination of the following values,
|
||
# separated by any characters of your choice (or even none):
|
||
# - false (default): do not generate reference points; this is
|
||
# equivalent to an empty string and if at least one of the next
|
||
# values are present, the presence of the "false" string in the
|
||
# option's value will be ignored.
|
||
# - mesh: generate reference points according to the regular meshing
|
||
# defined by the options area-start/stop and
|
||
# generated-meshing-grain-*.
|
||
# - line: generate reference points according to the line defined by
|
||
# the option generated-line-path and generated-line-step.
|
||
# - list: generate only the reference points defined by the option
|
||
# generated-points-list.
|
||
# Any other or extra characters are ignored, and the string is
|
||
# equivalent to "false" if it doesn't contain any valid value.
|
||
# Default value:
|
||
#generate-reference-points = false
|
||
# Example of valid value to activate both meshing and list generation:
|
||
#generate-reference-points = mesh+list
|
||
#generate-reference-points = list,mesh
|
||
#generate-reference-points = meshlist
|
||
#generate-reference-points = falselistmesh
|
||
|
||
# With this option disabled, each generated reference point contains
|
||
# a single packet in a single calibration request, computed from the
|
||
# mean of the real measurements.
|
||
# If enabled, the generated reference points will contain a series of
|
||
# packets, better matching the real requests; if no packet ID from the
|
||
# real requests match, a single packet reference point is generated
|
||
# instead. Default is enabled.
|
||
#generate-multi-packet-reference-points = true
|
||
|
||
# When generate-reference-points includes "list", the reference points
|
||
# are generated with the specified distance (in metres) between one
|
||
# another, in the X and Y axis.
|
||
#generated-meshing-grain-x = 0.5
|
||
#generated-meshing-grain-y = 0.5
|
||
# The Z option is currently a floor number instead of a vertical
|
||
# coordinate in meters. You should leave it to 1, except if you are
|
||
# deploying across non-contiguous floors, which is unlikely.
|
||
#generated-meshing-grain-z = 1
|
||
|
||
# When generate-reference-points includes "line", the reference points
|
||
# are generated along to the path defined by this option. They are
|
||
# generated in a straight line between the given points. At least one of
|
||
# the points provided must be the coordinates of a capture point, and
|
||
# the path defined here should "link" (include) all the capture points
|
||
# that are going to be used for this kind of autocalibration.
|
||
# In the string, the values are separated by semicolons, and each group
|
||
# of coordinates can optionally be surrounded by parenthesis. The two
|
||
# following examples, which declare a path following the points (1;1;1),
|
||
# (10;1;1) and (10;10;1), are equivalent:
|
||
#generated-line-path = (1;1;1);(10;1;1);(10;10;1)
|
||
#generated-line-path = 1;1;1;10;1;1;10;10;1
|
||
|
||
# When generate-reference-points includes "line", the reference points
|
||
# are generated with this (approximate) distance (in metres) between one
|
||
# another.
|
||
#generated-line-step = 0.5
|
||
|
||
# When generate-reference-points includes "list", the list of reference
|
||
# points declared here is be generated. In the string, the values are
|
||
# separated by semicolons, and each group of coordinates can optionally
|
||
# be surrounded by parenthesis. The two following examples, which
|
||
# declare the points (1;2;1) and (4;2.5;1), are equivalent:
|
||
#generated-points-list = (1;2;1);(4;2.5;1)
|
||
#generated-points-list = 1;2;1;4;2.5;1
|
||
|
||
# This option allows the calibration requests sent during the
|
||
# positioning phase to be added to the calibration request's list. They
|
||
# are added to the calibration requests read by InputDataReader during
|
||
# the start-up phase. If this option is not activated, the calibration
|
||
# requests are handled as positioning requests.
|
||
# This option must be activated for the self-calibration to work, but
|
||
# it is not activated by default for security purposes.
|
||
#accept-new-calibration-requests = false
|
||
|
||
# Maximum age of the calibration requests, in seconds. If greater than
|
||
# zero, the calibration requests older than this timeout will be
|
||
# deleted. See also the replay option.
|
||
#calibration-requests-timeout = 0
|
||
|
||
# With this option activated, the calibration requests associated with
|
||
# an existing reference point are deleted when receiving a new
|
||
# calibration request, before to associate the new request with the
|
||
# reference point.
|
||
# The default is true, as there is generally no point keeping old
|
||
# calibration requests.
|
||
#unique-calibration-requests = true
|
||
|
||
# If you activate the above option and want the calibration requests
|
||
# to be treated as positioning requests (in addition to the normal
|
||
# treatment of calibration requests), activate this option.
|
||
# The default is false: the first calibration requests' purpose is to
|
||
# serve the positioning process, not to use it.
|
||
#position-calibration-requests = false
|
||
|
||
[positioning.nss]
|
||
# This subsection contains the options related to the NSS (a.k.a. RADAR)
|
||
# algorithm and derivated.
|
||
|
||
# For a given positioning request, average all the calibration requests
|
||
# associated with a reference point before to compute the SS similarity.
|
||
# The default is false, i.e. the positioning request is compared
|
||
# directly to each calibration request.
|
||
#average-reference-points = false
|
||
|
||
# Do not select reference points on which a CP is sit, as far as
|
||
# possible (i.e. if there are reference points where no CP sits).
|
||
# This is useful if you are using autocalibration and want to select
|
||
# only the generated reference points.
|
||
# The default is false.
|
||
#ignore-cp-reference-points = false
|
||
|
||
[positioning.filter]
|
||
# This subsection contains filtering-related options.
|
||
|
||
# Maximal speed at which the mobile terminal can move, in km/h.
|
||
# This option also controls the activation of the filter (0 = disabled).
|
||
#max-speed = 0
|
||
|
||
# With this option set to a positive number, the maximum speed is
|
||
# temporarily set to max-speed-cp (instead of max-speed) when the mobile
|
||
# terminal is found to be close enough to a capture point. This option
|
||
# determines this "close enough" distance, in metres.
|
||
# This is useful in deployments where the system is much more accurate
|
||
# when the mobile is close to a capture point, such as underground
|
||
# mining tunnels; in such environments, 15 m appears to be a reasonable
|
||
# value to start experimenting.
|
||
# The default is 0, i.e. never change the maximum speed.
|
||
#cp-reset-distance = 0
|
||
|
||
# Maximal (virtual) speed at which the mobiles can move when they are
|
||
# within cp-reset-distance, in km/h. 0 (the default value) corresponds
|
||
# to an unlimited speed, i.e. filtering will be completely disabled when
|
||
# the mobile is found to be close to a CP.
|
||
#max-speed-cp = 0
|
||
|
||
[output]
|
||
# The following options are related to the output of the results.
|
||
|
||
# Compute the euclidean distance error in two dimensions instead of
|
||
# three dimensions. This can be useful when doing experiments on only
|
||
# one floor.
|
||
# The default is false, i.e. the error is computed in 3D.
|
||
#2d-error = false
|
||
|
||
# This is the default output if none is specified.
|
||
#medium = Terminal
|
||
|
||
#medium = CSV
|
||
#csv-file = /tmp/owlps-positioner.out
|
||
|
||
#medium = UDP
|
||
# Currently, the host must be an IPv4 address (not a DNS name, nor an
|
||
# IPv6).
|
||
#udp-host =
|
||
#udp-port = 9910
|
||
|
||
# The TCPEvAAL output follows the specification of EvAAL 2012 to
|
||
# communicate with the SocketAdapter program developed by the
|
||
# organizers.
|
||
# Note: you can use only one algorithm when using the TCPEvAAL output.
|
||
#medium = TCPEvAAL
|
||
# Currently, the host must be an IP address (not a DNS name).
|
||
#tcpevaal-host = 127.0.0.1
|
||
#tcpevaal-port = 4444
|
||
|
||
# vim: syntax=cfg
|