出于某种原因,朋友和我在谈论根据您从设备获得的信息(RSSI,频率,信噪比等)来计算自己(笔记本电脑,手机等)与AP之间的距离。 。所以,花了一些时间研究三边测量,三角测量和自由空间路径损失。 (在一些博客文章和维基的帮助下)我能够从AP到笔记本电脑的距离达到几米,结果比我想象的要好得多。每当我在同一个房间或者到AP的视线时,准确度大约是一英尺。
但是现在,我想更进一步......我希望能够解释墙壁和其他障碍物。我认为这可能是有可能的,或者至少比FSPL公式有更好的结果,当有障碍时,我正在思考/研究通过计算信噪比可能。但是,我无法找到任何关于如何正确执行此操作的内容。总是有一个问题,但从来没有解决过这个想法(或者我无法在网上找到任何东西,因为我对这个主题的知识非常少。大约有一天值得。)。所以,在这里我转向堆栈溢出,看看你们是否可以帮助我解决这个问题。
所以,这就是我到目前为止(在python中)....
import math
freqInMHz = 2462
levelInDb = -83
SNR = -87
result = (27.55 - (20 * math.log10(freqInMHz)) + math.fabs(levelInDb)) / 20.0
meters = math.pow(10, result)
feet = meters * 3.2808
print meters
print feet
我来自美国,所以我打印了米和脚。仅仅因为我可以在视觉上测量出比我更好的尺寸。
所以,通过这个公式,它可以很好地找到开放房间的距离或清晰的AP视图。如果有人有任何想法或意见我会非常感激。因为我目前被困在墙上! (笑话打线鼓声)
谢谢, Throdne
答案 0 :(得分:1)
我不确定SNR在这种情况下是否会如此有用,因为不同的接收器将具有不同的SNR,其可能会以dB为单位变化。
SNR在用户设备上测量,并随用户移动而变化。从逻辑上讲,它应该随着发射器和接收器之间距离的增加而减小。由于SNR依赖于两个因素:接收信号强度(RSS)和噪声(N),它会受到各种原因的影响,例如干扰!干扰会影响N,因此会影响SNR。多路径,散射,衍射等也会影响RSS读数。
因此,如果您的公式适用于直接视线,请使用它并尝试使用NLOS的公式,而不一定基于RSS和SNR。
您可能希望查看时间方法而不是RSS方法,因为它们不会受到噪声的影响,甚至可以滤除多路径。
您的代码中的SNR值也不一定是SNR,因为它通常不会成为802.11中的负数特征。负SNR意味着您比Signal有更多噪音。