计算包含信噪比的接入点距离

2 投票
1 回答
3377 浏览
提问于 2025-04-18 03:04

出于某种原因,我和一个朋友在讨论如何根据设备(比如笔记本、手机等)获取的信息(如RSSI、频率、信噪比等)来计算自己与接入点(AP)之间的距离。经过一段时间的研究三边测量、三角测量和自由空间路径损耗(FSPL),我在一些博客和维基的帮助下,成功得出了从接入点到我笔记本的距离,结果比我预想的要好很多。每当我在同一个房间,或者能直接看到接入点时,准确度大约在一英尺左右。

但现在,我想更进一步……我想考虑墙壁和其他障碍物的影响。我觉得这可能是可行的,或者至少能比在有障碍物时使用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

我来自美国,所以我同时打印了米和英尺的结果。因为我觉得用英尺来测量更直观。

用这个公式在开阔的房间或能清楚看到接入点的情况下,找出距离的效果很好。如果有人有任何想法或建议,我将非常感激。因为我现在被墙卡住了!(开个玩笑)

谢谢,
Throdne

1 个回答

1

我不太确定信噪比(SNR)在这种情况下能否真的有帮助,因为不同的接收器会有不同的信噪比,可能会相差几分贝。

信噪比是在用户设备上测量的,随着用户的移动,它会有所变化。逻辑上来说,当发射器和接收器之间的距离增加时,信噪比应该会降低。信噪比依赖于两个因素:接收信号强度(RSS)和噪声(N),所以它会受到各种原因的影响,比如干扰!干扰会影响噪声,从而影响信噪比。此外,多径传播、散射、衍射等也会影响接收信号强度的读数。

所以如果你的公式适用于视距传输,就用它吧,并尝试为非视距传输(NLOS)制定一个公式,不一定要基于接收信号强度和信噪比。

你可能想看看时间方法,而不是接收信号强度的方法,因为时间方法不太受噪声的影响,甚至可以过滤掉多径效应。

另外,你代码中的信噪比值实际上可能并不是真正的信噪比,因为在802.11标准中,它通常不会出现负数。如果信噪比是负数,那就意味着噪声比信号还要多。

撰写回答