rssi测距原理及公式 http://www.elecfans.com/baike/wuxian/20171120582385.html
Rssi 计算公式 rssi = txPower + pathloss + rxGain + SystemGain
rxGain可以通过天线结构模拟
无线信号的发射功率和接收功率之间的关系可以用式(1)表示,PR是无线信号的接收功率,PT是无线信号的发射功率,r是收发单元之间的距离,n传播因子,数值大小取决于无线信号传播的环境。
PR=PT/(r^n) (1)
在公式(1)两边取对数可得到式(2),
10・nlgr=10lgPT/PR(2)
节点的发射功率是已知的,将发送功率代入式(2)中可得式(3),
10lgPR=A-10・nlgr (3)
式(3)的左半部分10lgPR是接收信号功率转换为dBm的表达式,可以直接写成式(4),在式(4)中A可以看作信号传输1m远时接收信号的功率。
PR(dBm)=A-10・nlgr (4)
注意:红色字体与原文不同
如何利用信号强度计算出与Wifi路由器的距离? https://cloud.tencent.com/developer/ask/123184
要计算距离,你需要信号强度和信号的频率。这里是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 * log10(频率))+ signalLevel)/ 20)
例如:频率= 2412MHz,signalLevel = -57dbm,结果= 7.000397427391188m
谷歌实现方法: https://www.codeproject.com/Articles/63747/Exploring-GoogleGears-Wi-Fi-Geo-Locator-Secrets
关于ZIGBEE定位,RSSI转距离的问题 http://bbs.feibit.com/forum.php?mod=viewthread&tid=8639
public double rssitoDistance(double rssi,int a, double n)
{
double ra = Math.Abs(rssi);
double ka = (ra - a) / (10 * n);
double distance = Math.Pow(10, ka);
return distance;
}
蓝牙RSSI转距离计算工具 https://www.jianshu.com/p/102f3f17a120
d = 10^((abs(RSSI) - A) / (10 * n))
d - 计算所得距离
RSSI - 接收信号强度(负值)
A - 发射端和接收端相隔1米时的信号强度
n - 环境衰减因子
————————————————
版权声明:本文为CSDN博主「yrnaaa」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yrnaaa/article/details/105492745