一种提高无线传感器网络时间同步精度的方法

文档序号:7970719阅读:183来源:国知局
专利名称:一种提高无线传感器网络时间同步精度的方法
技术领域
本发明涉及无线传感器网络技术领域,尤其涉及一种提高无线传感器网络时间同步精度的方法。
背景技术
无线传感器网络是由分布式传感节点组成的面向任务的网络。它综合了传感器技术、嵌入式计算技术、现代网络及无线通信技术、分布式信息处理技术等多种领域技术,通过各类微型传感器对目标信息进行实时监测,由嵌入式计算资源对信息进行处理,并通过无线通信网络将信息传送至远程用户。
传感器网络技术具有十分广阔的应用前景。在军事国防、工农业控制、城市管理、生物医疗、环境监测、抢险救灾、防恐反恐、危险区域远程控制等许多领域都有重要的科研价值和实用价值。
时间同步是无线传感器网络研究与应用中的一个非常重要的问题。目前,无线传感器网络中的绝大多数节点采用晶体振荡器来计时,因此晶体振荡器是影响时间同步的关键因素之一。由于晶体振荡器在制造工艺上存在差别并且其振荡频率易受到电压、温湿度以及晶体老化等多种因素的影响,造成了它的实际振荡频率与标称频率之间存在偏差,从而导致了节点计时速率的不一致性和不稳定性,进而最终导致了节点间时间的不同步。
时间同步机制以保持网络中各节点时间的同步运行为目的,是众多技术与应用的核心支撑技术。具体表现在对以下各项技术与应用的支持1)多传感器的数据融合通过融合来自于不同分布式节点的相关信息可以显著提高信噪比,缩小甚至消除探测区域内的阴影和盲点,而网络中的节点必须以一定的精度保持时间同步则是实施数据融合基本前提。
2)低能耗MAC协议无线传感器网络MAC层协议设计的一个基本原则是尽可能快速地进入休眠状态,以节省宝贵的能量资源。如果MAC层协议采用最直接的TDMA(Time Division Multiple Access)策略,利用占空比的调节便可实现上述目标,但需要参与通信的节点间首先要实现时间同步,并且同步精度越高,防护区域越小,相应的功耗也越低。高精度的时间同步机制是设计低能耗MAC层协议的基础。
3)声波测距定位许多典型的传感器网络应用都需要定位系统的支持。在很多应用场合下,没有位置信息的传感数据是没有意义的。在众多的定位机制与算法中,声波测距定位具有一定的代表性。如果网络中的节点保持时间同步,则声波在节点间的传输时间很容易被确定,将其转换为距离也很方便,因为声波在一定介质中的传播速度是确定的。当然,测距定位的精度依赖于时间同步的精度。
4)分布式系统的传统要求前面结合传感器网络特定的应用讨论了研究时间同步机制的重要性。就一般意义的分布式系统而言,时间同步在数据库查询、保持状态一致性和安全加密等传统应用领域也是不可缺少的关键机制。
目前,已经提出了多种适合于无线传感器网络的时间同步算法。然而,真正已经在微型节点上实现并投入实用的目前只有RBS(ReferenceBroadcast Synchronization)和TPSN(Timing-sync Protocol for SensorNetworks)。RBS是接收者-接收者同步机制的典型代表,TPSN是发送者-接收者同步机制的典型代表。下面以采用TPSN算法对无线传感器网络进行时间同步为例对此进行详细介绍如图1所示,图1为现有技术中采用TPSN算法对无线传感器网络进行时间同步的示意图。其中节点a为时间基准节点,节点b为待同步节点,也即节点b需要修改自己的时间来达到和节点a之间的同步。第k轮同步操作过程为节点b在t1k时刻发送时间请求报文给节点a,节点a记录下接收到该报文的到达时刻t2k,随后,节点a在t3k时刻立即发送时间应答报文(其中包含了t2k和t3k)给节点b,节点b记录下M2报文的到达时刻t4k。此时,节点b就获得了t1k、t2k、t3k、t4k四个时间信息。可以看到t1k和t4k用节点b的本地时间记录,而t2k和t3k用节点a的本地时间记录。随后,节点b在自己的时间上增加了一个修正量Δ(k),这里,Δ(k)=(t2k+t3k-t1k-t4k)/2。
此时,节点b达到了和节点a之间的瞬时同步。
理论上已经证明在深度嵌入式系统中,TPSN同步后的瞬时同步误差是RBS的一半,此外,TPSN的功耗也比RBS要小的多。但TPSN存在一个主要的问题由于TPSN是瞬时性同步算法,尽管其瞬时同步误差很小,但在相邻两次同步操作之间,同步误差自由增长。因此从平均同步误差这个指标来看,TPSN并不如RBS的同步效果好。

发明内容
(一)要解决的技术问题有鉴于此,本发明的主要目的在于提供一种提高无线传感器网络时间同步精度的方法,以遏止在两次同步操作之间的时间段内同步误差的自由增长,提高无线传感器网络时间同步的精度。
(二)技术方案为达到上述目的,本发明的技术方案是这样实现的一种提高无线传感器网络时间同步精度的方法,该方法包括A、在线动态估计无线传感器网络节点之间的相对频率偏差;B、当需要获取节点的时间时,利用估计的相对频率偏差对节点时间进行补偿。
假设节点a和节点b要实现时间同步,节点a为时间基准节点,节点b是待同步节点,所述步骤A包括A1、节点b的应用层将接收自节点b的MAC层时间应答报文的t1和t2字段以及时间应答报文的发送时间戳字段和接收时间戳字段的值分别赋值到t1i、t2i、t3i和t4i变量上;A2、节点b的应用层根据公式Δ(i)=(t2i+t3i-t1i-t4i)/2计算修正量Δ(i),并在节点b的当前时间上增加修正量Δ(i);A3、节点b的应用层根据公式e(i)=(t2i-t2i-1)-(t1i-Δ(i-1)-t1i-1)和T(i)=t1i-Δ(i-1)-t1i-1计算e(i)和T(i),并将点(e(i),T(i))保存到8个单元大小的缓冲区中,并将节点b的t1i-1、t2i-1、t3i-1、t4i-1、Δ(i-1)变量更新为t1i、t2i、t3i、t4i和Δ(i)变量的值;A4、节点b的应用层根据公式k^=(HTH)-1HTE]]>估计出节点b相对于节点a的相对频率偏差 所述步骤A1之前进一步包括A01、节点b的应用层组织一个时间请求报文转交给节点b的MAC层,节点b的MAC层在时间请求报文的发送时间戳字段中标记节点b的当前时间,并通过无线接口广播发送时间请求报文;A02、节点a的MAC层从无线接口接收到时间请求报文,在时间请求报文的接收时间戳字段标记节点a的当前时间,并转发给节点a的应用层;A03、节点a的应用层组织一个时间应答报文,并在时间应答报文的t1和t2字段分别填上时间请求报文的发送时间戳字段和接收时间戳字段的值,并转交给节点a的MAC层;A04、节点a的MAC层在时间应答报文的发送时间戳字段中标记节点a的当前时间,并通过无线接口广播发送时间应答报文;A05、节点b的MAC层从无线接口接收到时间应答报文,在时间应答报文的接收时间戳字段标记下节点b的当前时间,并转发给节点b的应用层。
步骤A01中所述时间请求报文的报文类型字段为时间请求报文,时间请求报文的目的地址为节点a的地址,时间请求报文的源地址为节点b的地址。
步骤AO3中所述时间应答报文的目的地址为节点b的地址,时间应答报文的源地址为节点a的地址。
假设节点a和节点b要实现时间同步,节点a为时间基准节点,节点b是待同步节点,所述步骤B包括当需要获取节点b的时间时,节点b的应用层基于多项式t+k^(t-t4′-Δ(i))]]>计算出节点b的当前时间,并以计算出的节点b当前时间值上报。
(三)有益效果从上述技术方案可以看出,本发明具有以下有益效果1、本发明提供的这种提高无线传感器网络时间同步精度的方法,通过动态地估计传感器节点之间的相对频率偏差,并利用估计的相对频率偏差对节点时间进行补偿,从而遏止了在两次同步操作之间时间段内同步误差的自由增长,有效提高了无线传感器网络时间同步的精度。
2、利用本发明,将TPSN协议与本发明提供的这种提高无线传感器网络时间同步精度的方法相结合,可以在不增加同步报文个数的前提下,大幅度提高在两次同步操作之间的时间段内的同步精度,使得即使在很低的同步操作的频率下,也能获得很高的同步精度。
3、利用本发明提供的这种提高无线传感器网络时间同步精度的方法,可以极大地提高TPSN时间同步算法的同步精度。而同步的精度直接决定了定位的精度、数据融合的程度、低功耗的MAC协议性能等直接关系到无线传感器网络应用范围的各项指标。正因为本发明研究的是无线传感器网络的底层和关键性问题,所以其对推进无线传感器网络的工程化起到巨大的推动作用。


图1为现有技术中采用TPSN算法对无线传感器网络进行时间同步的示意图;图2为本发明提供的基于相邻两次TPSN同步操作估计出节点间的相对频差的示意图;图3为本发明提供的基于估计出的相对频差对节点时间进行修正的示意图;图4为本发明提供的提高无线传感器网络时间同步精度总体技术方案的实现流程图;图5为依照本发明实施例提高无线传感器网络时间同步精度的方法流程图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
本发明的核心思想是基于TPSN协议所附带的时间信息,通过动态地估计传感器节点之间的相对频率偏差,并利用估计的相对频率偏差对节点时间进行补偿,从而遏止了在两次同步操作之间时间段内同步误差的自由增长,有效提高无线传感器网络时间同步的精度。
下面首先介绍本发明的实现原理。本发明提供的这种提高无线传感器网络时间同步精度的方法,独立于时间同步算法(虽然可以和具体的时间同步算法紧密结合),通过动态地估计传感器节点之间的相对频率偏差,当需要获取节点的时间时,根据已经估计出的相对频差信息对节点时间进行补偿,从而达到提高时间同步算法同步精度的目的。
由于受到生产工艺及外界环境如电压、温度、湿度、晶体老化等因素的影响,晶体振荡器的实际振荡频率与其标称频率不能一致。通过大量的统计后发现即使是具有相同标称频率的晶体振荡器,它们的相对频差在统计上相差一个固定值。而该值是节点间时间偏差不断增大的主要原因。若能获得节点间相对频差并利用该信息对节点的时间进行补偿,将会大幅度地提高时间同步的精度。
如图2所示,图2为本发明提供的基于相邻两次TPSN同步操作估计出节点间的相对频差的示意图。假设节点a与节点b按照TPSN协议进行同步。由于节点b的时间在t4i-1稍后时刻增加了修正量Δ(i-1),因此,若节点b的时间不被修改,则在节点a从t2i-1变化到t2i的时间内,节点b的时间将从t1i-1变化到t1i-Δ(i-1)。令e(i)=(t2i-t2i-1)-(t1i-Δ(i-1)-t1i-1),T(i)=t1i-Δ(i-1)-t1i-1它的实际意义为节点b在自由运行T(i)的时间段内,其时间将落后e(i)于节点a。e(i)和T(i)的关系可建模为e(i)=k*T(i)+w(i)其中w(i)~N(0,σ2)是高斯白噪声,它反映了时间读取操作的噪声。k定义为节点b相对于节点a的相对频差。令E=(e(1),e(2),...,e(n))T,H=(T(1),T(2),...,T(n))T。根据线性模型的估计理论可知,估计量
k^=(HTH)-1HTE---(1)]]>为k的达到CRLB(Cramer-Rao Lower Bound)的MVU估计(Minimum-Variance Unbiased Estimator)。且估计标准差为Ck^=σ/HTH]]>。
可以看出要估计出两个节点之间的相对频差,n至少应为2,实际选取的n为8。
在节点b相对于节点a的相对频差被估计出以后,每当需要获取节点b的时间时,就可以利用相对频差信息对其时间进行补偿。
如图3所示,图3为本发明提供的基于估计出的相对频差对节点时间进行修正的示意图。当在第i轮同步操作和第i+1轮同步操作之间的某个时刻读取节点b的时间时,返回的并不是直接读出的时间t,而为t+k^(t-t4′-Δ(i))---(2)]]>即基于相对频差信息对节点b的时间进行了补偿。
基于上述本发明的实现原理,图4示出了本发明提供的提高无线传感器网络时间同步精度总体技术方案的实现流程图,该方法包括以下步骤步骤401在线动态估计无线传感器网络节点之间的相对频率偏差;步骤402当需要获取节点的时间时,利用估计的相对频率偏差对节点时间进行补偿,达到提高时间同步算法同步精度的目的。
基于上述本发明的实现原理和图4提供的本发明提高无线传感器网络时间同步精度总体技术方案的实现流程图,图5示出了依照本发明实施例提高无线传感器网络时间同步精度的方法流程图。
本实施例是一个典型的针对TPSN协议与本发明提供方法结合的应用场景,节点a和节点b要实现时间同步,节点a为时间基准节点,节点b是待同步节点。实现该典型应用场景的具体步骤如下步骤501当节点b需要同步时,节点b的应用层组织一个时间请求报文,并转交给节点b的MAC层;该时间请求报文头的报文类型字段为时间请求报文,时间请求报文的目的地址为节点a的地址,时间请求报文的源地址为节点b的地址。
步骤502当节点b的MAC层接收到从节点b的应用层转交来的时间请求报文时,节点b的MAC层在时间请求报文的发送时间戳字段中标记上节点b的当前时间,并通过无线接口广播发送报文。
步骤503当节点a的MAC层从无线接口接收到时间请求报文时,节点a的MAC层在时间请求报文的接收时间戳字段标记下节点a当前的时间,并转发给节点a的应用层。
步骤504当节点a的应用层接收到从节点a的MAC层转交来的时间请求报文时,节点a的应用层组织一个时间应答报文,并在时间应答报文的t1和t2字段上分别填上时间请求报文的发送时间戳字段和接收时间戳字段的值,并转交给节点a的MAC层。时间应答报文的目的地址为节点b的地址,时间应答报文的源地址为节点a的地址。
步骤505当节点a的MAC层接收到从节点a的应用层转交来的时间应答报文时,节点a的MAC层在时间应答报文的发送时间戳字段中标记上节点a的当前时间,并通过无线接口广播发送时间应答报文。
步骤506当节点b的MAC层从无线接口接收到时间应答报文时,节点b的MAC层在时间应答报文的接收时间戳字段标记下节点b的当前时间,并转发给节点b的应用层。
步骤507当节点b的应用层接收到从节点b的MAC层转交来的时间应答报文时,节点b的应用层将时间应答报文的t1和t2字段以及时间应答报文的发送时间戳字段和接收时间戳字段的值分别赋值到t1i、t2i、t3i和t4i变量上。
步骤508节点b的应用层计算修正量Δ(i)=(t2i+t3i-t1i-t4i)/2,并在节点b的当前时间上增加修正量Δ(i)。节点b的应用层计算e(i)和T(i)e(i)=(t2i-t2i-1)-(t1i-Δ(i-1)-t1i-1),T(i)=t1i-Δ(i-1)-t1i-1,并将点(e(i),T(i))保存到8个单元大小的缓冲区中,并将节点b的t1i-1、t2i-1、t3i-1、t4i-1、Δ(i-1)变量更新为t1i、t2i、t3i、t4i和Δ(i)变量的值。
步骤509节点b的应用层基于等式k^=(HTH)-1HTE]]>估计出节点b相对于节点a的相对频率偏差 步骤510当需要上报节点b的时间时,节点b的应用层基于多项式t+k^(t-t4′-Δ(i))]]>计算出节点的当前时间并以该时间值上报。
在上述典型的应用场景中,通过采用本发明提供的提高无线传感器网络时间同步精度的方法,大幅度地提高了TPSN协议的同步精度。下面通过在Mica2节点上做的实验,进一步说明本发明的效果是明显的。
首先对Mica2节点做一简略介绍Mica2节点是由加州大学伯克利分校及其合作伙伴Crossbow设计制作的一款无线传感器网络节点。每个Mica2节点含有一个微型处理器Atmega128L、无线通讯芯片CC1000、传感器等硬件,能够以较低的功耗执行监视与控制任务。目前,它已成为无线传感器网络研究界的标准实验平台之一。
如表1所示,表1为未优化TPSN协议和优化后TPSN协议同步误差的比较表。表1采用周期性同步方式设计的4个实验的实验结果。每个实验均包括各自5个小时的未优化的TPSN协议和优化后的TPSN协议的实验。实验1为在同步周期为13秒,时间读取时刻在瞬时同步操作结束时;试验2,3,4分别为同步周期为13秒、26秒和52秒下,时间读取时刻分别取在瞬时同步结束之后的1~12秒、1~25秒和1~51秒内的随机时刻。每个表格单元的左边为未优化的TPSN协议的同步误差,右边为优化后的TPSN协议的同步误差。

表1表1的结果表明在相同的条件下,相对于未优化的TPSN协议,优化后的TPSN协议的同步误差不仅同步误差小的多,而且同步误差对同步周期的改变不敏感。在同步周期为1分钟左右时,优化后的同步误差可降为未优化前的千分之一以下。
在具体对该项发明进行实施时,主要考虑的问题为高精度浮点数的运算问题。鉴于一般嵌入式处理器开发平台只提供单精度浮点数的运算,而单精度浮点数不能满足计算精度的要求(因为时间是数量级在1014的大数,而相对频差是数量级在10至6的小数)。可以将SoftFloat软件移植到具体的处理器平台下,开发平台建议选用兼容标准C的编译器。例如采用avr-gcc编译器。
SoftFloat是完全符合IEEE754标准的C版本高性能浮点库的软件实现。可从http://www.jhauser.us处下载。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种提高无线传感器网络时间同步精度的方法,其特征在于,该方法包括A、在线动态估计无线传感器网络节点之间的相对频率偏差;B、当需要获取节点的时间时,利用估计的相对频率偏差对节点时间进行补偿。
2.根据权利要求1所述的提高无线传感器网络时间同步精度的方法,其特征在于,假设节点a和节点b要实现时间同步,节点a为时间基准节点,节点b是待同步节点,所述步骤A包括A1、节点b的应用层将接收自节点b的MAC层时间应答报文的t1和t2字段以及时间应答报文的发送时间戳字段和接收时间戳字段的值分别赋值到t1i、t2i、t3i和t4i变量上;A2、节点b的应用层根据公式Δ(i)=(t2i+t3i-t1i-t4i)/2计算修正量Δ(i),并在节点b的当前时间上增加修正量Δ(i);A3、节点b的应用层根据公式e(i)=(t2i-t2i-1)-(t1i-Δ(i-1)-t1i-1)和T(i)=t1i-Δ(i-1)-t1i-1计算e(i)和T(i),并将点(e(i),T(i))保存到8个单元大小的缓冲区中,并将节点b的t1i-1、t2i-1、t3i-1、t4i-1、Δ(i-1)变量更新为t1i、t2i、t3i、t4i和Δ(i)变量的值;A4、节点b的应用层根据公式k^=(HTH)-1HTE]]>估计出节点b相对于节点a的相对频率偏差
3.根据权利要求2所述的提高无线传感器网络时间同步精度的方法,其特征在于,所述步骤A1之前进一步包括A01、节点b的应用层组织一个时间请求报文转交给节点b的MAC层,节点b的MAC层在时间请求报文的发送时间戳字段中标记节点b的当前时间,并通过无线接口广播发送时间请求报文;A02、节点a的MAC层从无线接口接收到时间请求报文,在时间请求报文的接收时间戳字段标记节点a的当前时间,并转发给节点a的应用层;A03、节点a的应用层组织一个时间应答报文,并在时间应答报文的t1和t2字段分别填上时间请求报文的发送时间戳字段和接收时间戳字段的值,并转交给节点a的MAC层;A04、节点a的MAC层在时间应答报文的发送时间戳字段中标记节点a的当前时间,并通过无线接口广播发送时间应答报文;A05、节点b的MAC层从无线接口接收到时间应答报文,在时间应答报文的接收时间戳字段标记下节点b的当前时间,并转发给节点b的应用层。
4.根据权利要求3所述的提高无线传感器网络时间同步精度的方法,其特征在于,步骤A01中所述时间请求报文的报文类型字段为时间请求报文,时间请求报文的目的地址为节点a的地址,时间请求报文的源地址为节点b的地址。
5.根据权利要求3所述的提高无线传感器网络时间同步精度的方法,其特征在于,步骤A03中所述时间应答报文的目的地址为节点b的地址,时间应答报文的源地址为节点a的地址。
6.根据权利要求1所述的提高无线传感器网络时间同步精度的方法,其特征在于,假设节点a和节点b要实现时间同步,节点a为时间基准节点,节点b是待同步节点,所述步骤B包括当需要获取节点b的时间时,节点b的应用层基于多项式t+k^(t-t4i-Δ(i))]]>计算出节点b的当前时间,并以计算出的节点b当前时间值上报。
全文摘要
本发明涉及无线传感器网络技术领域,公开了一种提高无线传感器网络时间同步精度的方法,该方法包括A.在线动态估计无线传感器网络节点之间的相对频率偏差;B.当需要获取节点的时间时,利用估计的相对频率偏差对节点时间进行补偿。利用本发明,通过动态地估计传感器节点之间的相对频率偏差,并利用估计的相对频率偏差对节点时间进行补偿,从而遏止了在两次同步操作之间时间段内同步误差的自由增长,有效提高了无线传感器网络时间同步的精度。
文档编号H04L7/00GK1972182SQ20061014435
公开日2007年5月30日 申请日期2006年12月4日 优先权日2006年12月4日
发明者徐朝农, 朱红松, 谢磊, 徐勇军, 李晓维 申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1