Calibrate Ekahau · interactive comparison

Compare signal readings.

Controller and survey readings can disagree. Try a stricter rule to see which survey locations still qualify.

Fictional sample · Python analysis adapted for the browser. Project story and report

Restarts the fictional sample. P03: 57 eligible.

Fictional baseline ready: 8 of 13 survey locations can be compared.

Computed comparison

Fictional baseline

Locations compared
8 / 13
Typical difference (median)
-4 dB
Locations withheld
5

Difference = controller median − survey reading. Negative means the controller reading was lower; zero means no difference at that location. This is a comparison, not an automatic correction.

Try another comparison.

Each action starts from the fictional baseline, changes one thing and recalculates.

Inspect a survey location.

Choose a row to see why it counts.

-20 dB+4 dB

In the sample, P01–P13 identify fictional survey locations. A location is compared only when it has a survey match and enough usable observations from a consistent radio within the declared time window.

Inspect the statistics and sampling method
Median absolute deviation
+1 dB
Robust sigma
+1.48 dB

95% descriptive location-bootstrap interval: -5 to -3 dB.

Fixed seed 7 · 5,000 draws. Paired locations are resampled, rather than individual controller observations.

672 input observations · 477 used across compared locations · 0 from other clients, omitted.

Adjust inputs & analysis rulesOptional: change the quality limits, edit the two CSVs or load local files.

Make your own comparison.

A controller manages wireless access points. These samples describe signal received by an access point; the survey reading comes from a survey device.

Poll elapsed is the time spent fetching controller data. It is not client round-trip time or the age of a signal reading. Set its limit to 0 to disable that filter.

Edit or load the two CSV inputsLocal files stay in this browser.

One row per observation: location, UTC timestamp, client, radio identity, signal strength and poll duration.

One reading per location. Match using location_id; use rssi_ekahau_dbm for the reading.

Up to 1 MB and 10,000 rows per CSV, with at most 200 locations per run. Timestamps use YYYY-MM-DD with a time and Z or ±HH:MM offset. Quoted fields are supported. Blank measurements remain unavailable.

The result above matches these inputs.

Fictional baseline ready: 8 of 13 survey locations can be compared.

From the browser to the actual tool.

The original Python tool produces inspectable Excel and JSON reports from controller and survey CSVs. This demo adapts its filtering, pairing, median, MAD and fixed-seed bootstrap rules for the browser. It uses fictional readings or CSV text you choose.

Keep the comparison within its measurement limits

The controller observes client-to-AP reception; the survey can observe AP-to-survey-device reception. Their difference does not establish a universal device correction, a coverage pass or a voice target. This page does not collect from a controller, run Ekahau or change network settings.

Read the project story and retained sample report