Wi-Fi positioning does not work at all? Not at all!
After reading the previous article “Why Wi-Fi Positioning Does Not Take Off,” my colleagues decided that it didn’t work at all and shouldn’t be contacted. This is absolutely not true!
In this article I want to tell you how positioning works in a corporate Wi-Fi network that is built according to the requirements of data and voice (but not for positioning).
Wi-Fi positioning "to the room"
Yes, Wi-Fi is not so well adapted to positioning: numerous reflections, interference and much more. And when you start adding tools that increase accuracy, the price tag starts to grow rapidly!
But, let's say, the Customer already has Wi-Fi, he is not ready to spend money on a separate infrastructure for the positioning service (arrange separate sensors, distribute tags) and does not even want to upgrade the existing Wi-Fi network intended for data transmission (increase the number of access points (hereinafter TD), arrange them around the perimeter, install monitoring modules).
')
What can the customer expect? With high probability, he can count on the accuracy of "to the room." By “up to room” accuracy in this case, I mean the range within 10 meters.
It is possible to increase positioning accuracy, but it will require effort and money (which, however, does not stop everyone).
Long live the Wi-Fi positioning in Enterprise!
Who in general may need Wi-Fi positioning accurate to the room? Maybe this is just a toy administrator? This accuracy is not enough to work with notifications that pop up on a smartphone when crossing a virtual border.
My opinion is that the main driver for buying Wi-Fi positioning "to the room" is working in conjunction with a wireless intrusion detection and prevention system (wIPS) or in conjunction with a monitoring system.
For the wIPS system, this service, I think, is necessary and, in an amicable way, should be its component (which is most often found). For a monitoring system, this is also a rather important service that helps to get an idea of the location of interference, the number and location of its own and third-party clients, in particular, for troubleshooting.
In this regard, I believe that along with the monitoring system and wIPS, in any Wi-Fi network of an enterprise class, there should be a positioning service.
Do we need to fork out for Cisco Hyperlocation or other expensive solutions?
Before proceeding to the analysis of complex and expensive solutions, such as Cisco Hyperlocation, it is worth assessing how standard Wi-Fi positioning works. By “standard” in this case, I understand the most common option: when they take a normal Wi-Fi network for data transfer (and / or voice) and add one inexpensive server for positioning miscalculations (without adding monitoring modules, antennas, moving points).
The best stand is a working network!
Consider a fragment of the network of one of my customers.
The network was built on the requirements of data and voice, but not positioning. The pilot area, I took part of the floor. Below is a floor plan of the pilot area with marked access points and indicative dimensions.

Equipment pilot zone wireless network:
- Cisco Wireless Access Controller WLC (hereinafter WLC);
- office access points without additional Cisco Aironet modules;
- Cisco Prime Infrastructure Management System (hereinafter PI).
- Android 4.4.4 smartphone
What was additionally installed in order to have a positioning service:
- Cisco CMX 10 (hereinafter CMX).
How is our network "normal"
“A typical Wi-Fi network” is a loose concept. Therefore, I will show (not without pride) the results of the radio survey in the pilot zone, and you will already decide how acceptable it is. The measurements were carried out in both bands (2.4 GHz and 5 GHz) at a level of -67dBm and SNR 25. Below is a picture of one measurement in the 5 GHz range with a level limit of -67dBm.

On a loaded network, the performance test (using the iperf program) showed about 50-80 Mbit / s in the 5 GHz band in the middle of the working day under heavy load.
CMX settings
Since the floor plans with the location of access points had already been entered into PI, I only needed to deploy a CMX virtual machine and import maps into it, along with the location of the AP and data on wall attenuation.
With walls there is a small nuance. Only thick walls are imported (heavy walls, they are also thick walls, 13dB). I painted thick walls only around the perimeter of the building, since in our office all the walls inside the building do not fall under the definition of “thick”.
You can also specify the zone where clients can and cannot be (in order to exclude clients in the air outside the second floor window for example, besides it can significantly improve accuracy, as in my case), but I decided not to do it , to evaluate how CMX will work in this situation, thick walls, traced around the perimeter.
To limit the number of displayed devices, I configured a filter:
- Only connected devices are displayed (that is, third-party clients are not displayed at all);
- Only devices with a signal level of -85dBm or more are displayed.
-
For tests, I left a display of interference and labels.
Bench tests
Positioning accuracy measurement
In PI there is such a curious tool (Inspect Location Readiness), which is quite straightforward, without any measurements, displays the zone “ready” for positioning. It looks like this:

It is clear that this information can only be taken into account, but cannot be based on it. CMX has a built-in position accuracy measurement function (location accuracy test), which already measures the actual positioning accuracy: the room location indicates the real location of the wireless Wi-Fi client (hereinafter referred to as the Client) and CMX documents the data of its own measurements, calculates the accuracy. I used my own smartphone to measure positioning accuracy. I chose about 5 points in advance in the pilot zone (outside the perimeter of the TD, between the TD, in the corridor, etc.). At each point, I wanted the CMX to take at least five measurements. Below is the result I got for the pilot zone:

Highlights:
- Positioning accuracy at all points was within 10 meters (in 99.2% of cases);
- Average positioning accuracy - 4.21 meters;
- Positioning accuracy in 50% of cases was up to 3.85 meters.
You can try to compare these results with the official Cisco guide on Wi-Fi positioning:
- Accuracy of less than or equal to 10 meters, with 90 percent precision
- Accuracy of less than or equal to 5 meters, with 50 percent precision
The positioning accuracy fits within the indicated frames, and not only around the TD perimeter, but also around the entire pilot zone, and this is very good. In this case, the points were placed without taking into account the requirements for positioning!
I associate such results in particular with the successful configuration of the building: a long narrow building, along the perimeter of which a thick wall passes, preventing Clients from “falling out” much beyond its limits.
But it turned out not so rosy.
Just a little about the frequency of updating the position
Even before the tests, I found that the smartphone is much more likely than some other devices to update its position in CMX. In order to understand why this is happening, I investigated the traffic from the smartphone and from other Clients. As it turned out, the smartphone did an active scan of certain SSIDs using the probe request. These requests were sent consistently to all channels, which led to the fact that all TDs had up-to-date power information (RSSI) of the smartphone signal. As I later found out, this is the standard algorithm for the operation of active Wi-Fi tags (they wake up, send requests to all channels sequentially and fall asleep). But in this case, it was just the manually crafted profiles of the wireless networks that I deleted before conducting the tests.
This led to the following result:
- If the smartphone was in one place and did not actively generate traffic, then its location was updated very rarely: in CMX there is such a parameter as “last seen”, that is, when the Client was last seen, so he came to me minutes (within 5 - 10 minutes).
- When the SSID profiles that are actively scanning were clogged on the smartphone, this parameter was within 10 - 15 seconds.
- If I started to actively generate traffic, the parameter "last seen" was also within 10-15 seconds.
- If I moved from point to point, the result was slightly different. The position was updated, but the accuracy of this position was much less than stated. It is connected, I think, it was because the RSSI was updated only for a certain TD, and the position needed to be updated, but since the RSSI data was not collected enough, the accuracy was much worse.
-
I want to consider this effect in more detail in a separate article, which will be devoted to the frequency of updating positions.
Measurement of positioning accuracy when moving
The positioning system not only displays the current location, but can also show client movement history playback, which can be useful in troubleshooting and investigating incidents.
But in our case I will use this tool for other purposes, namely, assessing the accuracy of positioning when moving.
To be as impartial as possible, I did not begin to walk in any special circles around the office, but simply took the history of my movement with the smartphone for the day.
This is how the second floor plan looks like with applied customers. The blue circles show the TD, inside the circles - the number of authorized Clients. Green dots are Clients.

The system is very convenient search for customers. The client can use any characters of the MAC address, user name, SSID. Filtering is automatic for each character entered. I found my smartphone with three letters.

My position is indicated quite accurately, I am in the left compartment of the A-03 (and not in the second compartment, as shown). The width of the compartment - 5 meters, so that the accuracy is quite personal. If you hover the cursor on the Client, it schematically shows on which TDs the RSSI is measured (which is taken into account).

After the Client is selected, you can go to the history of movements.

What is immediately interesting: the connection time of 9.31 is the time of arrival at the office (you can track the time of arrival!), The positioning accuracy at that time was even better (left compartment -03). In the 10 o'clock area I went to the B-32 room area. And here the most surprising begins: on the map this is displayed as a rather chaotic movement of the Client:

Although the general direction of movement is guessed, I obviously did not move around the perimeter of the building. Such an effect is connected, as I suppose, just with what I described a little earlier: RSSI measurement is detected only on a certain TD (which is roaming), CMX is forced to update the position, but its accuracy is extremely low. Probably, CMX would have pushed the Client out of the building if it were not for the thick walls drawn in which the Client “binds” (and if the walls are not drawn, it is necessary to draw the positioning regions). As a mitigating circumstance, it is possible to take into account the fact that in the compartment “B” the coverage is worse and, therefore, the positioning also. And what are the results in the pilot zone? Then I returned to room A-03. Then around 12.30 I went to a colleague in the A-16 zone, then it was possible to estimate the exact positioning accuracy in the pilot zone.

In this case, the mapping went more clearly, but on the way back I was still thrown around the perimeter. I think this may be due both to the activity of the smartphone, and to a more dense coating directly in this compartment.
A curious fact: the movement of the client is not tied to one floor, but is united between all the rooms. For example, I found that in the region of three hours I went down to the first floor (I went to dinner).

The system also displays various noise and tags.
There is also such a pleasant moment, not only Wi-Fi clients can be displayed, but also noise and tags (due to the spectrum analyzer built into the TD). In the Alpha meeting room, we now have to demonstrate a device based on the IEEE 802.15.4 (ZigBee) standard. The positioning system found it, determined the type, and even with very good accuracy displayed its location!

This is great for troubleshooting and investigating incidents. Few people do periodic radio surveys. And this tool allows, without getting up from the chair, to detect all the interference with the accuracy of the room and carry out with them all the necessary measures (legalize, remove, etc.).
General conclusions
What conclusions can be made:
1. Positioning accuracy in Wi-Fi networks intended for data transmission / voice in general will be within 10 meters in 90% of measurements (“to the room” accuracy).
2. The issue of positioning accuracy must necessarily be considered in tandem with the question of the frequency of updating positions. The accuracy of a stationary Client and the accuracy of a moving Client can vary greatly. That is, you need to understand how and with what speed the Client can move.
3. You need to understand what type of traffic and how often it should (and can) generate the required Client.
What's next?
When preparing this material, I received both answers and new questions, the main of which is the update frequency in Wi-Fi positioning. For this reason, in the next article I will try to consider this issue in more detail.