智能实训室环境下的低功耗时间同步算法研究
2020-12-29张鸰陈燕飞
张鸰 陈燕飞
摘要:作为高职院校重要的教学场所,实训室建设随着信息化技术进步也得到了长足的发展。目前基于物联网环境,将传感器、RFID、ZigBee、嵌入式、数据库和软件开发等技术综合运用的智能化实训室也应运而生,在智能实训室中,负责数据采集和通讯的无线传感网络搭建具有非常重要的核心地位。本文从簇头同步和簇内同步两个方面提出了时间同步的算法思路,应用于WSN节点时间的同步过程,旨在降低智能实训室系统的传感器节点耗能,从而增加采集端在实训室环境中的可靠性和耐用性。
关键词: 智能实训室;物联网;无线传感网;时间同步算法
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2020)30-0217-02
1 基本概念
目前主流的智能化实训室均以物联网技术为基础,而无线传感器网络(Wireless Sensor Networks, WSN)则是物联网体系中数据感知和传输的核心,这里的WSN属于分布式系统,而时间同步则是所有分布式系统均需要考虑并解决的一个关键问题。在WSN中传感器节点体积非常小,但是却肩负着数据采集重任,其所采集的信息包含了时间和空间的相关内容,因此各个节点必须能够实现相互协同、数据融合、协同休眠等基本协助关系,这些都是以精准的时间同步为基础才能实现的。
目前主流时间同步机制一般采用的是全球定位系统 (Global Positioning System,GPS),通过卫星可以实现纳秒级的时间同步精度,但是受体积和成本的因素不适合WSN环境。网络时间协议也是被广泛应用的时间同步方式,但是它也存在拓扑结构固定,能量利用率不高,建设成本高同样不适合WSN。考虑到WSN中主要的能量消耗是在通信阶段(数据发送和接收环节),节点本身的功耗仅占5%左右,因此很多学者们提出过自己的时间同步算法,但是现有算法在能耗处理方面,依然无法满足WSN的节能需求。
2 算法需求
根据WSN的特征,在设计基于WSN的时间同步算法时需要考虑下面三个内容:(1)时间延迟,时间延迟决定了同步的精度,而同步精度则是同步算法性能的关键指标。在WSN中时间延迟包括:发送、传输、接收和处理等时间延迟,消除这些延迟是时间同步算法首先要解决的问题。(2)降低能耗,WSN中的传感器节点大部分属于一次性布设,其供电基本上靠电池来保障,因此节省能耗是非常重要的环节,特别是对于通信模块的节能设计更是核心,因为95%能量消耗就发生在数據通信的过程中。(3)可扩展性,WSN是一个动态可扩展或者收缩的网络,他的拓扑结构不固定,这就决定在算法设计的时候必须考虑整个网络节点的可扩展性,从而保证时间同步的精度。基于WSN的特点,目前较为常见的时间同步算法有RBS算法、TPSN算法、Miny-Sync算法、FTSP算法等。表1做出了以上几种时间同步算法的比较:
表1 典型的时间同步算法
[
特点 算法 RBS TPSN Miny-Sync FTSP 扩展性 较差 很差 很差 好 同步精度 一般 较高 低 高 消息延迟 传播时延和接收时延 接收时延 传输时延、传播时延和接收时延 传播时延 同步范围 子网 全网 子网 全网 复杂度 中等 中等 高 中等 通信开销 每个同步周期发送1.5个同步信息 每个同步周期发送2个同步信息 每个同步周期发送2个同步信息 每个同步周期发送1个同步信息 网络拓扑 多个参考节点。在各自参考区域内同步 分层结构 分层结构 只有一个ID最小的节点作为参考节点 ]
3 算法描述
3.1 簇头选举算法
在WSN的组建过程中,一个非常重要的环节就是节点分簇,高效的节点分簇算法能够极大地降低网络开销和提升数据融合。这里我们采用DEEC (Distributed Energy Efficient Clustering Algorithm, 分布式能量有效分簇算法),采用了簇头选举策略,通过对每个节点初始、剩余能量的判断来选择簇头,也就是说剩余能量越大越有机会成为簇头,即该算法根据能量来选择簇头。具体来说利用DEEC算法选取簇头时,会对网络中所有节点按照一定周期随机选取,它是在0到1之间的一个随机数,如果这个数小于[Ti]则为簇头,该簇头在能力范围内进行广播,接收到消息的节点加入改簇。如果同时接收到两个甚至多个簇头发送的消息则根据信号强弱选择加入最强的簇。[Ti]具计算方式如下:
利用分簇思想来建立WSN层次,根节点(Sink)广播其0层次和ID信息,接收簇头更新为1层,继续将其层次和ID信息广播,收到的簇头节点层次号+1,依次推广更新所有节点,层次建立完成。具体流程如图1和图2所示。
3.3 算法优化
针对经典同步算法进行分析可知,簇头和簇内节点之间会使用不同的时间同步策略。簇头同步:因为簇头本身是下层的时间参考节点,在同步过程中会产生误差时间的累积,需要采用数学方式来减少误差提升同步精度。簇内同步:簇内节点相互进行同步操作时,可以采用随机监听信道的方式,达到与簇头间的时间同步,降低多余的通信开销,进而降低能耗。
3.3.1 簇头同步算法设计
这里我们在经典算法的基础上,采用贝叶斯估计的数学表达式,通过算法降低簇头所积累的时间误差,提供同步精度。优化簇头同步可以通过以下几个步骤实现:
(1) 假定第n个节点获得簇头的同步时间,这个时间点是[Tn]; 而[T'n]则是利用贝叶斯估计得到的该节点的真实时间;假定[T'n-1]是利用贝叶斯估计得出的该n节点的父层次节点真实时间。
(2)n节点的同步时间和真实时间之间的误差满足正态分布[N0,σ2n]。
(3)经过优化后的贝叶斯估计:[NT'n,σ'2n]。其中参数由贝叶斯估计理论计算得出:
3.3.2 簇内同步算法设计
为降低时间同步过程中的能量开销,本文采用簇内成员信道监听的同步方式,大大减少数据包在收发过程所产生的能耗,降低收发量实现节能的目标。具体实现思路如下,我们采用4个簇内节点的模型,如图4。
如果B号节点发同步请求给S号簇头,A、C号监听到信息后获得B号节点时间。如果S节点响应B号,A、C号也可以监听到该信息,并得到簇头节点的时间信息。因此,这种算法可以实现不需要全部节点发送同步请求,仍可以获取时间信息的目标,只需选取B节点发送请求即可,能够显著降低通信开销。可得到B号节点与簇头S节点的时间关系式:
4 结论
通过分析计算可知,文章提出的对于簇头和簇内时间同步算法的优化思路,可以通过簇头分层和信道监听两方面减少时间同步过程中的信息传递,从而有效地降低WSN的能量消耗。在下一步研究中,我们将采用把本算法加入ZigBee自带的Z-stack协议栈内的方式具体实施到实训室环境中,保证算法时间精度的同时,降低实训室中传感器节点的时间同步能耗,提升智能实训系统的使用寿命。
参考文献:
[1] 蒋智鹰,陈勇,胡冰,等.无线传感器网络时间同步算法研究[J].计算机工程与应用,2017,53(1):1-8.
[2] 沈明玉,艾治雄.无线传感网络低能耗时间同步的研究[J].计算机工程与应用,2012,48(8):112-115.
[3] 阳韬.无线传感器网络时间同步算法研究[J].计算机工程,2011,37(23):116-118.
[4] 魏炬熠,张建军,魏振春.一种能量均衡的低开销WSN时间同步算法[J].计算机工程,2016,42(12):5-10,15.
【通联编辑:梁书】