Trilateration query

Talk about whatever

10 posts • Page 1 of 1

Postby baggynaggin » Tue Sep 14, 2021 1:28 am

Hi folks,

A question about trying to get a very accurate location for an small number of APs quickly.

I've noticed using a WiFi analyser app that when moving around that signal strength as measured in -dBm tends to fluctuate to a large degree. It takes a moment, maybe 2 or 3 seconds, for the signal strength reported by that app to stabilize, presumably as it's based on an average of signals received at that spot, suggesting it take a lot of captures to find that average.

Does WiGLE trilateration work in a similar way? Does every individual capture carry equal weight, and stack up over time when standing at a specific coordinate to build an ever stronger 'immovable' data-point for determining the relative position of every AP detected from that spot? One that can't be easily 'messed with' when a few captures with widely varying signal strength readings taken 20 feet away might make an effort to 'prove' an AP was nowhere near a specific spot pointless?

In other words does standing still just update the average signal strength for each AP as detected from that coordinate with a more accurate number, one that can be easily 'erased' by passing nearby and recording a couple of bad captures that indicate a stronger signal than is really there? Or can I 'prove' to the engine that specific APs are nowhere near a specific area, say an open space at the centre of a group of houses. I'm trying to avoid the problem of captures taken at one side of the open space 'pulling' the dots representing APs located at the other side toward the centre, when I walk a circuit of the area. Does taking very long accurate readings of weak signals hold any long term value? Can I walk a grid of an open area, pausing for a moment every 20 feet or so, and thereby prevent the dots I'm after from ever appearing in that space? Or should I just focus on getting as close as possible to the buildings to capture some strong signals and not waste time taking readings from more distant locations that have line of sight to a lot of buildings. In a common sense way, solid accurate weak signals should enable the signal strength gradient to be mapped more accurately and allow me to herd the dots away from the open space permanently before I walk circuits closer to buildings looking for the stronger signals, but does the engine work like that? Is the dot always pulled toward stronger signal readings and never 'pushed away' from weak signal readings recorded on previous runs?

Should I perhaps just make some flyers for a fake company that sells something nobody wants to buy, and deliver them door to door? Maybe with phones in my side pockets sampling signals rapidly? Get as close to every building as possible? Would that do a better job of 'fixing' approximate locations of those APs more permanently and accurately? If I had to come back and sample more signals, would doing so just undo all that effort and pull the dots away from the individual buildings again after going to the effort of putting a majority of the dots in the area right outside the front doors?

A convoluted question I know, I'm just finding it difficult to figure out a way to speed up the process. I'm mostly after quality, in a small area, not quantity.

Many thanks for your time

Postby baggynaggin » Wed Sep 15, 2021 1:51 pm

Hi again,

Reading around the forums I see a reference to weighting the trilateration by signal strength. Does that still apply?

If so, can I assume the dot on the map is always, effectively, dragged toward where you're standing when you make the observation? If standing still, gathering weak signals and stronger signals, will the dots associated with the stronger signals always be pulled toward where you're standing due to a weighting, while the dots associated with the weaker signals not so much?

If so, with repeated observations along parallel streets (see attachment, grey lines representing streets), the dot at (x, y) will always be biased toward the centre of circle 1, because observations of weak signals at that point hold less weight, and there is no cleverness in the engine that will move it to where the arrow is pointing, even if I make repeated observations from point (x, y) and prove that the centre of the WiFi cell can't possibly be at that spot? I understand that making observations from behind the building in the red circle would pull the dot in the right direction, though in the area I'm interested in surveying it won't be possible to get get behind most of the buildings.

If I have all that right, when making observations in unexplored territory (most of my city hasn't been mapped in many years) should I just make one pass on each street and try to avoid gathering too many stray strong signals from faraway buildings? Perhaps using my body to shield the antenna in my phone or similar? To put the dots in a reasonably accurate spot first time and then not come back and definitely not stand still anywhere nearby, unless I want to invest a lot of time trying to make observations from all sides of every building? It certainly seems to be the case that where I can't survey from many sides of a building, the dots on the map get less accurate with a second and third pass, not more accurate, based on dots where the SSIDs are named after known businesses premises for example.

Many thanks
Trilateration.png (21.58 KiB) Viewed 11917 times

Postby arkasha » Wed Sep 15, 2021 6:22 pm

That's an excellent question, and analysis.

Because we're a sort of "Wikipedia" model, accepting contributions from everyone (lots of users, lots of instances, lots of gear with varying radio and antenna characteristics), we aim to become more accurate over time, but we don't ever achieve perfection.

Because we rely on signal strength as a weighting factor (and because of the nature of signal strength), we hope to make the most of partial data through trilateration, but it's far from foolproof. You'll note from our maps that the dataset experiences strong "arterial bias" - networks cluster along the streets and paths from which stumblers observe them. As more data rolls in from more positions angles, the signals get "pulled" into more accurate locations, but there are no guarantees, especially in areas with few observations.

There are cases (depending on density) for stumbling with higher-power rigs (you can achieve interesting results by driving the perimeter of an inaccessible area with a high-gain rig, even detecting features inside the area correctly), or many recordings with a lower-power rig over time. If you're going to be the only person covering an accessible area, consistency is key; use the same rigs and antenna configurations consistently across your target area, things will shake out more reliably than with a mix-and-match approach.

Postby baggynaggin » Thu Sep 16, 2021 1:39 am

Very many thanks. I'll give it some thought.

In an ideal world the system would switch to an algorithm that incorporates a heat map, rather than pure trilateration, if after reaching a certain threshold of observations, 100, 200 or whatever, there were numerous observations made at or very close to the trilateration point that demonstrated the centre of the cell wasn’t at that spot.

If several observations are made very close to that point with a GPS lock (not network location provider), meaning there’s open sky above, and if the average signal strength of those trilateration point observations isn’t higher than a certain threshold, maybe -55 dBm or similar, that that spot could be marked as bad. The system would then draw a line from the trilateration point through the centre of the hottest cluster of observations, the ones made closest to the building most likely, and place the location of the signal a somewhat arbitrary distance in that direction based on the average signal strength of the hot spot cluster on the observation heat map. If the hottest spot on the heat map averages -70 bDm say, then place a location dot that represents a Wi-Fi cell inside a building on the opposite side of the hot spot from the trilateration point ‘-70dBm away’, whatever that looks like. Let the signal strength gradient point the way to the building.

It would only be useful in cities and suburbs pretty much – just a way to figure out which side of the street a signal is (probably) coming from. If new observations are made which move the trilateration point out of the spot that was marked as ‘bad’ then the system would switch back to simple trilateration mode.

I have no idea how it would work with data coming in from many sources though. If it were just data coming in from the WiGLE app running on phones, where you have some consistency of antenna gain, then the average signal strength of observations made up and down the street on both sides should be enough to make one side of the street hotter than the other and push the dot off the street and into the buildings. Dot herding mode.

It would have to figure out the patterns of signal strength observations associated with typical buildings though. The heat map would presumably resemble light shining through a door onto the floor and opposite wall in a dark room. The brightest spot is directly at the door, the building, but the light (signals) would often illuminate the opposite side of the street due to adjacent buildings blocking the signal. There would be shadows cast on the heat map by the adjacent buildings. In order to work the map would have to reveal the ‘door’, the building emitting the signals, not the illuminated wall opposite the door, the opposite side of the street, where presumably the greater number of hot (but not hottest) observations would be located.

I don’t suppose any software exists that would do this for me based on my CSV exports from WiGLE? If not, and if someone creates it, please call it ‘Dot Herder’ ;)

Postby arkasha » Thu Sep 16, 2021 4:22 am

What you're proposing actually maps somewhat to the clustering approach we use.

discarding low-signal points generally isn't necessary, if you're weighting based on the square of signal strength per observation.
Trying to infer anything deterministic based on structure is extremely difficult since WiFi signals can easily "bounce" through some materials and not others, as well as off of neighboring structures. The various construction materials and techniques, echoes, the wide variation in hardware used, and even device antenna position and orientation makes trying to get TOO specific impractical. It''s also important to note that WiFi isn't exclusively an indoor technology - lots of outdoor dining that's sprung up during the pandemic have wireless access on the surfaces of building or even in open air areas.

check out the "silver" and "gold" polygons in your browser when you select a result of a "basic search" in the web interface.

Postby dirkwigler78 » Thu Sep 16, 2021 4:54 pm

This subject is something I've been looking into recently myself (geo-locating an AP).

Using Inssider 2, a USB GPS puck and a high-gain omnidirectional antenna I recorded observations of the signal strength of an AP with known location by walking the nearby streets. These observations were imported into Google Earth and each observation was color-coded for signal strength. No trilateration has been done, just GPS co-ordinates recorded with corresponding signal strength.

My experience mirrors the comments made in the posts above. With the method I used it's possible to see a 'cluster' of stronger signals (see image below), but this only narrows the location down to a number of buildings if the location is not previously known. Submitting the observations to Wigle for trilateration showed the router to be located about 8 meters from its true location, which seems pretty good taking everything mentioned elsewhere in this thread into account.


Postby baggynaggin » Thu Sep 16, 2021 7:02 pm

Many thanks to you both.

I had seen reference in these forums to the polygons when clicking results in basic search but it didn't work for me. I assumed this feature was no longer available. I now realise I had scripts from a CDN domain blocked which are necessary for this function to work. These polygons give me everything I need. :D

Edit: It's not the CDN domain - I can see some polygons associated with my observations but not others. Is a certain number of observations required before a polygon will appear? Or are the queries rate limited in some way?

Postby dirkwigler78 » Thu Sep 16, 2021 7:58 pm

You might need to zoom out to see the polygons.

Postby baggynaggin » Fri Sep 17, 2021 12:09 am

It's not observation count either - I again get 'Detail query failed: error' when I click on a basic query result for SSIDs for which I was able to see a polygon earlier today. I was able to see maybe 3 or 4 earlier before it stopped working. Any ideas?

Postby SkywardLark » Fri Sep 17, 2021 8:44 am

It's *very* hard to locate anything within an obstruction because of multipath propagation. You can get a general idea but with the way signals bounce you can end up at a wrong location due to building materials and layout. Even in your own photo there are dots that don't make sense. Your best bet is to use an antenna that is directional so can just steer the antenna to the spot with the highest signal level. This method of hunting APs doesn't mesh well with Wigle though, since it will throw off results.

I posted a reflector design here:

It will probably work with just a phone but you'll definitely look weird if you're outside. :lol:

10 posts • Page 1 of 1

Return to “General Grabbag”

Who is online

Users browsing this forum: No registered users and 11 guests