WSNs中基于模糊逻辑系统的能耗感知的簇路由
2019-07-05林勇
林 勇
(重庆电子工程职业学院, 重庆 401331)
无线传感网络(Wireless Sensor Networks,WSNs)由大量、微型传感节点组成。这些节点具有有限的感测、计算和无线通信能力[1]。目前,WSNs已广泛应用于智能家居、污染检测、目标跟踪和康复医疗。在这些应用中,当节点能量消耗完毕后,补充节点能量是不可能的[2]。因此,能量供给的受限,激发了研究能量感知协议的动力。
引用簇结构能够有效地降低WSNs的能耗。每个簇中由一个簇头(Cluster Head,CH)和其他非簇头节点(成员节点)组成。CH负责簇间通信[3]。当簇构建完成后,CH就给簇内每个成员节点分配时分多址接入TDMA时隙,成员节点就利用所分配的时隙向CH发送数据。
在基于簇WSNs中,每个成员节点先感测环境参数,再将感测数据传输至它的CH。然后,成员节点在预设的时间内进入休眠状态[4]。与成员节点相反,簇头CH在网络操作期间内总是保持活动状态。因此,CH的平均能耗远高于成员节点的能耗。
为此,常由多个节点间轮换扮演CH角色,共同分担通信负载,进而平衡节点间能耗。而重构簇便是实现CH角色的轮换的有效策略。
研究人员对重构簇进行了较深的研究[5-7]。例如,文献[6]利用阈值函数产生簇头,并利用节点角度比、距离比和吞吐率优化阈值函数。该方案仍是采用固定轮产生选择簇头。即以固定时间间隔启动簇任务。类似地,文献[7]也是在每轮内构建簇,每轮分为建立阶段与数据传输阶段。如图1所示,在每一轮(Round)内均由簇建立和数据传输两个阶段构成。尽管每轮选择簇能够一定程度上平衡节点间的负载。然而,重构簇本身也消耗能量,加重网络负担。
图1 基于轮策略的构簇任务的调度
若采用的Round过长,则CH的工作时间太长,可能导致其能量消耗过快。反之,若Round过短,系统需频繁地重构簇,增加了构建簇所消耗的能量。因此,Round时长对能耗有一定的影响。
此外,选择簇头受多个因素影响,如距离,节点的剩余能量。那如何依据距离、能量等信息决定簇头?实际上,这属于多输入单输出系统。由多项输入信息决策一个输出量。而模糊逻辑系统常用于多输入单输出的决策系统。例如,文献[8]中提出基于多参数模糊逻辑的车载通信资源协同优化算法。利用模糊逻辑系统对资源进行管理。文献[9]中也采用模糊逻辑系统推理簇尺寸。
为此,本文引用超轮概念,提出基于模糊逻辑系统的能效感知的簇路由(Fuzzy Logic-based Energy-aware Clustering,FL-EAC)。FL-EAC路由不是每轮都构建簇,而是在一个超轮内才构建一次簇。同时,由模糊逻辑系统决策超轮长度。本文的主要工作可归纳以下两点:① 引用超轮概念,不再采用的以固定时间内建立簇策略;② 利用节点剩余能量、距离信息作为模糊逻辑系统的输入,由模糊逻辑系统决策超轮长度。
1 FL-EAC路由
1.1 能量消耗模型
引用与文献[10]中所述的无线电能量消耗模型,如图2所示。发射器向相距为d的接收节点传输m比特的数据包所消耗的能量ETX(q,d):
(1)
其中:Eelec运行发射器或接收器固定的能量消耗;εfs、εamp分别表示发射器在自空间、双径传播模型(two ray ground model)的单位功率放大器的能量消耗[11-15]。
相应地,对于接收m比特的数据包所消耗的能量:
ERX(m)=m*Eelec
(2)
1.2 构簇算法
为了平衡WSNs内的能耗,通常在多个传感节点间轮换承担CH角色。当构簇算法启动时,一些传感节点必须成为CHs。在构簇过程中,每个非CH节点向与它的CH发送加入信息Mes_Join。收到Mes_Join的CH就给它的成员(非CH节点)提供TDMA时隙。此外,将每个簇内的数据传输过程看成单跳传输。
图2 无线电能量消耗模型
(3)
其中,Ej表示节点j的剩余能量。
图3 构簇算法1的伪代码
(4)
其中,i表示广播CH_adv消息的簇头。
1.3 调度策略
每个簇在一轮内完成它们的任务,然后再配置下一轮。FL-EAC路由允许所有节点参与构簇过程[11]。而传统的簇路由是采用固定轮时长构建簇,这必然加大了构建簇的能耗。为此,提出的FL-EAC路由采用新的策略。
FL-EAC路由先建立簇,形成多层结构。然后,将网络操作划分为超轮(Hyper Rounds,HRs),进而降低簇开销。 FL-EAC路由规定在每个HRs内的第一个轮的建立阶段重构簇。
HRs模型如图4所示。值得注意的是,在实施阶段,每一个HR的稳定时期可能被合并成一个长的稳定时期。换而言之,除HRs的第一个轮外,其他轮可以不重构簇,进而降低了构簇开销。尽管轮长度是固定的,但HR长度随传感节点的状态变化。现有的多数算法只关注HR策略,而提出的FL-EAC路由利用模糊逻辑系统处理变化的HR长度问题。
图4 HRs模型
依据FL-EAC路由,在每个HR的开始执行构簇算法。因此,先将网内所有节点被划分为CHs和非CH节点(普通节点)。然后,在构簇阶段结束时,每个CH依据FLS计算HR长度。在分布算法中,将最短HR作为选为网络内全局的HR长度。选择最短的HR作为全局HR长度,是为了降低CH的能耗。
为此,每个CH需产生一个等待时间,其正比于它所计算的HR长度。HR长度越短,等待时间越短。一旦等待时间结束,并且在等待时间期间,没有收到邻居节点发送的Msg_Sch,每个CH就向邻居CHs传输Msg_Sch,其包含了HR的长度。每个CH从所接收的Msg_Sch中提取HR长度,并与之前接收的HR长度进行比较,保存最短HR长度。接下来,分析计算HR长度的过程。
1.4 模糊逻辑系统
采用模糊逻辑系统FLS处理每个CH节点在估计HR长度的不确定性。FLS利用节点的剩余能量和离信宿的相对距离决定HR长度。相比于远区的CHs,位于信宿附近的CHs承担了更多数据转发任务,因此,它们消耗了更多的能量。所以,它们的簇头轮换频率需更快[12]。
基于上述考虑,将离信宿相对距离和节点剩余能量作为FLS的输入。FLS系统如图5所示。剩余能量低的CHs难以完成它的任务,必须进行快速轮换。FLS的输出就是HR长度。离信宿距离近的、低剩余能量的节点具有更短的HR长度。相反,离信宿距离远的、高剩余能量节点的HR长度更长。因此,HR长度因节点个体不同而不同。
图5 FLS系统
(5)
由于传感节点是静态的,离信宿最小和最大距离是固定参数。一旦网络部署后,信宿就向所有节点广播信号。因此,每个节点就可利用接收信号强度(Received Signal Strength Index,RSSI)估算离信宿近似距离。
1) 相对距离
节点i离信宿的相对距离RDi的定义如式(6):
(6)
其中,dmin、dmax分别表示离信宿的最近、最远距离。而d(i,Sink)表示节点i离信宿的绝对距离。
2) 相对剩余能量
节点i的相对剩余能量REi的定义如式(7):
(7)
输入变量RD、RE和输出变量Out的隶属函数如图6所示。其中用非常低(very low)、低(low)、中(medium)、高(high)、非常高(very high)作为RE的语言变量。而用近(close)、中间(adequate)和远(far)作为RD的语言变量。类似地,输出变量Out可表述为:
Out={Verylow,low,ratherlow,mediumlow,medium,
mediumhigh,ratherhigh,high,veryhigh}
(8)
图6 隶属函数
知识规则库如表1所示,共有15条规则。系统输出为模糊值,仅为语言输出变量,需要将其转换精确的数值,即去模糊化。利用文献[13]的Mamdani模糊控制的重心法,可实现去模糊化。
表1 知识规则库
2 性能分析
利用MATLAB R2012b建立仿真平台[15]。在100 m×100 m网络区域内部署100个节点,信宿位于(50 m,175 m)位置。传感节点的初始能量Einit从[2,4]J区内随机选取。数据包尺寸和控制包尺寸分别为4 000和200比特。有关的能量参数如下:Eelec=50 nJ/bit、εfs=10 pJ/bit/m2、εamp=0.001 3 pJ/bit/m4、dco=87 m。
同时,为了更好地分析FL-EAC路由的性能,选用EHEED[14]和EDIT[15]进行比较。EHEED算法是基于HEED算法的改进,它采用多跳路径完成簇间通信。而EDIT算法降低了在簇构建过程中的消息交互,并且将节点剩余能量作为CH选择的基本指标。
1) 实验一
本次实验HR长度变化,并通过本次实验数据证明超轮策略的可用性。HR长度如图7所示。
依图7可知,HR长度随仿真时间变化。这与传统路由采用固定轮策略不同。最初,HR长度较长,随后,逐步变短。原因在于:在最初,节点能量较充足,每个簇头能维持较长的工作时间,而随着时间推移,节点能量逐步下降,担任簇头的时间会缩短。因此,HR长度变短。当仿真结束后,HR就等于一轮。这些数据表明,利用模糊逻辑系统能够依据节点能量动态地决策HR长度,有效地平衡节点间能量。
图7 HR长度
2) 实验二
本次实验分析构建簇所消耗的能量占总消耗的能量的百分比,将此指标称为簇开销比。实验数据如图8所示。
从图8可知,与采用基于轮的策略的EHEED和EDIT算法相比,提出的FL-EAC路由有效地控制了开销。原因在于:FL-EAC路由减少了重构簇的次数。而EHEED算法具有最高的构簇开销比,原因在于它需要多条消息才能形成簇,增加建立簇开销的能耗。
图8 构簇能耗比
3) 实验三
本次实验分析网络寿命随节点数和离信宿距离的变化情况,实验数据如图9、图10所示。
图9 节点数对网络寿命的影响
从图9可知,与EDIT和EHEED算法相比,FL-EAC路由的网络寿命得到有效提高。原因在于:FL-EAC路由采用分布式能量感知算法选择CHs,平衡节点间的能耗。此外,随着节点数的增加,FL-EAC算法的网络寿命并没有下降。
图10 离信宿距离对网络寿命的影响
图10的离信宿距离为信宿离感测区域中心位置的水平距离。换而言之,当信宿位于区域中心位置,则距离为零。在这种情况下,稳定阶段的能耗比信宿远离区域中心环境下的能耗降低了不少。原因在于:在稳定阶段中传感节点所消耗的能量主要取决于节点离信宿距离。
因此,当信宿位于感测区域中心时,节点能量的大部分消耗于稳定阶段。相比于EDIT和EHEED算法,FL-EAC路由降低了构簇开销,因此,它获取较长的网络寿命。此外,即使信宿位置远区域,FL-EAC算法降低了能耗,相比EDIT和EHEED算法,网络寿命得到有效地提高。
3 结论
提出基于模糊逻辑系统的能效感知的簇路由FL-EAC。与传统轮策略不同,FL-EAC路由是在每个超轮的开始时重构簇,减少了构簇次数,降低能耗。利用模糊逻辑系统决策超轮长度,使得超轮长度能够依据节点剩余能量和距离进行变化。实验数据表明,提出的FL-EAC路由算法降低了能耗,延长了网络寿命。