1. 引言
无线传感器网络(Wireless Sensor Network, WSN)是一种以信息采集和传输为主要功能的无线自组织网络。此网络由大量传感器节点以自组织和多跳的方式构成,目的是协作感知,采集,处理和传输对应区域被感知对象的信息。LEACH路由协议 [1] 的基本思想是提出轮(Round)的概念,一个周期分成若干轮,每一轮以随机的方式选择簇头节点,普通的节点将数据传输到簇头节点上,簇头节点再和基站通信,从而可以均衡网络能量消耗,延长网络的生存周期,详见图1。
现有LEACH网络协议簇头选择策略基于理想网络环境下设计,模拟每次数据传输100%成功,节点根据下式来选举簇头:
(式1)
式1中,P值为网络中簇头节点占总节点数量的百分比,这个值在网络初始化时设置。r是本周期的轮数编号。G是本周期没有当选过簇头的节点的集合 [2] 。而实际应用中不同节点处于不同环境下,各节点丢包概率存在且各不相同,若依据现有网络协议,簇头节点可能选择高丢包概率节点作为头结点,造成大量数据重发,增加能耗,缩短整体网络生存周期。
针对这一问题,提出了一种更加完善的簇头选择机制,依据各节点自身所处环境所决定的内置概率参数,以及各节点历史数据丢包数据统计,得到各个节点的丢包参数,在选取头结点时,该参数被映射
到选择过程中。簇头选择影响因素由仅考虑距离转变到同时考虑距离和概率,因而可以减小高丢包率节点当选簇头的可能性,达到节能效果。
2. 准备工作
无线传感器网络的路由算法研究是一个非常活跃的研究领域,目前经典设计思路有以下方面:
1) 基于跳数选择最优方案的路由思想 [3] 。在分析原始最小跳数(Minimum Hop Count, MHC)路由协议的特点和存在的问题基础上,提出了一种基于跳数的无线传感器网络路由算法 [4] 。
2) 基于K-means++聚类的路由算法LEACH-KPPE [5] 。首先根据LEACH协议能量消耗模型推导出能耗最小的最优簇头结点数,再利用K-means++聚类算法对LEACH中分簇进行优化,针对不同的节点分布环境对数据传输路径进行优化处理,使其数据传输路径达到最优。
3) 基于分簇次数最优方案的路由思想 [6] 。算法在簇头节点选择时综合考虑节点剩余能量和当前位置问题,使簇头的分布更均匀;同时在估算最优簇头数的基础上,改进了分簇方法,减少了分簇次数,节省了网络能量消耗。
4) 基于能量均衡的Ad-hoc网络拓扑 [7] 和能量均衡的无线传感器网络拓扑控制算法 [8] 的解决思想。这类思想通过网络结构优化平衡能量分布。
5) 基于链路丢包率的的路由思想。LEACH-LLR (LEACH-Least Loss Rate) [9] 是基于LEACH链路丢包率方面改进的研究方案。
LEACH-LLR的不足在于其丢包数量统计机制不完善,未考虑其他因素及丢包率动态更新。所以可以得出一种基于LEACH-LLR的优化改进算法。
3. 可靠的分簇方案设计
3.1. WSN模型
网络中随机分布了n个传感器节点,并且均匀分布在一个方形区域中,sink节点位于区域中央。
1) 所有节点部署完成后处于静止状态;
2) 每个传感器节点具有相同的初始能量及通信能力,具有唯一的标识;
3) 每个传感器节点选择加入通信半径范围内合适的簇,每个簇都有簇头节点负责簇内部的信息的接收和转发。
3.2. 信任模型
协议中信任模型特点如下:
1) 初始状态下,即无线传感器刚部署在指定区域时,假设所有的节点可靠性相同;
2) 节点间的信任值与时间t呈反比例关系,即网络运行时间t越长,则信任值越低,因此需要不断地通信以评估最新的信任值;
3) 默认节点的信任值范围取值在[0,1]之间。
3.3. 信任值的计算
协议的簇头产生的方案采用和LEACH协议相同的设置。用
代表节点
的一跳邻居节点集合。用
代表邻居节点
到sink节点的空间距离,用
代表邻居节点
初始的能量。每个节点
需要维护一个关于其所有一跳邻居节点的可信度列表
,表中邻居节点
关联一个信任值
,表示在第i轮开始前节点
对邻居节点
的信任值,初始值
。
在第i轮结束后,节点
按如下方式刷新对邻居节点
的信任值:
(式2)
式2中参数
,
表示在第i轮
根据与邻居节点
的通信状态计算的可靠度参量。如果在第i轮
没有与邻居节点
进行通信,取
。
反之,通过如下方式估计
:在某一轮中,假设簇内普通节点
和簇首结点
之间有
次数据传输过程,到簇首结点的链路根据预设的链路丢包概率(随机分布在0.1~0.3间)随机地丢弃数据包。要求簇首结点每收到一个数据包,需要给出一个应答。设簇内普通节点收到
次应答,则计算
。
迭代式可以有效抑制某一节点丢包概率短时间内起伏过大,造成子节点误选,间接增加能量消耗。在每一轮中,每一节点的丢包率都会动态变化,从而使依赖于可靠性的头结点选择具有时效性。
3.4. 簇头关联
在数据传输过程中,距离越远,信号衰减越快,所需要的能量也越多。所以以距离为选择头结点的首要条件是合理的。但是在实际过程中,不是每次传输过程都可以100%成功传输,对于某些节点来说有极大的丢包可能性,于是簇头选择方案同时考虑距离和丢包概率,在子节点一定范围内存在多个头结点时,判断对应头结点的丢包概率,选择丢包率较小的头结点,从而提高发送成功率,减少丢包重发的次数,减少了能量的消耗,使得网络寿命大大延长。普通节点
在关联簇头时根据如下规则进行考虑(考虑了可信度和距离因素):
1) 根据可信度列表
在相邻的簇头节点中选出信任值最大的节点集
;
2) 若节点集
只含一个元素,加入对应的簇;若节点集
含多个元素,则挑选离自己最近的簇头节点加入。
4. 仿真结果与分析
4.1. 实现环境
在软件仿真中,通过C语言移植了LEACH网络协议,并针对基于链路丢包率方面进行了方案设计,产生数据与另一改进LEACH协议——聚类LEACH协议 [10] (以下简称聚类协议)做分析和对比。
数据处理分析使用MATLAB软件进行可视化处理。详细参数设计见表1。
4.2. 仿真结果分析
图2中,横坐标表示节点编号,共100节点,纵坐标表示能量剩余值。初始化能量为0.05,若能量小于0则该节点退出。
对两组数据进行能量分布对比见表2。
第50轮时在一定丢包概率条件下,由曲线图可以看出,可靠协议的能量分布比较均匀。由表中数据分析得出,节点能量剩余差额为0.080J,聚类协议节点能量剩余差额为0.095J,两种协议平均值差为0.003J。由此可知,可靠协议能耗稍低于聚类协议。同时,可靠协议引入丢包率考虑因素,避免了同一个节点多次重复发送数据,减小了各节点之间剩余能量差额,有利于整体网络的生存周期。
图3为200轮中节点丢包数量统计折线图,横坐标为运行轮数,纵坐标为当前轮丢包总数目。由图分析可知,在第0~100轮之间,可靠协议每轮平均丢包数量为178.3,聚类协议每轮平均丢包数量大约为209.5,平均每轮少丢包31.2。第100~160轮,可靠协议每轮丢包数量与聚类协议基本持平。参考图4可知,在100~200轮聚类协议节点退出个数大于可靠协议,聚类协议统计样本空间变小。综上所述可得以
![](Images/Table_Tmp.jpg)
Table 1. Parameter setting of simulation
表1. 仿真实验参数设置
![](//html.hanspub.org/file/11-1541046x49_hanspub.png)
Figure 2. Diagram of energy comparison of the 50th round
图2. 第50轮节点能量对比图
![](//html.hanspub.org/file/11-1541046x50_hanspub.png)
Figure 3. Statistical comparison of packet loss
图3. 丢包数量统计对比图
下结论:在相同样本空间条件下,聚类LEACH协议丢包数量大于可靠LEACH协议丢包数量。
图4为200轮中节点退出过程示意图,横坐标为运行轮数,纵坐标为退出节点数目。由图分析可知,三条曲线在80轮附近开始有节点退出,可靠协议节点退出曲线总体在原LEACH协议节点退出曲线下方。聚类协议节点退出曲线与可靠协议曲线大体类似。在80~140轮过程中,可靠LEACH淘汰节点数为0.867个/轮,聚类LEACH淘汰节点数为0.898个/轮,原LEACH淘汰节点数为1.51个/轮。原LEACH节点退出速率最快,可靠协议及聚类协议均延缓了节点退出速度,大约以0.83个/轮的速度均匀退出。在200轮运行过程中,加入丢包率对每轮头结点的选择影响时,节点的生存周期明显高于原生选择机制。这与第四组数据得出的结论是一致的。
通过多次试验证明,丢包概率越大时,节能效果越明显。综上所述,基于丢包率设计的LEACH协议有明显的节能效果。
5. 结论
本文在不可靠的通信环境下对传统无线传感器网络中LEACH路由算法进行优化,根据估计的节点可信度的参数,改进了每轮子节点选择头结点的机制。仿真结果表明,该算法在丢包率较高的环境中能够大幅减少各节点能量消耗,使整个网络节点数据传输成功率提升,从而减少节点因重发数据而消耗的能量,以达到提高网络生存周期的目的。
基金项目
本文受基于链路可靠性的WSN的簇头选择策略项目(X20170431)、复杂电磁环境下高稳健Large Scale信号检测技术研究项目(BK20170512)、高动态环境下稳健信号检测技术研究项目(17KJB413003)、复杂电磁环境下的信号检测技术研究项目(2016CXJ025)的资助。