本文只对定位流程进行介绍,具体的算法会在后续的文章中进行介绍
第一步、接受到RSSI值
第二步、数据滤波处理
对接受的的RSSI值进行滤波处理,采用阶段去噪与滑动平均滤波算法进行滤波,具体是在设定范围内去除最大值和最小值噪声,按先人先出求取算术平均值。
目前常用的是中值滤波,卡尔曼滤波等。
第三步、RSSI测距
根据处理过的RSSI值,以及信号衰减模型,求出未知节点到信标的距离。
第四步、根据距离求出未知节点坐标
目前常用的是三点定位算法,顾名思义首先有三个圆点,同时我们也知道这三个圆的半径,最终求得三圆的交点,达到定位效果。如图:
但是由于现实环境的干扰,三个圆不会交于一点。
第五步、利用加权质心算法,估计出未知节点的坐标
所谓质心,就是横坐标、纵坐标分别为N个点的横坐标平均值、纵坐标平均值的点。即:假定N个点的坐标分别(x1,y1),(x2,y2),……,则质心的坐标为((x1+x2+…)/N, (y1+y2+…)/N)。
结束语
对RSSI测距的原理进行了分析,建立了经典测距模型,在对室内测距实验采集到的数据使用线性回归分析后,得到了当前实验场景的最优测距模型。实现了基于RSSI测距的定位算法,经过定位实验验证了算法的可行性,平均定位误差为2.3 m,满足大多室内定位实际要求。