论文部分内容阅读
无线传感器网络(Wireless Sensor Networks, WSNs)是近年来随着微机电系统、嵌入式计算、无线通信等技术的发展而成为研究和应用热点的新型网络,它是物联网的基础,以数据为中心,提供信息的感知和协同处理功能,且在国防军事、智能交通、智能建筑、环境监测、医疗卫生等领域都有着广泛的应用。然而,与传统网络不同,无线传感器网络具有节点密集、资源(能量、计算能力、通信能力等)受限以及动态拓扑等特点,这使得其各种算法的设计首要目标就是延长网络生命周期。本文针对无线传感器网络的节点调度算法、空洞修复算法、路由算法以及异构网络的时间同步算法进行了研究,主要内容及成果如下:(1)针对在实际应用网络中往往会有部分异构节点的情况,提出了异构无线传感器网络的分簇时间同步算法——CTSA。在CTSA算法中,每一轮的时间同步由sink节点发起,各个异构节点收到发起消息后,向sink节点发送簇首当选请求消息,并在得到sink节点的确认后充当簇首,然后在网内广播自己的当选消息,普通节点选择最近的异构节点作为自己的簇首并加入簇。时间同步的过程也首先在sink节点与簇首之间进行,然后在各个簇内的簇首与普通成员之间进行。本文分析了时间同步过程中的误差来源,并利用多个同步字节以及最小二乘拟合法减小时间同步误差。仿真结果表明,在异构网络应用中,CTSA算法比FTSP算法有着更高的网络同步比率、同步精度与生命周期,同时有着较低的同步能耗。(2)针对目前已有的节点调度算法不能保持网络初始覆盖的问题,提出了保持覆盖的无线传感器网络簇内节点调度算法——CPNSC。CPNSC算法采用与LEACH算法同样的分簇算法将网络分簇,各个簇首负责建立簇内的节点信息表以及两两节点距离表,并根据节点的两两距离、节点的感知半径按照节点ID从小到大的顺序依次判断各个簇内节点是否是冗余节点,若是,则在节点信息表中标出。待簇首将所有节点都计算完毕后,将节点信息表在簇内广播,接收到信息表的节点根据信息表决定是否调度自己进入睡眠状态。仿真表明,CPNSC算法在不同的节点感知半径下有着不同的性能表现,且在感知半径达到一定的数值后,即使继续增大,对网络的性能影响也不大。这是因为CPNSC算法的性能同时受到节点感知半径与簇的大小的影响,当感知半径很大时,簇的大小则起到决定性作用。仿真同时表明,在冗余节点不足够多的情况下,CPNSC算法在生命周期、能耗等性能上都要优于E-LEACH算法。(3)针对已有的无线传感器网络覆盖空洞检测与修复算法需要每轮重复进行的问题,在CPNSC算法基础上,提出了面向节点失效的无线传感器网络簇内覆盖空洞修复算法——CHPA。CHPA算法无需网络定时进行覆盖空洞检测,而是当某个普通节点即将因为能量耗尽而失效时,立即发送失效信息给簇首,簇首则根据簇内冗余节点的相关信息,确定激活哪个冗余节点。确定冗余节点的依据是:该冗余节点与失效节点的距离小于感知半径,且该冗余节点与覆盖空洞的边界节点的相邻个数最多。由于CHPA算法是在CPNSC算法的基础上完成的,因此,CHPA算法有着与CPNSC算法同样的特性:算法的性能同时受到节点感知半径与簇的大小的影响,这在仿真中得到了验证。同时,仿真也表明了网络覆盖率、单轮能耗、单轮时耗等方面,CHPA算法都比3MeSH算法有着更好的表现。(4)针对LEACH算法中存在的问题,对LEACH算法进行了改进,提出了基于簇的能量高效路由算法——EERA。在EERA算法中,簇首的选举、簇间路由的确定以及普通节点加入簇等步骤,都需要考虑多个因素,具体来说,簇首的选举过程中考虑节点的剩余能量与邻节点个数;簇间路由确定的过程中考虑某个簇首到下一跳簇首的距离以及该下一跳簇首的剩余能量;普通节点加入簇的过程中考虑节点与簇首之间的距离以及簇首转发消息的能耗系数。在这三个步骤中同时考虑多个因素,可以有效地平均网络能耗,尤其是簇首的能耗。仿真表明,EERA算法的簇首能耗,网络整体能耗、网络生命周期等性能参数都要优于LEACH算法、LEACH-EE算法和EERP算法。