Sigvis

Signal Visualization tools for the Owl Platform.

View the Project on GitHub romoore/sigvis

Signal Visualization (SigVis) for the Owl Platform

This application is a simple Java-based graphical user interface (GUI) containing several simple visualizations of wireless sensor network signal data gathered via the Owl Platform. Visualizing sensor signal data can assist in debugging sensor failures, analyzing the overall effectiveness of the system, and aid in designing new applications.

What it Does

SigVis is a set of visualization tools for monitoring or exploring wireless sensor networks, particularly the received signal strength indicator (RSSI) values reported by wireless cards. This data is available for nearly every wireless technology, most commonly by IEEE 802.11 (WiFi) family of protocols. By visualizing the data in both time and space, new observations and insights are made possible. Let's take a look at the different visualizations.

If you feel like trying out the app, but don't have access to an Owl Platform installation, I've provided a sample file for you to view. It contains data collected from the WINLAB laboratory (where a lot of work related to the Owl Platform takes place) on October 21, 2012. There isn't a lot going on, but it can give you an idea of what SigVis does. The screenshots below all use the same data file, with the time set to 9:01:02pm (the last timestamp).

RSSI Bar Chart

A set of simple bar charts are used to display RSSI values or RSSI variance values for a transmitter or receiver. For the transmitter shown below, data was available from only a small number of receivers, which is why there are some "empty" spaces.

RSSI Bar Chart for Transmitter 38

A bar chart showing the current RSSI value for Transmitter 38 as observed by different receivers. The receiver names (as defined in the World Model) are written vertically on the blue RSSI bars.

RSSI Variance Bar Chart for Transmitter 38

A bar chart showing the current RSSI variance for Transmitter 38 as observed by various receivers.

RSSI Line Graph

A set of line graphs showing values over time. Depending on the data, the graphs will auto-scale th vertical axis, and scaling on the horizontal axis is performed by using the mouse wheel. The most recent values are on the right, with older values drawn to the left.

When connected to a live World Model data stream, the values will auto-scroll from right to left. Scrolling is stopped and started by left-clicking anywhere on the graph.

RSSI Line Graph for Transmitter 38

A line graph showing the last 60 seconds of RSSI values for Transmitter 38 from various receivers. Receivers are color-coded using a legend at the top of the graph.

RSSI Variance Line Graph for
      Transmitter 38

A line graph showing the last 60 seconds of RSSI variance values for Transmitter 38. The "spike" from Receiver 652 indicates that either the receiver was moving (unlikely) or someone was moving nearby the receiver.

Combined RSSI and Variance Line
      Graph for Transmitter 38

A line graph showing combined RSSI and standard deviation in the same plot. The "thick" areas are centered at the current RSSI and above and below to one standard deviation.

RSSI Stripes

A somewhat different graph from the RSSI lines above, this one displays the RSSI value for each transmitter/receiver pair over a period of time. To provide a simple, if imprecise, measure of the RSSI value, the color of each line ranges from red (low) to green (medium) to pink (high) to provide an intuition about the RSSI value. When displaying RSSI Variance instead of RSSI, the same colors are used to display the variance value, varying from 0 to 40+.

Clustered based on receivers, this graph can be used to spot problematic receivers or transmitters by identifying a block of reddish lines, or a red line in the same relative position for each receiver. It can also be used to quickly get an idea of how much data has been sent through the system over the last few minutes

RSSI Stripes for all
      transmitter-receiver pairs

RSSI stripes plot showing RSSI values for the last 60 seconds for all transmitter-receiver pairs. Reddish colors indicate low RSSI values and bluish colors indicate high RSSI values.

RSSI Variance Stripes for all
    transmitter-receiver pairs

RSSI variance stripes plot showing values for the last 60 seconds for all transmitter-receiver pairs. The cluster of blue-pink colors across multiple receivers, but around the same point in time, suggests motion was occurring within the building.

RSSI Line Maps

The "map" visualizations show wireless sensor data overlayed on an image map of the space. The map can be configured into the World Model as a URL anywhere accessible to the application. For these screenshots, we used the example file, which requires access to a Rutgers University web host in order to download the building image.

This RSSI and variance line maps show the RSSI and RSSI variance data for each transmitter-receiver pair as a line drawn between the locations of the two devices. The line is colored similarly to the "stripes" plots, where red indicates "low" values, green is "medium", and blue or pink is "high".

RSSI Line Map showing all
    transmitter-receiver pairs

An RSSI line map showing the WINLAB building with transmitter-receiver pairings. Red lines are weak RSSI values, and blue or pink are very strong.

RSSI Variance Line Map showing all
    transmitter-receiver pairs

Variance line map showing all transmitter-receiver pairs in the WINLAB building. The red lines are the lowest variance, and blue or pink lines indicate high variance.

Voronoi Signal Maps

By partitioning the physical layout of the area into a Voronoi diagram, with transmitters and/or receivers as vertices, a rough but intuitive estimate of signal levels throughout the area is possible. A Voronoi diagram is by no means an optimal representation of signal propagation characteristics, but it provides a simple way to view the area.

Within each "cell" of the diagram, the value displayed is directly related to the transmitter or receiver at the center of that cell. For example, in a full RSSI diagram (all transmitters and receivers), the color of a transmitter's cell might be the maximum RSSI value received FOR that transmitter BY a receiver. In these maps, as with many others, the color codes indicate different signal levels: red is "weak", green is "moderate", blue is "high", and pink is "highest".

Voronoi diagram showing RSSI values
      for Transmitter 38

A Voronoi map showing the RSSI values received by each receiver for Transmitter 38. Missing values indicate that data hasn't been received within 5 seconds.

Voronoi diagram showing RSSI variance
      values for Transmitter 38

A Voronoi map showing the RSSI variance levels at each receiver for Transmitter 38.

Voronoi diagram showing maximum
      RSSI values for all transmitters and receivers

A Voronoi map showing the maximum RSSI values for all transmitters and receivers in the system. A low maximum RSSI for a transmitter means that no receiver has a strong signal from it, and vice-versa for a receiver.

Voronoi diagram showing
      maximum RSSI variances for all transmitters and receivers

This Voronoi map shows the maximum RSSI variance values for all transmitters and receivers in the system. Clusters of high variance can often indicate the mobility of devices or people in the surrounding area.

Signal-to-Distance Ring Maps

When enough transmitters and receivers are in known locations and not moving (perhaps attached to fixed objects), a rough estimate of signal-to-distance for the environment can be created. For a transmitter, its current RSSI (signal) value is used to estimate its distance to all of the receivers. Rings are drawn out from each receiver; the inner radius is the shortest predicted distance and the outer radius is the longest predicted distance.

While these maps can be used for "eyeing" the location of an object, they also demonstrate just how hard it is to to perform indoor localization and tracking. In general, weak links will mispredict the distance more often than short links. Additionally, indoor environments are full of objects that cause complex multi-path scenarios.

RSSI Ring Map for Transmitter 38.

RSSI ring map for transmitter 38. The rings are centered around receivers that can receive 38's beacons. Note how many of the receivers completely mispredict the distance to 38; an effect caused by multiple paths traveled by the radio waves.

Ambient Motion

The ambient motion visualization uses RSSI variance information to estimate how much motion is occurring in the environment. Each time the variance exceeds a set threshold level (2-3), a "cloud" is drawn on the screen. When multiple receivers experience this increase in variance, more clouds are drawn. This is not intended to be a precise tool, but rather to allow users to quickly intuit how busy the area is without having to read complex graphs.

Ambient motion during an evening
      when 1 person is walking around

Ambient motion for a relatively quiet evening at WINLAB. The screen is darkened to give the impression of nighttime, and a few clouds pass across the screen. In this case, a single person was moving around for several seconds. The tail-end of this motion is visible near the left side of the screen. The few other clouds are likely from "left over" motion or the person settling in their seat.