基于Zigbee无线传感器网络定位问题的研究
扫描二维码
随时随地手机看文章
1引言
Zigbee技术已日益受到重视。这种以低成本、低功耗、低数据传输速率、低复杂度为显著优点的短距离无线通信协议,满足了小型、低成本的同定、便携或移动设备无线联网的要求。由于Zigbee的收发模块体积小,功耗低,很容易直接安放在设备或工作人员的器械上,而且它们使用的是直序扩频技术。具有很好的抗十扰能力,能获得更远的传输距离;此外,每个模块都有接收强弱信号的指示功能(RSSI),易于直接观察网络信号的强弱;用该技术建立的无线网络适合井下信息化管理系统的功能要求,通过使用覆盖面积不同、功能不同的Zigbee网络节点,可形成低成本的无线收发模块,从而建立起一个适应信息化管理系统的井下无线局部网络.并随时掌握井下人员的动态分布。所以,越来越多的应用都已直接利用现成的Zigbee无线通讯模块来测定节点位置。因此,在充分研究现有Zigbee技术的基础上,主要对Zigbee无线传感器网络定位系统的通信冲突和定位精度进行分析,采用组团协议,提出一种选取团员的方法,使其更适合井下信息管理系统的要求。
2组团协议
井下信息化管理系统的具体实施方法是。在坑道中每隔几十米放置一个传感器节点,每个矿工身上也都佩带一个这样的节点,矿工身上佩带的节点和坑道中放置的节点可以自行组成一个大规模的无线传感器网络。在矿井入口处放置一个具有网关功能的节点作为Sink节点,Sink节点连接传感器网络与Internet等外部网络,实现两种协议栈之间的通信协议转换,同时发布监测中心的监测任务,并把收集的数据最后传至监控中心,从而全面了解矿井人员的安全状况。
但是,由于主巷道、人车、采掘工作面等人员较为密集,为了实时监控工作人员的位置信息,必须通过定位算法知道未知节点的位置。要求信标节点每隔一个不长的时间就广播一次位置信息。此时,未知位置节点就要与信标节点进行一次通信传递,以确认信息并通过定位算法得到自己的位置信息,之后通过信标节点向监控中心报告自己的位置信息。如果两个未知节点位置同时与信标节点进行通信就会造成信号冲突。然而Zigbee通信的退避机制有效地避免了这一状况,它会事先进行冲突检测,然后再发送信号。即使确实发生冲突,也有退避随机时间重发的机制。不过如果未知节点位置的数量过多,当未知节点位置同时向信标节点发送位置信息时,因一直都能检测到冲突信号,故无法发送。而且有些节点,即使在退避了一段时间之后再一次重发也会发生冲突。同时信息不断地重发也浪费能量。最后终使网络处于瘫痪状态,无法进行通信。为了避免通信冲突和增强系统的功能性,可采用不让每个未知节点位置都向信标节点发送信息,而只从中选出一个代表向信标节点发送信息。即采用组团协议解决这一问题。
3组团协议模型分析
组团协议的原理是将空间上相邻的一群未知节点位置自行组成一个个团,并选出团长,推举团长作为代表与信标节点进行通信,以减少未知位置节点与信标节点之间的通信量,消除冲突问题。图1给出组团协议模型。
它不仅可以在人员密集时工作,也应能在人员稀疏的地方运行。当节点是一个孤立的节点时,该节点就是团长;如果有节点加入时,则要按照一定的算法选出一个团长,即并团。如果有节点离开时则要拆团,变成两个,甚至更多的团。同时组团时还应考虑:
(1)单个节点也是团长。
(2)两个或两个以上的团当距离靠近时,要进行并团。为了减少复杂度,采用两两并团的原则。
(3)团长的选取。将最先接收到信号的节点作为团长,并团时最先接收信号的节点视为新团长。两团合并后,团长必须清楚新团中的所有团员的ID,而新团的所有团员必须知道新团长的ID。
(4)团员的上限。应当对每个团的团员数做一个限定,例如限定30个团员。这样也就带来了并团的新问题。所以,虽然团员的上限是30,但存在一个过早饱和问题。可以通过数学办法定出该过早饱和的上限,例如27人。当一个团的人数达到27人时,则认为接近饱和。
(5)团员的离开。团员离开时,要进行拆团。当有一个团员离团时,该团员便成为单独的团长。当有几个团员同时离开的时候,便视每个团员为单独的新团长,让其自己重新并团。并团也是要解决的问题,拆团在某种程度上可转化成并团,使得协议的实现简单可靠。
(6)节点的通信距离问题。应尽可能地减少通信次数,简化通信帧的结构,争取通过3次"握手"实现拼团。
4组团协议中团员选择的研究
团长的选取是将最先接收到信号的节点作为团长,并团时则将最先接收信号的节点作为新团长。对于团员的选择,可通过与团长的RSSI相似度进行选择。若比团长的RSSI相似度高,则说明两个传感器节点的周围环境相似,且位置相近,则成为团员,把这样的一些团员组成一个团。组团以后。只有团长进行定位计算,得到的佗置坐标也为团员的位置。这样的选择在一定程度上可提高定位精度。
4.1方案设计
接收信号的强度RSSI是传感器节点间通信时接收方一端的传感器节点获得通讯信号强度的一个量化值。RSSI值从客观上能够反映两个传感器节点周围环境的相似情况。例如两个传感器节点在空间上相距很近,而且周围环境相似(温度、湿度、障碍物等),因此可能成为邻居节点,而且接收到的信标节点信号强度RSSI也会接近。如图2,传感器节点A,B在空间距离上相距比较近,周围情况也较相似,因此从所有邻居节点接收到的信号强度RSSIA=[RA1,RA2,…,RAn],RSSIB=[RB1,RB2,…,RBn]也都较为相似。
根据传感器节点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作为选择团员的方法。以解决人员分布密集的通讯压力问题,如井下人员上下班时的堆积问题。此方法同时也提高了定位精度。