基于TDMA的高精度时间同步算法

精度提升的时间同步用于基于TDMA的无线传感器网络

摘要

无线传感器网络(WSN)被广泛应用于诸多领域,包括人类、环境及各种工业过程中的繁重监测与跟踪任务。为使系统高效运行,多址协议应具备较强的鲁棒性,以在拥挤的无线信道中最小化数据包丢失率。时分多址(TDMA)协议是实现广覆盖的一种解决方案,可在支持大量节点的同时保持相对较高的效率。在TDMA中,节点间的同步是一个关键问题,因为每个节点的数据传输被分配了固定的时隙。本文提出了一种基于TDMA协议系统的具有更高估计精度的同步算法。所提出方法的性能和有效性已在真实信道环境中通过硬件模块进行了测试和验证。

关键词 :WSN;无线传感器网络;TDMA;时分多址;同步;时间偏移。


1 引言

无线传感器网络(WSN)被广泛应用于人类生活的各个方面。WSN应用可分为两类:监测和跟踪。第一类包括对环境条件、人体及健康状况的监测;第二类涉及对动物、人类或车辆的跟踪。由于无线传感器网络系统可能包含多达数千个传感器节点,因此应针对每种应用选择合适的、经过优化的媒体访问控制(MAC)协议,以提高网络性能的效率。(Nam等人,2009;Heo和Min,2013)。MAC协议应在网络性能的多个方面表现有效,包括碰撞避免、带宽利用率和功耗(Edgar和Callaway,2004)。某些类型的无线传感器网络基于载波侦听多路访问(CSMA)协议,该协议已被证明在实际现场应用中简单而有效,如IEEE 802.15.4标准(IEEE,2003)所规定。在CSMA中,发射器在数据传输之前检查信道状态是否空闲。尽管CSMA协议在无线传感器网络中很流行,但它存在一些缺点,例如与隐藏节点和暴露节点相关的问题。

当采用该协议的系统用于覆盖相对较广的区域时,问题会变得更加严重。因此,当大量节点同时尝试访问信道时,发生冲突的概率可能会增加。由于这一原因,基于CSMA的网络容易受到信道拥塞的影响,导致消息丢失的概率升高。为解决此问题,已提出另一种多址接入控制协议,称为时分多址(TDMA),旨在减少冲突数量并最终提高系统吞吐量。该协议允许多个用户在共享相同频段的前提下,仅在各自专用的时隙内访问信道。换句话说,节点之间的数据包交换依赖于网络运行初始阶段设定的预定义调度。每个节点在固定时间段内被分配一个清晰且无竞争的信道,这有望提高数据包在目的节点成功接收的可能性。此外,包错误率的降低将导致数据包重传率下降,从而节省功耗并提升吞吐量。显然,在TDMA中,同步是提升整个系统性能的关键问题,因为数据包交换依赖于全网统一的调度时隙。例如,当某个节点无法准确识别正确的时隙时,可能会导致数据包丢失或在错误的时隙进行传输。这种与正常时隙的失准会影响整个系统的性能。因此,性能的提升取决于保持高水平的同步精度。

本文提出了一种新的高精度同步算法(阮和全,2014)。该算法基于时分多址网络的多址接入控制,采用经典时间戳消息交换协议。在同步过程中,利用三个时间戳消息在节点之间交换时钟数据。额外增加的第三条消息用于向从节点通知补偿时钟值,从而降低了时间偏移计算的复杂度。由于本算法基于物理层信息,能够获得用于同步的高分辨率时钟数据。来自物理层的这种高分辨率时钟信息对长期连接具有重要作用。此外,它还能为实时任务提供精确的时钟。另一方面,由于基于TDMA的网络的数据包错误率依赖于调度时隙,因此提出了一种可调接收器时隙余量,以提高吞吐量。

为了证明我们的主张,我们比较了时分多址中的传统同步算法和所提算法。本研究建议交换时间戳消息并结合可调接收器时隙余量,以期为无线传感器网络中的同步问题提供一种简单而高效的解决方案。本文其余部分组织如下:第2节回顾了一些具有代表性的无线传感器网络传统时间同步方法。第3节介绍系统模型用于测试所提同步算法。在第4节中,我们详细讨论所提算法,并在下一节中对结果进行分析。结论部分在本文末尾给出。

2 无线传感器网络中的同步

在本节中,我们讨论了一些针对无线传感器网络(WSN)中定时问题的前沿基础研究工作,并引用了基于时分多址(TDMA)的同步协议,这些协议为我们的所提算法提供了参考。时间同步是与无线传感器网络相关领域中的一个重要且热门的研究课题(Krishnamachari, 2005;Swain 和 Hansdah, 2012)。关于时间偏移估计,应注意的是,无线传感器网络中的同步误差主要来源于接收端和发射器的不确定性(Bulusu 和 Jha, 2005)。更具体地说,传输不确定性可以分解为六个组成部分,即发送时间、访问时间、传输时间、传播时间、接收时间以及接收处理时间(Maroti 等, 2004)。发送时间和访问时间与在将消息发送给接收端之前准备消息和接入信道所产生的延迟有关。传输时间是指发送消息所需的时间段。接收时间和接收处理时间则与接收端相关,分别表示接收和处理消息所需的时长。最后,传播时间表示数据包从发射器传输到接收端所经历的时间。显然,精确估计传播时间较为困难,因为它取决于信道状况以及节点之间的距离。幸运的是,传播时间在整个延迟中所占比例较小,在许多情况下可以忽略不计。

在无线传感器网络中,时间同步问题可以从三种不同模型的角度来观察。无线传感器网络中的第一个同步协议称为参考广播同步(RBS)。在RBS中,终端的时钟不是单独与参考节点或接入点同步。相反,本地终端通过计算自身时钟与相邻终端之间的差异来尝试与相邻终端同步。一旦本地终端从发射器接收到广播消息,它们就开始与其他终端交换时间戳消息。每个节点在网络中存储其时钟与邻居时钟之间的相对漂移信息(Elson 等, 2002)。因此,RBS被视为一种终端‐终端同步。RBS的关键特点是消除发送端的不确定性。然而,RBS算法无法保证系统一致性。此外,由于每个终端没有固定的参考时钟,因此很难确定网络系统中每个终端的时钟漂移。

下一个著名的协议是传感器网络定时同步协议(TPSN)。TPSN证明了在一对节点之间的同步比在多个节点集合中进行的同步更加精确。此外,TPSN系统在同步精度方面,已证明其性能是RBS的两倍。在TPSN中,网络采用分层结构,并在网络设置的初始阶段选择参考节点。由于TPSN是无线传感器网络的基本定时协议,本文将对其进行详细讨论,作为我们所提出同步协议的参考。关于TPSN的研究包括对基本同步误差的分析以及不确定性的定义。 示意图0

如图所示,节点A被假定为主节点,而节点B作为从节点。接收或发送时间戳消息的时间点标记为Ti。可以发现,节点A与B之间的时间偏移是发射器、接收端和传播时间中不确定性的函数。该偏移还受到时钟漂移的影响(Ganeriwal 等,2003)。还值得注意的是,TPSN在安全性方面存在一些问题(杜等,2008)。然而,由于TPSN提供了一个通用框架,可通过数据包交换协议访问远程节点的时钟数据,因此可用于无线传感器网络中的多种类型同步协议。

另一项关于同步的研究,称为泛洪时间同步协议(FTSP),最近由TPSN发展而来(Maroti 等, 2004)。在FTSP中,主节点向从节点广播其实时时间戳消息,而从节点之间不进行消息交换。FTSP的关键特性是多次时间测量和泛洪消息。值得注意的是,发射器可以执行多次时间测量以减少抖动。此外,泛洪消息的功能是利用多个同步参考节点将同步消息传播到整个网络。该协议可部署于支持节点间多跳的无线传感器网络中。另一方面,由于FTSP在MAC层使用定时器,因此对物理层的不确定性不敏感。

在无线传感器网络中,MAC层的定时器也应实现同步。在基于TDMA的网络(如蓝牙)中,系统内的时隙调度需要保持同步(蓝牙特别兴趣小组,1999)。因此,相关领域最重要的研究课题之一就是基于TDMA的网络中的同步技术研究。大量研究文献聚焦于TDMA系统中的同步问题。一项关于基于TDMA的网络的研究利用了相对时钟节点之间的偏移以提高同步精度(Watwe 等,2014)。该相对时钟偏移在整个网络中进行估计,当相对偏移小于阈值时,网络协议将从基于CSMA的通信切换到时分多址通信。此外,在等待模式下实施了时分多址中的退避时间,以避免同步过程中的冲突(Claesson 等,2001)。

一项关于蓝牙协议中定时同步的研究提出了一种新的同步算法(Wahslen 等,2011)。在此研究中,使用了两条时间戳消息进行同步。此外,主节点通过向从节点发送请求来发起同步,然后从节点回复其时间戳。随后估计时间偏移并将其添加到主节点的时钟中。该方案的优点在于,具有高速处理器和内存的主节点可以在同步过程中计算并存储从节点的时间戳数据。然而,由于在此方案中主节点的时钟依赖于从节点的时钟,因此当存在大量从节点时,灵活性较差。同步过程如图2所示。 示意图1

当从节点接收到主节点发送的广播消息时,同步过程开始。主节点将时间戳插入请求消息中,从节点在接收到请求消息后,将其自身的时间戳插入回复消息中。主节点接收到回复消息后,计算时间偏移,并通过加上获得的时间偏移来调整其时钟。初始时间偏移可按如下方式获得:

$$
\text{offset} = \frac{(T_2 - T_1) + (T_1 - T_3)}{2} = \frac{T_2 + T_3 - 2T_1}{2}
\quad (1)
$$

其中,$T_1$ 和 $T_2$ 是发射器的时间戳,而 $T_3$ 是接收端的时间戳。$T_{\text{round}}$ 为往返时间。估计中的可能误差为 $\pm(T_{\text{round}}/2 - D_{\text{min}})$,其中 $D_{\text{min}}$ 表示请求消息的最短传输延迟(Cristian,1989)。参数 $T_{\text{round}}$ 取决于时隙长度以及基于TDMA的网络。

总之,无线传感器网络中的同步可以通过时间戳消息交换来实现。此外,同步应在底层进行,并借助MAC层的包控制实现高精度同步。

3 系统模型

在本节中,我们将详细讨论系统模型,为基于TDMA的网络实验做准备。实验系统模型包含一个主节点和多个从节点,每个节点具有唯一的地址和自由运行的本地时钟。主节点负责生成参考时钟并建立时隙调度,有时也称为接入点或参考节点。为了在正确的时隙中进行接收和传输,主节点与从节点首先需要实现同步。此外,同步过程至少占用三个时隙。在一段时间的数据传输后会触发重新同步过程,主节点至少需要一个时隙来传输其重新同步消息(图3)。重新同步所需的周期取决于主节点与从节点之间时钟漂移的程度。根据实验结果,该周期可在主节点的同步过程之前设定。 示意图2

图3是主节点与从节点之间基于时隙通信的示意图。如图所示,利用无线电广播将多个从节点与主节点的定时器进行同步。一旦从节点接收到主节点的请求,同步过程即开始。请求同步消息包含主节点的时钟数据。主节点在其请求消息中插入时间戳,而从节点则以其本地时间戳回复该请求。同步完成后,数据传输过程开始。主节点在偶数时隙中进行传输,而从节点在奇数时隙中进行传输。此外,在一段时间的数据传输后,使用重新同步消息来补偿主节点与从节点之间的时钟漂移。如图4所示,广播消息包括前导码、同步字节、有效载荷和CRC部分。 示意图3

前导码和同步字节用于重组消息,而CRC值用于检查分组是否损坏。此外,时间戳数据被放置在有效载荷中,以通知从节点主节点的本地时钟信息。目的地址由广播消息中使用的网络地址填充。

4 提高时间同步精度

4.1 时间偏移估计

一项研究表明,传统算法可能会产生超过往返时间一半的同步误差(Wahslen 等,2011)。此外,主节点必须调整其时钟以实现同步。然而,在无线传感器网络系统中,节点数量可能多达数千个,因此不可能为了与每个从节点同步而更改主节点的时钟。相反,主节点的时钟被视为网络系统的参考时钟,因此主节点的时钟需要保持固定。在所提算法中,从节点在接收到广播消息后,会调整其本地时钟以对齐主节点的时钟。该方法能够实现高精度,因为从节点与主节点之间的初始偏移可以显著减小。在广播消息之后,从节点发送第二条消息,仅用于确定传输延迟时间。此外,该算法还使用了第三个数据包。此第三条消息包含可用于补偿从节点时钟的偏移值。通过该补偿分组,主节点无需更改其时钟。主节点的时钟在正常数据分组传输期间作为网络的参考时钟。此外,主节点和从节点两侧的计算复杂度更低,估计误差也得以最小化。 示意图4

如图所示,主节点向从节点发送时间戳数据包。从节点从接收到的数据包中获取时间戳值作为其时钟。从节点在 $T_2$ 时刻回复其时间戳。在主节点处计算时钟偏移后,将其返回给从节点。随后,从节点接收到时间偏移值,并将其添加到自身的时钟中,以完成同步过程。

时间戳 $T_1$ 由主节点在广播时刻获取,而 $T_2$ 由从节点在回复主节点请求时设置。此外,$T_3$ 由主节点在接收到从节点的回复消息时设置。在图5中,$\varepsilon$ 表示接收消息后一个时隙中剩余的时间,而 $\Delta T$ 是从节点时钟的补偿值。接下来,时间偏移通过以下公式计算:

$$
T_2 = T_1 + \varepsilon \quad (2)
$$
$$
T_3 = T_1 + \varepsilon + \Delta T \quad (3)
$$
$$
T_3 - T_2 = \Delta T \rightarrow \Delta T = T_3 - T_2 \quad (4)
$$

检查网络地址以确认数据包已到达正确的接收端。然而,较大的时间偏移可能导致从节点在错误的时隙中回复,从而导致完全无法接收到消息。为了解决这一问题,提出了一种可调接收器时隙余量,以增加在基于时隙的网络中正确接收数据包的可能性。关于该附加参数的详细信息将在下一节中讨论。

4.2 接收端时隙裕量的优化

在时分多址(TDMA)中,一个关键问题是在接收端和发射器之间同步时隙。如果主节点和从节点无法在正确的时隙进行通信,同步过程可能无法完成。在所提算法中,接收端在同步的第一步调整其时钟时间后,主节点与从节点之间仍存在初始偏移。因此,如果该初始偏移超过接收端的阈值,接收端可能会丢失消息。为了确保同步过程成功完成,引入了一种新的可调接收器时隙余量,以提高同步的成功率。通过使用这种可调接收器时隙余量,可以确保同步分组被成功接收(Hu 等,2008)。每当接收端错过一个同步分组时,接收端时隙裕量值 $d$ 将逐步增加。

在图6中,由于 $d$ 的值可变,接收端窗口是可调节的。此处,参数 $d$ 被称为接收端时隙裕量,表示添加到接收端窗口的时间量。如图6所示,$d$ 有助于扩大接收端窗口,从而提高数据包接收的成功率。这一改进的原因在于,同步前大多数数据包丢失是由初始时间偏移引起的。图7描述了优化 $d$ 值的详细过程。从节点的时钟在其跟随主节点时钟时被调整。然而,由于发射器与接收端之间存在未知的时间偏移,接收端必须调整其时隙裕量,以确保后续的数据包能在接收窗口内被接收到。在图7中,响应广播消息后,接收端会统计丢失的数据包数量,并根据该数量调整接收端时隙裕量,进而尝试接收来自主节点的下一个数据包。此外,$d$ 可被视为正常数据传输中的时间偏移。在数据传输过程中,可以调整时隙长度以改善分组错误率。如果数据包错误数量持续增加,$d$ 可作为粗略的附加量用于补偿该偏移。 示意图5 示意图6

4.3 时钟漂移和重同步间隔

在实际应用中,由于节点间本地振荡器晶体的相对频率和相位漂移,导致时钟偏移的存在(Ganeriwal 等,2005)。因此,随着时间推移,时钟偏移可能会逐渐增大,而重新同步对于长期维持无线传感器网络中的稳定通信至关重要(王等,2011)。实验的目的是确定主节点与从节点之间的最坏情况下的时钟漂移。保持主节点与从节点之间的连接,直到它们完全失去同步为止。总同步时间通过从成功接收到最后一个数据包的时刻减去成功接收到第一个数据包的时刻得到。由于每个时隙都存在允许的时间偏移限制,因此在达到该限制前的最大时间间隔为重新同步取决于时钟漂移的程度。此外,时隙 $d$ 的参数是可调节的,并且取决于时钟漂移的程度。重新同步周期可以使用以下公式计算。

$$
T_{\text{sync}} = T_{\text{tol}} + T_{\text{offset}} + T_{\text{drift}} \times T_{\text{sync}} \quad (5)
$$

其中 $T_{\text{tol}}$ 为主节点与从节点之间时间偏移的容差,$T_{\text{offset}}$ 为同步后的时间偏移,$T_{\text{drift}}$ 为每秒主节点与从节点之间的漂移,$T_{\text{sync}}$ 为重新同步的周期。

5 实验结果

为了在实际信道环境中测量所提出的同步方法相较于传统方法的性能,实验中使用了用于传感器节点的低成本无线模块。该实验硬件平台基于CC2510迷你开发套件,包含一个优化的8051核心的片上系统(SoC)。其工作时钟频率最高可达26 MHz。射频组件工作在频率范围 2400–2483.5 MHz ISM,频率偏移为 ±40 ppm。采用 BFSK调制,支持最高500 k波特的数据速率。控制程序采用Keil C为8051 SoC编写(Wang等,2013)。在实验中,假设数据速率为10 kbps,时隙长度为62.5 ms,数据包包含20字节。 示意图7 示意图8

第一个实验涉及同步后剩余的时间偏移。传统算法和所提算法在同步后的残余时间偏移方面表现出显著差异。图8和图9分别显示了使用传统算法和所提算法进行同步后的同步误差。这些结果来自在测试硬件模块上进行的1000次测试。请注意,此处仅确定同步误差的幅度。此外,图10展示了所提算法与传统算法的直方图绘制在同一图表中。值得注意的是,同步误差呈现正态分布(Ganeriwal等,2003)。 示意图9

图10显示了所提算法与传统算法之间同步偏移的近似差异及其相对分布。具体而言,所提算法的均值为~889.4 微秒,标准差为23.39 μs;而传统算法的均值为31494 μs,标准差为47.67 μs。结果表明,所提算法的均值和标准差均更低。在传统算法中,同步误差超过了一个时隙长度的一半,而在本系统中一个时隙的长度为62.5 ms。如此大的残余误差表明同步未能成功完成。另一方面,所提算法消除了大量误差,使得同步后的初始偏移几乎可以忽略不计。此外,所提算法的同步误差比传统算法具有更窄的分布范围,这意味着与传统方法相比,所提方法对误差的估计更加稳定。

为了估计重新同步前的最大允许时间间隔,根据实验结果估算了主节点与从节点之间的相对时间漂移。在本系统中,给定的最大频率偏移为80 ppm,这意味着在26 MHz的频率下,最大频率偏移为2080 赫兹。时钟时间每秒的最小偏移量为0.12 微秒。这是仅基于两个硬件模块之间频率偏移的漂移下限。实际测量得到的时间漂移为 $T_{\text{drift}} = 3.3\ \mu s/s$。根据实验结果,最大容差 $T_{\text{tol}}$ 为10 ms,同步误差为~889.4 微秒。由于传统算法的初始偏移约为31.5 ms,该值超过了 $T_{\text{tol}}$,这意味着无法为传统算法建立同步。根据初始同步误差,可按如下方式计算重新同步周期:

$$
T_{\text{sync}} = \frac{10 \times 10^{-3} + 889.4 \times 10^{-6}}{3.3 \times 10^{-6}} \quad (6)
$$

从该方程可以看出,重新同步的允许周期为 $T_{\text{sync}} = 46\ \text{min}$。

尽管在所提算法中,接收端时隙裕量主要用于提高与同步相关的数据包成功接收的概率,但它也可用于降低网络中的分组错误率(PER)。特别是,同步误差可以通过接收端时隙裕量进行补偿,从而显著降低分组错误率。为了检验接收端时隙裕量对分组错误率的影响,在相同的硬件模块上进行了实验。图11和图12分别显示了所提算法和传统算法的分组错误率与接收端时隙裕量之间的关系。需要注意的是,与传统算法相比,使用所提算法时达到相同分组错误率所需的接收端时隙裕量更小。 示意图10 示意图11

这明显表明,接收端时隙的间隔占用了前一个时隙,显然是导致传输空闲时间减少的原因。为了监测这种更长的时隙间隔对吞吐量的影响,应增大时隙长度以保持传输的时间间隔。为了进行定量比较,假设数据速率为10 kbps,时隙长度为62.5 ms,数据包包含20字节。同时假设最大时隙裕量等于时隙长度的一半。由于这一限制,裕量的增加会导致时隙长度延长,以维持传输和接收部分之间的时间间隔。当接收端时隙裕量从0 ms增加到60 ms时,时隙长度也必须从62.5 ms增加到120 ms。根据这一关系,我们可以容易地得到吞吐量作为裕量函数的结果,如图13所示。该图显示,随着接收端时隙裕量的增加,吞吐量急剧下降。 示意图12

6 结论

本文提出了一种在基于TDMA的网络中新的三消息同步算法。该算法利用第三条消息来区分主节点与从节点之间的同步误差和初始时钟偏差。这提高了同步精度,特别是通过增加接收端时隙裕量,降低了同步失败概率。此外,在正常数据传输过程中,分组错误率可以通过扩展接收端时隙裕量得以减小。结果表明,该所提算法与传统方法相比具有更高的精度,并在实际现场应用中得到了验证。因此,所提的同步算法可用于实际应用中。这种针对基于TDMA的网络的新同步算法可在鲁棒网络中结合跳频实现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值