王自力,郑 鑫
(1.驻马店职业技术学院,信息工程系,河南 驻马店 463000;2.黄淮学院 信息工程学院,河南 驻马店 463000)
尽管无线传感网络(Wireless Sensor Networks,WSNs)已在多类领域使用[1],如智能家居、环境检测,但WSNs的能耗问题一直是研究人员的关注焦点。WSNs内的节点属微型设备,多数节点是小型电池供电。而且WSNs常部署于野外环境,当电池电量耗尽,也不便于更换电池[2]。据此,如何充分利用WSNs的有限能量是亟待解决的问题。
传输数据消耗了节点的大部分能量。换而言之,以低能耗地传输数据能够降低能耗。而有效的路由就能高效、低能耗地完成数据传输。其中簇路由[3]是解决WSNs能耗问题的有效方法。
图1显示了典型的簇路由拓扑结构。先依据节点位置、距离等信息形成簇。每个簇产生一个簇头(Cluster Head, CH)。由CH收集簇内节点的感测数据,并由CH负责簇与簇间的通信。最终,由CHs构建了向基站(Base Station)传输数据的路径,如图1所示的黑色箭头线所示。
图1 典型的簇路由拓扑结构
尽管簇路由能够降低能耗,但如何构建簇以及CH的轮换机制影响能量消耗问题。事实上,构建簇本身是需要消耗节点能量[4]。在构建簇初始阶段,节点需收集邻居节点信息,竞争产生簇头。这个过程,需要消耗节点能量。此外,CH不但需收集簇内节点数据,还需承担簇间通信。CH的能耗速度大于节点的能耗速度。因此,需引用轮换机制,由不同的节点承担CH,进而平衡节点间的能耗。
CH的轮换机制就涉及到簇的重构问题。文献[5-7]对簇的构建进行较深入的探讨。但是,它们在构建簇时均采用固定周期。在每一轮(Round)内就构建一簇,这必然加大了构建簇的能量消耗。即在第一轮构簇,而在下一轮再重构簇,文献[5-15]均采用了此策略。
依据基于轮的策略中,如果一轮过长,则CHs承担的任务过多,这将消耗了CHs的过多能量。反之,若轮过短,则簇的拓扑将频繁地变化,将在建立阶段消耗过多的能量,而不是在数据传输阶段。因此,决定一轮的时长是非常关键的。
为此,提出基于模糊干扰系统的构簇策略(Fuzzy inference-based Clustering-Task Scheduling, FI-CTS),并形成FI-CTS路由。FI-CTS路由充分利用模糊干扰系统在决策方面的优势,并由模糊干扰系统决策轮的长度。FI-CTS引用复轮概念,一个复轮由多个轮构建。并非每轮都构建簇,而是一个复轮内才构建一次簇。仿真数据表明,提出的FI-CTS路由能有效地降低能耗,延长网络寿命。
引用图2所示的能耗模型[12]。节点每传输q比特的数据所消耗的能量ETX(q,d):
其中,d为传输距离。Eelec表示传输单比特数据能耗。Efrris、Etworay分别表示自由空间、双径传播模型下能耗参数[14-15]。
图2 无线电能量消耗模型
节点每接收q比特的数据所消耗的能量ERX(q):
ERX(q)=q*Eelec
(2)
(3)
FI-CTS路由引用复轮策略。每个复轮内含有多个轮,且第一轮内有簇建立阶段和数据传输阶段。与传统的轮结构不同,FI-CTS路由规定只在复轮内的第一个轮的簇建立阶段构建簇,而后面的轮内并不构建簇,如图3所示。
图3 复轮结构图
依图3可知,尽管一个复轮内含有多个轮,但是并非每个轮内都启动簇构建工作。那如何控制复轮的长度呢?即一个复轮内含有多少个轮?复轮长度决策了路由协议性能。为此,引用模糊干扰系统决策复轮长度。
1.4.1 模糊干扰系统
模糊干扰系统(Fuzzy Inference System, FIS)能够有效地处理多输入单输出的决策问题。而复轮的长度受多个因素决定。因此,FI-CTS路由利用FIS决定复轮长度[14]。
将簇头CH的剩余能量以及簇头CH离基站的距离信息作为FIS系统输入,输出为复轮的长度。若剩余能量越高,复轮长度就可越长。反之,剩余能量越低,就需马上轮换CH,复轮长度越低。
如图4所示,将可用能量百分比和相对距离表征节点的剩余能量和相对距离。
图4 FIS系统
令Uei表示簇头CHi可用能量百分比,其定义如式(4)所示:
(4)
令Dri表示CHi的相对距离,其定义如式(5)所示:
(5)
其中Di,BS表示节点i离基站(Base Station, BS)的距离。而Dmax、Dmin分别表示邻居节点中离基站的最远、最小的距离。节点利用RSSI估计距离。
将Uei、Dri作为FIS输入,输出为Ot。再由Ot决定本次复轮长度Lsr,其定义如式(6)所示:
(6)
1.4.2 隶属函数
模糊干扰系统的输入为语言变量。为此,将可用能量百分比Uei设置5级语言变量,分别为:复低(very low)、低(low)、中(medium)、高(high)、复高(very high)。类似地,将相对距离设置为3级语言变量,分别为:近(close)、适中(adequate)和远(far)。图5显示了输入变量的隶属函数。
图5 输入变量隶属函数
表1表述了的模糊干扰系统的逻辑规则。模糊干扰系统依据这些规则[15],将输入变量转化成输出变量。从表1可知,输出变量分为了8个等级:
Ot={Verylow,low,ratherlow,mediumlow,medium,
mediumhigh,ratherhigh,high,veryhigh}
(7)
表1 规则库
为了更好地分析FI-CTS路由的性能,依据Matlab软件建立平台[15]。仿真参数如表2所示。每次仿真独立重复50次,取平均值作为最终的数据。
表2 仿真参数
同时,为了更好地分析FI-CTS路由的性能,选用EHEED路由和EDIT路由进行比较。EHEED路由是基于HEED路由的改进,它采用多跳路径完成簇间通信。而EDIT算法降低了在簇构建过程中的消息交互,并且将节点剩余能量作为CH选择的基本指标。
在仿真过程中,选择EHEED路由和EDIT路由进行进行同步仿真,并进行性能分析。主要分析的簇开销、数据包传递时延、传输时延和能耗问题。其中,用网络寿命表征能耗。
2.1.1 实验一
本次实验分析复轮长度变化。实验数据如图6所示。
图6 复轮长度
从图6可知,复轮长度随时间在变化。这也说明FI-CTS路由能够动态地依据簇头CH能量和距离,调整复轮长度。在仿真时间最初,复轮长度很长。原因在于:最初CHs的能量充足,能够承担一段时间内的簇开销。然而在基于轮的策略中,能量充足的CHs必须在每轮重构簇,浪费了能量。随着时间推移,节点剩余能量逐渐下降,加快了负载平衡的节奏。
2.1.2 实验二
本次实验分析构簇开销随轮的变化情况,实验数据如图7所示。
图7 重构簇能耗比例
图7显示了重构簇所消耗的能量占总能耗的比例。从图7可知,FI-CTS路由的重构簇能耗最低。这主要是因为:FI-CTS路由动态地调整复轮长度,并非在每轮产生簇头,减少了重构簇的次数。但EHEED路由在重构簇消耗了最多能量。
2.1.3 实验三
本次实验分析网络寿命性能,其分析了离基站距离对网络寿命的影响。
从图8可知,离基站距离远长,网络寿命逐渐缩短。原因在于:距离越长,传输数据的路径越长,能耗越大。从式(1)可知,能耗与传输距离直接相关。从图8可知,FI-CTS路由的网络寿命最长,远高于EDIT和EHEED路由。例如,在距离100m,EDIT和EHEED路由的网络寿命低于1100轮,但FI-CTS路由的网络寿命达到1300轮。
图 8 离基站距离对网络寿命的影响
2.1.4 实验四
本次实验分析FI-CTS路由的数据传输时延,节点数从150~450变化。
从图9可知,FI-CTS路由和EHEED路由的传输时延相近,但远低于EDIT路由的时延。尽管FI-CTS路由旨于在降低重构簇能耗,但是其并没有降低传输性能。但FI-CTS路由的传输时延并不优于EHEED路由。
图9 数据传输的端到端传输时延
2.1.5 实验五
最后,分析FI-CTS路由的数据包传递率。数据包传递率等于基站成功接收的数据包数与节点所发送的数据包数的比值。数据包传递率越高,表明路由传输性能越好。
从图10可知,提出的FI-CTS路由的数据包传递率最高,优于EDIT和EHEED路由。这要归结于:FI-CTS路由选择剩余能量高的节点作为簇头,并由簇头的剩余能量和距离信息决策复轮长度,避免节点因能耗殆尽而失效。失效节点数越少,数据传输越顺利。最终,提高了数据包传递率。
图10 数据包传递率
针对WSNs簇路由的能耗问题,提出FI-CTS路由。FI-CTS路由在不降低簇路由性能条件下,减少重构簇的次数,进而减少构簇能耗。FI-CTS路由利用簇头能量和离基站距离信息作为模糊干扰系统的输入,由系统输出量决策复轮长度,进而动态地调整复轮长度。仿真结果表明,提出的FI-CTS路由能够有效地降低能耗,并提高了数据传输性能。