基于TEEN路由协议的改进型数据融合算法
2013-01-29张俊涛陈晓莉
张俊涛, 李 媛, 陈晓莉
(陕西科技大学 电气与信息工程学院, 陕西 西安 710021)
0 引言
无线传感网络是基于无线通信、微电机系统等学科发展起来的一个短距离无线通信技术,是由部署在监测区域内大量微型传感器节点组成的,通过无线通信方式形成的一个多跳的自组织网络系统,目的是协作地感知、采集和处理网络覆盖区域中感知对象的信息并发送给观察者[1].
依照应用模式的不同,无线传感网络分为时间触发型和事件驱动型.时间触发型网络持续监测被观测量,并以恒定速率发送数据;而事件驱动型则仅在被观测量发生突变时才传送数据.TEEN是为事件驱动型无线传感网络而设计的路由协议.针对TEEN协议在应用中的不足,本文提出了一种基于TEEN路由协议的改进型数据融合算法.
1 TEEN协议分析
TEEN协议采用类似LEACH协议的分簇算法.不同的是,随着簇首节点的选定,基站通过簇首节点使用TDMA方法实现数据的调度,并向簇内成员广播有关数据的硬阈值(HT)和软阈值(ST)两个参数,只有同时满足两个门限时节点才发送数据[2,3].TEEN路由协议的拓扑结构如图1所示.
图1 TEEN协议的拓扑结构
1.1 簇的建立
每个传感器节点从0到1的随机数中任意选择一个数值,若当前轮中这个数值小于设定的阈值T(n),则该节点成为簇首,并向周围节点广播自己成为簇首的消息以及硬阈值和软阈值.网络中的非簇首节点根据接收信号的强度决定加入哪个簇,并通知相关簇首.T(n)的计算公式为:
(1)
其中,p为簇首占所有节点的百分比,r为已完成的轮数,G为前1/p轮中未成为簇首的节点集[2].
簇首选定后向簇内节点广播硬阈值、软阈值和TDMA规划.
1.2 数据传输
传感器节点不断的采集周围的环境数据,当采集到的数据值到达硬阈值时就将此数据传送到簇首节点.之后如果该节点再次采集的数据大于硬阈值并且与前一次发送的数据之差大于等于软阈值,则会再次打开收发装置,发送新检测到的数据.硬阈值与软阈值在每次新簇建立时由簇首设定[4].这一机制使得网络能对突发事件做出快速反应,而不必等到基站来定期查询,再从查询的数据中提取紧要事件.
1.3 存在不足
TEEN协议在实际应用中也存在缺点,主要体现在以下几个方面:
(1)簇首节点选择算法随机性过大.在每轮的簇首选择阶段,任何节点成为簇首的概率相同,当能量较低的节点当选为簇首时必然会导致其能量的快速耗散以至死亡,影响网络的生存时间.
(2)簇首节点与基站间距离较大时,若仍采用一跳的形式进行通信,则能量消耗很大.
(3)不适合应用在需要周期性采集的系统中,如果网络中节点采集的数据长时间达不到硬阈值或不满足软阈值,那么节点就不会与基站进行通信,用户无法得到网络的任何数据.
(4)没有提出具体的数据融合方法.
2 改进型TEEN协议
针对TEEN协议的不足,本文提出了一种基于TEEN路由协议的改进型数据融合算法,目的在于降低能耗,延长系统寿命.
2.1 簇首选择改进算法
为了延长系统寿命,提出新的簇首选择改进算法如下,每个传感器节点从0到1的随机数中任意选择一个数值,若当前轮中这个数值小于设定的阈值T(n),则该节点成为簇首,并向周围节点广播自己成为簇首的消息以及硬阈值和软阈值.T(n)的计算如下所示:
(2)
其中,p为簇首占所有节点的百分比,r为已完成的轮数,G为前1/p轮中未成为簇首的节点集,Erest、Eused、Eaverage分别代表节点上一轮的剩余能量、节点上一轮使用的能量和节点所属簇内所有节点上一轮的平均剩余能量.在第r轮时,如果当Erest 在网络建立阶段,基站以一个给定的发送功率向网络内广播一个信号,每个传感器节点在接收到此信号后,根据接收信号的强度计算它到基站的近似距离.当簇首节点与基站之间的距离d小于簇的最大范围R时,簇首直接与基站进行通信.当簇首节点与基站之间的距离d大于簇的最大范围R时,簇首采用多跳路由方式与基站进行通信.在路由算法开始时,每个簇首节点向整个网络广播一条消息,每个节点都根据接收到消息信号的强弱计算与其的距离[7,8]. 在TEEN协议中定义一个计数器,该计数器能够使得即使在所采集的数据没达到硬阈值或不满足软阈值的情况下也能周期性发送数据,即只要计数器满足或者达到阈值条件都会触发数据发送,并且每次发送数据时清零计数器.这样系统不但可以感知突发情况,也可以定时向监控中心传回系统数据. 本文采用分批估计算法,它是一种基于Kalman滤波的融合方法,是由Kalman滤波公式递推出来的.分批估计就是先将数据进行分批处理,然后再进行目标的最优状态估计,因为选取的线性系统和传感器的噪声是高斯分布的白噪声,所以就采用Kalman滤波进行目标的状态估计和预测.至于分批方式可按照节点属性进行分批[9-11]. 以测量湿度为例,在一片果园内随机放置20个湿度传感器节点.将20个测量值平均分为2组,其中第1组湿度序列为Ha1,Ha2,…,Ha10,第2组湿度序列为Hb1,Hb2,…,Hb10,则两组数据的平均值分别为: (3) (4) 对应的方差分别为: (5) (6) 假设湿度的真实值为HH,则湿度的测量方程为H=UHH+V,其中H是湿度的测量值,U为系数矩阵,V为测量噪声.采用分批估计的算法,则测量方程可变为: (7) (8) 分批估计时,在测量之前没有任何有关湿度的统计资料,因此P-=∞,(P-)-1=0.则湿度融合值的方差为: P+=[(P-)-1+UTR-1U]-1= (9) 分批估计湿度数据融合值为: (10) (11) 簇首节点将进行完分批估计的湿度数据融合值传送至基站. 本文采用NS-2网络模拟器对TEEN协议和改进型TEEN协议在节点存活数目、网络数据通信量和网络能量消耗3个方面进行比较,以此检验改进型TEEN协议的性能[12]. 仿真模拟系统是由250个无线传感器节点组成.节点分布在(x=0,y=0)和(x=200,y=200)的200×200 m2的正方形区域内,节点放置后不移动,基站所在位置的坐标为(x=150,y=250),传感器节点初始能量为25 J,仿真时间为4 500 s. 采用改进的TEEN协议对传感器节点进行簇首的选择与分簇.以下为程序的主要代码. void selectcluster() {if(node.Energy>0 && node.G<=0) //确定候选簇首 … rand=_mparam.Rand.NextDouble(); //选取随机数 tmp=Math.Round(1.0/p); prob=p*((_mroud+1)%tmp); prob=p/(1.0-prod); e=(node.Energy.rest-node.Energy.used)/ (node.Energy.aver-node.Energy.used); tn= prob*tmp*e if(rand node.NodeState= Node.State.Cluster; //设为簇首 … } 在仿真过程中对网络中节点存活数目、数据通信量和能量消耗3个方面进行记录.图2为两种数据融合算法网络中存活节点个数的对比.图3为两种数据融合算法网络中数据通信量的对比,其中采用基站成功接收的数据包数量作为衡量网络中数据通信量的依据.图4为两种数据融合算法的网络能耗对比. 图2 网络中节点存活数目 图3 网络中数据通信量 图4 网络中能量消耗 通过图2可以看出,使用TEEN协议时,在2 900秒左右时所有节点全部“死亡”.而使用改进型TEEN协议,网络中所有节点“死亡”的时间大概是在4 300秒.即采用改进型TEEN协议的节点存活率高于TEEN协议.通过图3可以看出,改进型TEEN协议能够有效地减少网络中的数据通信量,节省网络中的能量消耗.通过图4可以看出,改进前TEEN协议在网络运行到3 300秒时,节点能量几乎耗尽,而改进型TEEN协议在网络运行到4 200秒左右才耗尽所有能量.所以,改进型TEEN协议可以有效的延长网络的生命周期. 本文在TEEN协议的基础上进行改进,提出了一种基于TEEN路由协议的改进型数据融合算法.改进主要体现在以下几个方面:首先,在簇首选择算法上加入了能量控制机制,让剩余能量高的节点有更高几率当选为簇首.其次,将簇首到基站的单跳改为多跳,降低了与基站过远的簇首能量的消耗.第三,加入数据周期性采集的策略,完善了周期查询与特殊事件相应的机制,集中了时间触发型网络与事件驱动型网络的优点.最后,采用了基于分批估计算法的数据融合策略,降低信息的传输量.在NS-2上的仿真结果证明,基于TEEN路由协议的改进型数据融合算法可以降低无线传感器网络的整体能耗,有效地延长网络的生存期. [1] 尚凤军.无线传感器网络通信协议[M].北京:电子工业出版社,2011. [2] 李善仓,张克旺.无线传感器网络原理与应用[M].北京:机械工业出版社,2008. [3] 王宇翔.无线传感网络中路由协议的研究[D].南京:南京邮电大学,2011. [4] Manjeshwar A,Dharma P.TEEN:A routing protocol for enhanced effciency in wireless sensor networks[C]//The 15th International Parallel & Distributed Processing Symposium.San Francisco:California,2001:23-27. [5] 姚光顺,温卫敏.改进的无线传感器网络簇首选择策略及其路由算法[J].计算机应用,2013,33(4):108-911. [6] 李飞燕.无线传感器网络分簇路由簇首选择算法研究[D].长沙:长沙理工大学,2012. [7] 屈 斌,胡访宇.高效节能的无线传感器网络路由协议研究[J].计算机仿真,2008,25(5):113-116. [8] 洪 刚,汤宝平,裴 勇.基于最低能耗路径的分簇路由算法[J].计算机仿真,2012,29(10):177-180. [9] 康耀红.数据融合理论与应用[M].西安:西安电子科技大学出版社,2006. [10] 张西良,孙 优.无线传感器网络基于定向扩散与分批估计的数据融合算法[J].微计算机信息,2006,35(25):173-179. [11] 邱 爽.无线传感器网络数据融合算法研究[D].武汉:武汉理工大学,2008. [12] 陶 骏.WSN中LEACH路由算法的改进及应用研究[D].苏州:苏州大学,2010.2.2 簇首间多跳路径的建立
2.3 数据的周期性采集
2.4 数据融合策略
3 仿真实验
3.1 仿真参数设置与程序编写
3.2 仿真结果分析
4 结束语