一种基于温度感知的无线传感器网络时间同步方法

文档序号:7809049阅读:198来源:国知局
一种基于温度感知的无线传感器网络时间同步方法
【专利摘要】本发明公开了一种基于温度感知的无线传感器网络时间同步方法,该方法包括的步骤有:敏感度因子确定、敏感度因子间隔确定、本地时间更新。本算法在频偏估计时考虑到了节点当前环境温度变化对节点频偏造成的影响,提高了频偏估计的精度。同时,由于该算法在时间同步的过程中主要依赖本地信息,大大减少了信息传输次数,从而很大程度上降低了能耗,并且减少了由信息逐层传输带来的误差累积。最后,由于该算法对信息传输的依赖较低,从而解决了野外环境下由于恶劣天气以及节点位置动态变化等造成的通信不稳定的问题。
【专利说明】一种基于温度感知的无线传感器网络时间同步方法

【技术领域】
[0001]本发明涉及无线网络【技术领域】,具体涉及一种基于温度感知的无线传感器网络的时间同步方法,该方法适用于野生动物监测、土遗址监测等大规模区域监测无线传感器网络应用。

【背景技术】
[0002]作为无线传感器网络的一项重要支撑技术,时间同步得到了广泛的应用,如数据融合技术、休眠调度技术、基于TOA的定位技术以及目标追踪等都需要全网节点保持时间同步。在大规模的传感器网络中,网络节点众多,且节点的能量,处理能力,带宽等相对有限,网络环境相对恶劣,因此,这就要求传感器网络时间同步算法具有低通信开销、低计算复杂度、良好的扩展性和鲁棒性等特点。
[0003]在进行大规模监测(如野生动物,土遗址等)过程中,来自不同传感器的不同数据(文字数据,声音数据,视频数据等)需要被组合起来,并通过一系列的统计以及分析,最终得到有效的环境信息并且推测出有可能发生的事件。在对多种数据进行融合的过程中,需要采集数据的各个节点的时间同步,否则会得到错误的时间信息,最终导致错误的分析结果。除此之外,由于传感器网络能量受限的特点,节点需要进行周期性的休眠来降低能耗。这就需要全网的节点按照一个特定的规律来调节自己的休眠周期,从而保证数据的正确传输。然而,节点间时间的不同步将会导致节点在错误的时间进行休眠,从而影响数据传输成功率。现有技术中,为了保证全网节点之间的时间同步,在无线传感器网络中已经有许多时间同步策略:
[0004]第一类:基于数据包交换的时间同步方法
[0005]该方法首先通过节点间时间戳的交换来进行一对节点间的时间同步,再通过网络分层的方法进行逐层同步,最终达到全网的时间同步。该方法存在三方面缺陷:1)由于该方法是利用频繁的时间戳交换来进行时间同步的,因此会引入大量的通信开销。在无线传感器网络中,通信开销在总开销中所占比例远高于计算开销和数据采集带来的开销,因此该方法会造成节点能量的大量流失。2)由于时间戳在网络中是逐层传输的,因此会造成误差累积,从而影响时间同步精度。3)由于传感器网络中使用的是廉价晶振,该晶振易受到温度、电压、震动等工作环境的影响,而该方法并没有考虑到这一点。
[0006]第二类:基于外部周期性信号的时间同步方法
[0007]在这种方法中,全网所有节点都根据一个统一的周期性信号来调整自己的时钟频率。这种周期性信号包括:wifi信号,广播信号,日光的发出的光信号等等。该方法在同步过程中主要依赖于本地信息,很大程度上减少了时间戳的交换,降低了能耗,减少了误差累积。该方法存在的缺陷有:1)对环境有一定的限制,该类方法不适用与各种信号无法到达的野外环境。而且根据日光灯进行同步的方法要求传感器网络必须工作在室内环境。2)WIFI信号和广播信号需要额外的硬件设备进行接收,这种设备不仅提高了经济开销,而且需要高能耗支撑,不适用于大规模部署。3)这种方法同样没有考虑到工作环境对廉价晶振的影响。


【发明内容】

[0008]工作在大规模野外环境下的传感器网络时间同步方法与通常环境下的方法有着显著的不同,针对现有同步方法不能适用于大规模网络的现状,本发明提出一种基于温度感知的无线传感器网络时间同步方法,使得同步过程在野外大规模环境下依然能够达到高精度以及低能耗的要求。
[0009]为了实现上述任务,本发明采用的技术方案是:
[0010]一种基于温度感知的无线传感器网络时间同步方法,包括以下步骤:
[0011]记R为无线传感器网络中的参考节点,N为除参考节点之外的任意一个传感器节点,网络初始化后,节点N重复执行以下周期,该周期包括步骤一至步骤三:
[0012]步骤一,敏感度因子确定
[0013]步骤S10,节点N向参考节点R发送时间同步请求数据包;
[0014]步骤S11,节点R在收到时间同步请求数据包后,向节点N依次返回四个应答数据包眞,M1, M2, M3,每个数据包中记录发送该数据包时时刻节点R的本地时间,分别为time (R)。?time (R)3 ;M0与M” M2与M3间隔时间均为Is 与M2间隔时间为1min ;
[0015]步骤S12,节点N在接收到数据包Mtl?M3的同时,记录自己的本地时间time。?time3以及节点N当前所处的环境温度temp。?temp3 ;
[0016]步骤S13,节点N对其在Ume1以及time3的频偏Skew1以及skew3进行计算:
J skew\ = (time' -timeiR)^) — Uime0 —time(R)0)
[0017]= —timeiR)x) — {time2 —time{R)2)(么式丄)
[0018]步骤S14,节点N根据频偏及温度信息对当前敏感度因子TSF值进行计算:
^ ^skew, - skew,
[0019]TSF = ~^-r一~-τ一~^(公式 2)

(ICmpii — Iemp) -(Iemph — Icmp)

τIemp^ + temp, ^temp, + (emp,,
[0020]公式2中,丁穩!\丨=~—2-^= ~Temp为标准温度,取值为 25 0C ;
[0021]步骤二,敏感度因子间隔确定
[0022]步骤S20,节点N获取此刻所处环境温度T1,节点N上一周期该时刻所处环境温度为Tp,e,则节点N的温度变化率DT为:
[0023]DT = 7' Tpn'(公式 3)


(I

pre
[0024]公式3中,dpre为上一周期步骤S22获得的敏感度因子间隔d的值;
[0025]步骤S21,节点N计算当前累积误差值error:
[0026]error = (^-Ume(R),) +(time,-Ume(R)2)(公式幻


2
[0027]步骤S22,节点N对敏感度因子间隔d进行设定,方法为:
[0028]d =(公式 5)

error IJl
[0029]公式5 中,μ = 150 ?900 μ S,λ = 0.6 ?1.4°C,dstd = 20min ;
[0030]步骤S23,节点N设置当前频偏值skew为skew3,Λ t时长后转入步骤S31,100s< At < 10000s ;
[0031]步骤三,本地时间更新
[0032]步骤S30,节点N获取其此刻所处环境温度T2,根据步骤S14计算的敏感度因子TSF对节点当前频偏进行计算:
[0033]skew = TSF.(T-Temp)2(公式 6)
[0034]步骤S31,节点N计算当前的相偏:.v/ccnt' +.v/fevv,
[0035]offset = ofjsetpn, + At.---—(公式 7)
[0036]公式7中,Skewltte为上一周期步骤S23或步骤S30获得的当前频偏值,Offsetpre为上一周期步骤S31计算出的当前相偏值;
[0037]步骤S32,若节点N的当前相偏满足:
[0038]offset > I(公式 8)
[0039]则节点N对自身本地时间进行更新,更新后的本地时间clock为:
[0040]clock = clockpre+offset(公式 9)
[0041]在公式8和公式9中,ε为本地时钟周期,clockpre为更新前的本地时间;更新完毕后,节点N将Offsetltte清零;
[0042]步骤S33,节点N查看计时器,若时长d未到时,则休眠At时长后转至步骤S30 ;否则,完成本周期,转入步骤SlO开始执行下一周期。
[0043]本发明与现有技术相比有以下的技术优点:
[0044]1.降低了能耗;
[0045]首先,由于节点在进行同步的过程中主要依赖于本地信息进行时钟频偏的估计以及本地时钟的更新,很大程度上减少了通信开销。
[0046]其次,由于节点是根据其环境温度信息来进行时间同步的,而温度的获取不需要借助额外的硬件设备,仅需要温度传感器,因此,减少了信号接收能耗。
[0047]2.提闻了同步精度;
[0048]首先,节点在进行同步的过程中考虑到了工作环境(温度)对节点晶振的影响,并对此影响进行了补偿,因此能够避免由于温度造成的频偏变化,从而降低了时钟相偏的累积。
[0049]其次,由于该时间同步方法基本不需要时间戳的逐层传递,因此降低了同步误差的累积。
[0050]3.提高了鲁棒性
[0051]同样,由于节点在进行时间同步的过程中主要依赖本地信息,而不是时间戳的交换,因此,该方法对通信条件的要求较低。当节点的通信设备出现异常无法工作,或是在网络节点位置动态变化,无法与参考节点保持通信的情况下,节点能够根据本地的电压信息进行时间同步,因此提高了鲁棒性。

【专利附图】

【附图说明】
[0052]图1是本发明方法的流程图;
[0053]图2是“温度_频偏”关系不意图;
[0054]图3是频偏相偏估计过程以及温度敏感度因子TSF估计过程周期关系示意图;
[0055]图4是仿真实验模拟温度变化示意图;
[0056]图5是精度控制参数μ对再λ同步间隔和时间戳交换次数的影响以及μ的最优值确定实验结果图;
[0057]图6是温度调节因子λ对TSF估计间隔和时间戳交换次数的影响以及λ的最优值确定实验结果图;
[0058]图7是动态周期TSFB算法、固定周期TSFB算法以及EACS算法频偏估计精度对比实验结果图;
[0059]图8 (a)是不同精度控制参数μ取值下TSFB算法与FTSP算法能耗对比实验结果图;
[0060]图8 (b)是不同温度调节因子λ取值下TSFB算法与FTSP算法能耗对比实验结果图;
[0061]图9是TSFB算法与FTSP算法鲁棒性对比实验结果图;

【具体实施方式】
[0062] 申请人:在野生动物监测、土遗址监测等大规模监测中,为了保证休眠调度过程的顺利进行,以及保证数据融合阶段数据处理结果的正确性,需要建立高精度且低能耗的时间同步策略。而大规模野外环境与普通网络环境相比存在两个问题:1)网络规模大,导致节点通信能耗以及时间同步累积误差迅速增大;2)环境动态变化,导致节点之间的通信情况不稳定,不能保持持续的正常通信。
[0063]针对现有时间同步方法不适用于大规模野外环境的现状,本发明提出一种基于温度感知的传感器网络的时间同步方法,利用节点时钟频偏与温度的高度相关性(如图2所示)进行时间同步,使得时间同步算法在这种特殊的网络条件下仍然能够做到高精度、低能耗以及闻鲁棒性。
[0064]本发明需要在传感器节点进行时间同步的过程中周期性的对其敏感度因子TSF进行估计以及更新。这里的敏感度因子TSF表示节点对其所处环境温度变化的敏感程度。在每两次TSF估计的间隔时段,节点根据其所处环境温度值以及当前TSF估计值进行频偏的估计及补偿。这里的频偏指的每一个节点相对于同一个参考节点的频偏。同时,节点根据估计误差的累积以及温度变化情况,可对节点执行TSF估计间隔的调节,以此达到能量消耗与估计精度的平衡。
[0065]一、本发明方法详细步骤
[0066]本发明提出一种基于温度感知的无线传感器网络的时间同步方法,该方法在同步过程中根据本地温度值以及敏感度因子TSF不断修正节点的时钟频偏,以及对时钟相偏进行补偿,同时,根据误差的累积状况以及温度变化状况周期性的进行敏感度因子TSF估计及更新。如图1所示,该方法包括以下步骤:
[0067]一种基于温度感知的无线传感器网络时间同步方法,该方利用无线传感器的温度与频偏之间的关系进行时间同步,包括以下步骤:
[0068]记R为无线传感器网络中的参考节点,N为除参考节点之外的任意一个传感器节点,网络初始化后,节点N重复执行以下周期,即所有节点均不断重复按照周期执行;时间同步过程是伴随着整个网络的运行而进行的,只要网络生命周期没有结束,时间同步过程就会不停的周期性的进行下去;周期循环过程如图3所示,该周期包括步骤一至步骤三:
[0069]步骤一,敏感度因子确定
[0070]为了使节点在同步过程中能够及时地根据当前温度对时间频偏进行补偿,在在无线传感器网络节点进行时间同步的过程中需要周期性的对其敏感度因子TSF进行估计以及更新。TSF的估计主要依赖于在估计过程中节点温度的变化量以及相应的频偏变化量。节点为了获取其频偏信息,需要通过与参考节点R进行时间戳交换;这里的参考节点为一个标准节点,在部署前确定,可以为一个普通节点,也可以为一个基站;全网节点以参考节点的时间为标注进行时间同步:这里以传感器网络中除了标准节点之外的任意一个节点N为例:
[0071]步骤S10,节点N向参考节点R发送时间同步请求数据包,告知参考节点需要进行同步过程;
[0072]步骤S11,节点R在收到时间同步请求数据包后,向节点N依次返回四个应答数据包眞,M1, M2, M3,每个数据包中记录发送该数据包时时刻节点R的本地时间,分别为t ime (R)。?t ime (R) 3 ;(例如,Mtl中包含节点R发送Mtl的时间:time (R) 0) M。与M1、M2与M3间隔时间均为Is -M1与M2间隔时间为1min ;
[0073]步骤S12,为获得节点自身时间与参考节点R之间的时间差,节点N在接收到数据包Mtl?M3的同时,记录自己的本地时间time。?time3以及节点N当前所处的环境温度temp0?temp3(即一个数据包对应一个时间值和一个温度值,如接收到数据包Mtl时,记录此时的本地时间Umetl和环境温度temp);这里的温度信息由温度传感器获得,主要用于敏感度因子估计周期内温度变化量的测量;
[0074]步骤S13,节点N根据数据包M0?M3中的信息以及自己的本地时间信息time。?time3对其在Ume1以及time3的频偏Skew1以及skew3进行计算,计算方法为:
Iskew] = (time.-1ime(R)i)~(time{)-time(R){))
5 j skew, - (time, -,) - (time2 - time{R)2)么工
[0076]步骤S14,节点N根据频偏及温度信息对其当前敏感度因子TSF值进行计算,计算公式为:
skcn\ - skew,.
[0077]^ — (Tempa - Temp)2 -(Temph-Temp)2(公式 2)
[0078]公式2中,由于temp。和temp^ temp2和temp3的采集时间较为接近(间隔Is),因此用这段时间内的平均温度Tempa和Tempb进行敏感度因子TSF的估计,即τ Iempn + temp, ^temp, + lemp..7emP,, =-^-- Tcmlh =--^- Temp 为标准温度,取值为 25°C ;
J,
[0079]步骤二,敏感度因子间隔确定
[0080]由于节点频偏的变化情况会随着温度的变化速率而不同,在温度变化较明显的时候,节点的频偏变化也会较为明显,此时为了保证同步的精度,需要缩短敏感度因子TSF的估计周期,从而能够保证较高的同步精度。而在温度较为平稳的时候,节点的频偏几乎不变,此时为了降低通信开销,需要延长敏感度因子TSF的估计周期。因此,敏感度因子间隔的确定需要依赖于温度的变化速率以及误差的累积情况:
[0081]步骤S20,计算温度变化率DT:节点N获得其当前所处环境温度T1,节点N上一周期该时刻所处环境温度为TPM,则节点N的温度变化率DT为:
[0082]DT ='(公式 3)

dP,;
[0083]公式3中,dpre为上一周期步骤S22获得的敏感度因子间隔d的值;注:由于本方案在网络初始化后是不断循环重复执行的,而一个周期的参数计算要依赖于上一个周期的参数值,如公式3中计算温度变化率DT时,就需要上一个周期的环境温度和敏感度因子间隔。即,如本周期当前所处环境温度为T1,则T1就作为下一个周期计算DT参数时的TPM,本周期的敏感度因子间隔d作为下一个周期的dpM,其他参数以此类推;而网络初始化后第一次计算参数,需要上一个周期的参数值时,随机设置一个上周期参数值,用于当前参数计算,而在以后的周期可不断对前面周期的参数进行修正。
[0084]步骤S21,节点N计算当前累积误差值error:

(time, -time(R),) + (time-,-time(R),)
[0085]ti I (Ji =-:---=-—(公式 4)


2
[0086]在公式4中,节点N根据最后两次与参考节点的时间戳交换结果time3与time (R) 3之差以及time2与time (R)2之差的均值对当前误差进行估计;
[0087]步骤S22,节点N根据步骤S21以及步骤S20的结果对敏感度因子间隔d进行设定,并从此刻开始计时,d的计算公式如下:
" λ
[0088]d = min?ft/--, (1、,,, ~)(公式 5)

error Dl
[0089]公式5中,μ和λ分别为误差控制因子以及温度调节因子,取值为:μ = 150?900 μ s, λ = 0.6?L 4°C ;根据实验一、实验二的结果,当μ = 300us, λ =1°C时,本方法性能最优;dstd为标准间隔,通常取dstd = 20min ;
[0090]从公式5可以看出,当节点周围环境温度变化量增大或节点同步误差升高时,TSF估计间隔会相应的缩短来保证同步精度,反之,间隔会增大来降低通信开销;
[0091]步骤23,为方便之后的相偏估计过程,节点N设置当前频偏值skew为skew3, At时长后转入步骤S31,这里At为时间估计间隔;At满足10s < At < 10000s,即网络设置时,只要在此范围内选择一个At均满足本方案要求;
[0092]步骤三,本地时间更新
[0093]节点N在对其温度敏感因子TSF以及敏感度因子间隔d进行更新之后,转入本地时间更新过程,该过程中的时钟频偏估计主要依赖于步骤一中获得的温度敏感度因子TSF以及节点当前环境温度,时间更新过程的时长为d。
[0094]步骤S30,为了对时钟频偏skew(由于时刻不同,该步骤的skew与步骤S23的skew不是同一个值,而是处于不同情况下的两个值)进行估计,节点N首先获取其此刻环境温度T2,其次根据本周期步骤S14计算的敏感度因子TSF对节点当前频偏进行估计:
[0095]skew = TSF.(T-Temp)2(公式 6)
[0096]步骤S31,节点N计算当前的相偏:
「.skew + ske\vnr,, M ? 、
[0097]offset = offsetprc + At.----—(公式 7)
[0098]公式7中,skeWp,e为上一周期步骤S23或步骤S30获得的当前频偏值,即如果从步骤S23跳至步骤S31,则Skewlffe的值为上一周期步骤S23中的频偏值skew ;如果从步骤S30执行至步骤S31,则Skewpra的值为上一周期步骤S30中的频偏值skew ;offsetpre为上一周期步骤S31计算出的当前相偏值;
[0099]步骤S32,若节点N的当前相偏offset满足公式8,则认为节点N的相偏过大且会对网络应用造成影响,此时,节点N需要对自己本地时间进行更新,否则不进行更新:
[0100]offset > ~(公式 8)
[0101]公式8中ε为本地时钟周期,对同步精度要求不严格的情况下也可以适当增大ε的值;更新后的本地时间clock为:
[0102]clock = clockpre+offset(公式 9)
[0103]公式9中,clockpre为更新前的本地时间;更新完毕后,节点N将Offsetrffe清零;频偏与相偏周期关系如图3所;
[0104]步骤S33,节点N查看计时器,若从步骤S22计时开始,时长d未到时,则休眠At时长后转至步骤S30 ;否则,完成本周期,转入步骤SlO开始执行下一周期。
[0105]二、本发明方法中各相关参数的确定:
[0106]实验一:误差控制因子μ对数据包交换间隔和数据包交换次数的影响以及μ的最优值确定:
[0107]步骤一:仿真实验场景初始化
[0108] 申请人:根据真实野外场景下的温度变化情况模拟出了 12000条温度数据,代表了200分钟内每一秒的温度值,根据该数据得到的温度压变化曲线如图4所示。为了证明本方法在温度变化情况下的同步性能,该轨迹主要在两种温度状况之间交替:温度平缓以及温度爬升状态。温度变化范围为25°C?43°C,根据温度与频偏的关系,其相应的12000条频偏数据的变化范围为20ppm?60ppm。
[0109]步骤二:取精度控制参数μ = 150,300,450,750,900(单位:μ S)。在每种控制参数μ的取值下,根据之前所述的时间同步步骤对该12000条频偏数据进行同步,总共进行五次实验。每次实验记录在同步过程中时间戳的交换次数,以及每两次时间戳交换的间隔时间,观察μ对这两项参数的影响。
[0110]步骤三:分析与处理实验数据
[0111]图5示出了温度敏感度因子TSF估计间隔和时间戳交换次数随着精度控制参数μ的变化趋势。可以看出,当参数μ从150 μ S变化到300 μ S时,时间戳的交换次数明显减少,同时,平均TSF估计间隔明显增大。而在参数μ变化到300 μ s之后,这两项参数的变化趋于平缓。因此为了在减小能耗的同时保证时间同步的精度,本方法在精度控制参数μ = 300 μ S时的性能最佳。
[0112]实验二:温度协调因子λ对数据包交换间隔和数据包交换次数的影响以及λ的最优值确定:
[0113]步骤一:仿真实验场景初始化
[0114] 申请人:根据真实野外场景下的温度变化情况模拟出了 12000条温度数据,代表了200分钟内每一秒的温度值。根据该数据得到的温度压变化曲线如图4所示。为了证明本方法在温度变化情况下的同步性能,该轨迹主要在两种温度状况之间交替:温度平缓以及温度爬升状态。温度变化范围为25°C?43°C,根据温度与频偏的关系,其相应的12000条频偏数据的变化范围为20ppm?60ppm。
[0115]步骤二:取温度协调因子λ = 0.6, 0.8,1.0, 1.2,1.4(单位:V )。在每种协调因子λ的取值下,根据之前所述的时间同步步骤对该12000条频偏数据进行同步,总共进行五次实验。每次实验记录在同步过程中时间戳的交换次数,以及每两次时间戳交换的间隔时间,观察λ对这两项参数的影响;
[0116]步骤三:分析与处理实验数据
[0117]图6示出了温度敏感度因子TSF估计间隔和时间戳交换次数随着精度控制参数μ的变化趋势。可以看出,当参数λ从0.8°C变化到1.(TC时,时间戳的交换次数明显减少,同时,平均TSF估计间隔明显增大;而在参数λ变化到1.(TC之后,这两项参数的变化趋于平缓。因此为了在减小能耗的同时保证时间同步的精度,本方法在精度控制参数λ = 1.0oC时的性能最佳。
[0118]三、本发明方法性能试验以及与其他算法的对比实验
[0119]下面我们通过一组实验来验证本发明同步方法的性能以及相对于其他方法的优势,实验主要对以下四种算法的性能进行比较:
[0120](I)本发明方法(记做TSFB方法);
[0121](2)本方法在使用固定周期时的情况(记做固定周期TSFB);
[0122](3)FTSP算法:该算法是基于时间戳交换的时间同步算法。该方法首先通过节点间时间戳的交换来进行一对节点间的时间同步,再通过网络分层的方法进行逐层同步,最终达到全网的时间同步。且该方法并不考虑节点的工作环境对其频偏的影响。
[0123](4)EACS算法:该算法同样是利用温度进行时间同步的算法,但是该方法是在节点部署前获得节点频偏与温度之间的关系,并将该关系以表格的形式存储在节点内。在同步的过程中,该方法假设频偏与温度之间的关系不会随着时间以及温度的变化而变化,这不符合实际的频偏变化模式,因此会带来同步误差。
[0124]实验主要从以下几方面来证明本发明的优势:
[0125]①频偏估计精度;②能耗(即再同步间隔);③算法鲁棒性;
[0126]仿真网络初始化:
[0127] 申请人:根据真实野外场景下的温度变化情况模拟出了 12000条温度数据,代表了200分钟内每一秒的温度值。根据该数据得到的温度压变化曲线如图4所示。为了证明本方法在温度变化情况下的同步性能,该轨迹主要在两种温度状况之间交替:温度平缓以及温度爬升状态。温度变化范围为225°C?43°C,根据温度与频偏的关系,其相应的12000条频偏数据的变化范围为20ppm?60ppm。
[0128]a.算法频偏估计精度评估
[0129]仿真实验过程:
[0130]该实验主要对比动态周期TSFB算法、固定周期TSFB算法以及EACS算法的频偏估计精度。在该实验中,首先对动态周期的TSFB算法进行仿真,为了验证不同周期下的算法性能,在试验初始时我们取标准TSF估计周期长度dstd分别为1500s,1800s, 2000s, 2300s以及2500s,实验结束后得到平均包交换间隔分别为:1050s,1190s, 1380s, 1450s以及1950s。然后,根据得到的平均包交换间隔来设置EACS算法的温度敏感度因子TSF估计间隔以及固定周期TSFB算法的TSF估计间隔,重复实验。最后,将三种方法的频偏估计结果与初始化过程中生成的真实频偏数据进行对比,统计出三种频偏估计误差的最大值以及平均值。
[0131]实验结果:
[0132]如图7所示,很明显的,通过固定以及动态间隔的TSFB算法与EACS算法的对比可以看出,由于TSFB算法能够动态估计温度与频偏之间的敏感程度TSF,因此能够避免由于环境带来的当前“温度-频偏”对应关系与先验知识不符所带来的频偏估计误差,从而提高了同步精度。除此之外,通过对比动态以及固定TSFB算法,可以看出,动态周期调节机制的弓I入使得动态周期TSFB算法能够在节点环境温度变化的情况下及时修正TSF值,相比于固定周期的TSFB算法能够一定程度上降低频偏估计误差。
[0133]b.算法能耗评估
[0134]仿真实验过程:
[0135]该实验主要对比TSFB算法以及FTSP算法的算法能耗。
[0136]首先取精度控制参数μ = 150,300,450,750,900(单位:μ S)。对于TSFB算法在每种控制参数μ的取值下,根据之前所述的时间同步步骤对该12000条频偏数据进行同步,总共进行五次实验。每次实验记录在同步过程中每两次时间戳交换的间隔时间。而对于FTSP算法,该算法的再同步周期是固定的(150s)。
[0137]其次取温度协调因子λ = 0.6, 0.8,1.0, 1.2,1.4(单位:V )。对于TSFB算法在每种协调因子λ的取值下,根据之前所述的时间同步步骤对该12000条频偏数据进行同步,总共进行五次实验。每次实验记录在同步过程中每两次时间戳交换的间隔时间。而对于FTSP算法,该算法的再同步周期是固定的(150s)。
[0138]实验结果:
[0139]在图8(a)以及图8(b)中,很明显地,对于TSFB算法,每两次时间戳交换的间隔时间随着精度控制参数μ以及度协调因子λ的增大而增大。然而,即使在误差控制因子μ以及温度协调因子λ取值均非常低(μ = 150 μ S,λ = 0.6°C )的情况下,节点依然能够保持两次时间戳交换的平均间隔时间大于900s,这远远高于FTSP的150s。而时间戳的交换会带来巨大的通信开销,且通信开销在传感器网络总能耗占很大比例。因此,证明了 TSFB算法能够在保证精度的前提下降低能耗。十分适用于能量有限的无线传感器网络。
[0140]c.算法鲁棒性评估
[0141]仿真实验过程:
[0142]该实验过程模拟了在野外恶劣环境下造成节点信息传递无法进行的情况。对于TSFB算法,仍然根据之前所述的同步步骤对12000条频偏数据进行同步,但是从第100s开始,不进行之前所述的步骤一,即TSF估计过程(由于该过程依赖于时间戳交换)。FTSP算法同样不能进行时间戳的交换。
[0143]实验结果:
[0144]如图9所示,在实验的开始阶段(即O?1000s),TSFB算法和FTSP算法的差距并不十分明显。然而,随着环境温度开始变化,频偏也随着温度不断的变化。此时FTSP算法只能依赖最初始的频偏估计值对时间相偏进行估计和补偿,因此误差不断累积。且从图9还可以看出,节点环境温度值从3000s开始不断上升,这使得节点的频偏变化速率升高,而此时FTSP算法无法捕捉该变化。因此FTSP不断增长的频偏估计误差最终导致了其同步误差的不断累积。相比于FTSP算法,TSFB算法在通信失效的情况下仍然能够保持相对较低的同步误差。这是因为通信失效仅仅造成了 TSF无法正常更新,而节点可以根据最近一次TSF估计结果以及传感器节点采集到的温度信息来对频偏进行更新,很大程度上降低了由电压变化造成的频偏估计误差。因此,相比于FTSP算法,TSFB算法具有较高的鲁棒性。
【权利要求】
1.一种基于温度感知的无线传感器网络时间同步方法,其特征在于: 记R为无线传感器网络中的参考节点,N为除参考节点之外的任意一个传感器节点,网络初始化后,节点N重复执行以下周期,该周期包括步骤一至步骤三: 步骤一,敏感度因子确定 步骤S10,节点N向参考节点R发送时间同步请求数据包; 步骤S11,节点R在收到时间同步请求数据包后,向节点N依次返回四个应答数据包:M0, M1, M2, M3,每个数据包中记录发送该数据包时时刻节点R的本地时间,分别为time (R)tl?time (R)3 ;M0与M” M2与M3间隔时间均为Is 与M2间隔时间为1min ; 步骤S12,节点N在接收到数据包Mtl?M3的同时,记录自己的本地时间time。?time3以及节点N当前所处的环境温度tempd?temp3 ; 步骤S13,节点N对其在Ume1以及time3的频偏Skew1以及skew3进行计算:
? v/ieir, = (time、-1ime(R)i)~(time{) -time(R)0)八
Iskew\ = {time' — time{ R)^)~ {time2 — time( Η)?)厶工 步骤S14,节点N根据频偏及温度信息对当前敏感度因子TSF值进行计算:
ske\v\ -Skewi TSF =-;-!-τ-(公式 2)
[Tempa - TempY -(Temph -Tempy
^ ?βηψ? + temp, ^ temp, + Iempn 公式2中,Tempu^ TemPh =~-- Temp为标准温度,取值为.25 °C ; 步骤二,敏感度因子间隔确定 步骤S20,节点N获取此刻所处环境温度T1,节点N上一周期该时刻所处环境温度为Tpre,则节点N的温度变化率DT为:
T-T DT = ^-^(公式 3)

pre 公式3中,CU为上一周期步骤S22获得的敏感度因子间隔d的值; 步骤S21,节点N计算当前累积误差值error:
{time, -time(R),) + (time,-time(R),),.error =-:-—:-=-二(公式 4)

2 步骤S22,节点N对敏感度因子间隔d进行设定,方法为: i/ = min(i/w , d、?,(公式 5)
error Dl
公式 5 中,μ = 150 ?900 μ s, λ = 0.6 ?1.4°C,dstd = 20min ; 步骤S23,节点N设置当前频偏值skew为skew3,Δ t时长后转入步骤S31,10s < At<10000s ; 步骤三,本地时间更新 步骤S30,节点N获取其此刻所处环境温度T2,根据步骤S14计算的敏感度因子TSF对节点当前频偏进行计算: skew = TSF.(T-Temp)2(公式 6) 步骤S31,节点N计算当前的相偏:
skew + skew, offset = Offsetpie + At.----—(公式 7) 公式7中,Skewpre为上一周期步骤S23或步骤S30获得的当前频偏值,Offsetpre为上一周期步骤S31计算出的当前相偏值; 步骤S32,若节点N的当前相偏满足: ?t ^ ^(公式 8) 则节点N对自身本地时间进行更新,更新后的本地时间clock为: clock = clockpre+offset(公式 9) 在公式8和公式9中,ε为本地时钟周期,clockpMS更新前的本地时间;更新完毕后,节点N将Offsetpra清零; 步骤S33,节点N查看计时器,若时长d未到时,则休眠Λ t时长后转至步骤S30 ;否则,完成本周期,转入步骤SlO开始执行下一周期。
【文档编号】H04W56/00GK104168641SQ201410341165
【公开日】2014年11月26日 申请日期:2014年7月17日 优先权日:2014年7月17日
【发明者】金梦, 房鼎益, 陈晓江, 刘晨, 徐丹, 郭军 申请人:西北大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1