# Building an RSSI map for an indoor positioning system

As I study so far,

Indoor positioning mechanisms are built with two approaches:

1. Trilateration, triangulation:

Directly calculate/compute position with signal fading/RSII data which mobile device detect.

2. Fingerprinting: First training the system with "this point:these RSSI values" to save "fingerprints" then, on online mode, look at the RSSI data and compare it with the existing data/fingerprints

To build a more accurate positioning system which gets its power from calculating/computing,

I imagined:

1. To consider a floor plan/map on a plane

2. Modify the map/plan with knowledge of signal interference coefficient of the materials of the walls and any rigid constant objects.

3. Build a 3D model of the RSSI distribution of predefined signal transmitters.

Is it too imaginary?

What kind of difficulties may I run into?

With a perspective of science of automation, is it too scratchy?

• It is not perfectly clear what you are asking. Do you want to make a positioning device using RSSI? Aug 26 '14 at 13:49
• i need to make a positioning system by developing software for mobile devices on the market as RSSI receivers and prepositioned access points those transmit signals. The software on mobile devices can detect signal strength of transmitters, thus the mobile device's position can be calculated bu calculation. Aug 26 '14 at 13:55

I have done what you are talking about, although I stuck to 2D signal strength maps within each floor of a building. Also, I didn't infer or guess signal strength as a function of location, I measured it at key points and interpolated in between.

Yes, this technique does add accuracy. In the end we found that the signature method converged faster to identify the location to within a particular room, which was the level of accuracy we cared about.

If you measure points in the environment, you have to be careful about how the data is interpolated. It's not as simple as forming some mesh between points for two reasons. First, the points are going to be at irregular coordinates, wherever someone thinks there is a reason the signal strength might not be as otherwise predicted, or because inaccuracies were found at that location. Second, the inherent radial nature of radio reception means you want to interplate the data in a radial coordinate system.

It's been about 6 years since the last time I dealt with this, and example data files have apparently been purged from my disk since. I did find some test files with artificial data for testing the interpolation and signal strength correction process. Here is one example:

The two small white circles show where the simulated measured points were. Each color band is 1 dB wide, with bluer colors showing lower signal strength. The receiver is in the center. This artificial data set contained two measurements, a low one near the receiver, and a strong one farther away but in the same direction. You can see how the interpolation is polar in nature. This was done by a relaxation algorithm on a polar grid. This data was generated from 50000 iterations of the relaxation algorithm. I don't remember the size of the grid. The result was then remapped to a rectangular grid to use for signal strength correction at run time.

That's going to be trickier than you think. You'll have to take into account dampening as well as signal reflection. For example, a metal object in a room will dramatically alter the RSSI characteristics. You'll also need to know building materials, ceiling height, and be able to model their characteristics at the correct operating frequency of the system. That model also won't take into account the rich multipath environment that indoor areas tend to be -- this will contribute to significant gesticulations of signal strength based on location inside the room.

Typically the best way to do RSSI localization is with a technique called RSSI fingerprinting. This is an active research area. Typically, the space is segmented into different classes (often rooms, or sub-rooms if you have a lot of anchors and good-quality methods of measuring RSSI), and training data is collected in each class (room). A machine learning algorithm is typically used as a classifier -- my research team has had good success using an RBF neural network, but the key to getting accurate location is to refine the results using Kalman filtering or some sort of Markov chain.