2012-06-27 40 views
55

मैं एक इमारत (ताकि कोई जीपीएस का उपयोग)सिग्नल शक्ति का उपयोग कर वाईफ़ाई राउटर से दूरी की गणना कैसे करें?

मैं कम से कम 3 तय वाई-फ़ाई सिग्नल के सिग्नल की शक्ति (dBm में) का उपयोग कर ऐसा करना चाहते हैं अंदर एक मोबाइल डिवाइस के सटीक स्थान की गणना करना चाहते हैं (3 निश्चित http://www.codeproject.com/Articles/63747/Exploring-GoogleGears-Wi-Fi-Geo-Locator-Secrets

+0

http://stackoverflow.com/questions/4071539/finding-out-distance-between-router-and-receiver यहाँ आपके संदर्भ के लिए कड़ी है। – yokoyoko

+2

यह प्रश्न ऑफ-विषय प्रतीत होता है क्योंकि यह विद्युत इंजीनियरिंग के बारे में है। मैं http://electronics.stackexchange.com/ –

+0

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

उत्तर

2

: रूटर जिनमें से मैं स्थिति)

गूगल पहले से ही है कि करता है और मुझे पता है कि वे किस तरह

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

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

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

+0

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

29

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

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 

फीका मार्जिन समीकरण से, नि: शुल्क अंतरिक्ष पथ घटाने निम्नलिखित समीकरण के साथ की जा सकती है।

नि: शुल्क अंतरिक्ष पथ घटाने = टीएक्स पावर टीएक्स केबल घटाने + टीएक्स एंटीना लाभ + आरएक्स एंटीना लाभ - आरएक्स केबल हानि - Rx संवेदनशीलता - फीका मार्जिन

उपरोक्त दो नि: शुल्क अंतरिक्ष पथ घटाने समीकरणों के साथ

, हम प्राप्त कर सकते हैं किमी में दूरी से बाहर।

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

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

FSPLr=17.32*√(d/4f) 

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

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

+0

अच्छा जवाब, और मेरे पास एक फॉलो-अप प्रश्न है। माप कितने सटीक हैं? दूसरे शब्दों में मैं इंच/सेंटीमीटर रेंज में accuracies प्राप्त कर सकते हैं? – Chiwda

2

दूरी (किमी) = 10^((नि: शुल्क अंतरिक्ष पथ में कमी - 92।45 - 20log10 (एफ))/20)

+0

बस सही एक रखें। –

20

दूरी की गणना करने के लिए आपको संकेत की सिग्नल शक्ति और आवृत्ति की आवश्यकता है। (- (20 * log10 (आवृत्ति)) + signalLevel)/20 (27,55)

दूरी = 10 ^:

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

सूत्र प्रयोग किया जाता है: यहाँ जावा कोड है

उदाहरण: आवृत्ति = 2412MHz, signalLevel = -57dbm, परिणाम = 7.000397427391188m

Free Space Path Loss(FSPL) सूत्र के

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

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

+0

मैं इसे जल्द ही कोशिश करूंगा और आपके कोड/निष्कर्षों को आपके साथ साझा करूंगा धन्यवाद :) –

+0

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

+0

@ इहाहाजज अब 2 साल से अधिक रहा है ... कोई अपडेट? – CodyBugstein

8
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 - ट्रांसमीटर बिजली, डीबीएम (20 डीबीएम (100 एमडब्लू) तक)
  • CLtx, CLrx - ट्रांसमीटर और रिसीवर, डीबी केबल नुकसान (0, अगर कोई केबल)
  • AGtx, AGrx - ट्रांसमीटर और रिसीवर पर एंटीना लब्धि, dBi
  • Prx - रिसीवर संवेदनशीलता, dBm (-100 dBm करने के लिए नीचे (0.1pW))
  • FM - फीका मार्जिन, डीबी (14 डीबी (सामान्य) या 22 से अधिक डीबी (अच्छा))
  • f - संकेत आवृत्ति, मेगाहर्ट्ज
  • d - दूरी, मीटर या किलोमीटर (के मूल्य पर निर्भर करता है)

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

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

उदाहरण: PTX = 16 dBm, AGtx = 2 dBi, AGrx = 0, PRX = -51 dBm (प्राप्त सिग्नल की शक्ति), CLtx = 0, CLrx = 0, च = 2442 मेगाहर्ट्ज (7'th 802.11 बीएनजी चैनल), एफएम = 22. परिणाम: एफएसपीएल = 47 डीबी, डी = 2.1865 मीटर

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

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

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

इसके अलावा, कृपया ध्यान रखें कि antena लाभ बिजली जोड़ने dosn't - यह सर्वदिशात्मक antena के मामले में आकार विकिरण पैटर्न के (डोनट का वर्णन करता है, दिशात्मक एंटीना, आदि के मामले में zeppelin)।

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

+0

ठीक है, मैं यहां वर्णित विभिन्न सूत्रों को देख रहा हूं और उनमें से अधिकतर कुछ फैशन में समान हैं। क्या आप वाकई 20 सही जगह (दूरी ईक) में विभाजित कर रहे हैं? कारण है कि 20 शब्द को खत्म कर देगा। नीचे दिए गए उत्तरों में सिग्नल स्तर (पूर्ण मूल्य) प्रतीत होता है प्रभाग – Mazze

+0

में भी शामिल है, यह भी नहीं पता कि मैं यह गलत कर रहा हूं, लेकिन आपका उदाहरण सही मान वापस नहीं प्रतीत होता है। मुझे बहुत अजीब दूरी मिल रही है। कृपया अपने लिए देखें: [वुल्फ्राम अल्फा] (http://www.wolframalpha.com/input/?source=nav&i=10%5E (47-32.44-20 * लॉग 10 (2442)% 2F20)) – Mazze

+0

@Mazze , तुम सही हो। मैंने फॉर्मूला तय किया है (ब्रेसिज़ गायब थे)। [Wolfram] (http://www.wolframalpha.com/input/?source=nav&i=10^%28%2847-32.44-20*log10%282442%29%29%2F20%29)। – kestasx