android Wi-Fi положение триангуляции




ios algorithm (2)

Даже не беспокойтесь о преобразовании DBm в расстояние. Радиосигналы распространяются со скоростью света (почти), за исключением некоторого ослабления из-за факторов окружающей среды. Таким образом, если вы можете «пинговать» устройство, вы можете получить общее представление о его расстоянии. Учитывая всенаправленную антенну известного местоположения, вы можете использовать время, необходимое для получения ответа, для построения радиуса и рисования круга. Теперь, если вы делаете это с нескольких устройств, круги будут пересекаться, что должно дать вам направление. Конечно это все 2d. Вы можете сделать то же самое, что-то в 3D, но вместо этого вы будете строить сферы. Чем больше у вас устройств, тем более точным может быть местоположение.

https://code.i-harness.com

Мне нужно понять, как в принципе работает триангуляция Wifi. Сцена изображена на рисунке выше. Чтобы реализовать триангуляцию Wi-Fi, мне нужно минимум 3 точки доступа Wi-Fi и их позиции. Настройка:
1. Для простоты давайте предположим, что у меня есть площадь 1 кв. Км на 1 кв. Км , и у меня есть 3 точки доступа Wi-Fi в этой области. Система координат выглядит следующим образом: 1 угол площади квадрата равен (0,0,0), а самый дальний угол по диагонали будет иметь координаты (1,1,1). Все определения положения должны выполняться только относительно этой системы координат (для простоты я не хочу глобальные координаты XYZ). В рамках этого у меня есть 3 точки доступа Wi-Fi в (x1, y1, z1), (x2, y2, z2), (x3, y3, z3).
2. У нас есть человек с устройством, способным принимать сигналы Wi-Fi и вычислять силу сигнала в положении (x, y, z) . Устройство может быть телефоном, планшетом и т. Д.
Проблема: Рассчитайте положение (x, y, z) человека динамически, когда он перемещается, когда у вас есть следующие входные данные:
1. Уровень сигнала, полученного от каждой точки доступа Wi-Fi
2. Координаты точек доступа Wi-Fi, ранее сохраненные в переменных или базе данных.

Первый вопрос: как мне вычислить позицию из вышеуказанных входных данных? Я предполагаю, что уровень сигнала прямо пропорционален расстоянию от маршрутизатора, но каково точное соотношение? Как Skyhook делает это так точно?
Второй вопрос Что-нибудь еще требуется?

Спасибо!


Ну, это сигнал, поэтому его интенсивность будет падать на квадрат расстояния. Смотрите закон обратных квадратов

Android даст вам уровень сигнала в dBm . Я незнаком с этим устройством, но если это что-то вроде аудио децибела, то это не линейный масштаб. Вы хотите учесть это в.

В идеальном мире поля будут достаточно однородными, чтобы чистые измерения давали вам расстояние, но если вы делаете это с помощью любого металла, все может стать безобразным. Кроме того, внутренняя конфигурация Wi-Fi радио вашего устройства может сделать его более чувствительным в определенных направлениях. Я не инженер или что-то еще, поэтому я не знаю, в какой степени эти вещи повлияют на конечный результат. Это может быть несущественным.

Наконец, для трехмерного местоположения, я полагаю, вам нужны четыре ориентира. Если все точки доступа Wi-Fi находятся на одной высоте, вы все равно можете найти свое горизонтальное положение. Если это не так, вы будете находить свое положение на плоскости, на которой они находятся, что может быть недостаточно для вас, в зависимости от того, насколько крутой этот самолет.





triangulation