Szkolny futerał na odbiór (aktualizacja)
Przydałoby się bardziej konkretny przypadek użycia zamiast oryginalnego przykładu z podwórka poniżej. Lokalne organy ścigania zaczęły tłumić używanie wiadomości tekstowych i telefonów komórkowych w strefach szkolnych. Stanowi to problem dla rodziców odbierających dzieci po ukończeniu gimnazjum. Nawet dla tych, którzy obnoszą się z prawem, wieża komórkowa szybko się przeciąża, gdy setki dzieci dzwonią do rodziców jednocześnie. Kampus jest duży, z zasięgiem Wi-Fi. Wydaje się, że powinno być możliwe napisanie aplikacji mobilnej, która pozwoliłaby użytkownikowi telefonu komórkowego wysłać wiadomość tekstową zawierającą listę mocnych sygnałów wifi do usługi internetowej. Serwis internetowy utworzyłby wówczas poprawkę lokalizacji i przekazałby wiadomość do urządzenia nawigacyjnego na pokładzie rodzica. Rodzic jechałby następnie do właściwej lokalizacji na terenie kampusu.
Przypadek użycia podwórka (oryginalny) Kiedy zabieram laptopa na podwórko i wybieram „wyświetl dostępne sieci”, widzę listę moich 4 sąsiadów. Gdy spaceruję, względne siły sygnału od moich sąsiadów zmieniają się.
Chciałbym stać z laptopem w znanych miejscach na moim podwórku, kliknąć mapę i zebrać punkty o 4 różnych poziomach mocy sygnału.
Po zebraniu dużej ilości (ale nie za dużo) tych punktów kalibracyjnych, chciałbym następnie napisać program, który pobiera 4 poziomy siły sygnału wifi i szacuje lokalizację w postaci elipsy błędu. Sygnały mogą być mierzone przy użyciu innego urządzenia niż to, które służy do gromadzenia oryginalnych punktów kalibracji.
Jakiego algorytmu powinienem użyć?
Nie chcę przeszkadzać moim sąsiadom, pytając ich, czy mogę wejść i zbadać dokładną lokalizację ich routera.
Mogę jednak założyć, że lokalizacja routerów moich sąsiadów się nie zmienia.
źródło
Odpowiedzi:
Wygląda na to, że nie znasz zbyt dobrze lokalizacji sygnałów, więc najpierw musisz je oszacować, a następnie, biorąc pod uwagę te szacunki, triangulować swoją pozycję.
Jeśli chcesz uzyskać trochę dokładności i realizmu, rozważ przyjęcie modelu prawdopodobieństwa dla mocy sygnału, znalezienie maksymalnego prawdopodobieństwa i utworzenie mapy siatki prawdopodobieństwa lokalizacji obliczonej na podstawie oszacowań maksymalnego prawdopodobieństwa. Globalne maksimum na siatce określa najlepsze oszacowanie lokalizacji, a kontury (w stosunku do maksimum) dają zestawy pewności dla tej lokalizacji.
Ogólny model prawdopodobieństwa uzyskuje się przez przyjęcie wzoru na tłumienie sygnału i dopuszczenie błędu. Nie zajdziesz daleko dzięki całkowicie ogólnej formule (z funkcją tłumienia zależną od kąta i lokalizacji), więc musisz uprościć. Na przykład możesz rozważyć „uniwersalną” funkcję tłumienia, nazwij ją f , aby jeśli siła źródła w lokalizacji WiFi x była równa a, to oczekiwana siła w innej lokalizacji y jest podana przez
z (y; x) = af (| y - x |).
Na przykład można rozważyć tłumienie odwrotne do kwadratu, dla którego f (t) = 1 / t ^ 2, pod warunkiem, że odległość t jest większa niż jakiś mały próg. Jako kolejne uproszczenie, możesz wziąć odczyt siły z (y; x) w lokalizacji y, aby źródło w x różniło się od wartości oczekiwanej przez błąd o rozkładzie normalnym; zakładamy, że wszystkie błędy są niezależne; i przejąć wszystkie one mają taką samą odchylenie standardowe ( s ). Udział w prawdopodobieństwie dziennika odczytu siły z staje się wówczas
L (y, x) = - [(z (y; x) - af (| yx |) ^ 2 / s ^ 2 + ln (s)] / 2.
Prawdopodobieństwo maksymalizacji dziennika jest podwójną sumą L (y, x) we wszystkich lokalizacjach y i wszystkich źródłach x . Jest to funkcja nieznanych lokalizacji, intensywności nieznanego źródła i nieznanego standardowego odchylenia błędów. To proste, aby znaleźć optymalne odchylenie standardowe i optymalne intensywności źródła (ma pochodne cząstkowe, ustawić te do zera i rozwiązać), ale realistycznych funkcji tłumienia f masz nieliniowy problem dla znalezienia lokalizacji. Jednak w twoim przykładzie zawiera on tylko 13 parametrów, więc powinieneś być w stanie zrzucić go, powiedzmy, na wielowymiarowy optymalizator Newtona-Raphsona i szybko uzyskać dobrą odpowiedź. (Literatura statystyczna jest pełna metod rozwiązywania tego rodzaju równań.)
Jeśli dodatkowo założysz, że drugie urządzenie ma proporcjonalnie większą czułość niż urządzenie do gromadzenia danych, nie będzie to miało większego znaczenia w zaproponowanym przeze mnie modelu (ponieważ siły sygnału wprowadzają się mnożąco). W rzeczywistości, jeśli pozwalasz na skalowanie błędów z intensywnością (więc mają one odchylenie standardowe a * s * zamiast s ), różnica między urządzeniami powinna być nieistotna.
Aby uprościć tę kwestię, pominąłem pewne drobiazgi statystyczne, takie jak fakt, że jest to problem interwału przewidywania na wielu odmianach, a nie problem przedziału ufności. Jeśli wielkość błędu nie jest duża (tj. S jest niewielka), różnica nie będzie miała większego znaczenia.
źródło
Sprawdź może te dokumenty:
źródło
Właśnie znalazłem samouczek dotyczący mapowania sieci WiFi za pomocą Kismet, gpsmap, gdal i GRASS. Wyszukaj „Mapowanie sieci Wi-Fi za pomocą Kismet, GDAL i GRASS” na stronie http://casoilresource.lawr.ucdavis.edu/drupal/book/export/html/96
źródło
Jeśli zbierasz lokalizację za pomocą GPS, myślę, że patrzysz na dwa różne czynniki błędu. jeden dla GPS, a drugi dla siły sygnału.
źródło
Czy nie możesz wykorzystać jednego z istniejących systemów pozycjonowania WiFi, takich jak Skyhook Wireless lub Core Location w Apple iOS? Skyhook pozwala ręcznie dodawać adresy MAC Wi-Fi do ich bazy danych, iOS automatycznie zbiera adresy MAC Wi-Fi za pomocą iPhone'a wyposażonego w GPS.
źródło
Kościół,
Chociaż mogę się mylić, myślę, że jesteś o wiele za skomplikowany. Chociaż, mówiąc szczerze, nie pochodząc z twojej części świata, nie wiem, z jakimi ograniczeniami pracujesz w środowisku kampusu szkolnego.
Podczas gdy większość urządzeń mobilnych już obsługuje GPS i lub triangulację wieży komórkowej, dla WiFi, SkyHook jest odpowiedzią z następujących powodów: 1. Ich baza danych lokalizacji Wi-Fi jest OGROMNA. 2. Za każdym razem, gdy używana jest aplikacja korzystająca z SkyHook, dodaje do bazy danych nowo znalezione sieci WiFi wraz z pozycją. Im bardziej jest używany w danym obszarze, tym bardziej dokładny staje się. Domyślam się, że w miejscach o dużej gęstości, takich jak kampus, jeśli nie ma jeszcze dobrego zasięgu, będzie to miało miejsce w ciągu kilku dni regularnego użytkowania. 3. Niektóre telefony używają SkyHook jako części interfejsów API lokalizacji, co oznacza, że coraz więcej normalnych interfejsów API telefonów będzie miało tę funkcję już wbudowaną.
Szczerze mówiąc, chyba że chcesz, aby ta usługa była dostępna na laptopach (większość nowych przeglądarek ma wbudowany SkyHook), większość telefonów ma teraz GPS, do którego można uzyskać dostęp poprzez natywne interfejsy API telefonu, czy to iOS, Android, WP7 lub Jeżyna. Inną opcją byłoby uczynienie z niej mobilnej aplikacji internetowej, która po prostu używałaby interfejsu API lokalizacji przeglądarki, z dostępem do wszystkich narzędzi lokalizacji w telefonie.
źródło