0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于发送方接收方双向同步算法实现时钟漂移与偏移补偿机制的研究

电子设计 来源:单片机与嵌入式系统应用 作者:徐世武 2020-02-10 08:03 次阅读

引言

无线传感器网络是由密集型、低成本、随机分布的节点组成,集成了传感器技术、计算机技术和通信技术,能够协同地实时监测、感知并采集各种环境的数据,适用于战场通信、抢险救灾和公共集会等突发性、临时性场合。保持节点之间时间上的同步在无线传感器网络中非常重要,它是保证可靠的数据传输、精确的节点定位、可靠的数据融合、准确的目标跟踪与检测的前提。如利用波的到达时间差测距,就需要高精度的时间同步。无线传感器网络中,由于频率漂移,各个节点之间必然会产生一定的时钟偏移,因此有效的时间同步技术对保证各个节点之间的时钟同步非常重要[2]。

2002年,Elson等人在影响未来网络研究发展方向的国际权威学术会议HotNets上,首次提出无线传感器网络时间同步的研究课题,至今已有相当多的典型时间同步算法。基于发送者接收者的双向同步算法中,比较典型的如TPSN(Timingsync Protocol for Sensor Networks)算法[3]。TPSN算法分成两个阶段,第一阶段为层次发现阶段,第二阶段为同步阶段。在同步阶段采用发送者接收者的双向成对同步算法, MAC层采用加入时间戳的技术,进而估算出节点之间的传输延迟与时钟偏移。该作者在Mica 节点上测试过,TPSN平均单跳误差为17.61 μs。基于发送者接收者的单向时间同步算法中,比较典型的如FTSP(Flooding Time Synchronization Protocol)算法[4]、DMTS(Delay Measurement Time Synchronization)算法[5]。基于接收者接收者的同步算法,典型的有RBS(Reference Broadcast Synchronization)算法[6]。近几年,也有作者提出了协作同步机制[7]。协作同步的核心思想仍然是属于集中式协议,要求整个网络中节点密度较高。参考文献[8]中,作者提出了分步式同步机制,整个网络无需构造由根节点发起的生成树,只需要每个节点之间使用分布式广播同步机制。

传统的同步机制只是简单地修正节点之间的时钟偏移,传感器节点时钟由晶体振荡器驱动。晶体振荡器的实际频率通常与它标定的频率之间存在一定的偏移,即存在时钟频率的漂移。传统的同步算法为了提高同步精度,节点就必须频繁地重复时间同步算法,以消除时钟偏移的影响。频繁地交换消息,必然给功耗受限的节点带来额外的负担,因此考虑节点之间的时钟漂移也是非常重要的[9]。

1 、CDCO时钟同步算法设计

1.1 时钟模型

本同步算法采用的是发送者接收者的双向同步算法,同时考虑了时钟漂移与偏移对同步精度的影响。在无线传感器网络的节点中,如果采用的是时钟速率恒定模型,那么节点的硬件时钟Ci(t)与真实时间Ck(t)的关系可以表示为Ci(t)=aik·Ck(t)+mik。式中,aik为节点之间的相对漂移量,mik为节点之间的相对偏移量。如果两个节点之间完全同步,则相对漂移量aik为1,相对偏移量mik为0。

1.2 单跳同步原理

如图1所示,hi(t1)、hi(t4)、hi(t5)用来记录参考节点的本地时间, hk(t2)、hk(t3)、hk(t6)用来记录同步节点的本地时间。同步过程采用类似TPSN算法的双向同步过程,假设同步节点与参考节点的时钟关系采用时钟恒定模型(这在现实中也是合理的),则hk(t)=ρki·hi(t)+mki。式中,hk(t)、hi(t)分别为同步节点与参考节点在本地时刻t的时钟,ρki、mki分别为时钟漂移量与偏移量。

图1 双向同步原理图

假设传播延迟为dki,因为在极短的时间内来回传播延迟与节点时偏可假设相同。假设漂移量

则在理想情况下,ρki为1,即线段hi(t1)hk(t2)平行于线段hi(t5)hk(t6),此时不存在时钟漂移[10]。如图1所示,根据双向同步原理与时钟恒定模型可以得到:

基于发送方接收方双向同步算法实现时钟漂移与偏移补偿机制的研究

则根据得到的ρBA、mBA修改同步节点的本地时钟,就能实现与同步节点的时钟同步。

1.3 多跳同步原理

假设节点A与其下一跳节点B已经实现了时间同步,则可以得到:

基于发送方接收方双向同步算法实现时钟漂移与偏移补偿机制的研究

由式(5)与式(6)可以得到:

同样,假设节点B与下一跳节点C已经实现了时间同步,同理可以得到:

显然将式(7)带入式(8)可以得到节点A与C之间的同步。

采用同样的方法逐级迭代下去,就可以实现全网的时间同步。

1.4 理论误差来源分析

由1.2节的分析可知,两节点之间的时钟关系为hk(t)=ρki·hi(t)+mki。如果两个节点不存在时钟频偏的情况,ρki为1,即hi(t1)hk(t2)平行于边hi(t5)hk(t6),则频率偏移误差:

基于发送方接收方双向同步算法实现时钟漂移与偏移补偿机制的研究

假设不存在频率偏移的情况下,即ρki为1,我们来计算时钟偏移的误差来源。根据图1所示的发送接收双向消息同步过程,可以得到:

式中, hk(t3)、hi(t4)分别是t3、t4所对应的同步节点和本地节点所测出的本地时间,Sk代表节点k的报文发送时间,Ak是发送报文的访问时间,Pk→i是节点k传播到节点i的时间,Ri是节点i的报文接收处理时间,Nkt是传输Nk个比特的总时间,Terror指传输比特的误差,Rerror为打时标过程存在的误差,Dk→it3代表节点k与节点i在hk(t3)时刻的时偏。因为在实验中采用了MAC层的打时标方法,这样就可以消除发送时间与访问时间对误差的影响。于是式(11)就可以简写为:

式中,Dk→it3=Dk→it6+RDk→it3→t6。同理可以得到hk(t6):

由以上各式可以得到时偏:

基于发送方接收方双向同步算法实现时钟漂移与偏移补偿机制的研究

式中,RDk→it3→t6代表从hk(t3)到hk(t6)时段内,节点k相对于节点i增加的时偏;Dk→it6是hk(t6)时刻节点k与节点i之间的时偏。可以算出时钟偏差为:

2 、算法性能分析

无线传感器节点采用的是晶体振荡器来计时节点的本地时钟,由于成本的限制,只能采用一些低成本的晶振。硬件设备厂商一般都会给出晶振频率变化范围,一般时钟漂移为[10,100]ppm。同步周期取20 s,在一个周期内采样4次,得到的结果如表1所列。相同情况下的多跳同步误差如表2所列。

基于发送方接收方双向同步算法实现时钟漂移与偏移补偿机制的研究

从表1中可以看出,在同一个周期内,相比TPSN算法,CDCO算法误差随采样间隔的增长明显比TPSN慢,在相同的采样间隔,误差也明显低于TPSN算法。因为相比于TPSN算法,本文考虑了时钟漂移,因此可以在较长的时间内保持同步。从表2可以看出,随跳数增加,CDCO算法精度较高于TPSN算法。在相同的跳数内,CDCO算法的误差明显低于TPSN算法,且随着跳数增加,CDCO算法的同步误差增加明显低于TPSN算法。相对于TPSN算法,CDCO算法可以减小误差多跳累加的影响。

3、结语

本文基于发送方接收方双向同步算法的原理,设计了一种同时考虑时钟偏移与漂移的同步补偿机制(CDCO算法)。实验结果表明,相比传统的发送方接收方双向同步算法,CDCO算法因为采用了时钟漂移补偿技术,在同一个同步周期内,同步误差随时间增加变化较小;而传统的算法因为存在时钟漂移,在同一个周期内误差随时间增大而变得越来越大。相对于TPSN算法,CDCO算法可以减小误差多跳累加的影响。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 无线传感器
    +关注

    关注

    15

    文章

    767

    浏览量

    98050
  • 网络
    +关注

    关注

    14

    文章

    7251

    浏览量

    87447
  • 时钟
    +关注

    关注

    10

    文章

    1480

    浏览量

    130306
收藏 人收藏

    评论

    相关推荐

    异步机制同步机制

    间可以不用同时在线等待,任何一只需各自处理自己的业务,比如发送发送消息以后不用等待接收方的响应,可以接着处理其他的任务。也就是说
    发表于 04-14 12:33

    AF_DATA_CONFIRM_CMD:mac层的应答指的是数据到达接收方的mac层以后接收方回一个ack数据包到发送吗?

    发送的时候,随便指定一个合法地址,就会产生AF_DATA_CONFIRM_CMD;mac层的应答指的是数据到达接收方的mac层以后,接收方回一个ack数据包到发送
    发表于 08-17 07:02

    双向同步自适应时钟技术

    调时(SelfTimed)技术,即采用类似应答机制实现两个不同时钟域系统间信号的可靠传输,如图l所示。图l中的发送接收系统均工作在各自独
    发表于 05-21 05:00

    采用ADS实现接收机码元同步算法

    系统中,码元同步对于实现信号的准确判决码元和降低系统误码率起着关键作用。本文介绍了在ADS仿真环境下实现16QAM接收机码元同步
    发表于 06-27 06:04

    设计时间同步机制关注的主要性能参数

    ,提高了脉冲数量,提高了检测精度。因为 rbs算法消除了发送的不确定性,所以无需在节点间进行双向信息交换,因此比传统的时钟
    发表于 12-31 17:09

    分享一种实现时钟频率同步的设计方案

    本文研究了一种可对频率进行动态调整的时钟,通过对时钟频率的动态修正,实现主从时钟频率的同步,进而
    发表于 04-08 06:23

    怎样去设计一种同步补偿机制(CDCO算法)?

    本文基于发送接收方双向同步算法的原理,提出一种基于时钟
    发表于 05-17 06:18

    如何使用PTP实现时钟同步

    我正在尝试使用 PTP 实现时钟同步,请帮忙。
    发表于 03-31 09:00

    同步传输,同步传输工作原理是什么?

    同步传输,同步传输工作原理是什么? 同步传输方式中发送方和接收方时钟是统一的、字符与字符间的
    发表于 03-17 16:36 2327次阅读

    同步传输/异步传输原理什么?

    同步传输/异步传输原理什么? 同步传输 同步传输方式中发送方和接收方时钟是统一的、字符与字
    发表于 04-03 15:10 2240次阅读

    基于卡尔曼滤波估计的一致性时钟同步算法

    了基于分布式卡尔曼滤波估计的一致性补偿时钟同步算法DKFCC。该算法首先利用双向信息交换
    发表于 11-29 09:59 3次下载
    基于卡尔曼滤波估计的一致性<b class='flag-5'>时钟</b><b class='flag-5'>同步</b><b class='flag-5'>算法</b>

    如何使用ADS实现接收机码元同步算法的设计

    中引起的时钟抖动问题,实现接收信号和发送信号同步。并对该算法在ADS环境下进行了仿真,仿真结果
    发表于 08-28 10:48 1次下载
    如何使用ADS<b class='flag-5'>实现</b><b class='flag-5'>接收</b>机码元<b class='flag-5'>同步</b><b class='flag-5'>算法</b>的设计

    HT32F5232学习之USART串口实现发送接收以及对三种接收方式的思考

    HT32F5232学习之USART串口实现发送接收以及对三种接收方式的思考
    发表于 12-02 20:51 6次下载
    HT32F5232学习之USART串口<b class='flag-5'>实现</b><b class='flag-5'>发送</b><b class='flag-5'>接收</b>以及对三种<b class='flag-5'>接收方</b>式的思考

    浅谈PLC的异步通信和同步通信

    所谓异步是指发送方和接收方之间的数据帧不需要严格的同步同步同步是指发送方和
    发表于 01-18 11:12 1964次阅读

    控制系统之间如何实现时钟同步

    控制系统之间如何实现时钟同步? 控制系统之间的时钟同步是确保不同系统之间的时钟保持一致的过程。它在许多实时应用中非常重要,如分布式系统、通信
    的头像 发表于 01-16 14:37 293次阅读