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