论文部分内容阅读
本文在大规模无线传感器网络课题背景下,着眼提高传感器网络节点的能效。在分析传统的分簇路由算法基础上,设计了基于节点能量的簇内多跳树型CTRP路由算法,以及基于正六边形网格的分簇路由HGRP算法。CTRP算法主要改进有:1)在LEACH算法的基础上,进行了最优簇头数目的计算,使网络中簇头节点均匀分布;2)对簇头选举中随机数的调整和阈值T (n)公式的改进,减少能量较少的剩余节点成为簇头的几率;3)算法还考虑簇头节点和Sink节点的距离因素,调整阈值T (n)公式中的p值,使得选举时距离Sink节点近的区域簇头相对多,距离Sink节点远的区域簇头少,均衡节点能耗;4)对节点之间单跳传输和多跳传输的能耗进行分析,簇内节点的路由加入能量权值,并用Prim算法设计簇内最小生成树,簇头之间采用Dijkstra算法寻找各簇头节点到Sink节点的最短路径,让各簇头节点以多跳方式沿最短路径向Sink节点传递数据。尽管簇内树型多跳传输相对LEACH并没有增加或降低数据传输次数,但节点的传输距离大大缩短,同时簇内数据传输时通过采取有效的时隙分配机制,也使得CTRP算法能耗大大降低,延长了网络的生存周期;5)在进行数据聚合时,采用相对信息熵与降低节点收集数据频率相结合的方法,减少网络中的数据发送量,有效进行数据聚合,节省网络能耗。HGRP算法是在分析了网络最优覆盖问题的基础上,选用性能较好的正六边形网格划分方法,分别对区域中网格的划分、簇头的选择、数据传输以及路由维护等过程进行了详细的分析。在网格划分阶段,首先将整个监测区域分成六个扇形区域,通过平面直角坐标系旋转的方法,计算出各正六边形网格划分的簇的中心坐标,在选取簇头时选择距离簇中心位置最近的节点且节点能量不小于阈值的节点作为簇头,这样能保证各簇头节点与簇内普通节点传送数据时能耗均衡。利用最优簇数目公式与正六边形网格区域划分的方法,在监测区域与节点传输距离已知的情况下,可以估算出使算法性能达到最优的正六边形网格的数目。同时,在划分的六个扇形区域内,有效将各正六边形网格的簇按规则建立路由,并记录建立路由的路径,这样各簇之间就不用再为寻找数据传递路径而消耗能量了。各簇的数据就可以按照已经记录的路径进行传送。数据传送过程中,如果个别区域是空隙区域或传感器节点失效区域,为了不影响算法性能,采用邻居替换规则,来代替空隙区或失效节点进行路由维护,保证监测数据安全顺利传递到Sink节点处。最后,通过VC++和MATLAB软件相结合对LEACH、CTRP和HGRP三种算法的性能进行仿真比较,仿真结果表明论文中设计的CTRP和HGRP两种算法在均衡网络能耗,平衡网络负载,对节点能量的有效利用明显提高,延长了网络生存周期。CTRP算法使用在规模较大的网络中性能较优,而HGRP算法在节点密集的网格中性能更佳。