我想计算建筑(所以没有GPS接入)内的移动设备的确切位置
我想这样做使用信号强度(以dBm为单位)至少3个固定WiFi信号(其中3个固定路由器我知道的位置)的
谷歌已经做这一点,我想知道他们是如何找出基础上,这个数据的准确位置
检查这篇文章的详细信息: http://www.codeproject.com/Articles/63747/Exploring-GoogleGears-Wi-Fi-Geo-Locator-Secrets
我想计算建筑(所以没有GPS接入)内的移动设备的确切位置
我想这样做使用信号强度(以dBm为单位)至少3个固定WiFi信号(其中3个固定路由器我知道的位置)的
谷歌已经做这一点,我想知道他们是如何找出基础上,这个数据的准确位置
检查这篇文章的详细信息: http://www.codeproject.com/Articles/63747/Exploring-GoogleGears-Wi-Fi-Geo-Locator-Secrets
FSPL取决于两个参数:首先是无线电信号的频率;第二是无线传输距离。 下面的公式可以反映它们之间的关系。
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
从衰落余量方程,自由空间路径损耗可以用下面的公式来计算。
自由空间路径损耗= Tx功率-TX电缆损耗+发射天线增益+接收天线增益 - RX电缆损耗 - 接收灵敏度 - 衰落余量
随着上述两个自由空间路径损耗公式,我们可以找出公里的距离。
Distance (km) = 10(Free Space Path Loss – 32.44 – 20log10(f))/20
菲涅耳区是围绕视线的视线的区域无线电波散开成后,他们离开了天线。 你想要的清晰视线,以保持实力,尤其是对2.4GHz无线系统。 这是因为,2.4GHz的波被水吸收,就像在树上发现水。 经验法则是,菲涅耳区的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/
为了计算距离,你需要的信号强度和信号的频率。 下面是Java代码:
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 *日志10(频率))+信号电)/ 20)
例如:频率= 2412MHz,信号电= -57dBm,结果=7.000397427391188米
这个公式被转化的形式自由空间路径损耗(FSPL)公式。 这里的距离以米测量,并且频率 - 在兆赫。 对于其他措施,你必须使用不同的常数(27.55)。 阅读常量在这里 。
欲了解更多信息,请阅读这里 。
K = 32.44
FSPL = Ptx - CLtx + AGtx + AGrx - CLrx - Prx - FM
d = 10 ^ (( FSPL - K - 20 log10( f )) / 20 )
这里:
K
-常数(32.44,当f
在MHz和d
在千米,更改为-27.55时f
在MHz和d
以m) FSPL
-自由空间路径损耗 Ptx
-发射机功率,dBm为单位(最多20 dBm的(100mW的)) CLtx
, CLrx
-在发射器和接收器电缆损耗,分贝(0,如果没有电缆) AGtx
, AGrx
-在发射机和接收机,dBi的天线增益 Prx
-接收器灵敏度,dBm的(低至-100 dBm的(0.1pW)) FM
-衰落余量,分贝(超过14分贝(正常)或超过22分贝(好)) f
-信号频率,兆赫 d
-距离,米或公里(取决于钾值) 注意:有在式(mising错误的TP-Link的支持网站^
)。
替代Prx
与接收信号强度摆脱WiFi AP间的距离。
例如:的Ptx = 16 dBm时,AGtx = 2 dBi的,AGrx = 0,的Prx = -51 dBm的(接收信号强度),CLtx = 0,CLrx = 0,F = 2442兆赫(7'th 802.11BGN信道),FM = 22.结果:FSPL = 47 dB时,d =2.1865米
注:FM(衰落余量)似乎是这里无关紧要,但我要离开它,因为原来的公式。
你应该考虑到acount墙壁,桌子http://www.liveport.com/wifi-signal-attenuation可能会有帮助。
例如:(以前的数据)+一个木制壁(5 dB时,从表中)。 结果:FSPL = FSPL - 5分贝= 44 dB时,d =1.548米
还请注意,增益的Antena添加不到风度功率-它描述(全向的Antena,飞艇在定向天线的情况下,等的情况下,环形)辐射图案的形状 。
这一切都不考虑信号反射(不要有一个想法如何做到这一点)。 也许噪音也不见了。 所以,这道数学可能只是粗糙距离估计好。
简单的回答你的问题将是三角。 基本上是所有GPS设备的概念,我想给这篇文章读来了解更多关于谷歌如何去了解这样做: http://www.computerworld.com/s/article/9127462/FAQ_How_Google_Latitude_locates_you_?taxonomyId=15&pageNumber= 2 。
从我的理解,他们使用类似服务的Skyhook ,这是一个定位软件根据你的WIFI /手机信号,确定自己的位置。 为了实现其准确性,这些服务有存储在这些手机信号塔和WiFi接入点位置信息数据库的大型服务器 - 他们实际调查大城市地区保持最新状态。 为了让你实现类似的东西,我会假设你必须使用像的Skyhook服务-您可以使用自己的SDK( http://www.skyhookwireless.com/location-technology/ )。
但是,如果你想要做的事内部(如使用自己的路由器的位置) - 那么你很可能需要创建一种算法,模拟三角。 你必须找到一种方式来获得signal_strength
和mac_address
设备,并使用你的路由器的位置沿着信息拿出的位置。 你也许可以得到关于做类似这样(的东西挂接到你的路由器设备的信息http://www.makeuseof.com/tag/check-stealing-wifi/ )。
距离(公里)= 10 ^((自由空间路径损耗 - 92.45 - 20log10(F))/ 20)
在一般情况下,这是做由于事情的一个非常糟糕的方式多径干扰 。 这肯定比编码一个更大的RF工程问题。
文艺青年最爱的,wifi的RF能量被分散在不同的方向反弹的墙壁,人,地板等有没有办法告诉你在哪里,通过trianglation独自一人,除非你在一个空房间的放置在无线网络信标是后完全正确的地方。
谷歌能够摆脱这一点,因为它们基本上可以映射,每一个无线网络的SSID是一个GPS定位,当任何Android用户(谁选择采用在他们的服务)走进范围。 这样一来,用户走过那里,即使没有完美的GPS信号,接下来的时间,谷歌的母舰可以告诉你在哪里。 通常情况下,他们会使用连同一个蹩脚的GPS信号。
我所看到的是做的Zigbee或BTLE设备的网格。 如果你知道这些都是摆出来,你可以使用组合RSS相对弄清楚你是最接近哪些,并从那里走。
如果你是一个主持人不关心。 我写我的文字对我的观众不是作为一个技术作家
所有你们需要学习与早于GPS工具进行导航。 就像一个六分仪,八分,backstaff或一个星盘。
如果您有来自3个不同位置接收到信号,那么你只需要测量信号强度,并从这些位置的比率。 简单三角计算,其中A2 + B2 = C2。 较强的信号强度越接近设备是到接收器。