一种基于分簇无线传感器网络的时间同步技术
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一种基于分簇无线传感器网络的时间同步技术
居金娟;姚弘;成行洁
【摘要】针对无线传感器网络中时间同步技术应具有高效率且节省资源的要求,给出了一种改进算法:使用时间同步有效性检查阶段的时间戳,在只发送一个小数据包的基础上实现同步功能,使所需消息传输量较传统算法少得多,既提高了同步效率,又降低了能源消耗,并兼顾了应用场合的精度要求,仿真结果验证了该方法的有效性.【期刊名称】《南通职业大学学报》
【年(卷),期】2011(025)002
【总页数】5页(P72-76)
【关键词】无线传感器网络;时间同步技术;改进算法
【作者】居金娟;姚弘;成行洁
【作者单位】南通大学电子信息学院,江苏南通226019;南通职业大学电子信息工程学院,江苏南通226007;南通职业大学电子信息工程学院,江苏南通226007;南通职业大学电子信息工程学院,江苏南通226007
【正文语种】中文
【中图分类】TP212.9
0 引言
无线传感器网络是一种全新的信息获取和处理技术,在军事国防、生物医疗、环境监测、抢险救灾和商业上都具有广泛的应用前景。
时间同步是需要协同工作的传感
器网络系统中的一个关键机制,为大多数无线传感器网络的应用所必需。
由于无线传感器网络具有自组织性、多跳性、动态拓扑性和资源受限性等特点,尤其受节点能量、计算能力、通信带宽及存储容量的限制,使得设计能满足不同无线传感器网络应用的时间同步技术十分重要。
传感器网络中,节点的本地时钟依靠对自身的晶振中断计数实现。
由于晶振的频率误差和初始计时时刻不同,使节点之间本地时钟不同步,但若能估算出本地时钟与物理时钟或本地时钟之间的关系,则可构造出对应的逻辑时钟以达同步。
无线传感器网络的时间同步指的是网络中部分节点或全部节点拥有共同的时间基准,即不同节点有相同时钟或各节点间能将对方时钟转换为本地时钟。
传统的无线传感器网络时间同步协议可分为发送者—接收者同步和接收者—接收
者同步协议。
TPSN协议[1]是典型的发送者—接收者同步协议,该算法采用层次
型网络结构,通过MAC层的时间戳和双向报文交换方法来抑制和减小传输时滞以及不确定性。
而典型的接收者-接收者同步协议是RBS协议[2],它除了直接对接
收者间的时间偏移进行估算外,还通过对接收者时钟漂移进行动态估计来降低同步误差。
RBS协议利用不同广播域相交区域内的节点时间转换作用,实现多跳时间
同步。
研究改进后的协议有LTS协议[3]、HRTS协议[4]等。
FTSP协议[5]则直接
采用洪泛的方式向全网节点传递时间基准节点的时间信息,综合考虑了能量感知、可扩展性、鲁棒性、稳定性和收敛性等方面的同步要求。
在平面结构中,各节点都是等同的,数据在进行多跳传输时会根据相应的路由算法选择最佳路径传送,不需要传送到固定的节点进行数据融合。
此类结构适合突发事件的汇报,缺点是汇聚节点周围的节点,由于通信量大,寿命会很短,因此影响了网络的整体性能。
在簇型结构中,簇首担任数据融合、计算等功能,减少了簇内成员的通信量和传输数据的冗余度,节约了全网能量。
簇型结构具有易扩展、易管理、低能耗等优点,因此受到更广泛的应用。
RBS、TPSN等时间同步协议都是单层平
面时间同步协议,多跳时间同步阶段均采用链式结构,节点的同步误差随着与参考节点距离的增加而增大。
单层平面时间同步协议没有考虑到簇首的特殊位置,将簇首和普通节点等同处理,不适应层次型无线传感器网络结构。
故本文提出一种基于中小型簇型网络的时间同步算法,设计了一种新的两点同步算法与基于FTSP的全网同步算法相结合的新方法,以适应簇型结构的拓扑及性能要求。
1 算法描述
根据分簇的网络拓扑结构,本节将首先分析基于分簇算法和传统算法的网络拓扑结构的区别,然后分别对两点时钟同步和全网时钟同步算法进行描述和论证。
1.1 系统模型
无线传感器网络节点分布如图1所示,假设WSNs是密集而随意分布的中小型网络,在一定的密集分布区域内选择一个节点担当簇首。
簇首的发送功率比普通节点强,可实现数据收集、计算和融合等功能。
若簇首都在参考节点的单跳广播域内且与参考节点直接通信,则簇内成员与簇首均能实现多跳通信。
基于传统算法的节点分布如图2所示(节点位置与图1相同),传统算法中不分簇的树结构而都以参考节点开始,依据与参考节点距离的远近来决定节点的层次。
基于分簇算法的节点分布如图3所示,由于簇首和参考节点增加了发送功率,广播域扩大,网络的总跳数减少。
与传统结构相比,离参考节点较远的节点跳数减少,对应的同步误差也减小;但处于簇首与参考节点之间的节点跳数则由原来的一跳增加到两跳,还有一些节点跳数仍为两跳,但传播的距离却增加了。
在实际情况中,如果参考节点和簇首之间不存在普通节点,设参考节点为0层,则簇首等价为传统算法中的1层节点。
图1 无线传感器网络节点分布
图2 基于传统算法的节点分布
图3 基于分簇算法的节点分布
1.2 无线传感器网络节点间的时间同步分析
假设有两个节点i和r。
在真实时间点t,节点i的内部振荡器所对应的时间以Ci (t)表示。
若要据节点i推算参考节点r的时间,则可利用下列线性方程式[6]进行推算,以达到节点r与i的同步功能。
转换方程式为:
其中,α为计时初始时刻的时钟读数,β为相对频率,且有
由式(1)、(2)可得
式中:Δ表示时间CA(t)与CB(t)的相对时钟漂移比值(relative drift),φ表示两节点相对时间偏差量(relative offset)。
利用上述公式,若所有节点可计算出本身与参考节点的clock drift和offset值,进而推出参考节点的时间,使节点r与节点i拥有相同的时间,则此时两个节点达到时间同步。
每个节点的内部时间称作local time,而以参考节点的local time为同步时间的标准,称为全网的global time。
本文采用时间戳封包交换方式。
如图4所示,若参考节点i在时间t1,对应的内部时间为CA(t1)= T1时,则将时间戳(Timestamp)放入封包中送到节点r (可忽略封包传送时延);假设节点r也在t1时刻收到此封包,并记录封包收到的内部时间CB(t1)=T2;参考节点i再次重复上列的动作传送另一个封包。
图4 节点间包的交换过程
节点i先前自封包传送得到的时间分别以(T1,T2)、(T3,T4)、…、(Tm,Tn)表示。
则由式(3)可得
当节点i的时间为0时,参考节点的时间以T0表示,两节点的时间偏移量为T0-
0=T0。
即
将式(4)和(5)代入式(3)中,可得:
任何两个节点均可利用式(6)达到两个节点同步的效果。
以上公式的前提是假设每个节点内部振荡器都以固定频率运作;如节点处于实际环境中,振荡器的频率并不稳定,则随着时间的增加,节点间的误差必定持续加大,可随机选取一固定间隔时间,使节点与参考节点进行重新校正工作,以确保时间同步误差值在可接受范围内。
如果节点一直以(T1,T2)与新取得的(Tm,Tn)进行同步校正,则随时间增
加而误差增大。
所以,我们定义一个值Q=(a,b),使得时间间隔始终处于(a,b)范围内。
其伪代码如下:
1.3 全网同步算法
其计算过程如下:在建立树结构时,参考节点R为根节点,层次设为0,接着广播自己的层次,如果接收到的节点是普通节点CM,则不回应;如果是簇首CH,则将层次设为1。
簇首再广播自己的层次,节点收到第i层节点的广播分组后将自己的层次设为i+1。
将这个过程持续下去,直到每个节点都被赋予对应的层次。
在这一过程中,如果某个普通节点收到层次等于其父节点层次的节点分组,则比较接收到的多个分组功率强度,选择功率最强的节点作为自己的父节点。
由于参考节点与簇首之间的链路主要承担路由和传送信息的功能,其同步精确度不需太高。
为此,参考节点与簇首之间的时间同步算法选择1.2中所讨论的两点时间同步算法,以减少簇首能量的消耗。
由于簇内成员的个数一般远大于簇首的个数,考虑到簇首与其簇内成员之间所需的时间同步精度较高且有较大的能量消耗,故选
择FTSP算法。
FTSP算法对时钟漂移进行了线性回归分析。
考虑到在特定时间范
围内节点时钟的晶振频率是稳定的,因此节点间时钟偏移量与时间成线性关系。
通过发送节点周期性广播时间同步消息,接收节点取得多个数据对(time,offset),并构造最佳拟合直线L(time)。
通过回归直线L(time),在误差允许的时间间隔内,节点可直接通过L(time)计算某一时间点节点间的时钟偏移量而不必通过发送时间同步消息来计算,从而减少了消息的发送次数并降低了系统能量开销。
簇首与参考节点达到同步后,开始在t3时刻向下一级节点广播同步分组,并挑选
任意一个簇内成员i作为回复节点。
所有簇内成员在接收到分组时记录下时间,被挑选的节点i记录下时间t4(i),另一节点i对相同的分组记录下时间t4(j)。
i 节点在t5时刻回复簇首节点,簇首在t6时刻收到回复分组,接着簇首算出时间偏差ER,i={[t4(i)-t3]-(t6-t5)}/2再广播t5和ER,i给所有的簇内成员,接
收节点接收到该分组后算出时间偏差ER,j=ER,it4(i)+t4(j),从而调整自己的时钟。
将该时间同步算法依次持续下去,直到所有节点完成同步。
2 系统仿真
本文采用NS-2.23软件作为仿真平台,并采用802.11作为MAC协议,随机生成50~200个节点且节点的移动方向和速度也随机产生。
具体参数配置如表1所示。
表1 具体参数配置网络范围节点数无线通信半径节点最大移动速度同步信息包
大小信号发射功率Datarate 1 000 m×1 000 m 50~200 250 m 10 256 kB
400 mW 512 kbps
图5给出了50个节点的随机分布图,其中节点的移动方向和速度由NS-2随机生成。
系统经NS2仿真后,分析其产生的Trace文件,得出图6、图7的结果。
其中图
6给出同步时间与节点个数的关系,而图7给出同步时间与节点数的关系。
由图6可以看出,随着节点个数的增加,本文提出的算法相比于FTSP算法在信息开销方
面增加比较缓慢。
从图7可以看出,随着节点数的增加,相比本文的算法,用FTSP算法时节点同步所需的时间会成倍增加。
图5 50个节点随机分布图
图6 信息开销与节点数
图7 同步时间与节点数
3 结语
在NS2网络仿真器中对本文算法进行了仿真测试,并在相同仿真环境下与FTSP
算法进行了信息开销量和同步时间的比较。
由仿真图可知随着节点数目的增加,本文算法的信息开销明显小于FTSP算法,同时大大缩短了同步所需时间。
本文提出的算法采用的是双向消息交换与参考广播同步相结合的同步机制,在单跳同步内无论父节点有多少个子节点,只需几个同步消息就可实现单跳同步;而FTSP消息传输量与子节点的数目是成正比的。
由此可见,本文提出的算法更适合于中小型无线传感器网络的应用。
参考文献:
[1]S Ganeriwal,R Kuma,M Srivastava.Timeing-sync protocol for sensor networks[C]//The 1st ACM Conf on Embedded Networked Sensor A:Los Angeles,2003.
[2]J Elson,L Girod and D.Estrin.Fine-grained network time synchronization using reference broadcasts[C]//Proceedings of the 2001 International Parallel and Distributed Processing Symposium(IPDPS).2001:1965-1970.
[3]Jana van Greunen,Jan Rabaey.Lightweight time synchronization for sensor networks[C]//WSNA 2003.San Diego:CA September,2003:11-19.
[4]H Dai,R Han,T Sync.A lightweight bidirectional time synchronization
service for wireless sensor networks[C]//ACM SIGMOBILE Mobile Computing and Communications Review,Special Issue on Wireless PAN&Sensor Networks,vol.8,A:U-niversity of Colorado,Boulder,January,2004:125-139.
[5]B Kusy,M Maroti.Flooding time synchronization in wireless sensor networks[C]//WCNC 2004.Atlanta:GA,2004.
[6]M L Sichitiu,C Veerarittiphan.Simple,accurate time synchronization for wireless sensor networks[C]//Proceedings of IEEE Wireless Communi cation and Networking Conference(WCNC 2003).New Orleans,LA:IEEE Press,2003:16-20.。