根据传感器节点A和B接收到的所有信标节点的接收信号强度RSSI值,可以获得传感器节点A,B之间的RSSI相似度。将两个节点收到的RSSI向量作为输入,RSSI相似度公式为:
再通过式(1)计算得到的值定义为两节点之间的RSSI相似度。RSSI相似度能够反映出传感器节点间空间距离的相近程度和周围环境的相似程度。两个传感器节点间RSSI相似度越大,说明两节点在空间上越接近;反之越遥远。
4.2 RSSI相似度计算
假设在无线传感器网络中随机布署了M个传感器节点,其中有N个传感器节点携带位置信息,作为信标节点,他们的位置信息分别是C1,C2,…,Cn,其中Ci(1≤i≤N)为已知信标节点位置信息。其余M-N个传感器节点作为未知位置节点。已知整个传感器网络为连通网络,根据未知位置节点的位置信息可单独计算各自的位置信息。输出结果为本地节点的估计位置。定位开始阶段,每一个未知位置节点首先与最先接收到信号的节点A计算RSSI相似度。具体步骤是:信标节点向整个传感器网络中广播自己的信号,所有的未知位置节点在收到信号强度后,为了节省能耗和网络资源,并非所有节点进行定位计算,而是将自己接收到的其他信标节点的RSSI值直接回复给最先接收到信号强度的节点A。节点A这时也获得信标节点的RSSI值向量,即RSSIA=[RA1,RA2,…,RAn](假设节点A有n个邻居信标节点)和邻居节点收到的其他邻居信标节点的RSSI值矩阵为:
由于RSSI相似度可以反映两个节点在整个网络中位置的相似程度,比如邻居情况、空间距离、周围环境等。式(1)表示的是两个传感器节点的RSSI相似度。通过式(2)可算得:
节点A对所有邻居节点的空间相似程度.此时得到的是一个相似度序列S。
4.3邻居节点数K
节点的RSSI相似度反映了相近所有未知位置节点在空间上的差异程度。K的确定是使最先接收到信号的节点A和其他节点通过式(2)得到与节点A的相似度。然后将获得的相似度序列S进行降序排序,得到序列S={S1,S2,S3,…,Sn}。由于节点的位置相对节点A是随机的,以致相距A较远的节点与节点A的场强会产生较大的差值,导致RSSI相似度较小,所以相似度最大的前K个点的选择直接影响了定位系统的精度。现给出求得K值的步骤如下:
(1)构造邻居集合SetK;
(2)取序列S的前3个RSSI相似度S1,S2,S3加入到邻居集合SetK中,并求得3个相似度最小差值△Smin;
(3)分别计算其余RSSI相似度Si(4≤i≤m-n)与S3的差值△Si,如果△Si≤△Smin,则将Si加入到邻居集合Set K中;
(4)K=SetK中元素的个数。
通过选择RSSI相似度和邻居节点数K,即可确定团员。组团后,只让团长与信标节点进行通信和定位计算,之后得到的位置坐标为全体团员的位置坐标。计算结束后,作为团长的节点不再把定位结果发送给邻居节点,而直接通过多跳路由传给监控中心,节省了整个网络的带宽资源和能源。
5结语
采用基于Zigbee技术的无线传感器实现了井下人员的定位。为保证系统的可靠性采用组团协议,并着重提出了采用RSSI相似度和邻居节点数K作为选择团员的方法。以解决人员分布密集的通讯压力问题,如井下人员上下班时的堆积问题。此方法同时也提高了定位精度。