一种无线传感器网络链式传输分簇路由协议*

2014-09-25 08:03赵菊敏张子辰李灯熬
传感器与微系统 2014年3期
关键词:消耗路由基站

赵菊敏, 张子辰, 李灯熬

(太原理工大学 信息工程学院,山西 太原 030024)

0 引 言

无线传感器网络是由布设在某检测区域内大量的无线传感器节点所构成。其通过无线信号传输通信的方式,组成一个自组网络,并通过节点间多跳的方式传播信号[1],最终将信号传送到相应基站(中心汇聚节点)。无线传感器网络具有对其所覆盖的环境进行数据采集、环境监控、时间同步定位等功能,已经大量应用到军事国防、生物医疗、抢险救灾等领域[2]。

在无线传感器网络中,路由的选择极为重要,一个较好的路由可以增长网络的存活时间,提高网络的稳定性。现阶段LEACH( low energy adaptive clustering hierarchy)路由协议是一种最经典最成熟的路由协议。其利用分簇的方式,将网络分为几个小部分,在簇内各个节点将信号传递给簇头,再由簇头传送给基站。LEACH协议具有一定的局限性,在特定环境下可能会造成网络不稳定和不能正常工作的情况。本文设计以LEACH算法为基础,提出了一种适应长直空间环境,信号从内部单向传输到外部(基站位置)的链式传输分簇路由路由协议(cluster-based routing protocols of chain transmission,CRPCT)。本协议中簇头节点不是直接将信号传递给基站,而是由空间内部的簇头采用链式的方法逐一向外部传输,克服了内部节点死亡过快的问题。同时,簇内也采用链式传输。在簇头和成簇半径的选择上也做了改进,稳定了成簇个数。最终降低了网络的能量消耗,提高了稳定性。

1 网络模型与能量模型

1.1 网络模型

本文采用随机播撒无线传感器的方法布设传感器节点,这种方法可以较为均匀的随机布设传感器节点,这样在部分节点死亡后,整个网络依然可以保证正常的工作,大大提高了整体网络的稳定性。同时假设传感器网络满足以下条件:

1)无线传感器节点被随机的分布在某个M1×M2的区域,同时,每个传感器节点在整体工作网络中只有唯一身份(地址)标识。

2)所有传感器节点都应安装有GPS模块,并可以在所布设的环境条件下准确地测算出自身地理位置。

3)基站和所有节点在网络生存周期内都是静止不动的,并且基站搭建在离传感区域不远的某位置。同时,传感器节点与基站之间的通信能耗应远大于普通节点相互之间正常通信的能耗。

4)在网络中,所有传感器都为同一种传感器,并且节点都是能量受限的。

5)节点可根据数据传输距离的不同,小幅度地调整传感器自身的发射功率。

6)传感器节点能量都由自身电池提供并且不能更换,当节点初始能量耗尽后节点即死亡。

7)基站能量不受限制,计算和存储能力较强。

1.2 能量模型

传感器节点所消耗的总体能量由接收模块、发送模块等因素组成;发送模块的能耗由信号发送电路消耗的能量和放大电路所消耗的能量共同组成,如图1所示。

图1 网络能耗模型

发送模块发送电路消耗能量数学模型为[3]

ET=ET×Efs+Efs×dλ=Eelec×k+Efs×k×d2,d≤d0,

(1)

ET=ET×Efs+Efs×dλ

=Eelec×k+Eamp×k×d4,d>d0.

(2)

接收模块所消耗的能量数学模型为[3]

ER=Eelec×k,

(3)

式中ET,ER分别为发送部分与接收部分传感器所消耗的能量,k为数据量值参数,Eelec为发送1 bit数据电路的消耗。由于无线通信存在远距离传送信号,因此,传输模式分为自由空间模型和多径衰落模型。当d≤d0,采取自由空间模型,同时,Efs为自由空间衰减放大器的能量消耗模型参数[4]。当d>d0,采取多径衰落模型,Eamp为多径衰落放大器的能量消耗模型参数[4]。

2 算法描述

2.1 通信数据传输

无线传感器网络在某一长直空间内进行通信,通信信号需要由内部(最深处)传输到外部,基站位于长直空间的最外端。很明显较深处的节点要比靠外的节点消耗能量多,因此,LEACH协议在这种长直空间内应用会遇到多种困难,例如:较深处节点死亡过快,分簇不均匀等。为了适应此环境,本文设计了新的簇头选择方式,采用不同的分簇方法,节点链式联通结构和簇头节点多跳的传输方式来克服长直空间内节点数据单向传输等问题。通信数据流向如图2。

图2 数据流向图

由图2非常明显看出:在空间较深处(距离基站较远)的节点在进行传输数据时,需要传输更远的距离(相比于空间中距离基站较近的节点)。因此,会损耗更多的能量。

1)在簇建立阶段,针对于LEACH的簇头分布不均匀和能量过小的节点仍有可能被选为簇头的不足,本算法采用一种适长直空间的阈值设定方法[5]

n∈G.

(4)

2)在数据采集融合阶段,簇头采用多跳的传输方式,这样更加适合长直空间的数据传输。簇头节点不再单独直接传送数据给基站,而是将全部簇头节点根据其剩余能量与到基站的距离;首先确定根节点,再将每个簇头以多跳的方式联接起来。设立权重值

(5)

其中,Ec为节点剩余能量,Estart为节点初始能量,Dsink为节点到基站距离。[6]各个簇头通过公式计算出权值,选择权值大于自己,并且距离自身最近的簇头为自己的父节点;以此类推,网络中权值最大将成为最终根节点,簇首应该距离基站较近,并且直接发送信息给基站,其示意图如图3,图4。

图3 簇头将数据直接传送到基站

图4 簇头采用多跳方式传输数据

3)普通簇节点是成链的方式向簇头节点传送数据,簇成员分别从簇头的2个方向以贪婪算法形成2个节点链,汇聚到簇头上。这样,每个簇节点就可以只接收发送融合数据1次,大大降低了节点的能耗。节点能耗模型如下

Ec=2×k×(Eelec+Ed).

(6)

其中,Eelec为发送1 bit数据消耗的能量,Ed为融合1 bit数据所消耗的能量[7],k为传送数据量。LEACH算法的节点能耗模型为

Eleach=(n-1)×k×(Eelec+Ed).

(7)

因此

ΔE=Eleach-Ec=(n-3)×k×(Eelec+Ed).

(8)

很明显,采用链式传输结构可以节省节点消耗能量。

2.2 算法执行方法

本算法采用与LEACH相似的的执行方法,整个流程分为簇建立和稳定阶段2个阶段。簇的建立又包括簇头的选择和分簇等阶段,之后还要进行簇间多跳和簇内成链的簇重组阶段。稳定阶段主要是数据采集和传输。一个轮次的时间就是簇建立阶段的时间和稳定时间的总和,这其中稳定阶段的时间必须大于簇建立阶段的时间[8]。其示意图如图5。

图5 算法协议的运作周期图

算法执行步骤如下:

簇头选取过程中,各节点计算自身剩余能量,并且计算出修改后的阈值和权值后,确定簇头节点。确定簇头节点后,各个簇头节点向外广播簇头信息Head_massege,告诉周围节点自己是簇头并广播自身ID和权值,同时建立3个集合cluster_choices ,cluster_M和cluster_Dist分别存放其他簇头ID,其他簇头的权值和其他簇头到本簇头的距离;之后,等待普通节点发送join信息。各个节点根据成簇半径Ri计算自身位置,根据接收簇头信号的强度和ID选择离自己距离较近的簇首发送 Node_massege信息和join信息要求加入该簇,簇建立完成。

分簇完成后进行簇头多跳和簇间链式传输的簇重组阶段。首先各个簇头通过上次收到得其他簇头权值,确定根节点与自身父亲节点。在自身的Head_next中存储自己父亲节点的ID,准备在发送信息的时候将信息直接发送给父亲节点。簇成员节点也采用成链的方式进行数据传输。在一个簇内两端距离簇头最远的2个节点向簇头以贪婪算法形成2个节点链,向簇头传递信息[9]。节点分布图如图6、图7。

图6 LEACH算法节点分布图

图7 CRPCT节点与分簇分布图

由图6中LEACH节点分布图可以看出实心节点为簇头节点,簇头节点明显分布不均匀,而且有的簇头节点相邻过近,这样会在很大程度上影响算法的执行,增大能耗。图7中显示簇内节点的链式连接结构,虚线为簇头多跳连接示意,实线圆圈为簇头成簇半径,实直线范围内为每一块的分簇范围。CRPC算法的簇头明显分布均匀,克服了LAECH算法分簇不均的问题。

图8、图9分别为算法的死亡节点示意图,小星号是死亡节点,CRPCT死亡节点从左下方基站位置开始,符合算法要求。

图8 LEACH算法死亡节点示意图

图9 CRPCT算法死亡节点示意图

数据采集阶段,本算法采用以TDMA[10]时隙数据从簇成员传输链最外端的簇节点向簇头传输数据,并最终将数据传输给簇头。簇头进行数据融合处理后,再以CDMA编码方式进行簇间数据传输,目的是为了减小簇间干扰并最终以多跳的方式传输到基站。算法的执行流程如图10。

图10 算法执行流程图

3 仿真结果

为了测试CRPCT性能,本文采用Matlab进行模拟仿真。实验设计参数如下:

1)整个无线传感器网络覆盖区域为200 m×200 m的区域内;

2)基站位置为坐标(-50,-50)m点;

3)传感器节点个数为200;

4)每个节点的初始能量为0.5 J;

5)数据分组大小为2 000 bits;

6)发送1 bit数据消耗的能量Eelec为50 nJ;

7)融合1 bit数据所消耗的能量Ed为5 nJ。

本文将对系统生命周期和总体能耗进行的仿真,对比LEACH算法与CRPCT算法,突出本算法的优越性。

图11为系统生命周期图, LEACH算法大概在180轮时出现第一个死亡节点,620轮左右节点全部死光,而CRPCT算法大约在700轮左右才出现第一个死亡节点,1000轮左右节点才全部死光,很明显CRPCT算法大大推迟了节点死亡的时间,并且从图中可以看出CRPCT算法的曲线相对平滑,这证明本算法比LEACH更加稳定。

图11 系统生命周期图

图12为网络总体能耗图,很明显CRPCT算法在1 000轮左右能量消耗完,而LEACH算法在600轮左右能量就已经消耗完,CRPCT比LEACH提高了近70%,大大节省了能量,并且曲线平滑,提高了稳定性。

图12 网络总体能耗图

4 结束语

本文采取链式传输路由协议去解决长直空间内较深处加点能量消耗过大和节点死亡过快问题。显著特点为:1)添加簇头阈值参数,使能量消耗分布均匀,避免簇头节点相邻过近,同时适应长直空间环境。2)簇内形成链式传输,簇间簇头成链多跳传输,减少节点间传输能量消耗,提高系统的稳定性。同时,本算法继承了LEACH算法的操作简单,算法执行率高的特点,有很高的可行性和创新性。

参考文献:

[1] 严 英,郭 丽,许建真.一种基于 LEACH 与 PEGASIS 协议的分层成链优化路由算法[J].传感技术学报,2011(9):1311-1312.

[2] 张 鹏.基于能量优化的无线传感器网络LEACH路由协议的研究与仿真[D].武汉:武汉理工大学,2010:2-3.

[3] 杜 宽.无线传感器网络路由节能算法[D].沈阳:沈阳工业大学,2011:26-27.

[4] 刘铁流,巫咏群.一种新型的基于分簇的无线传感器网络多跳节能路由协议[J].信息与控制,2012(2):27-31.

[5] 李振科,陈国定,王淑华.基于 LEACH 协议的改进路由算法[J].计算机应用,2009(12): 63-65.

[6] 李推卿.基于分簇无线传感器网络低能耗安全路由协议的研究[D].武汉:武汉理工大学,2009:49-50.

[7] 王声荣.无线传感器网络LEACH协议的研究与改进[D].济南:山东大学,2008: 17-19.

[8] Heinzelman W.Application specific protocol architectures for wireless networks[D]. Boston: Massachusetts Institute of Technology,2000.

[9] Akcan H,Bronnimann H.A new determi-nistic data aggregation method for wireless sensor networks[J].Signal Processing,2007,87(12): 2965 -2977.

[10] 杜 卫.无线传感器网络路由协议研究[D].南京:南京邮电大学,2008:21-22.

猜你喜欢
消耗路由基站
玉钢烧结降低固体燃料消耗实践
转炉炼钢降低钢铁料消耗的生产实践
降低钢铁料消耗的生产实践
铁路数据网路由汇聚引发的路由迭代问题研究
我们消耗很多能源
探究路由与环路的问题
基于移动通信基站建设自动化探讨
可恶的“伪基站”
基于预期延迟值的扩散转发路由算法
基于GSM基站ID的高速公路路径识别系统