सिग्नल स्ट्रेंथ का उपयोग करके वाईफ़ाई राउटर से दूरी की गणना कैसे करें?


84

मैं एक इमारत के अंदर एक मोबाइल डिवाइस के सटीक स्थान की गणना करना चाहता हूं (इसलिए कोई जीपीएस एक्सेस नहीं)

मैं कम से कम 3 फिक्स्ड वाईफाई सिग्नल (जिनमें से 3 निश्चित राउटर्स की स्थिति मैं जानता हूं) के सिग्नल स्ट्रेंथ (dBm में) का उपयोग करके ऐसा करना चाहता हूं

Google पहले से ही ऐसा करता है और मैं जानना चाहता हूं कि वे इस डेटा के आधार पर सटीक स्थान का पता कैसे लगाते हैं

अधिक जानकारी के लिए इस लेख को देखें: http://www.codeproject.com/Articles/63747/Exploring-GoogleGears-Wi-Fi-Geo-Locator-Secrets


stackoverflow.com/questions/4071539/… यहाँ आपके संदर्भ के लिए लिंक है।
योकोयो

4
यह सवाल ऑफ-टॉपिक प्रतीत होता है क्योंकि यह इलेक्ट्रिकल इंजीनियरिंग के बारे में है। मेरा सुझाव है कि इलेक्ट्रॉनिक्स के
।stackexchange.com

@ लब हज, मेरी आवश्यकता तुम्हारी जैसी ही है। इसे हल करना है? कृपया अपने विचार साझा करें ताकि अन्य भी इससे सीख सकें। धन्यवाद।
औरदेव

जवाबों:


47

एफएसपीएल दो मापदंडों पर निर्भर करता है: पहला रेडियो सिग्नल की आवृत्ति है the दूसरा वायरलेस ट्रांसमिशन दूरी है। निम्नलिखित सूत्र उनके बीच के रिश्ते को प्रतिबिंबित कर सकते हैं।

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

फेड मार्जिन समीकरण से, फ्री स्पेस पाथ लॉस की गणना निम्नलिखित समीकरण के साथ की जा सकती है।

फ्री स्पेस पाथ लॉस = टीएक्स पावर-टीएक्स केबल लॉस + टीएक्स एंटीना गेन + आरएक्स एंटीना गेन - आरएक्स केबल लॉस - आरएक्स सेंसिटिविटी - फेड मार्जिन

उपरोक्त दो फ्री स्पेस पाथ लॉस समीकरणों के साथ, हम किमी में दूरी का पता लगा सकते हैं।

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

फ्रेस्नेल ज़ोन दृश्य रेखा के चारों ओर का क्षेत्र है जो रेडियो तरंगों को एंटीना छोड़ने के बाद फैलता है। आप ताकत बनाए रखने के लिए दृष्टि की एक स्पष्ट रेखा चाहते हैं, खासकर 2.4GHz वायरलेस सिस्टम के लिए। ऐसा इसलिए है क्योंकि 2.4GHz तरंगों को पानी से अवशोषित किया जाता है, जैसे कि पेड़ों में पाया जाने वाला पानी। अंगूठे का नियम यह है कि फ्रेस्नेल जोन का 60% बाधाओं से स्पष्ट होना चाहिए। आमतौर पर, 20% Fresnel Zone रुकावट लिंक के लिए थोड़ा संकेत हानि का परिचय देती है। 40% रुकावट से परे संकेत हानि महत्वपूर्ण हो जाएगी।

FSPLr=17.32*√(d/4f)

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

स्रोत: http://www.tp-link.com/en/support/calculator/


3
अच्छा जवाब, और मेरे पास एक अनुवर्ती प्रश्न है। माप कितने सही हैं? दूसरे शब्दों में क्या मैं इंच / सेंटीमीटर रेंज में सटीकता प्राप्त कर सकता हूं?
चिवड़ा

32

दूरी की गणना करने के लिए आपको सिग्नल की शक्ति और सिग्नल की आवृत्ति की आवश्यकता होती है। यहाँ जावा कोड है:

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);
}

उपयोग किया गया सूत्र है:

दूरी = 10 ^ ((27.55 - (20 * log10 (आवृत्ति)) + सिग्नललेवल) / 20)

उदाहरण: आवृत्ति = 2412 मेगाहर्ट्ज, सिग्नललेवल = -57dbm, परिणाम = 7.000397427391188m

यह फॉर्मूला फ्री स्पेस पाथ लॉस (एफएसपीएल) फॉर्मूला का रूपांतरित है। यहाँ दूरी को मीटर और आवृत्ति में मापा जाता है - मेगाहर्ट्ज़ में। अन्य उपायों के लिए आपको विभिन्न स्थिरांक (27.55) का उपयोग करना होगा। स्थिरांक के लिए यहाँ पढ़ें ।

अधिक जानकारी के लिए यहां पढ़ें ।


यह निर्दिष्ट करने के लिए धन्यवाद कि यह सिग्नल स्तर का पूर्ण मूल्य होना चाहिए, मैं कुछ समय से खोज रहा था कि मुझे क्या गलत मिला है!
यियानिस त्सिमालिस

@YiannisTsimalis शुरुआती प्रश्न: क्या यह पूर्ण मान होना चाहिए या केवल नकारात्मक से गुणा करना चाहिए? क्या होगा यदि सिग्नल स्तर सकारात्मक dBm था?
एलिस वैलेंटिनर

@ user12202013 hmm मुझे लगता है कि यह इस बात पर निर्भर करता है कि आपका एक्सेस प्वाइंट कैसे काम करता है। मेरा मतलब है, आम तौर पर, डीबीएम सिस्टम इंगित करता है कि आपका सिग्नल कितना शोर है। यदि मान अधिक है, तो संकेत noisier है, जिसका अर्थ है कि वास्तव में, संकेत कमजोर है। या कम से कम यह है कि मैं इसे कैसे समझ सकता हूं ..
यियानिस त्सिमेलिस

@YiannisTsimalis मैं और अधिक आम तौर पर सोच रहा था, लेकिन सूत्र को देखने के बाद मुझे लगता है कि निरपेक्ष मूल्य सही है क्योंकि दूरी सकारात्मक होनी चाहिए
एलिस वैलेंटाइन

1
मैं पिछले काफी समय से इस फॉर्मूले की जाँच कर रहा था, और मैंने निष्कर्ष निकाला कि यह पूरी तरह से गलत है! FSPL को db में मापा जाता है, जबकि signalLevel को dbm में मापा जाता है। यह एक अच्छा अनुमान लगा सकता है, लेकिन जब दूरी काफी बड़ी हो जाती है तो परिणाम आसानी से गड़बड़ हो सकते हैं।
अहमद हम्माद

16
K = 32.44
FSPL = Ptx - CLtx + AGtx + AGrx - CLrx - Prx - FM
d = 10 ^ (( FSPL - K - 20 log10( f )) / 20 )

यहाँ:

  • K- स्थिरांक (32.44, जब fमेगाहर्ट्ज में और dकिमी में, -27.55 में बदलें जब fमेगाहर्ट्ज में और dमीटर में)
  • FSPL - फ्री स्पेस पाथ लॉस
  • Ptx - ट्रांसमीटर पावर, dBm (20 dBm (100mW) तक)
  • CLtx, CLrx- ट्रांसमीटर और रिसीवर में केबल की हानि, डीबी (0, यदि कोई केबल नहीं है)
  • AGtx, AGrxट्रांसमीटर और रिसीवर पर एंटीना लाभ, dBi
  • Prx - रिसीवर संवेदनशीलता, dBm (डाउन -100 dBm (0.1pW))
  • FM - फीका मार्जिन, डीबी (14 डीबी (सामान्य) या 22 डीबी (अच्छा) से अधिक)
  • f - सिग्नल फ्रीक्वेंसी, मेगाहर्ट्ज
  • d - दूरी, मीटर या किमी (K के मूल्य पर निर्भर करता है)

नोट: टीपी-लिंक समर्थन साइट (mising ^) से सूत्रों में एक त्रुटि है ।

स्थानापन्न Prxप्राप्त सिग्नल की शक्ति के साथ वाईफ़ाई एपी से एक दूरी प्राप्त करने के लिए।

उदाहरण: Ptx = 16 dBm, AGtx = 2 dBi, AGrx = 0, Prx = -51 dBm (संकेत शक्ति प्राप्त), CLtx = 0, CLrx = 0, f = 2442 HHz (7'th 802.11bgn Channel), FM = 22. परिणाम: एफएसपीएल = 47 डीबी, डी = 2.1865 मीटर

नोट: FM (फीका मार्जिन) यहां अप्रासंगिक लगता है, लेकिन मूल सूत्र के कारण मैं इसे छोड़ रहा हूं।

आपको अकाउन्ट की दीवारों में ले जाना चाहिए, टेबल http://www.liveport.com/wifi-signal-attenuation मदद कर सकता है।

उदाहरण: (पिछला डेटा) + एक लकड़ी की दीवार (तालिका से 5 डीबी)। परिणाम: एफएसपीएल = एफएसपीएल - 5 डीबी = 44 डीबी, डी = 1.548 मीटर

कृपया यह भी ध्यान दें, कि एन्टेना लाभ शक्ति को नहीं जोड़ता है - यह विकिरण पैटर्न के आकार का वर्णन करता है (दिशात्मक ऐन्टेना, आदि के मामले में सर्वदिशात्मक एंटिना, जेपेलिन के मामले में डोनट)।

इसमें से कोई भी सिग्नल रिफ्लेक्शंस को ध्यान में नहीं रखता है (ऐसा करने का आइडिया नहीं है)। संभवतः शोर भी गायब है। तो यह गणित केवल मोटे तौर पर अनुमान के लिए अच्छा हो सकता है।


7

आपके प्रश्न का सरल उत्तर त्रिकोणासन होगा। जो अनिवार्य रूप से सभी जीपीएस उपकरणों में अवधारणा है, मैं Google को यह करने के बारे में अधिक जानने के लिए इस लेख को पढ़ने के लिए दूंगा: http://www.computerworld.com/s/article/9127462/FAQ_How_Google_Latal_locates_you_?taxonomyId=15&pageNumber= २

मेरी समझ से, वे Skyhook के समान एक सेवा का उपयोग करते हैं , जो एक स्थान सॉफ़्टवेयर है जो आपके वाईफाई / फोन्स सिग्नल के आधार पर आपके स्थान को निर्धारित करता है। अपनी सटीकता प्राप्त करने के लिए, इन सेवाओं में डेटाबेस के बड़े सर्वर होते हैं जो इन सेल टावरों और वाईफाई एक्सेस बिंदुओं पर स्थान की जानकारी संग्रहीत करते हैं - वे वास्तव में इसे बनाए रखने के लिए महानगरीय क्षेत्रों का सर्वेक्षण करते हैं। आपके लिए कुछ समान हासिल करने के लिए, मुझे लगता है कि आपको Skyhook जैसी सेवा का उपयोग करना होगा - आप उनके SDK ( http://www.skyhookwireless.com/location-technology/ ) का उपयोग कर सकते हैं ।

हालाँकि, यदि आप कुछ आंतरिक करना चाहते हैं (जैसे कि अपने स्वयं के राउटर के स्थानों का उपयोग करना) - तो आपको संभवतः एक एल्गोरिथ्म बनाना होगा जो त्रिभुज की नकल करता है। आप पाने के लिए एक रास्ता खोजने के लिए होगा signal_strengthऔर mac_addressडिवाइस के लिए और अपनी रूटर के स्थानों के साथ-साथ उस जानकारी का उपयोग स्थान साथ आने के लिए। आप संभवत: इस तरह से कुछ करके अपने राउटर को हुक किए गए उपकरणों के बारे में जानकारी प्राप्त कर सकते हैं ( http://www.makeuseof.com/tag/check-stealing-wifi/ )।


यह एक मुश्किल और चुनौतीपूर्ण काम है, आपने मुझे स्थान सेवाओं के इस पहलू के बारे में अधिक जानने के लिए उत्सुक किया है..इस समस्या पर आपके द्वारा प्राप्त की जाने वाली किसी भी नई जानकारी / अंतर्दृष्टि को पोस्ट करें, मुझे यह जानने में दिलचस्पी है कि आप इसे कैसे हल करते हैं
सुवी विघ्नराजह


1

सामान्य तौर पर, यह मल्टीथ हस्तक्षेप के कारण चीजों को करने का एक बहुत बुरा तरीका है । यह निश्चित रूप से एक कोडिंग की तुलना में आरएफ इंजीनियरिंग प्रश्न से अधिक है।

Tl; dr; दीवारों, लोगों, फर्श आदि को बंद करने के बाद वाईफाई आरएफ ऊर्जा अलग-अलग दिशाओं में बिखर जाती है। यह बताने का कोई तरीका नहीं है कि आप अकेले कहाँ हैं, जब तक आप वाईफाई बीम के साथ एक खाली कमरे में न हों। बिल्कुल सही जगह।

Google इससे दूर होने में सक्षम है क्योंकि वे अनिवार्य रूप से मैप कर सकते हैं जहां हर वाईफाई एसएसआईडी एक जीपीएस स्थान पर है जब कोई भी एंड्रॉइड उपयोगकर्ता (जो उनकी सेवा में शामिल होता है) रेंज में चलता है। इस तरह, अगली बार जब कोई उपयोगकर्ता वहां से चलता है, यहां तक ​​कि एक पूर्ण जीपीएस सिग्नल के बिना भी, Google माताओं आपको बता सकता है कि आप कहां हैं। आमतौर पर, वे एक भद्दा जीपीएस सिग्नल के साथ संयोजन में इसका उपयोग करेंगे।

मैंने जो देखा है, वह Zigbee या BTLE उपकरणों का एक ग्रिड है। यदि आप जानते हैं कि ये कहाँ रखे गए हैं, तो आप संयुक्त RSS का उपयोग यह पता लगाने के लिए कर सकते हैं कि आप कौन से निकटतम हैं, और वहाँ से जाएँ।


यह कैसे गूगल stackoverflow.com/questions/1668304/…
yhyrcanus

-6

यदि आप एक मध्यस्थ हैं तो परवाह न करें। मैंने एक तकनीकी लेखक के रूप में अपने दर्शकों के प्रति अपना पाठ लिखा है

आप सभी लोगों को जीपीएस से संबंधित टूल के साथ नेविगेट करना सीखना होगा। एक sextant, octant, backstaff या एक astrolabe जैसा कुछ।

यदि आपको 3 अलग-अलग स्थानों से सिग्नल मिला है, तो आपको केवल सिग्नल की शक्ति को मापना होगा और उन स्थानों से अनुपात बनाना होगा। सरल त्रिकोण गणना जहां a2 + b2 = c2 है। सिग्नल को मजबूत करने वाला डिवाइस रिसीवर के करीब होता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.