Chciałbym obliczyć dokładną lokalizację urządzenia mobilnego wewnątrz budynku (więc nie ma dostępu do GPS)
Chcę to zrobić, używając siły sygnału (w dBm) co najmniej 3 stałych sygnałów Wi-Fi (3 stałe routery, których położenie znam)
Google już to robi i chciałbym wiedzieć, w jaki sposób ustalają dokładną lokalizację na podstawie tych danych
Więcej informacji znajdziesz w tym artykule: http://www.codeproject.com/Articles/63747/Exploring-GoogleGears-Wi-Fi-Geo-Locator-Secrets
Odpowiedzi:
FSPL zależy od dwóch parametrów: Pierwszy to częstotliwość sygnałów radiowych ; Drugi to odległość transmisji bezprzewodowej. Poniższy wzór może odzwierciedlać relacje między nimi.
Z równania Fade Margin można obliczyć utratę ścieżki w wolnej przestrzeni za pomocą następującego równania.
Utrata ścieżki wolnej przestrzeni = Utrata kabla Tx Power-Tx + Wzmocnienie anteny Tx + Wzmocnienie anteny Rx - Utrata kabla Rx - Czułość Rx - Margines zanikania
Dzięki powyższym dwóm równaniom utraty ścieżki w wolnej przestrzeni możemy obliczyć Odległość w km.
Strefa Fresnela to obszar wokół linii widzenia, do którego rozchodzą się fale radiowe po opuszczeniu anteny. Chcesz mieć wyraźną linię wzroku, aby utrzymać siłę, szczególnie w przypadku systemów bezprzewodowych 2,4 GHz. Dzieje się tak, ponieważ fale 2,4 GHz są pochłaniane przez wodę, podobnie jak woda znajdująca się na drzewach. Praktyczna zasada jest taka, że 60% Strefy Fresnela musi być wolne od przeszkód. Zwykle 20% blokada strefy Fresnela powoduje niewielką utratę sygnału w łączu. Powyżej 40% blokady utrata sygnału będzie znacząca.
Źródło: http://www.tp-link.com/en/support/calculator/
źródło
Aby obliczyć odległość, potrzebujesz siły sygnału i częstotliwości sygnału. Oto kod java:
Zastosowana formuła to:
Przykład: częstotliwość = 2412 MHz, signalLevel = -57dbm, wynik = 7.000397427391188m
Ta formuła jest przekształcona w formułę Free Space Path Loss (FSPL) . Tutaj odległość jest mierzona w metrach, a częstotliwość w megahercach. Dla innych miar musisz użyć innej stałej (27,55). Przeczytaj o stałych tutaj .
Więcej informacji znajdziesz tutaj .
źródło
Tutaj:
K
- stała (32,44f
w MHz id
km, zmiana na -27,55f
w MHz id
m)FSPL
- Utrata ścieżki wolnej przestrzeniPtx
- moc nadajnika, dBm (do 20 dBm (100mW))CLtx
,CLrx
- utrata kabla w nadajniku i odbiorniku, dB (0, jeśli brak kabli)AGtx
,AGrx
- zysk anteny na nadajniku i odbiorniku, dBiPrx
- czułość odbiornika, dBm (do -100 dBm (0,1pW))FM
- margines zanikania, dB (ponad 14 dB (normalnie) lub więcej niż 22 dB (dobrze))f
- częstotliwość sygnału, MHzd
- odległość, m lub km (w zależności od wartości K)Uwaga: w formułach ze strony wsparcia TP-Link jest błąd (mising
^
).Zastąp
Prx
mocą odbieranego sygnału, aby uzyskać odległość od punktu dostępu WiFi.Przykład: Ptx = 16 dBm, AGtx = 2 dBi, AGrx = 0, Prx = -51 dBm (siła odbieranego sygnału), CLtx = 0, CLrx = 0, f = 2442 MHz (siódmy kanał 802.11bgn), FM = 22. Wynik: FSPL = 47 dB, d = 2,1865 m
Uwaga: FM (fade margin) wydaje się tutaj nieistotne, ale zostawiam to z powodu oryginalnej formuły.
Powinieneś wziąć pod uwagę ściany konta, może pomóc tabela http://www.liveport.com/wifi-signal-attenuation .
Przykład: (poprzednie dane) + jedna drewniana ściana (5 dB, z tabeli). Wynik: FSPL = FSPL - 5 dB = 44 dB, d = 1,548 m
Należy również pamiętać, że wzmocnienie anteny nie dodaje mocy - opisuje kształt charakterystyki promieniowania (pierścień w przypadku anteny dookólnej, zeppelin w przypadku anteny kierunkowej itp.).
Żadne z nich nie uwzględnia odbić sygnału (nie mam pojęcia, jak to zrobić). Prawdopodobnie brakuje również hałasu. Więc ta matematyka może być dobra tylko do przybliżonego oszacowania odległości.
źródło
prostą odpowiedzią na twoje pytanie byłaby triangulacja. Na czym zasadniczo polega koncepcja wszystkich urządzeń GPS, przeczytałbym ten artykuł, aby dowiedzieć się więcej o tym, jak Google to robi: http://www.computerworld.com/s/article/9127462/FAQ_How_Google_Latitude_locates_you_?taxonomyId=15&pageNumber= 2 .
Z mojego zrozumienia korzystają z usługi podobnej do Skyhook , czyli oprogramowania do lokalizacji, które określa Twoją lokalizację na podstawie sygnałów Wi-Fi / telefonu komórkowego. Aby osiągnąć swoją dokładność, usługi te mają duże serwery baz danych, które przechowują informacje o lokalizacji w tych wieżach komórkowych i punktach dostępu Wi-Fi - w rzeczywistości badają obszary metropolitalne, aby zapewnić ich aktualność. Zakładam, że abyś mógł osiągnąć coś podobnego, musisz skorzystać z usługi takiej jak Skyhook - możesz skorzystać z ich SDK ( http://www.skyhookwireless.com/location-technology/ ).
Jeśli jednak chcesz zrobić coś wewnętrznego (na przykład użyć lokalizacji własnych routerów) - prawdopodobnie będziesz musiał stworzyć algorytm, który naśladuje triangulację. Będziesz musiał znaleźć sposób na uzyskanie
signal_strength
imac_address
z urządzenia i użyć tych informacji wraz z lokalizacjami routerów, aby określić lokalizację. Prawdopodobnie możesz uzyskać informacje o urządzeniach podłączonych do routerów, wykonując coś podobnego ( http://www.makeuseof.com/tag/check-stealing-wifi/ ).źródło
Odległość (km) = 10 ^ ((Utrata ścieżki w wolnej przestrzeni - 92,45 - 20log10 (f)) / 20)
źródło
Ogólnie rzecz biorąc, jest to naprawdę zły sposób robienia rzeczy z powodu zakłóceń wielościeżkowych . Jest to zdecydowanie bardziej kwestia inżynierii RF niż kodowania.
Tl; dr, energia RF Wi-Fi jest rozpraszana w różnych kierunkach po odbiciu się od ścian, ludzi, podłogi itp. Nie ma sposobu, aby stwierdzić, gdzie jesteś, tylko przez trianglację, chyba że jesteś w pustym pokoju z umieszczonymi w nim sygnalizatorami Wi-Fi dokładnie we właściwym miejscu.
Google jest w stanie sobie z tym poradzić, ponieważ zasadniczo może mapować, gdzie każdy identyfikator SSID Wi-Fi znajduje się w lokalizacji GPS, gdy dowolny użytkownik Androida (który zdecyduje się na ich usługę) znajdzie się w zasięgu. W ten sposób następnym razem, gdy użytkownik przejdzie obok niego, nawet bez idealnego sygnału GPS, statek-matka Google może powiedzieć, gdzie jesteś. Zwykle używają tego w połączeniu z kiepskim sygnałem GPS.
To, co widziałem, to siatka urządzeń Zigbee lub BTLE. Jeśli wiesz, gdzie są one rozmieszczone, możesz użyć połączonego RSS, aby dowiedzieć się, które z nich są najbliżej, i przejść dalej.
źródło
Nie obchodzi mnie, czy jesteś moderatorem. Napisałem swój tekst do odbiorców, a nie jako autor techniczny
Wszystko, czego potrzebujesz, aby nauczyć się nawigować za pomocą narzędzi, które są starsze niż GPS. Coś jak sekstant, oktant, backstaff lub astrolabium.
Jeśli otrzymałeś sygnał z 3 różnych lokalizacji, wystarczy zmierzyć siłę sygnału i wykonać stosunek z tych lokalizacji. Proste obliczenia trójkąta, gdzie a2 + b2 = c2. Im silniejszy sygnał, tym bliżej odbiornika znajduje się urządzenie.
źródło