Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Calibrating the heat map #11

Open
richb-hanover opened this issue Jan 28, 2025 · 3 comments
Open

Calibrating the heat map #11

richb-hanover opened this issue Jan 28, 2025 · 3 comments

Comments

@richb-hanover
Copy link

I'm not sure I understand what WiFi Heatmap is showing me... In particular, as I add more measurements, the "hot places" seem to move: areas that were hot become "cooler" when there are new measurements.

I started with this floor plan, and made the four measurements (locations in magenta). The APs are shown as turquoise rectangles: the center one is on the same floor, the other two are on the floor above.

Image

The resulting heat maps (no heat map for the first measurement) are shown below:

Image

Note that adding the second point moved the hottest point near the bottom; adding a third point pretty far away didn't change it, but adding the fourth point (6 feet from the AP) shifted the hottest point close to that last measurement.

Note too that the area near #2 (10 feet below the hotspot) got "cooler" after adding #4. This confuses me - why would a new measurement make an earlier one get cooler? What other information could I provide?

(Here's the list of measurements)

Image

And here's a map generated by the Android NetSpot app (about $7, I think). I can't say whether I believe it or not...

Image

@hnykda
Copy link
Owner

hnykda commented Jan 28, 2025

Hey, thanks for the feedback.

I think you are hitting some kind of fundamental properties of heatmaps and their settings in general. They are inherently imprecise because they interpolate and the scale matters, and there is no "standard" or "right" setting. E.g.:

Note too that the area near #2 (10 feet below the hotspot) got "cooler" after adding #4. This confuses me - why would a new measurement make an earlier one get cooler? What other information could I provide?

is definitely possible with heatmaps, is it not? Like, say, you measure 20 degrees celsius in London. Depending on your heatmap settings, you will have London to be the "hottest" (e.g. most red) in London and gradually going weaker as you go further. You do another measurement in Berlin, and you measure 30 degrees. You max is now 30, so the reddest is no Berlin, while London gets whatever color your heatmap interpolates in London (yellow?).

Ideas for how to do these are surely welcome.

Android NetSpot clearly setups maximum and minimum on -96 and max on -10 dBm, a design choice 🤷 , which we definitely could do as well.

As for your map, it seems that parameters could be changed there so it's not doing one huge blob but a more nuanced spots. You can achieve that by going to advanced settings for the heatmap (hidden under the toggle).

@richb-hanover
Copy link
Author

is definitely possible with heatmaps, is it not?

Hmmm.... I had expected that the readings/colors were absolute values... That way, if I'm in a room far from the router, the closest corner won't be red while the far corner is blue. I'd expect the entire room to be about the same middlin' color.

It looks as if the current Advanced Configuration shows a percentage from the range 0..1. (weakest signal .. highest signal). I think it could help if they were switched to use the thresholds below (These come from ChatGPT):

-30 dBm to -50 dBm: Excellent signal.
-50 dBm to -70 dBm: Good to fair signal. 
Below -70 dBm: Weak signal. 
Below -90 dBm: Unusable. 

You probably know this, but I also learned this from ChatGPT: A common formula to approximate percentage from dBm: Signal Percentage=2×(dBm+100)

Example:
    -50 dBm: 2×(−50+100)=100%2×(−50+100)=100%
    -80 dBm: 2×(−80+100)=40%2×(−80+100)=40%

Thanks again

@hnykda
Copy link
Owner

hnykda commented Jan 29, 2025

Valid expectation. I would like to support both, so skilled as well as inexperienced users could use this well. The problem with absolute values you gave is that as soon as someone e.g. has a router by default too far from everywhere, they will not see nuances in their coverage (which might be OK/good tradeoff). I.e. everything will be between -75 and -60, and that might still be a totally working wifi and fine signal (but would show here as somewhat bad).

I use some conversion to signal here: https://github.com/hnykda/wifi-heatmapper/blob/main/src/lib/utils.ts#L24. Every such conversion is a simplification and effectively imprecise, but I am committed to finding the most useful way (or, again, have a sane default and then some advanced option)

Image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants