微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 虚拟时钟指数逼近的无线传感器网络时钟同步协议

虚拟时钟指数逼近的无线传感器网络时钟同步协议

时间:07-18 来源:互联网 点击:

③ 设共有n个节点,第i(1≤i≤n)个节点存储并广播自己的时间信息(αi,Ti),其中Ti为本节点当前时间值,由于节点距离和传输速度是已知的,所以接收到广播的节点根据Ti确定接收时的时间是可行的。

  ④ 节点i收到第j(1≤j≤n)个节点的广播包,包含了节点j的时间信息(αi,Tj),如果第j个节点是第1次出现,则节点i只存储节点j的时间信息,直到收到节点j的下一个时间信息(αj+1,Tj+1)。

  ⑤ 此时比较节点i和节点j的扭曲,计算R1=αi(Tj+1-Tj)和R2=αj(Ti+1-Ti),若R1》R2,则需要对节点i的扭曲率进行修正,设两者的差值为λi=αi-αj,调整因子为σ=min(αi,αj)max(αi,αj),设置扭曲率和校正值为λ′i=λi(e-eσ)(e- 1),设置修正值调整的阈值RT,当节点i首次出现λ′i低于阈值要求时不作调整,以避免部分失效节点重新进入网络时对邻居节点造成影响。则节点i新的扭曲值为

  

  则αi=α,同时保留最新的节点i和节点j的时间信息T,即Ti=Ti+1,Tj=Tj+1。

  ⑥ 节点重复步骤②~⑤,直到R1=R2,两节点扭曲率一致,此时节点已经更新了自己的时钟扭曲率,只需要保持偏移一致,即可达到时钟同步。

  3.2.2 偏移修正

  修正完扭曲率后,需要对偏移进行修正,以达到节点时钟同步。修正偏移值的关键是找到合适的偏移值,使得各节点能够同步到一个统一的偏移值,从而统一于一个虚拟的时钟。设每个节点的偏移值为βi,1≤i≤n,则节点i在接收到邻居节点的偏移值后,很容易得到一个平均值β-1n∑ni=1βi,显然这一平均值即为要找的虚拟时钟的偏移值,当各节点同步于这一偏移值,便实现了全网时钟同步。由于部分节点的时钟偏移值较大,同时每次更新的节点为一跳内的节点,采用一次调整偏移值至平均值的方法并不能以最快的速度使得全网节点偏移同步,而采用逐次指数逼近的方式,对偏移相差较大的节点修正参数较大,偏移相差较小的节点修正参数较小,使得全网所有节点逼近统一的偏移值。本算法采用了如下步骤:

  ① 节点i首先估计自己的偏移值βi,1≤i≤n,并开始收听广播,和扭曲修正一样,广播已经考虑了冲突避免。

  ② 节点收集一跳内的邻居偏移值,得到偏移平均值β-1n∑ni=1βi。

  ③ 节点i计算与平均偏移值的差值λi=βi-β-,设调整因子为γi=min(βi,β-)max(βi,β-),显然0≤γi≤1,则某节点所需调整的参数为λ′i=λi(e-eγi)(e-1)。设置修正值调整的阈值RT,当节点i首次出现λ′i低于阈值要求时不作调整,以避免部分失效节点重新进入网络时对邻居节点的影响。新的偏移值为

  

  则βi=β,节点i采用指数逼近的方法,逐次向平均值逼近。

  ④ 节点i再次收听邻居节点广播,重复步骤②③,直到λi=βi-β-低于设定值,实现了全网同步。

  由于指数逼近的方式在节点偏移相差较大时调整较大,节点偏移相差较小时调整较小,适用于网络中有新节点出现时导致偏移相差较大的情况。采用指数逼近方式后,与平均值误差较大的节点调整大,加快了收敛速度,与平均值相差小的节点调整小,控制了向邻居节点扩散偏移调整的范围。同时,在全网节点偏移一致后,指数逼近的方式使得节点调整幅度小,避免了由于某一个时钟节点失误而带来的大范围时钟偏移调整,保证了全网时钟同步的稳定性。

  4 仿真

  本文采用指数逼近的方式调整各节点时钟扭曲和偏移参数,使得各节点修正时钟扭曲和偏移,最终同步于一个统一的时钟,为显示算法有效性和可靠性,用 Matlab进行了仿真。仿真环境为在8×8的格状网络里放置64个节点,每个格子包含一个节点,节点处于每个格子的中央区域,设每个节点用于校准的晶振参考值是32 768 Hz,即一个振荡周期为30.5 μs,小于一个周期的时钟误差是无法识别的,因此用1 tick =30.5 μs来表示时钟误差的最小单位。每个节点的扭曲率服从平均值为1、方差为10-5的正态分布,节点的初始偏移在0~1000随机分布。具体得到:节点扭曲 ——平均值为1,方差为10-5的正态分布,即N(1,10-5);初始偏移——在0~1000 tick间随机分布。

在运行过程中,每个节点运行扭曲和偏移的修正协议,网络中没有一个实际的基准时钟,而是在运行过

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top