论文部分内容阅读
【摘 要】在WSN(Wireless Senor Network,无线传感器网络)中的分级路由算法中,如果簇头仅仅能够进行单跳通信或者多跳通信,都会造成网络负载不均衡以及簇头能量消耗过快的问题出现。针对这一问题,本文提出了一种改进的基于LEACH-C(Low Energy Adaptive Clustering Hierarchy Centralized,低功耗自適应集中分层型)算法的簇间路由(Cluster Routing based on LEACH-C Algorithm, 简称CRLA)算法。该算法通过距离阀值来控制簇头是进行单挑通信还是多跳通信。仿真分析表明,CRLA算法能够实现网络负载的均衡以及减少簇头能量的消耗,从而实现网络生存时间的延长。
【关键词】分级路由算法 无线传感器网络 簇 LEACH-C 阀值
1 前言
WSN是由众多的无线传感器节点组成的无线传感器网络,而这些节点以自组织的形式来实现对WSN覆盖范围内的感知对象信息的采集与处理,并将所得到的结果传递给所需用户。由于传感器节点的通信能力、存储能力与处理能力都十分的有限,并且有些节点的能源也是有限的,因此,WSN所使用的路由算法的性能直接关系到整个网络的性能。而在WSN的分级路由算法中,簇头与汇聚节点的通信方式有两种:单跳通信与多跳通信。当采用单跳通信的方式时,簇头的网络负荷随簇头和汇聚节点的距离的增大而增大,造成离汇聚节点较远的簇头的网络负荷过重。而采用多跳通信的方式时,离汇聚节点较近的簇头除了需要发送本簇内的数据外,还需要转发其他簇的数据,造成网络负载的不均衡以及能量的大量消耗。针对单一的通信方式所存在的问题,本文提出了一种改进的基于LEACH-C的簇间路由(Cluster Routing based on LEACH-C Algorithm, 简称CRLA)算法。该算法通过距离阀值来控制簇头是进行单跳通信还是多跳通信。
2 LEACH-C算法
2.1 原理
LEACH-C算法是一种集中控制的分级路由算法,汇聚节点利用该算法来进行簇的划分以及簇头的选择,从而实现网络负载的均衡。而使用该算法的前提条件:(1)网络中的节点都可以直接与汇聚节点进行通信;(2)网络中的节点都能够对自身的发射功率进行控制与调整。
在LEACH-C算法中,一个完整的通信过程被叫做一“轮”。而每一轮又包含两个阶段:簇的建立阶段与数据传输阶段。在簇的建立阶段,汇聚节点首先会搜集网络中全部节点的地理位置与剩余能量信息,接着计算出整个网络的剩余能量的平均值,那么剩余能量大于平均值的节点就构成了备选簇头集;然后,LEACH-C算法以目标函数(目标函数的计算方法:簇头与簇内节点距离的平方和,其值越小则说明通信过程所消耗的能量越少。)最小为原则,利用模拟退火法从备选簇头集中找出簇头集,并把簇头集信息广播给所有的网内节点;而当网内节点收到簇头集时,其首先会判断自身是否包含在该集合中,如果在其中,则其则被选作簇头,否则的话,该节点根据与簇头集中哪个簇头的距离最近来判断其属于哪个簇;最后,簇头会为簇内的所有节点分配相应的传输时隙。
2.2 能量消耗模型
LEACH-C算法所采用的能量模型为一阶无线电模型,其使用的前提条件:(1)网内所有的节点都是能量受限并且其初始能量是一样的;(2)无线信号的损耗无方向性;(3)汇聚节点位置不变,并且其离WSN有一定的距离。
那么,发送数据所需花费的能量:
(1)
式中,与分别是发送数据的bit数与收发节点的距离,为信号放大倍数,为传输1bit数据发送电路所消耗的能量。表示信号的衰减情况。
而接收数据所消耗的能量:
(2)
式中,为接收1bit数据所消耗的能量。
为了便于分析,假设=,,并且簇头把信息传给汇聚节点需要经过m-1跳,并且每跳的距离都为,则在单跳通信的方式下,所消耗的总能量为:
(3)
而在多跳通信的方式下,所消耗的总能量为:
(4)
3 CRLA算法
在CRLA算法中,当簇头与汇聚节点的距离小于阀值threshold时,簇头采用单跳通信方式与汇聚节点进行通信;而当簇头与汇聚节点的距离大于threshold时,则采用多跳通信方式。而在进行多跳通信时,假设与汇聚节点的距离大于threshold的簇头数目是n,并且每个簇头除了包含自身的地理位置,其与汇聚节点的距离,其还知道其它簇头的信息,以及这些簇头与汇聚节点的距离信息。
图1 轮数 vs. 剩余存活节点数
图1给出了剩余节点数随轮数的变化情况。从图1中可以看出,在单跳路由算法下,网络中的最后一个节点在第26轮耗尽能量。在多跳路由算法下,网络中的最后一个节点在第28轮耗尽能量。而在CRLA算法下,网络中的最后一个节点在第30轮才耗尽能量,由此可见,CRLA算法能够有效地延长网络的存活时间。并且从图1中还可以看出,CRLA算法下的剩余存活节点数在前期变化比较缓慢,而在后期出现了急剧下降,这是因为CRLA算法能够较好地均衡网络负载,避免了节点负载过重,能量消耗过快现状的出现。
参考文献:
[1]沈波,张世永,钟亦平.无线传感器网络分簇路由协议.软件学报, 2006,17(7):1588-1600.
【关键词】分级路由算法 无线传感器网络 簇 LEACH-C 阀值
1 前言
WSN是由众多的无线传感器节点组成的无线传感器网络,而这些节点以自组织的形式来实现对WSN覆盖范围内的感知对象信息的采集与处理,并将所得到的结果传递给所需用户。由于传感器节点的通信能力、存储能力与处理能力都十分的有限,并且有些节点的能源也是有限的,因此,WSN所使用的路由算法的性能直接关系到整个网络的性能。而在WSN的分级路由算法中,簇头与汇聚节点的通信方式有两种:单跳通信与多跳通信。当采用单跳通信的方式时,簇头的网络负荷随簇头和汇聚节点的距离的增大而增大,造成离汇聚节点较远的簇头的网络负荷过重。而采用多跳通信的方式时,离汇聚节点较近的簇头除了需要发送本簇内的数据外,还需要转发其他簇的数据,造成网络负载的不均衡以及能量的大量消耗。针对单一的通信方式所存在的问题,本文提出了一种改进的基于LEACH-C的簇间路由(Cluster Routing based on LEACH-C Algorithm, 简称CRLA)算法。该算法通过距离阀值来控制簇头是进行单跳通信还是多跳通信。
2 LEACH-C算法
2.1 原理
LEACH-C算法是一种集中控制的分级路由算法,汇聚节点利用该算法来进行簇的划分以及簇头的选择,从而实现网络负载的均衡。而使用该算法的前提条件:(1)网络中的节点都可以直接与汇聚节点进行通信;(2)网络中的节点都能够对自身的发射功率进行控制与调整。
在LEACH-C算法中,一个完整的通信过程被叫做一“轮”。而每一轮又包含两个阶段:簇的建立阶段与数据传输阶段。在簇的建立阶段,汇聚节点首先会搜集网络中全部节点的地理位置与剩余能量信息,接着计算出整个网络的剩余能量的平均值,那么剩余能量大于平均值的节点就构成了备选簇头集;然后,LEACH-C算法以目标函数(目标函数的计算方法:簇头与簇内节点距离的平方和,其值越小则说明通信过程所消耗的能量越少。)最小为原则,利用模拟退火法从备选簇头集中找出簇头集,并把簇头集信息广播给所有的网内节点;而当网内节点收到簇头集时,其首先会判断自身是否包含在该集合中,如果在其中,则其则被选作簇头,否则的话,该节点根据与簇头集中哪个簇头的距离最近来判断其属于哪个簇;最后,簇头会为簇内的所有节点分配相应的传输时隙。
2.2 能量消耗模型
LEACH-C算法所采用的能量模型为一阶无线电模型,其使用的前提条件:(1)网内所有的节点都是能量受限并且其初始能量是一样的;(2)无线信号的损耗无方向性;(3)汇聚节点位置不变,并且其离WSN有一定的距离。
那么,发送数据所需花费的能量:
(1)
式中,与分别是发送数据的bit数与收发节点的距离,为信号放大倍数,为传输1bit数据发送电路所消耗的能量。表示信号的衰减情况。
而接收数据所消耗的能量:
(2)
式中,为接收1bit数据所消耗的能量。
为了便于分析,假设=,,并且簇头把信息传给汇聚节点需要经过m-1跳,并且每跳的距离都为,则在单跳通信的方式下,所消耗的总能量为:
(3)
而在多跳通信的方式下,所消耗的总能量为:
(4)
3 CRLA算法
在CRLA算法中,当簇头与汇聚节点的距离小于阀值threshold时,簇头采用单跳通信方式与汇聚节点进行通信;而当簇头与汇聚节点的距离大于threshold时,则采用多跳通信方式。而在进行多跳通信时,假设与汇聚节点的距离大于threshold的簇头数目是n,并且每个簇头除了包含自身的地理位置,其与汇聚节点的距离,其还知道其它簇头的信息,以及这些簇头与汇聚节点的距离信息。
图1 轮数 vs. 剩余存活节点数
图1给出了剩余节点数随轮数的变化情况。从图1中可以看出,在单跳路由算法下,网络中的最后一个节点在第26轮耗尽能量。在多跳路由算法下,网络中的最后一个节点在第28轮耗尽能量。而在CRLA算法下,网络中的最后一个节点在第30轮才耗尽能量,由此可见,CRLA算法能够有效地延长网络的存活时间。并且从图1中还可以看出,CRLA算法下的剩余存活节点数在前期变化比较缓慢,而在后期出现了急剧下降,这是因为CRLA算法能够较好地均衡网络负载,避免了节点负载过重,能量消耗过快现状的出现。
参考文献:
[1]沈波,张世永,钟亦平.无线传感器网络分簇路由协议.软件学报, 2006,17(7):1588-1600.