Wie berechnet man die Entfernung zum WLAN-Router mithilfe der Signalstärke?

84

Ich möchte den genauen Standort eines Mobilgeräts in einem Gebäude berechnen (also kein GPS-Zugang).

Ich möchte dies mit der Signalstärke (in dBm) von mindestens 3 festen WLAN-Signalen (3 festen Routern, deren Position ich kenne) tun.

Google macht das bereits und ich würde gerne wissen, wie sie anhand dieser Daten den genauen Standort ermitteln

Weitere Informationen finden Sie in diesem Artikel: http://www.codeproject.com/Articles/63747/Exploring-GoogleGears-Wi-Fi-Geo-Locator-Secrets

Ihab Hajj
quelle
stackoverflow.com/questions/4071539/… Hier ist ein Link als Referenz.
Yokoyoko
4
Diese Frage scheint nicht zum Thema zu gehören, da es sich um Elektrotechnik handelt. Ich schlage vor, auf electronic.stackexchange.com zu
Danny Varod
@ Lhab Hajj, meine Anforderung entspricht Ihrer. Müssen Sie das lösen? Bitte teilen Sie Ihre Idee mit, damit auch andere daraus lernen können. Danke dir.
anddev

Antworten:

47

FSPL hängt von zwei Parametern ab: Erstens ist die Frequenz der Funksignale ; Zweitens ist die drahtlose Übertragungsentfernung. Die folgende Formel kann die Beziehung zwischen ihnen widerspiegeln.

FSPL (dB) = 20log10(d) + 20log10(f) + K

d = distance
f = frequency
K= constant that depends on the units used for d and f
If d is measured in kilometers, f in MHz, the formula is:

FSPL (dB) = 20log10(d)+ 20log10(f) + 32.44

Aus der Fade Margin-Gleichung kann der Pfadverlust im freien Raum mit der folgenden Gleichung berechnet werden.

Pfadverlust im freien Speicherplatz = Tx Power-Tx-Kabelverlust + Tx-Antennengewinn + Rx-Antennengewinn - Rx-Kabelverlust - Rx-Empfindlichkeit - Fade Margin

Mit den beiden oben genannten Gleichungen für den Pfadverlust im freien Raum können wir die Entfernung in km ermitteln.

Distance (km) = 10(Free Space Path Loss – 32.44 – 20log10(f))/20

Die Fresnel-Zone ist der Bereich um die visuelle Sichtlinie, in den sich Funkwellen ausbreiten, nachdem sie die Antenne verlassen haben. Sie möchten eine klare Sichtlinie, um die Stärke zu erhalten, insbesondere bei drahtlosen 2,4-GHz-Systemen. Dies liegt daran, dass 2,4-GHz-Wellen vom Wasser absorbiert werden, wie das Wasser in Bäumen. Als Faustregel gilt, dass 60% der Fresnel-Zone frei von Hindernissen sein müssen. In der Regel führt eine Blockierung der Fresnel-Zone um 20% zu einem geringen Signalverlust der Verbindung. Ab einer Blockierung von 40% wird der Signalverlust signifikant.

FSPLr=17.32*√(d/4f)

d = distance [km]
f = frequency [GHz]
r = radius [m]

Quelle: http://www.tp-link.com/de/support/calculator/

Ihab Hajj
quelle
3
Gute Antwort, und ich habe eine Folgefrage. Wie genau sind die Messungen? Mit anderen Worten, kann ich Genauigkeiten im Bereich von Zoll / Zentimetern erhalten?
Chiwda
32

Um die Entfernung zu berechnen, benötigen Sie die Signalstärke und die Frequenz des Signals. Hier ist der Java-Code:

public double calculateDistance(double signalLevelInDb, double freqInMHz) {
    double exp = (27.55 - (20 * Math.log10(freqInMHz)) + Math.abs(signalLevelInDb)) / 20.0;
    return Math.pow(10.0, exp);
}

Die verwendete Formel lautet:

Abstand = 10 ^ ((27,55 - (20 * log10 (Frequenz)) + Signallevel) / 20)

Beispiel: Frequenz = 2412 MHz, Signalpegel = -57 dBm, Ergebnis = 7.000397427391188m

Diese Formel ist eine transformierte Form der FSPL- Formel (Free Space Path Loss) . Hier wird die Entfernung in Metern und die Frequenz in Megahertz gemessen. Für andere Maßnahmen müssen Sie eine andere Konstante (27,55) verwenden. Lesen Sie hier die Konstanten .

Weitere Informationen finden Sie hier .

Mario Kutlev
quelle
Vielen Dank für die Angabe, dass dies der absolute Wert des Signalpegels sein soll. Ich habe einige Zeit gesucht, was ich falsch gemacht habe!
Yiannis Tsimalis
@YiannisTsimalis Anfängerfrage: Sollte es ein absoluter Wert sein oder nur mit einem negativen multiplizieren? Was ist, wenn der Signalpegel positiv dBm war?
Ellis Valentiner
@ user12202013 hmm Ich denke, es hängt davon ab, wie Ihr Zugangspunkt funktioniert. Ich meine, im Allgemeinen zeigt das dBm-System an, wie verrauscht Ihr Signal ist. Wenn der Wert höher ist, ist das Signal verrauscht, was tatsächlich bedeutet, dass das Signal schwächer ist. Zumindest verstehe ich das so.
Yiannis Tsimalis
@ YiannisTsimalis Ich dachte allgemeiner, aber nachdem ich mir die Formel angesehen habe, denke ich, dass der absolute Wert korrekt ist, weil die Entfernung positiv sein sollte
Ellis Valentiner
1
Ich habe diese Formel schon eine ganze Weile untersucht und bin zu dem Schluss gekommen, dass sie völlig falsch ist! FSPL wird in db gemessen, während signalLevel in dbm gemessen wird. Es kann eine gute Schätzung liefern, aber die Ergebnisse können leicht durcheinander gebracht werden, wenn die Entfernung ziemlich groß wird.
Ahmed Hammad
16
K = 32.44
FSPL = Ptx - CLtx + AGtx + AGrx - CLrx - Prx - FM
d = 10 ^ (( FSPL - K - 20 log10( f )) / 20 )

Hier:

  • K- konstant (32,44 fin MHz und din km, Änderung in -27,55 fin MHz und din m)
  • FSPL - Verlust des freien Speicherplatzes
  • Ptx - Sendeleistung dBm (bis zu 20 dBm (100 mW))
  • CLtx, CLrx- Kabelverlust an Sender und Empfänger, dB (0, wenn keine Kabel vorhanden sind)
  • AGtx, AGrx- Antennengewinn an Sender und Empfänger, dBi
  • Prx - Empfängerempfindlichkeit, dBm (bis zu -100 dBm (0,1 pW))
  • FM - Fade Margin, dB (mehr als 14 dB (normal) oder mehr als 22 dB (gut))
  • f - Signalfrequenz, MHz
  • d - Entfernung, m oder km (abhängig vom Wert von K)

Hinweis: In den Formeln der TP-Link-Support-Site ist ein Fehler aufgetreten (Mising ^).

Ersetzen Sie Prxdurch empfangene Signalstärke, um eine Entfernung vom WiFi AP zu erhalten.

Beispiel: Ptx = 16 dBm, AGtx = 2 dBi, AGrx = 0, Prx = -51 dBm (empfangene Signalstärke), CLtx = 0, CLrx = 0, f = 2442 MHz (7. 802.11bgn-Kanal), FM = 22. Ergebnis: FSPL = 47 dB, d = 2,1865 m

Hinweis: FM (Fade Margin) scheint hier irrelevant zu sein, aber ich lasse es wegen der ursprünglichen Formel.

Sie sollten Kontenwände berücksichtigen, Tabelle http://www.liveport.com/wifi-signal-attenuation kann hilfreich sein.

Beispiel: (vorherige Daten) + eine Holzwand (5 dB, aus der Tabelle). Ergebnis: FSPL = FSPL - 5 dB = 44 dB, d = 1,548 m

Bitte beachten Sie auch, dass der Antennengewinn keine zusätzliche Leistung bringt - er beschreibt die Form des Strahlungsmusters (Donut bei Rundstrahlantennen, Zeppelin bei Richtantennen usw.).

Nichts davon berücksichtigt Signalreflexionen (ich habe keine Ahnung, wie das geht). Wahrscheinlich fehlt auch Lärm. Diese Mathematik ist also möglicherweise nur für die grobe Entfernungsschätzung geeignet.

kestasx
quelle
7

Die einfache Antwort auf Ihre Frage wäre Triangulation. Dies ist im Wesentlichen das Konzept aller GPS-Geräte. Ich würde diesen Artikel lesen, um mehr darüber zu erfahren, wie Google dies tut: http://www.computerworld.com/s/article/9127462/FAQ_How_Google_Latitude_locates_you_?taxonomyId=15&pageNumber= 2 .

Nach meinem Verständnis verwenden sie einen Dienst ähnlich wie Skyhook , eine Ortungssoftware, die Ihren Standort anhand Ihrer WLAN- / Mobiltelefonsignale ermittelt. Um ihre Genauigkeit zu erreichen, verfügen diese Dienste über große Datenbankserver, auf denen Standortinformationen zu diesen Mobilfunkmasten und WLAN-Zugangspunkten gespeichert sind. Sie untersuchen tatsächlich die Ballungsräume, um sie auf dem neuesten Stand zu halten. Um etwas Ähnliches zu erreichen, müssten Sie einen Dienst wie Skyhook verwenden. Sie können das SDK ( http://www.skyhookwireless.com/location-technology/ ) verwenden.

Wenn Sie jedoch etwas Internes tun möchten (z. B. die Standorte Ihrer eigenen Router verwenden), müssen Sie wahrscheinlich einen Algorithmus erstellen, der die Triangulation nachahmt. Sie müssen einen Weg finden, um das signal_strengthund mac_addressdes Geräts abzurufen und diese Informationen zusammen mit den Standorten Ihrer Router zu verwenden, um den Standort zu ermitteln. Sie können die Informationen zu Geräten, die an Ihre Router angeschlossen sind, wahrscheinlich abrufen, indem Sie etwas Ähnliches tun ( http://www.makeuseof.com/tag/check-stealing-wifi/ ).

Suvi Vignarajah
quelle
Dies ist eine knifflige und herausfordernde Aufgabe. Ich möchte unbedingt mehr über diesen Aspekt der Ortungsdienste erfahren. Bitte veröffentlichen Sie neue Informationen / Erkenntnisse zu diesem Problem. Ich bin daran interessiert zu wissen, wie Sie es lösen
Suvi Vignarajah
5

Entfernung (km) = 10 ^ ((Verlust des Freiraumpfads - 92,45 - 20log10 (f)) / 20)

MAX
quelle
1

Im Allgemeinen ist dies aufgrund von Mehrwegestörungen eine sehr schlechte Vorgehensweise . Dies ist definitiv eher eine Frage der HF-Technik als eine Frage der Codierung.

Tl; dr, die WLAN-HF-Energie wird nach dem Abprallen von Wänden, Personen, Boden usw. in verschiedene Richtungen gestreut. Es gibt keine Möglichkeit, allein durch Triangulation zu erkennen, wo Sie sich befinden, es sei denn, Sie befinden sich in einem leeren Raum, in dem sich die WLAN-Beacons befinden genau der richtige Ort.

Google ist in der Lage, damit durchzukommen, da es im Wesentlichen einem GPS-Standort zuordnen kann, wo sich jede WLAN-SSID befindet, wenn ein Android-Benutzer (der sich für seinen Dienst entscheidet) in Reichweite kommt. Auf diese Weise kann das Google-Mutterschiff beim nächsten Besuch eines Nutzers auch ohne ein perfektes GPS-Signal erkennen, wo Sie sich befinden. Normalerweise verwenden sie das in Verbindung mit einem beschissenen GPS-Signal.

Was ich gesehen habe, ist ein Raster von ZigBee- oder BTLE-Geräten. Wenn Sie wissen, wo diese angeordnet sind, können Sie mithilfe des kombinierten RSS herausfinden, welchen Sie am nächsten sind, und von dort aus fortfahren.

Yhyrcanus
quelle
Für weitere Informationen darüber, wie Google es macht stackoverflow.com/questions/1668304/…
yhyrcanus
-5

Es ist mir egal, ob Sie ein Moderator sind. Ich habe meinen Text nicht als technischer Redakteur an mein Publikum geschrieben

Alles, was Sie brauchen, um zu lernen, mit Tools zu navigieren, die älter sind als GPS. So etwas wie ein Sextant, ein Oktant, ein Backstaff oder ein Astrolabium.

Wenn Sie das Signal von 3 verschiedenen Orten empfangen haben, müssen Sie nur die Signalstärke messen und ein Verhältnis von diesen Orten erstellen. Einfache Dreiecksberechnung mit a2 + b2 = c2. Je stärker die Signalstärke ist, desto näher ist das Gerät am Empfänger.

Wayne Hamberg
quelle