UWB Algorithms and Software

Ciholas is the leading developer of algorithms and software for ultra
wideband (UWB) radio networks.  These capabilities are available to be
incorporated into customer products under license terms that we tailor
to each customer.  We can provide highly customized and innovative
variations on the capabilities listed below.

Position Computing Algortihms

VML Position Algorithm

VML is Ciholas's proprietary location computation algorithm that
produces superior results in real world situations.  VML uses the raw
information gathered in an UWB network and converts that into a
precise position.  Key distinguishing characteristics of the algorithm

- Produces highly repeatable and accurate results
- Output is 3 dimensional, 2 dimensional optional
- Handles high anchor counts and high anchor density
- Variable anchor weighting based on data quality
- Allows intelligent use of marginal anchor data
- Permits modeling of delays through walls and structures
- Reasonable computational requirements
- Portable to many platforms
- Low latency to position solution, real time results
- Robust to real world data, no mathematical oddities
- Rich set of options and features to tailor to specific applications
- Usable with both wired and wireless anchors

[insert paragraph detailing some typical performance numbers]

[insert paragraph comparing VML to TDOA, TOA, AOA, MTWR, etc]

VML can be operated in various network modes:

Track Mode: Tag beacons one packet, received by multiple anchors,
anchors relay data to server, server runs VML to locate tag.  Track
mode is ideal to locate tags and have that information as a central
server.  Track mode requires each tag transmit a packet to be located.
Tag does not know its own location, server knows.  Track mode is
maximum tag battery life since it requires only a very brief transmit
to transfer location.  Thus track mode is ideal for tracking material,
people, animals and logging where they are.  Track mode location rates
are limited by allocation of air time to tag transmissions.

Navigation Mode: Anchors periodically send beacons with timing
information that are received by the tag, the tag can compute
location.  Nav mode allows an infinite number of tags to operate and
locate themselves in a network since the tags don't have to transmit.
Nav mode is ideally suited to tags or devices that need to locate
themselves, for example an autonomous robot, or a guidance device for
a person.  Nav mode does require more energy at the tag for reception
of anchor beacons and the location computation.

Mixed mode: The network can be operated with a combination of track
and nav mode.  This allows a mixture of devices, each selecting the
right operating mode for their use.  An example might be a forklift
using nav mode to locate itself on a map displayed to the driver, and
also using track mode to allow the forklift to be displayed on a
screen in a control room.  Tags can operate either in track, nav, or
both modes and this usage can be dynamically changed on the fly.

Radar - Distance and Bearing

The "radar" algorithm is optimized for an array of anchors relatively
close together with the objective of being able to determine range and
bearing to a tag outside the array.  Like VML, the radar algorithm can
use redundant data with varying degrees of quality to produce the best
results.  Radar is ideal when the anchors need to be in a central or
small location.  Examples uses are building multiple anchors nodes
into one assembly that serves a space with easy setup, or anchors
installed on a machine that measures people or objects surrounding it.
Radar system typically are easy to setup because the nachor
relationships are defined in the design not spread across the working

The Ciholas radar system is adaptable to having more than one radar
unit.  This means, for example, an area could be covered by multiple
radar units to expand the coverage area or increase accuracy.  The
radar units coordinate timing so as to not interfere with each other.

The radar algorithm is most often implemented in two dimensions,
distance and bearing, with an assumption that tags are in the plane of
the radar.  However, the radar system can be built such that it
additionally produces elevation giving a 3D solution.

ATWR - Asymmetric Two Way Ranging

Traditional two way ranging (TWR) is a means of computing the distance
between two nodes that can transmit and receive each other based on
the exchange of 3 packets.  The traditional TWR method requires equal
packet timing to produce accurate results.  Ciholas extends the TWR to
allow for asymmetric packet timing, thus ATWR.  This allows the three
packets involved to have irregular timing.  This further enables a set
of nodes to compute distance using fewer packets.  For example, TWR
would require 30 packets to measure the distance of one node to 10
others, ATWR requires only 12 packets, thus saving air time and
battery life.  ATWR is useful in cases of very low anchor density or
in cases where distance from a small number of nodes is the objective.

ATWR doesn't produce a position directly, it produces a set of
distances between nodes.  These distances can be converted to a
position with further mathematical operations.  ATWR could be useful
in peer to peer situations, for example a fleet of flying drones, when
relative position is desired.

TWR Snoop

TWR snoop uses two way ranging between a tag and one anchor node with
other anchor nodes listening (snooping) on the exchange.  The distance
can be computed between the first anchor and tag by traditional TWR
algorithm.  The other anchors hearing the TWR exchange can then
compute an angle to the tag.  With the distance and angles, a location
of the tag can be computed relative to the anchors.  TWR Snoop is best
in situations which require the smallest number of anchors to get 2D
or 3D positions, where setup needs to be fast and quick, and where the
battery and air time limits are issues over other methods.

Optional Features

The position algorithms above can be enhanced by the following
optional features.

Wide Area Time Transfer

In simple UWB systems, a single master node sends timing information
to other anchors to synchronize their timing.  This simple system
suffers from lack of redundancy in the network as failure of the
master node disables the network, network size is limited to the range
of a single master node, and any timing inaccuracy of the master node
affects the entire network.  Ciholas has developed a sophisticated
method for transferring time to a large area of anchors that does not
depend on a single master.  In this system, the anchors exchange
timing information with each other constantly and maintain highly
accurate synchronization at every node even over a large area.  A
failure of any node does not cause a network outage or even meaningful
degradation in performance.  Network size can be significantly larger
than the radio range of any given node.  By using a more distributed
time transfer method, the stability and accuracy of the timing
information is improved which results in significant position accuracy
improvements as well.

Air Time Management System

The ATMS is a means to greatly improve the capacity of the UWB network
and improve its repeatability and robustness.  Each tag is given a
precise time slow in which to transmit their beacon.  By doing so,
nearly 100% of the available air time can be allocated allowing for
extremely high tag rates.  This can allow up to 7000 tracking locates
per second in one system using one radio channel and airspace.  This
could be 70 tags at 100 Hz rate, or 7000 nodes at 1 Hz rate, the
system is flexible in how the time is assigned.  System locate
capacity can be increased by using multiple channels.  In larger
systems, ATMS allows for spatial reuse of time slots.

Wireless Backhaul

Anchors need to get their data to the server for the position
computation and this can be accomplished through a wired network (say
Ethernet) between the anchors.  Alternatively, the anchors could send
that data wirelessly to the server via WUB radios or other data radios
such as Wifi.  This allows a network with wireless anchors to be
deployed.  The tradeoff for using UWB for data backhaul is that the
air time available for tags is reduced significantly and latency to
position output is increased over an Ethernet wired anchor system.  A
related issue is anchor power.  A wired anchor network can get power
through the wires (say via PoE), but a wireless anchor needs to either
run on battery or it needs a wired power grid.

Occlusion Mitigation

Our VML algorithm can be enhanced with occlusion mitigation which
detects cases where a transmission has been occluded in the network.
When this occurs, the timing data the network produces is affected and
would cause location errors if used without qualification.  Our
occlusion mitigation algorithms detect when this occurs and adjust the
use of the affected data in a way to minimize the accuracy degradation
but yet still find usefulness in the data provided.

Dynamic Tag Behavior

Tag behavior is controlled by the network and can be dynamically
changed while in operation.  For example, some tags may be programmed
to beacon slowly to save battery power or air time.  Other tags may be
programmed to beacon rapidly for tracking their position at high
speed.  Tags beacon rates can be changed while in operation allowing,
for example, a tag to beacon faster in one area and slower in another.
Tags can also be triggered to beacon faster if they detect motion
through inertial sensors.  A use of this is in material tracking where
the material may sit for long periods of time but then get moved, the
increased beacon rate tracks the material during motion, yet the slow
beacon rate provides confirmation of the position with maximal tag
battery life.

Auto Survey

Auto survey allows the position of the anchor nodes to be determined
through computational means using the network itself rather than doing
a manual survey.  Auto survey enables quick setup of a new network.
[do we need to indicate this is a future planned feature?]

Inertial Augmentation

Inertial augmentation is using inertial sensors on the tag to improve
accuracy of location and to also provide orientation.  A tag may be
equipped with accelerometers, gyros, and magnetic sensors which can be
used to measure motion and orientation.  Inertial sensors are very
good over a short time but tend to drift long term.  UWB location has
no long term drift, so it serves as an ideal anti drift reference
system for inertial sensing.  Inertial augmentation thus allows
precise measurements in momentary cases where UWB location is
challenged or unavailable.  [indicate future planned feature?]

Sensor and User Data

Our system was designed to transport data between nodes as part of the
UWB beacon process.  This data could be, for example, sensors built
into the tag that need to be recorded in a server.  Example sensors
could be temperature, humidity, light, air pressure (altitude),
orientation, and literally anything else.  Our network can also
transport data from the server to the tag if required.

Multiple Servers

For redundancy, load sharing, or both, the Ciholas UWB systems can
support using multiple servers to compute locations.

Visualization Tools

These tools allow 2D and 3D depiction of the system operation where
tags can be located in real time.  The tools also provide means to
setup, configure, and monitor the network.

Network Upgrade

Upgrading the firmware on tags and anchors can be done over the
network without having to physically touch each node.  For a large
system, this can be a huge time saver.