-
铀尾矿砂含有的放射性核素会随着雨水浸入地下和水中,或渗出矿坝,其放射性污染范围广,危害具有隐蔽性,因此对铀尾矿库放射性污染的监测十分必要[1]。当前铀尾矿监测主要采用人工或有线监测,需耗费大量人力与成本,且不易扩展。无线传感网络(WSN)在污染检测、应急指挥、智能交通等监控领域具有广阔的应用前景[2-3],能够实时动态的对环境进行数据采集分析,具有自组织性、可移动、放置灵活等特点,能较好地解决铀尾矿监测中传统的有线布设问题,但其能量受限,故降低数据传输路由能耗是无线传感器网络的关键。
LEACH[4]协议在随机轮选簇头时,没有考虑节点的剩余能量和通信距离等因素,以致节点能耗的不均匀导致部分节点过早死亡。许多文献提出了相应的改进型协议,比如采取多跳通信方式,由簇头将邻居簇头的数据转发给Sink节点,解决通信能耗过大的问题。然而距离Sink节点较远的簇头需要邻居簇头来进行数据转发,导致离Sink节点近的簇头承担较多的工作,消耗过多的能量,产生“热区”现象[5-7]。文献[8]结合通信距离和节点当前能量两个因素来选簇头,对于靠近基站的普通节点可在唤醒时间内充当路由节点,与簇头节点一同形成在最后一跳的多条路径选择。文献[9]提出一种基于信号机制的能量感知地理路由算法,使得位于空洞边界节点的邻居节点轮流承担转发功能,避开空洞边缘中能量相对较低的热区节点,均衡热区能量消耗。
GAF[10]算法是基于节点地理位置的分簇算法, 按虚拟单元格划分簇易于操作,但随机选择簇头,没有考虑节点的剩余能量,由簇头承担着网络中大部分的数据处理和通信工作。文献[11]采用单跳和多跳通信相结合的方式,构造虚拟簇头来承担数据的转发。文献[12]在蜂窝结构的基础上将监测区域划分为圆形,并将重叠区域作为中转区域。以上算法应用于长带状的铀尾矿库坝监测中还不够完善。
综上分析,针对铀尾矿坝体的带状结构,本文提出一种基于GAF交圆结构的改进型路由算法(intersecting circle-GAF, IC-GAF)。通过划分虚拟圆,在簇头竞争过程中提高剩余能量大和距离虚拟圆中心近的节点成为簇头的概率,簇头向基站传输数据时,在热区附近动态地选择簇头或重叠区域中的某一节点来中转,以此平衡热区簇头在数据传送过程中的能量消耗,延长网络寿命。
HTML
-
节点接收lbit数据时所消耗的能量为:
式中,l表示发送数据的大小;Eelec表示发送单位数据电路的能耗。
节点A把长度为lbit的数据发给相距d的节点B的耗能为:
式中,εfs表示在自由空间模型下的衰减系数;εamp表示在多路径模型下衰减系数;d0表示通信距离阈值:
-
以虚拟圆中心(0, 0)为参考点,并在此布置一个节点,在虚拟圆边缘布置4个节点,如图 5所示。
若选择虚拟圆中心的节点O为簇头,节点1、2、3、4分别发送lbit数据包给O,消耗的能量为:
若选择节点1为簇头,节点2、3、4、O分别发送lbit数据包给节点1,消耗的能量为:
比较式(13)与式(14)得知,选择靠近虚拟圆中心的节点消耗的能量明显更少。
簇头i接收并发送n次lbit数据包,其消耗的能量为:
当n特别大时,E的大小主要由$l{\varepsilon _{{\rm{fs}}}}\sum\limits_{i = 1}^n {d_i^2} $决定,选择靠近虚拟圆中心的节点为簇头会使得di近似相等,有利于均衡全网能耗。
-
为了验证IC-GAF算法在铀尾矿坝的长带状结构的监测应用效果,在相同的长带状场景下,与LEACH及GAF算法对比。假设通信信道理想,节点发送的消息丢失及错误忽略不计,采用MATLAB仿真软件,实验中运用到的参数如表 1所示。
基本参数 取值 监测区域/m2 30×300 节点初始能量/J 0.5 节点数量 100 εfs/pJ·bit-1·m-2 10 εamp/pJ·bit-1·m-4 0.001 3 Eelec/nJ·bit-1 50 广播包/bit 100 数据包/bit 4 000 节点平均剩余能量$ \overline {{E_s}} $为算法循环工作一定轮次后取其簇节点的剩余能量的平均值。仿真结果如图 6所示,在前241轮,IC-GAF的$\overline {{E_s}} $略低于GAF算法,这主要是因为IC-GAF算法要完成最优簇头的选举和虚拟圆的划分,消耗了一定的能量。但经过一定时间后,由于簇间采用多跳路由与基站通信,并且考虑到簇头的剩余能量,节点平均剩余能量就高于LEACH和GAF协议。LEACH在第844轮时$ \overline {{E_s}} $为零,而此时IC-GAF的$\overline {{E_s}} $接近0.3 J(60%);第1 200轮时GAF的$\overline {{E_s}} $约0.15 J(15%),而IC-GAF的$\overline {{E_s}} $约为0.25 J(25%)。IC-GAF的$\overline {{E_s}} $从总体上来说高于LEACH和GAF,初期引起开销的操作平衡了能量,随着时间的推移展示出了其优势。
图 7表示节点死亡个数与轮数的关系,LEACH的第一个节点死亡和全部节点死亡分别出现在第468轮和第1 117轮,时间跨度为649轮。GAF算法的第一个节点死亡出现在第490轮,第1 200轮时死亡了40个节点(约40%),而IC-GAF算法的第一个节点死亡出现在第650轮,第1 200轮时死亡了25个节点(约25%),可以得知IC-GAF有效地延长了网络的存活时间。主要是由于LEACH中的簇头是直接与基站通信,能耗较大;GAF的簇内节点可以休眠和切换状态,又能一定的降低能耗;IC-GAF算法改进了簇头竞选机制,降低了成簇的次数,以节点平均剩余能量来衡量是否更换簇头,每一轮选取虚拟圆内剩余能量大且接近圆中心的的节点为簇头,并考虑了到基站的传输距离,使得能量消耗更加均衡。
由于簇头的能耗占整个网络能耗中最主要的部分,仿真时,记录每一轮簇头运行消耗的能量总和。随机选择10轮,结果如图 8所示。发现LEACH协议簇头能量消耗最高,GAF次之。LEACH算法簇头以单跳的方式传输数据与基站直接通信,而且在成簇过程中,选择的簇头也多于IC-GAF。从图 8中可以看出,IC-GAF簇头的能量消耗趋势更加稳定,相比LEACH与GAF都有所减少,因此能量更加均衡。