基于源时钟频率矫正的无线传感器网络时钟同步算法在多跳点的仿真
2018-11-19廖启蒙
廖启蒙
(盐城工学院,江苏 盐城 224000)
0 引 言
随着实时无线数据采集技术的发展,无线传感器网络的应用前景与领域也更为广阔,如军事领域、工业领域和医疗领域等。时钟同步技术是无线传感器网络中的核心要素,因为它在不同的传感器节点中提供了一个共同的时钟框架。
在典型的无线传感器网络中,一般只有两种节点。一种是根节点。根节点作为一种强大的数据处理器,与网络的连接形式一般是有线与无线并存。另一种节点是子节点,子节点数量众多、规模巨大,负责数据的采集与发送,但是由于其区位因素,一般与网络的连接方式都通过无线网络。所以,如何有效节约能源成为设计无线传感器网络时钟同步算法与协议的重点。现有的一些无线传感器时钟同步算法与协议如成对广播同步算法(PBS)[1]、递归时间同步协议(RTSP)等[2],在减少耗能的同时都针对于解决根节点与子节点的问题。本文使用的是另一种时钟算法——基于源时钟频率矫正的时钟同步算法(SCFR)[3-4],是一种节能方案,着重解决电池供能的子节点能源消耗问题。
1 一种基于源时钟频率矫正的时钟同步算法
基于源时钟频率矫正的异步源时钟频率恢复(SCFR)的节能方案,允许独立的异步从属传感器时钟与主节点时钟同频运行。与传统的双向消息交换算法(TPSN)相比,SCFR是主节点发送“请求”消息,传感器节点回应“应答”消息。主节点继续向传感器节点发送具有时间戳的信标,传感器节点负责接收。使用正常数据分组可减少传感器节点处的传输次数,从而使主节点计算出传感器节点的时间偏移,正确解释数据测量的出现与哪个主时钟相关,如图1、图2所示。
图1 传统双向信息交换时钟方案
图2 逆向双向信息交换时钟方案
2 多跳点(两跳点)时钟同步
多跳点时钟同步方案如图3所示。该方案中,门节点在从属关系上既可以作为根节点也可以作为子节点。对于上层根节点而言,门节点扮演下层子节点的角色;而对于下层子节点而言,门节点则扮演根节点的角色。一般而言,处于最下层的子节点的时钟包裹是由门节点传递到最上层根节点的,而最终的仿真验证也是基于图3的时钟框架。
图3 多跳点仿真(两跳点)时间框架示意图
首先,定义最上层根节点“信标请求”信息离开根节点的具体时间戳为,那么“信标请求”信息到达下层门节点的时间戳为:
DHG表示上层根节点与下层门节点之间的传输延迟,RHG表示门节点时钟频率相对于上层根节点时钟频率的比率,θHG为门节点时钟相对于根节点时钟的时钟补偿,dHG表示传播信道中噪声而导致的延迟。门节点对于下层子节点而言扮演根节点的角色,所以门节点也会发送“信标请求”信息到下层子节点。那么,将门节点“信标请求”信息离开门节点的时间戳表示为tH_B_D。需要注意,门节点的时钟与子节点的时钟没有直接关系,但是它们都可以参考最上层根节点的标准时钟。所以,门节点的“信标请求”信息离开门节点的时间戳是参考自身的时钟。因此,需要将门节点的“信标请求”信息离开门节点的时间戳转化为参考根节点标准时钟的时间戳:
然后,“信标请求”信息到达最下层子节点的时间戳可以表示为:
需要注意,这里的时间戳依然参考根节点的标准时钟,而不是最下层子节点的自身时钟。这里的DGS和dGS分别表示门节点与最下层子节点之间的信息传输延迟与信道噪声延迟。最终,时间戳到达最下层子节点的时间戳为:
这里的RHS与θHS分别表示最下层子节点相对于门节点的时钟频率比率与时钟补偿。在多跳点情况下,逆向双向信息交换会分别发生两次,一次在最下层子节点与门节点之间,另一次在门节点与最上层根节点之间。在这个多跳点方案中,使用累计比率估测法[4]计算R^GS和R^HG,R^GS和R^HG分别表示门节点时钟频率相对于最下层子节点时钟频率的估测比率和门节点时钟频率相对于根节点时钟频率的估测比率。
当测量数据包裹从最下层根节点发出时,定义这时的时间戳为tm。这时的时间戳参考根节点的标准时钟,因此将这一时间戳在SCFR算法机制下转化为参考最下层子节点本地时钟为:
当门节点接收到从最下层发送来的测量数据包裹时,它会将测量数据包裹向上传递到最上层的根节点。在SCFR这种算法机制下,数据包裹到达门节点的估测时间为:
到达门节点的时间戳是参考门节点自身的本地时钟,现在回到这个方案最初的时间,最上层根节点发送“信标请求”信息,这一“信标请求”离开根节点的时间戳为tH_B_D,则到达门节点的时间戳为rGW_B_A。之前提到的测量数据包裹是由最下层子节点发出,由门节点传递到最上层根节点,而这一测量数据包裹离开门节点的时间戳在SCFR机制下定义为:
考虑到测量数据包裹发送到门节点时无法立刻由门节点传递到上层根节点,存在一定的处理延迟,所以定义A为处理延迟。最终,测量数据包裹到达最上层门节点的时间为:
最终,测量数据包裹到达最上层根节点。在SCFR算法机制下,这一时间戳定义为:
3 仿真结果
假设一个多跳网络模型中包含一个根节点、一个门节点和一个子节点。门节点与子节点之间相距200 m,门节点与根节点之间相距100 m,总共120 s观察时间。假设总共100个测量数据包裹且遵循泊松分布,最下层子节点与最上层根节点的时钟偏移和时钟补偿分别是1.0+200 ppm和0.9 s。同样,门节点与最上层根节点的时钟偏移和时钟补偿分别是1.0+100 ppm和1 s。结果分别如图3、图4、图5和图6所示。
图3 最下层根节点与门节点时钟频率矫正情况
图4 门节点与最上层根节点时钟频率矫正情况
图5 最下层根节点与门节点时钟同步情况
图6 门节点与最上层根节点时钟同步情况
可以观察得到,门节点与最下层子节点的测量时间误差、时钟频率误差与单跳点仿真结果十分类似[5],时钟频率的差异几乎趋向于零。从精度上看,测量时间差异、时钟同步精度非常高,属于纳秒级别。从门节点与最上层根节点的仿真结果不难看出,仿真数据与门节点与最下层子节点有相同的数据趋向。从均方误差(MSE)这一测量结果可见,由门节点传送测量数据包裹而造成的累积误差很小。所以,从一个跳点到两个跳点的拓展,从单跳到多跳,证明这种基于源时钟频率矫正的算法在两个跳点的情况下依然可以保持很高的精度。
4 结 论
模拟了一个多跳的仿真模型,以验证基于源频率时钟矫正(SCFR)在两个跳点下依然能保持较高的精确度。从模型和仿真结果来看,当最下层子节点的测量数据包裹由门节点传递到最上层根节点时,门节点与根节点的时钟频率与测量数据预估时间误差很小,依然保持着很高的精确度。