仿真参数
在100m*100m的区域内,随机分布200个传感器节点,节点初始能量为1000J,节点死亡能量阈值为5J,最大通信距离为25m,最大通信距离通信时,每次消耗1J能量。对于GPEAR算法,通信能耗与通信距离的关系由表1给出。仿真环境假设会聚节点(Sink)在整个区域的中心(50,50)处,四个事件区域在整个区域的四个角上(0,0)、(0,100)、(100,0)和(100,100),每个事件区域做100次查询后,轮流转换。
3 测试标准
(1)查询成功次数:只有成功的查询对用户才是有用的,所以网络能够进行的成功查询次数可以体现网络的生存周期和传输可靠性。
(2)每次成功查询平均消耗的能量:该标准体现了整个网络能量的利用效率。
每次查询的平均消耗能量为整个网络消耗能量除以成功查询的次数,如式(4)所示。
仿真结果
图1 衰减指数对算法性能的影响
图1的结果表明,随着衰减指数(衰减指数为2表示发射能量和通信半径的二次方成正比,依次类推)的增长, GPEAR算法的性能则改善非常明显。
图2最大允许跳数对算法性能的影响
图2结果表明,最大允许跳数(即查询从Sink节点到目的节点经由的最大节点数,若超过这个最大数,则认为查询失败)对各算法的影响不是很敏感。若最大允许跳数小于15,GPEAR算法的成功查询次数将大大下降,每次成功查询的平均能耗也大大增加,这个是因为GPEAR算法的本质是通过缩短每次通信半径以降低总的查询能耗,而这样会增加中间经由节点的数量,显然若最大允许跳数太小,将会使失败次数大大增加。另外GEAHAR算法要求最大允许跳数不能太大,否则会使失败查询消耗过多的能量,相对这种能耗过大更优的方法是重新发送查询信息。