Какой алгоритм я должен использовать для геолокации Wi-Fi?


16

Вариант использования Pickup для школы (обновление)

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

Вариант использования на заднем дворе (оригинал) Когда я беру свой ноутбук на задний двор и выбираю «просмотреть доступные сети», я вижу список из 4 моих соседей. Когда я хожу вокруг, меняются относительные уровни сигнала от моих соседей.

Я хотел бы стоять с ноутбуком в известных местах на заднем дворе, нажимать на карту и набирать очки с 4 различными уровнями сигнала.

Собрав много (но не слишком много) этих точек калибровки, я хотел бы написать программу, которая берет 4 уровня мощности сигнала Wi-Fi и оценивает местоположение в форме эллипса ошибки. Сигналы могут быть измерены с использованием устройства, отличного от того, которое использовалось для сбора исходных точек калибровки.

Какой алгоритм я должен использовать?

Я не хочу беспокоить своих соседей, спрашивая их, могу ли я зайти и обследовать точное местоположение их маршрутизатора.

Я могу предположить, однако, местоположение моих маршрутизаторов соседей не изменяется.



4
я думаю, что он просто хочет делать триангуляции, а не контрейлерные перевозки ...
Marinheiro

Никаких спекуляций - только сила сигнала, которую можно измерить, верно? Я не собираюсь "гуглить" по Wi-Fi ... blogs.discovermagazine.com/80beats/2010/10/25/…
Кирк Куйкендалл

Ответы:


6

Похоже, вы не очень хорошо знаете местоположения сигналов, поэтому вам нужно сначала оценить их, а затем, учитывая эти оценки, провести триангуляцию своей позиции.

Если вам нужна некоторая точность и реалистичность, рассмотрите возможность принятия модели вероятности для уровней сигнала, определения максимального правдоподобия и составления карты вероятности местоположения с привязкой к сетке, рассчитанной на основе оценок максимального правдоподобия. Глобальный максимум на сетке определяет наилучшую оценку местоположения, а контуры (относительно максимума) дают наборы достоверности для этого местоположения.

Модель общего правдоподобия получается путем формулировки формулы для ослабления сигнала и учета ошибки. Вы не очень далеко продвинетесь с полностью общей формулой (с функцией ослабления, зависящей от угла и местоположения), поэтому вам придется упростить. Например, вы могли бы рассмотреть «универсальную» функцию затухания, назовите ее f , чтобы, если сила источника в местоположении x WiFi равнялась a, тогда ожидаемая сила в другом месте y определяется как

z (y; x) = af (| y - x |).

Например, вы можете рассмотреть затухание в обратных квадратах, для которого f (t) = 1 / t ^ 2 при условии, что расстояние t больше некоторого небольшого порога. Как еще одно упрощение, вы можете взять значение силы z (y; x) в точке y, чтобы источник в точке x отличался от ожидаемого значения нормально распределенной ошибкой; предположим, что все ошибки независимы; и предположим, что все они имеют одинаковое стандартное отклонение ( я ). Вклад в логарифмическую вероятность прочностного чтения Z становится

L (y, x) = - [(z (y; x) - af (| yx |) ^ 2 / s ^ 2 + ln (s)] / 2.

Логарифмическая вероятность быть максимизированной является двойной суммой L (y, x) по всем местоположениям y и всем источникам x . Это функция от неизвестных местоположений, неизвестных интенсивностей источника и неизвестного стандартного отклонения ошибок. Нетрудно найти оптимальное стандартное отклонение и оптимальную интенсивность источника (взять частные производные, установить их на ноль и решить), но для реалистичных функций затухания f у вас есть нелинейная задача для определения местоположений. Однако в вашем примере он содержит только 13 параметров, поэтому вы должны иметь возможность вывести его, скажем, в многомерный оптимизатор Ньютона-Рафсона и быстро получить хороший ответ. (В статистической литературе полно методов для решения уравнений такого типа.)

Если дополнительно предположить, что второе устройство имеет пропорционально большую чувствительность, чем устройство сбора данных, это не будет иметь большого значения в предложенной мной модели (так как уровни сигнала вводятся мультипликативно). На самом деле, если вы позволите ошибкам масштабироваться с интенсивностью (поэтому они имеют стандартное отклонение a * s *, а не s ), разница между устройствами должна быть несущественной.

Для простоты я пропустил некоторые статистические тонкости, такие как тот факт, что это проблема многомерного интервала прогнозирования, а не проблема доверительного интервала. Если количество ошибок не велико (т. Е. S мало), разница не будет иметь большого значения.


Спасибо, Билл, это выглядит выполнимо. С ноутбуками я просто понял, что сигнал чувствителен к ориентации антенн. Не уверен, правда ли это с мобильными телефонами. Будет ли это местоположение достаточно хорошим для использования в средней школе?
Кирк Куйкендалл

Вы можете справиться с ориентацией, но это становится более сложным и потребует больше чтений. Вместо этого рассмотрите возможность использования максимального сигнала среди всех возможных ориентаций в каждой точке. Вариант использования в средней школе - интересный вариант, в котором предлагается сделать все возможное, чтобы раз и навсегда определить местоположение и сильные стороны отправителя WiFi. После этого это упражнение триангуляции. Одна из проблем, с которыми я сталкиваюсь, заключается в том, что сильные стороны источника могут варьироваться, часто непредсказуемо. Это действительно может испортить триангуляцию. Попробуйте добавить начальный экран для внешних (слабых) сигналов, чтобы они не испортили исправление.
whuber



0

Если вы собираете местоположение с помощью GPS, я думаю, что вы смотрите на два разных фактора ошибки. один для GPS и другой для силы сигнала.


В этом контексте Кирк мог фактически проверить местоположения на своем заднем дворе независимо (то есть, просто взять несколько показаний GPS из каждого местоположения).
Энди W

0

Разве вы не можете использовать одну из существующих систем позиционирования WiFi, таких как Skyhook Wireless или Core Location в iOS от Apple? Skyhook позволяет добавлять MAC-адреса Wi-Fi в их базу данных вручную, iOS собирает MAC-адреса Wi-Fi автоматически, используя iPhone с GPS.


Это не может быть плохой идеей, если он хочет выяснить, где он находится. Но он пытается выяснить, как собрать данные о местонахождении сетей самостоятельно. Более того, он пытается триангулировать свою позицию, основываясь на силе сигналов WiFi. Я не уверен, что коммерческие решения делают это.
jvangeld

@jvangeld: Насколько я понимаю, Core Location в iOS использует силу сигнала Wi-Fi для триангуляции позиции. Для упомянутого случая со школьным пикапом это был бы путь.
Ортвин Генц

0

Кирк,

Хотя я могу ошибаться, я думаю, что вы слишком усложняете вещи. Хотя, честно говоря, я не знаю, из какой части света вы работаете в школьном кампусе.

Хотя большинство мобильных устройств уже поддерживают триангуляцию GPS и / или вышек сотовой связи, для Wi-Fi SkyHook является ответом по следующим причинам: 1. Их база данных местоположений WiFi огромна. 2. Каждый раз, когда используется приложение, использующее SkyHook, оно добавляет вновь найденные сети WiFi в базу данных с указанием позиции. Таким образом, чем больше он используется в области, тем точнее он становится. Я предполагаю, что в местах с высокой плотностью, например, в кампусе, если покрытие еще недостаточно хорошее, оно будет иметь место в течение нескольких дней регулярного использования. 3. Некоторые телефоны используют SkyHook как часть своих API определения местоположения, а это означает, что все больше и больше обычных API-интерфейсов для телефонов будут уже встроены.

Если честно, если вы не хотите, чтобы эта услуга была доступна на ноутбуках (большинство новых браузеров имеют встроенный SkyHook), большинство телефонов теперь имеют GPS, к которому можно получить доступ через собственные API телефона, будь то iOS, Android, WP7 или BlackBerry. Другим вариантом будет сделать его мобильным веб-приложением, которое будет просто использовать API определения местоположения браузера, с доступом в любом случае ко всем инструментам определения местоположения на телефоне.


Я думал, что Skyhook собирал данные через Wardriving. Я не могу представить, как они едут по школьным дорогам, хотя полагаю, что они общественные.
Кирк Кайкендалл

Вы правы, но поскольку клиенты «расширяют» свою базу данных в дополнение к ведению войны, вы, вероятно, обнаружите, что они все равно имеют покрытие. Вы всегда можете протестировать, загрузив Opera на свой ноутбук, зайдите в кампус с включенным maps.google.com и WiFi, и посмотрите, куда он вас направит.
BlinkyBill
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.