无线传感器网络用于监测系统中的定位算法
在PC机上测试获取到的RSSI值和ID节点信息,如图5所示。
计算出未知节点和每个锚节点之间的距离di,最后通过式(5)计算出未知节点的坐标。
4 定位的测试
基于RSSI测距时需要标定出(3)式中的常数A和传播因子n。标定这个两个因素可通过星型Zigbee网络来实现,成功组网后将中心节点通过USB转串口线和PC机相连,通过串口调试器观察中心节点获取的RSSI值和对应子节点ID号。
4.1 A值的标定
A值即距离发射节点1m远处接收到的信号强度,为了减小误差,同时测量了距离中心节点1 m远的三个不同方向上中心节点和子节点通信的RSSI值,如图6所示。
,选择测量直线相距发射节点5 m远处接收到的信号强度,共测量20组数据,如表2所示。
经过计算得n的平均值为2.5037,故选择n=3。
4. 3 定位的测试
定位测试在一片空旷的场地上进行的,选择了6个无线传感器网络节点组建Zigbee网络,1个中心节点、1个未知节点和4个锚节点,节点的发射功率设置为0 dBm。4个锚节点提前人工布置于一块8 mx8 m的正方形地面四角,未知节点位于正方形中心,中心节点布置在正方形外围,整个节点布局如图7所示。
测试中发现一个锚节点没有入网,未知节点与3个锚节点通信,接收到RSSI值如下表3所示:
已知与未知节点通信的三个锚节点的相对坐标为: (0,0)(0,8)(8,8),A=-73,n=3,经过计算得:未知节点和与之通信的3个锚节点通信的RSSI均值分别为-92.6、-93.2、-92.1,未知节点和锚节点之间的距离分别为:d1=4.501;d2=4.713;d3=4.332;未知节点的坐标为: (x,y)=(3.391,3.535)。
4.4 误差分析
实际情况下,未知节点的相对坐标应该是(4,4),实际箅出来的坐标是(3.391,3.535),所以实际测量是存在误差的。误差计算如下式:
5 结束语
本文基于无线传感器网络节点的自主设计,采用基于RSSI的加权质心算法实现了WSN节点的自定位。通过实际测试证明,相对于单一的质心定位算法,该算法利用得到的RSSI作为权值来修正质心定位的结果,提高了定位精度,且易于实现,能够满足大多数的实际应用中定位的需求。另一方面,在实际测试中发现,RSSI值易受到多径、障碍物等环境因素的影响,故存RSSI测距中引进了较多的误差,基于RSSI测距的精度还有待进一步的提高。
评论