背景技术
随着传感器、无线通信、嵌入式计算、分布式处理、微电子等领域的技术进步,近年来开始大规模出现具有现场感知、本地计算、无线传输的低成本、低功耗传感器节点,并形成一类专门的研究领域——无线传感器网络。无线传感器网络利用分布式的传感器节点现场采集物理世界数据,通过无线传输的方式将多传感器节点数据进行融合并最终传递到用户手中。这类分布式网络将极大的影响人类社会的生产和生活方式,目前无线传感器网络在军事侦查、环境监测、医疗卫生、公共安全、工业控制等领域已经开始发挥重大作用。
无线传感器网络节点存在能量、通信、计算、存储等受限的特征,一般采取电池供电的形式,鉴于传感器探测距离有限,这类网络是一种节点密集分布的网络,出于低成本、低功耗的考虑,节点本身的通信范围(以多跳为特征)和计算能力以及存储资源等均受到限制。无线传感器网络能够不依赖于固定基础设施,具有临时规模部署的能力、良好的可扩展性和自组织能力,节点生命周期以年为单位计量,因此无线传感器网络具有与其他传统网络不一样的特性,属于新型的分布式网络系统。时间同步问题是这类新型分布系统所面临的重要问题之一,实现时间同步有利于这类网络周期性睡眠调度以最大化节约能量,有利于实现对目标的联合感知以及数据融合。传统的时间同步技术如互联网所采用的NTP协议等无论从协议复杂度还是从其需要的特殊基础设施支持角度考虑,都不适合这类分布式系统。无线传感器网络需要开发新的时间同步协议。
时间同步的一方面原因在于网络中各节点不同晶体之间存在细微差异,导致晶体驱动的计时器出现同样的细微差异,另一方面原因在于传输过程导致的不确定性时延影响。无线传感器网络节点由于其廉价特征,晶体稳定度一般在100ppm(part per million)上下。目前出现的时间同步算法中,TPSN(Timing-sync Protocol for Sensor Networks)、DMTS(Delay Mesurement Time Synchronization for Wireless Sensor Networks)等一类同步算法不对晶体频率偏斜作任何处理,仅仅考虑相位偏移的影响,使得这类算法同步精度受到限制;RBS(Reference Broadcast Synchronization)、FTSP(Flooding Time Synchronization Protocol)、TS/MS(Tiny-Sync/Mini-Sync)等一类同步算法对频率偏斜进行了估计,取得了更为精细的同步精度。TPSN、RBS、DMTS、FTSP、TS/MS等方法均引入MAC(Media Access Control)层时戳机制来减小传输过程不确定性时延的影响。TPSN、TS/MS等一类方法利用双向成对通信的方式进行节点之间同步,一次双向收发通信仅仅同步发送接收两节点,通信能量开销较大,不利于同步组网;TMDS、RBS、FTSP充分利用了无线通信的广播优势,节省了射频能量消耗,更利于同步组网。RBS仅仅同步所有接收者,需要复杂的同步协议才能完成网络时间同步,TMDS同步精度较差,而FTSP存在网络同步建立时间随网络跳数增加线性增加趋势,网络同步收敛慢。
具有带状特性的无线传感器网络是一类具有典型应用场景的无线传感器网络,例如在边界监控、桥梁检测、河流监测、智能交通、以及油气管线监控等领域都具有重要应用。其典型特点是节点间跳数较多,规模庞大,上述几种同步方法从能量消耗、同步建立时间、同步精度等方面考虑均不适合,针对这类应用广泛的网络需要更加有效的时间同步方案。
发明内容
本发明的目的是适用于带状特性无线传感器网络的快速高精度时间同步方法。
本发明的技术方案它包括:
一种改进型的MAC层时戳机制,通过该时戳机制进一步减小信息传输不确定性时延的影响;
一种容错的线性回归处理方法,通过该方法在单片机一类的微处理器上实现更高精度的线性回归浮点运算;
一种利用快速存储转发技术实现的带状特性无线传感器网络的快速时间同步方法,该方法同步建立时间与网络跳数无关,同步网络建立时间为一恒定常数。
所述的MAC层时戳机制,发送方利用帧同步信号提取中断信号,而接收方则利用帧结束信号提取帧同步信号的方式实现时戳记录。
所述的容错的线性回归处理方法,对回归估计之前数据进行了归零化预处理,对输出结果方差进行阈值判断,通过判决结果决定是否更新现有数据。
所述的快速时间同步方法,利用快速存储转发技术(即无线传感器网络节点每当收到同步帧的同时最先处理的工作是将其转发出去然后才开始本地运算),可以将一帧同步信号完全扩散至全网所有节点,节省了同步网络建立时间。
本发明有效地解决了现有带状特性传感器网络中时间同步差的问题。
具体实施方式
下面结合附图并以具体实例对本实用新型的实现方法进行详细阐释。
如图1所示,同步帧包括前导码和帧同步信号以及CRC校验等基带芯片。时戳是必须放入的数据,考虑到大多数无线传感器节点晶体频率不会超过10MHz,时戳的长度取4字节长度,帧结构中标识为数据的区域指同步帧中还可以携带与同步无关的其它信息。
本发明的基带芯片仅仅需要提供一根指示引脚用于同步帧的收发控制,收发不同时,图1中发送指示引脚和接收指示引脚可以复用为一根指示引脚,提供给微处理器进行中断处理。由于本发明需要利用发送端上升沿和接收端下降沿信号,因此需要对该功能进行严格限制。如图1所示,当发送同步帧信息时,基带发送指示引脚在刚开始发送帧同步信号时产生上升沿中断告诉微处理器发送时刻时戳,微处理器响应该中断之后,利用基带发送帧同步信号的间隙,快速将产生的发送时戳放入发送数据末端,考虑到微处理器和基带芯片之间的交互速率远大于基带发送速率,即使发送数据为空该发送间隙也能满足插入发送时戳的要求。发送端不关心该信号何时产生下降沿信号,出于对称性的考虑,将下降沿信号放置在发送完所有数据的时刻。从图1中可以看出,接收端指示引脚在接收到帧同步信号之后,产生上升沿过程。常规利用此上升沿过程产生中断来完成同步,缺点在于当信道质量较差时,对帧同步信号的误捕导致该边沿出现较大抖动,因此,本发明通过改进该过程,采用接收完一帧信号之后的下降沿信号向微处理器产生中断完成本地接收时戳记录,可以达到更好地效果。接收端将从同步帧中取出发送时戳并连同本地时戳进行存储,以便完成后续的本地同步运算。
图1所示时戳机制还存在一收发固有时延D,如何测量固有时延D是取得完全同步的关键。考虑到无线传感器网络传输距离一般不超过300距离,可以忽略电磁波传播带来的时延(小于1微秒)。测量D的方法有几种,首先如果了解具体的基带实现过程,可以依据基带数据速率通过理论计算的方式获得固有时延D;考虑到大部分应用,并不了解基带工作过程,采用直接测量的方式更为合理,可以利用示波器一类的测量工具统计上升沿和下降沿之间的固有时间差,然后转化为无线传感器节点的本地表示时间;另一种测量手段是让同步节点之间保持该固有时间差,待同步完成之后,通过被同步节点向同步发起节点发出记录本地时戳的查询帧的方式完成,同步发起节点通过计算本地接收时戳与发送时戳之间的差值完成固有时延D的测量,上述差值折半即为固有时延D。最后一种方法可以用在远超过300米距离的场合实现高精度同步的需求,即通过间歇发送查询帧的方式计算完成固有时间差测量,这里处于节能和传输距离近的考虑,仅仅作为一种测量方案来获取D,并认为该值恒定。
本地同步运算流程框图如图2所示,当无线传感器节点开机之后,节点初始化同步时戳缓存区,最大允许缓存收发时戳数量各为N个,每个时戳占用4字节空间,所以时戳缓存区占用存储空间为2*4*N字节。N取值范围根据节点存储资源情况可在3~11之间的奇数值上选取,推荐值为7,取值较小精度有所损失。当本地节点发现其缓存区满时,开启线性回归估计,对晶体间频率偏斜和相位偏移进行估计。线性回归过程如图3所示,t表示理想时间,
表示发送端在发送时刻
的本地时间,
表示接收端在接收时刻
的本地时间,两者存在
的关系式,参数a
01为频率偏斜,b
01为相位偏斜,短时稳定,随时间长度增加而产生变化,需要定时更新,更新周期T,T取值在1~100秒之间,根据实际需求取值,由此可见该方法占用带宽较小。为方便说明,时戳缓存区始终以
表示,其中i=0、1、...、N-1,i=N表示当前新到更新时戳。如图3所示,回归估计分为归零处理、参数估计、参数变换三阶段过程,因为缓存区满缓存数据为奇数,正好选择正中间数据作为归零点,大部分情形下所获得数据在归零点附近左右对称,求和运算正负相抵,所获数据接近于零,有利于微处理器浮点运算取得较高精度,由于时间表示位数(整型数据)有限,归零处理需要对时戳是否发生卷绕进行判断,卷绕判决相对简单,前后出现时间倒流(也即后到时绰数值小于前到时绰),转化为浮点数时加上相对偏移即可。参照图3中参数估计公式可以简洁估计出同步运算参数,该方式占用微处理器运算时间、存储资源均较小,有利于实际实现。因为对数据做了变形处理,最后需要通过图3中参数变换公式得到最后的参数,该参数作为全局变量,可以实时根据本地时间估计出同步发起方的时间,完成同步。但是由于数据总是有可能存在误差存在,因此对估计数据还需要进行容错处理,每当有新时戳到来时,并不立刻丢弃最旧的时戳,而是将其暂存,待新加入时戳完成回归估计之后,通过计算估计方差
判决是否更新预测参数,P的阈值一般选取在100到1000左右,推荐取值900,也有可能由于系统不稳定可对P值适当放宽。当方差小于阈值时,更新预测参数,并抛弃最旧时戳;当方差大于阈值时,则抛弃新到时戳,预测参数维持不变;倘若连续出现3次抛弃新到时戳的情形,则需要清空整个同步时戳缓存区,重新开始同步过程。由此完成容错处理。
利用快速存储转发技术进行带状特性网络同步过程如图4所示,是一种K-1跳的多跳网络,路由相对固定,由根节点0发起同步,具体过程如下:
1)根节点0以周期T向下一跳节点1发送同步帧,同时产生发送时戳
填写同步帧时戳域
D是收发固定时延。
2)节点1接收到上一跳同步帧,产生接收时戳
立刻开始向下一跳节点转发同步帧,产生发送时戳
转发同步帧帧头的同时修改同步帧中的时戳域
是节点1和节点0的相对频率偏斜,初始值为1,存储转发完毕之后,开始本地同步运算过程,当节点1收集到足够多(大于等于N)的同步帧之后,更新a
01。
3)以此类推,节点m存储转发的时戳
4)直到到达最后一跳节点K-1,该同步帧生存周期才算结束。所述Δ为收发固有时间差。
根节点0刚开始发起同步帧时,所有节点相对根节点0的频率偏斜都为初始值1,相位偏移为0。当根节点以同步周期T发送完N帧同步帧后,所有本地节点开始对频率偏斜和相位偏移进行回归估计,而对节点m此时实际估计数据为
0≤i<N。初始化阶段对任何a
0i都满足a
0i=1,与实际频率偏斜并不相同,然而对单个节点而言,从根节点到达的同步帧时延总是一确定值,仅仅由于a
0i未知无法确定,并不影响收集到的同步帧对a
0i的估计,但对相位相对偏移有较大影响。经过初始化的N帧同步帧估计出的斜率在接下来的同步帧传输过程中对上述存储转发时延进行修正,即需要另外N帧同步帧完成整个网络同步。因此,理想情形下,对任意多跳带状网络,同步网络建立时间T
setup=2*N*T,同步建立时间恒定。
最后需要说明上述时间同步方法如何与现有MAC协议无缝结合,如图5所示,仅仅需要以相对数据传输速率很长的同步周期T在现有MAC层协议中划分出一定的同步时隙Tp即可,Tp相对同步周期T而言几乎可以忽略不计,其余时段MAC协议完全与同步无关。同步时隙Tp又可以分为同步接收时隙TR和同步转发时隙TS,如图1所述同步帧结构,还可以在同步帧数据域插入其他网络维护信息,以获得更高效的协议开销。