沈培锋, 陈挺, 鞠玲, 李勇, 陶然, 罗林根
(1.国网江苏省电力有限公司泰州供电分公司,江苏 泰州 225315;2.上海交通大学 电子信息与电气工程学院,上海 200240)
随着电力物联网建设的稳步推进,无线传感器作为融合电网信息、用户信息和外部信息等多源信息的枢纽,其相关的应用与研究受到了广泛重视[1-2]。而统一的时间基准、精确的时间标注是高效融合应用上述信息并保障数据质量的重要要求[3]。这就要求对一次设备的数据采集时间是精确同步的。无线时间同步方法即为将区域内无线传感设备的时间基准进行统一的支撑技术[4-6]。随着无线传感器在电力物联网的大量应用[7-9],对无线时间同步技术提出了更高的要求。目前,应用于电力系统的时间同步方法有信号同步器[10]、网络时间协议(network time protocol, NTP)[11]、全球定位系统(global positioning system, GPS)[12]和北斗[13]等。其中,信号同步器需要一个同步信号发生器给出同步信号,同步范围受限于信号传输距离,且同步网络的拓扑结构单一,不利于扩展应用。NTP能实现微秒级的同步精度,但功耗较高且装置体积较大,不适用于无线传感网络应用[14]。基于广域同步技术的GPS、北斗模块可以提供100 ns级别的同步精度,但其成本及功耗较高,且室内应用效果不佳,限制了其在功耗成本敏感的无线传感网络大规模应用[15]。针对无线传感网络时间同步已经有很多的同步算法被提出。常见的有参照广播同步协议[16](reference broadcasting synchronization, RBS)和双向成对同步协议[17](time pairwise synchronization network, TPSN)等。其中RBS同步精度低但同步速度快、功耗低,而TPSN同步精度高但开销大、功耗较高。
因此,研究适用于电力物联网的无线传感时间同步技术需要在同步精度及功耗间取得很好的平衡。本文提出了一种基于分级广播的时间同步方法,既利用广播同步的方法降低了同步功耗,又通过分层分级的步骤减少了同步的中间环节。而在分层级同步中采用最小二乘法对多次同步结果做最优估计,提高同步精度。仿真及现场试验结果证明了本文方法能够实现微秒级别的同步,且功耗相对于传统的广播算法最高下降约85%,具有较好的推广应用价值。
一般而言,传感器节点通过自身携带的晶体振荡,统计中断次数来确定自身时间。由此可知,网络中的节点i在时刻t的本地时钟读数可表示为:
(1)
式中:Ti(t)为t时刻节点的本地时间;t为真实时间变量;t0为开始计时的物理时刻;k为取决于晶体自身特性的常量;w(t)为节点i晶振的角频率;Ti(t0)为节点i在t0时刻的时钟读数。
时间同步过程中的报文交换受信息封装和等待信道空闲等诸多环节的影响,在每个环节都会产生或大或小的时延,并且时延长度是不确定的。报文的传输延迟具体划分如图1所示。
图1 时间同步报文模型
为有效计算同步报文模型中的时延长度,提升同步精度,需对每个传感器节点建立对应的时钟模型。模型中将传感器节点的时间变化分为时间偏差与频率漂移,假设网络中的节点i在t时刻的逻辑时钟如下:
Ci(t)=lai·Ci(t)+lbi
(2)
式中:Ci(t)为i节点在t时刻本地时钟读数;lai为频率修正系数;lbi为初相位修正系数。为了同步任意两个节点i和j,分别构造其相应的逻辑时钟,使两个时钟有了在相位和频率上的联系,可通过调整某一时钟达到同步。由式(2)可知,网络中两节点i和j的时钟逻辑关系可表示为:
(3)
将lai、lbi设为对应的aij、bij构造出一个逻辑时钟,便可以实现节点i与节点j的时间同步。
RBS同步的基本思想是利用根节点进行同步信号广播,接收到同步信号的待同步节点互相之间交换,比较广播到达本地的时间来进行时间同步,如图2所示。
图2 广播同步基本原理
首先在网络中需要同步的节点中选出一个根节点来发送同步信号,该信息中并不包含任何时间信息,待同步节点接收到广播信号后,根据本地的时间记录下广播信号到达的时间;随后,分别将自己记录下的时间发送到网络中,并且接受其他待同步节点发来的时间信息;最后,每个待同步节点都将自己的时钟调整至平均时钟即可完成同步。广播同步中发送端的发送时间和访问时间,即图中网络接口卡之前的处理时间,并不会对接收端接收到报文的时间造成任何影响,因而广播同步能得到较高的精度。
次根节点接收到其他次根节点的时间信息后,通过偏移矩阵对本地时钟进行相应调整。偏移矩阵的定义如下:
(4)
式中:offset[i,j]为节点i与节点j之间应调整的时间差值;m为次根节点已发送的消息包的个数;n为次根节点的个数;Tik为节点i收到参考广播信号k的本地时间;Tjk为节点j收到参考广播信号k的时间。
双向报文交换的原理如图3所示。
图3 分级报文交换时间同步原理
在T1时刻,传感器节点将自身时间信息T1组成报文发送给次根节点,次根节点在T2时间收到报文并记录下接收时间T2,应有T2=T1+d+Δ。其中:Δ为两个节点之间的时间偏差值;d为消息传播的时延,包括报文的传输时间和传播时间。在T3时刻,次根节点将T1、T2和T3信息组成报文发送给传感器节点,传感器节点记录下接收时间T4,应有T4=T3+d-Δ。通过推导可得:
(5)
(6)
待同步的传感器节点利用式(5),即可计算出与次根节点的时间偏差Δ,传感器节点在本地时间上加上计算得到的Δ,就可将它的本地时间调整同步到次根节点的时间上。全网节点通过如上所述的方式调整自己的时钟,直到全部的节点均同步为止。
如前所述广泛使用的两种无线同步算法各有利弊,因此,本文将综合两种算法的优点提出如图4所示的分级广播同步算法。采用根节点、次根节点和节点的分级结构,在根节点和次根节点间采用广播同步,在节点与次根节点间使用报文交换的方法,最终完成全网同步。
图4 系统技术方案图
由于在同级间的传感器时间同步采用TPSN算法,在报文交换方法时会引起消息传递延迟,从而最终影响时间同步精度。因此,本文采用最优估计算法减小报文交换延迟时间来提高时间同步的精度。
假设每个传感节点的时钟频率不同,那么考虑时间漂移和时间偏差后,TPSN模型可改写为如下形式:
(7)
(8)
(9)
由此,第i次同步时,式(7)可表示为:
(10)
(11)
解得估计值为:
(12)
本文应用OPNET Modeler软件进行网络仿真,在OPNET分别搭建RBS、TPSN及本文提出的同步算法模型,从算法的收敛时间、同步误差精度和运行开销三个方面进行对比分析,仿真的流程如图5所示。为比较三种不同时间同步算法的性能,仿真时三种算法的网络规模均为3 km×3 km方型区域的中型网络。
图5 时间同步算法仿真过程流程
仿真结果如图6所示,可以发现:RBS算法的节点的同步精度在0.5 μs以内;TPSN算法的同步误差最大,在15 μs左右。本文提出的方法其精度约为10 μs,介于两者之间。
图6 同步精度分析
图7给出了节点个数与报文交换数量的关系,可以看出本文提出的方法能够在同步精度与算法功耗之间取得较好的平衡。
图7 算法功耗分析
表1给出了三种时间同步算法的收敛时间。由于RBS算法数据包交换次数最多,因此随着网络节点数目增加,算法的收敛时间快速上升;TPSN算法仅在早期分级阶段占用较多时间,收敛时间最短;本文提出的算法其收敛时间介于二者之间。
表1 不同算法收敛时间 单位:s
本文基于TI的cc2530及其开发板对所提算法进行了硬件测试。具体测试中共采用6个节点,分别为1个根传感器、2个次根传感器、2个待同步传感器节点和协调器节点。次根传感器摆放在整体网络的中间位置,使得网络中每个节点无需转发可以直接接收到相邻节点发送的显示当前时刻的报文。同步周期设置为10 s,测量各个节点在同步完成后100 ms时的时间偏差,结果如表2所示。硬件实测结果表明本文提出算法其平均误差小于5 μs,即可实现微秒级同步。
表2 时间同步试验测试结果 单位:μs
针对电力物联网下的无线传感时间同步特性,本文提出了一种基于分级广播原理的时间同步方法。首先通过数学推导给出了传感器时间同步的原理;随后具体分析了系统的框架和组成原理,并提出了算法实现的关键步骤;最后采用算法仿真及试验结果验证了其同步性能。仿真和现场试验均表明了所提出的无线时间同步方法在保证微秒级同步精度基础上仍具有较低的功耗,适用于电力物联网下的设备状态无线传感监测等应用,具有较好的实用价值。