基本上所有的无线技术都可以可以基于信号强度进行定位,信号强度主要是取决于发送端的频率,发送端的信号强度,接收端的信号强度,因为从A 点到B 点的信号传输模型和频率,距离有关,和调制方式的关系不大。
所以,Wi-Fi,BLE,ZigBee 都可以采用基于信号强度的定位。
基于信号强度的计算模型主要有两种,一种是将信号强度转化为距离,一种是指纹的方式。
将信号强度转化为距离,采用信号空间自由衰减模型
R=32.4+20*log(D)+20*log(M)
备注
D:无线信号自由空间传播距离,单位为km;
M:频率MHz,比如说gsm为900MHz,DSC为1800MHz,WCDMA为2000MHz,WIFI 2.4G/5.8G,wig 60G;
R:信号损耗值,单位为dBm
几种常用频率的无线信号1m的衰减如下
900MHz:R=32.4+20log(1/1000)+20log900=32.4-60+59.1=31.5dB
1800MHz:R=32.4+20log(1/1000)+20log1800=32.4-60+65.1=37.5dB
2000MHz:R=32.4+20log(1/1000)+20log2000=32.4-60+66=38.4dB
2400MHz:R=32.4+20log(1/1000)+20log2400=32.4-60+67.6=40dB
5800MHz:R=32.4+20log(1/1000)+20log5800=32.4-60+75.3=47.7dB
60000MHz:R=32.4+20log(1/1000)+20log60000=32.4-60+95.6=68dB
场景假设1:
某天线口处发射功率为30dBm(1w),我们在100m以外的地方测试(无阻挡),那么我们的手机接收到的RSCP应该是:
粗略计算:RSCP=30-(32.4+20*log(100/1000)+20*log(2000))
RSCP=-48.2dBm
场景假设2:
某室内分布天线口处发射功率为0dBm(1mW),我们在10m以外的地方测试(无阻挡),那么我们的手机接收到的RSCP应该是:
粗略计算:RSCP=0-(32.4+20*log(10/1000)+20*log(2000))
RSCP=-78.4dBm
在我们实际使用中,R 值为接收侧的信号强度,发射侧输出功率已知,天线增益等都为已知条件,可以反推获得距离D。通过多基站的距离D值,得到终端的位置。
这种模型只适合做距离比较近的场景,因为信号强度每3dBm 就是一倍距离,距离越远,精度越不可靠;
发射端要求具有很好的一致性,所以iBeacon 中需要广播的时候,需要说明在1米处的信号强度;
基于指纹算法的信号强度定位,是需要先做数据采集,记录各个点的信号数据,然后通过比对的方式进行定位。所以,在一个场景中,需要先形成指纹库。
基于信号强度的定位会受到多种环境因素的影响,比如,佩戴方式,人多人少,环境的改变,发射端的部署的密度等。