文献标识码: A
文章编号: 0258-7998(2013)04-0016-03
时间同步是无线传感器网络的一项基础支撑技术。在无线传感器网络的应用中,如果没有空间和时间信息,传感器节点采集的数据是没有任何意义的。准确的时间同步是实现传感器网络自身协议的运行、定位、多传感器数据融合、移动目标的跟踪以及基于睡眠/侦听模式的节能机制等技术的基础[1-2]。
现有的时间同步方法(如RBS、TPSN、DTMS、FTSP等[3-5]),面临的一个共同问题是如何准确地测量时间同步算法的同步性能,尤其是同步精度性能。尽管无线传感器网络的时间同步技术已经由单跳网络发展到多跳,但如何准确地测量节点间的同步误差问题仍然没有得到很好的解决。因此很多算法在实现过程中都主动避开这个问题,而采用软件仿真的方法评估时间同步性能。但软件仿真的方法对于晶体振荡源、报文传输延迟等模型的建立难度较大,而且并不能真实反映实际运行过程中出现的其他问题对同步精度性能的影响[6]。
本文提出了基于同步误差映射的时间同步精度测试方法,该方法将固定时刻各节点间的时间差映射到物理时间的差异上,并通过节点内输出端口的状态翻转在用户端获得实时的时间同步误差。实际实验测试表明,该方法不仅简单易行,而且能够实时、准确地获得节点间的同步误差。
1 相关研究
参考文献[3]提出了用无线报文触发误差的测量方法,并对RBS算法进行了测量。参考文献[5]使用无线报文触发的测量方法对FTSP进行了测试。这种方法会对无线节点程序的正常运行产生过多的干扰,并占用无线通信资源,测量的实时性与网络规模成反比。参考文献[6]提出了有线中断信号触发的误差测量方法,并将触发时间通过有线集中处理,尽管这种方法不依赖节点无线通信,但会受到节点的外部中断响应时间的影响。参考文献[7]提出了建立时间同步仿真模型的方法,但这种方法只适用于特定的无线传感器网络节点,模型的普遍性不强。
2 同步精度测试原理
无线传感器网络时间同步的精度算法研究、安全相关研究、能量有效相关研究等的最终目的都是获得满足用户需求的稳定的时间同步。因此,对同步误差的准确实时测试是检测时间同步算法实现效果的根本性手段。
(1)时钟偏移:在时刻t节点的时间偏移为t-T(t)。对于不同的节点A和节点B,在t时刻的时间偏移为:TA(t)-TB(t)。
(2)同步误差:同步误差是时钟偏移的绝对值。时钟偏移的绝对值为绝对同步误差,相对时钟偏移的绝对值为相对同步误差。
因此,为了获得节点间的同步误差,必须在相同的时刻同时获得各个节点的本地时间,而如何达到同时性恰恰是当前进行同步误差精度测量的难点之一。
2.2 典型的同步误差测量方法
目前比较典型的同步误差测试都是通过在固定时刻同时向无线节点发送触发信号的方式进行同步误差查询。由于节点间时间很难在完全相同的时刻获得并进行对比,因此测试不同节点间同步误差需要第三方协助,并在固定时刻获得同步时间的值进行对比[6]。图1是常用的时间同步误差测试原理图。在物理时间t时刻,由第三方发起时间触发信号(Trigger),并且在相同的时刻到达节点1和节点2。节点1和节点2分别记录二者的时间T1(t)和T2(t),通过获取T1(t)和T2(t)进行误差运算完成t时刻的误差值测定。
采用第三方触发的方式进行节点同步误差测试主要有两种方式,如图2和图3所示。通过串口或者无限的方式发送触发信号,信号在有线或者无线的传输延迟极小而且信号同时并行传输,在误差允许范围内可以认为触发信号到达两节点无时差。节点1和节点2记录触发信号到达时间并通过无线或有线方式最终将时间数据传送到上位机,上位机通过对时间数据处理可以获得两个节点在t时刻的同步误差。使用无线触发的优点是测试节点的规模不受上位机串口个数的影响,可以进行大规模同步精度测试,缺点是同步查询过程需要消耗额外的无线链路资源,在链路资源相对紧张的网络中无法实时获得节点间的同步误差数据。
2.3 基于误差映射的时间同步误差测试方法
通过对上一节测试方法的分析可知,当前同步精度测试方法都是在固定时刻读取不同节点的时间,从而获得节点间的同步误差,如图4中的AB/CD部分。对于基准时间,有T=t,故图中ACD为等腰直角三角形,可以得到AC=CD。如果能够得到点A和点C之间的时间差值Δt,就可以获得测试节点在t+Δt时刻的同步误差ΔT′=Δt。这样可以将同步误差的测试转换为对Δt的测量:在相同的逻辑时间T时刻对应不同的物理时间的差值。与传统方法不同,这里将t+Δt时刻的同步误差映射到两个节点逻辑时间分别到达T2时,二者在物理时间的差异,如图4中的AC,也就是通过测试物理时间t和t+Δt时刻的差异反映测试节点在t+Δt时刻与基准时间的同步误差。
同步误差的测试频率取决于节点内I/O变化的频率,节点间可以进行较高频率I/O端口操作从而获得实时性较高的同步误差采集。相对于无线触发查询方法,本文的方法不占用无线通信资源,对无线网络的正常运行不产生影响,可以更准确、实时地反映时间同步的运行效果。
3 实验平台
根据以上所述方法建立实验平台,测试了8路同步误差数据采集,周期为20 ms,测得如图6所示同步误差曲线图。如果需要长时间的历史数据分析,则可以通过历史记录做进一步分析。通过同步误差测试平台可以对同步算法效果进行实时跟踪分析,有利于提高算法设计效率。
对目前应用广泛的FTSP算法进行测试,分别使用本文所述平台和传统的无线查询方式测试,获得图7所示对比图。查询方式一般使用30 s查询间隔(如参考文献[5]中对5×12规模节点),而且占用无线通信资源,随着规模的增大需要延长查询时间,很难直观反映同步误差的实时变化,如图7中菱形点相对较稀疏。而采用本文所述方法的测试平台不占用无线通信资源,可以实现快速误差采集。经过测试可以在50 ms采集周期下工作而不影响网络正常运行,为同步设计过程中实时监测误差变化提供有力工具。
本文提出的基于误差映射的测量方法将传统的固定时刻的误差映射到物理时刻的差值,并通过FPGA的高速采集功能获得实时的同步误差。在对典型时间同步协议的测试过程中显示了其高精度和实时性的优势,具备了完全的工程实用性。
参考文献
[1] 杨卓静,孙宏志,任晨虹.无线传感器网络应用技术综述[J].中国科技信息,2010(13):127-129.
[2] 于海斌,曾鹏.智能无线传感器网络系统[M].北京:科学出版社,2006.
[3] ELSON J,GIROD L,ESTRIN D.Fine-grained network time synchronization using reference broadcasts[C].Proceedings of the Fifth Symposium on Operating Systems Design and Implementation(OSDI’02),New York,2002:147-163.
[4] RHEE I K,LEE J,KIM J,et al.Clock synchronization in wireless sensor networks:an overview[J].Sensors,2009,9(1):56-85.
[5] MAROTI M,KUSY B,SIMON G,et al.The flooding time synchronization protocol[C].Proceedings of the 2nd international conference on Embedded networked sensor systems,2004:39-49.
[6] 徐朝农,徐勇军.无线传感器网络同步误差测量方法[J].计算机工程,2011,37(5):115-117.
[7] Xu Chaonong,Zhao Lei,Xu Yongjun,et al.Simsync:a time synchronization simulator for sensor networks[J].ACTA Automatica Sinica,2006,32(6):1008-1014.
[8] SOMMER P,WATTENHOFER R.Gradient clock synchro nization in wireless sensor networks[C].In 2009 International Conference on Information Processing in Sensor Networks,2009:37-48.