本站小编为你精心准备了脉冲耦合和分布式扩散相结合参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。
《电视技术杂志》2014年第十一期
1CTS同步协议
CTS的周期执行过程如图1所示,首先由SINK节点发送m个等间隔过零脉冲[9],周围收到此脉冲序列的节点,基于观察到的过零点位置,预测第m+1个脉冲的发送时间,在预测时间SINK节点和周围节点同时发送脉冲信号给邻居节点。由于存在空间平均[10],在一定条件下,叠加波形序列的过零点位置将和原始波形的过零点一致。叠加后的脉冲序列被更远的节点侦听到,这些节点继续按上述方式进行时间预测和发送脉冲,逐级向外递推,外围节点不断加入到发送同步脉冲的行列中,每经过m个脉冲就有新的节点加入,更多节点发送的脉冲通过耦合产生足够能量的集合波形,最终网内所有节点都会同时发出同步脉冲,即达到了同步状态[11];其次执行成对节点通信模式,获取主节点域内所有邻居节点的时钟,得到广播域内节点平均时钟;把主节点同步在广播域内所有节点的平均时钟上,然后以各主节点的时钟为参考时钟,从主节点开始以平均传输时延和节点能量为基准,选取扩散节点,将其扩散至距离主节点跳的所有邻居节点;距离主节点跳内的节点在每个同步时间内会分别接收到多个来自同一主节点和不同主节点的时钟同步信息更新本地的时钟。按照这个过程执行μ个周期,就完成了一次网络同步过程。
1.1基于脉冲耦合的时钟节拍同步在该阶段中,节点间通过发送和接收极窄的脉冲信号来完成相互的耦合作用,实现所有节点的节拍同步,见图2。假设网络中每个节点对应一个单调递增相位函数Φi(t)∈[0,1]。对于孤立的节点,状态函数用xj描述,当xj到达阈值1时,节点发送一个脉冲。随后节点立即将状态xj变为0,从而以周期T发送脉冲。如果一个节点不是孤立的,它将收到来自其他节点的脉冲,状态变量变。“不应期”。所谓不应期是指节点在激发脉冲后的一段时间内停止接收其他节点发送的耦合数据包,从而无法产生新的激发信号,以解决节点上述的无限循环触发问题。
1.2分布式扩散时间同步利用节点间的脉冲耦合只实现了节点间统一的时钟节拍,要想实现网络节点时间的一致,还需要网络节点的时间同步。对此利用分布式扩散的思想,以节点能量和平均传输时延为依据,动态选举主节点和扩散节点。基于双向信息交换模式,把主节点区域的平均时间扩散有限的跳数,采用互扩散的方法使整个网络的节点时间近似同步到网络节点平均时间上,从而实现网络的时间同步。该阶段每个周期选举的主节点要满足2个规则:规则1:假设每个节点维持阈值φ,主节点选举期间,每个节点产生随机数λ,且λ∈(0,1),δ是剩余能量与节点最初能量的比值,则可得到规则2:满足规则1的所有节点,随机等待一定时间在其广播域内发出一个声明为主节点的报文。若其广播范围内的邻居节点接收到不同报文或发生碰撞的报文,则这些节点立即发送报文冲突的响应信息,发出声明报文的节点一旦接收到该响应信息,就按1/2概率决定是否继续发送作为主节点的声明,直至发送声明报文的节点广播域内不存在接收到来自不同节点声明报文的邻居节点为止;若其广播范围内的邻居节点仅收到该声明报文,则发送声明报文的节点在等待一定时间后就开始执行本周期同步。
1.2.1主节点域内节点的平均时间节点的时间。如图3所示,在连续的信息交换中,主节点发送包含t1和主节点ID的同步数据包,邻居节点用t2记录接收的时间。在t3时刻,邻居节点给主节点发回包含时间戳t2,t3和该节点ID的应答分组,在t4时刻主节点接收到应答分组,估算节点间传播时延,随后发出sync-continue分组给邻居节点,邻居节点k接收sync-continue后就可以获取dk,其他邻居节点通过接收sync-continue分组重复信息交换,直至主节点再发出sync-continue信息后等待最大的延时时间Dmax而未能接收到来自邻居节点的时间戳信息,说明主节点获取了所有邻居节点的时间信息。
1.2.2扩散节点的选举和平均时间扩散以主节点的平均时间为参考,执行平均时间扩散的扩散节点选举规则如下:规则3:若节点在接收到上级主节点或扩散节点时间扩散同步分组,按照主节点选举方法,产生随机数η,且η∈(0,1)。根据节点能量计算:ζ=η-(1-δ),若ζ≥φ1则该节点成为扩散节点。由于δ随能量变化,所以每个周期同步后必须对阈值进行调整,即φ1=φ1-ν,ν可根据应用设置为任意小的正数。2)1级扩散:主节点执行0级扩散之后,其邻居节点按照扩散节点的选举规则,确定能否作为1级扩散节点,符合规则的节点通过对信道侦听,作为1级扩散节点执行时间扩散。同样1级扩散节点首先和其广播域内的未获取相同主节点的平均时间信息的邻居节点按照图3进行信息交换,并计算同所有邻居节点的平均单跳时延dj,然后1级扩散节点把主节点平均时间更新为clj=clj+d0,k,d0,k是当前扩散节点同其主节点间的信息传播时延;把主节点同邻居节点间的平均时延dj用当前1级扩散节点同其邻居节点间的平均时延d1,k代替。把更新后的扩散分组广播给下一跳邻居节点。3)f级扩散:同1级扩散过程类似。整个扩散过程一直持续到距离主节点跳的邻居节点为止。取决于同步的精度和速度,必须能确保相邻主节点之间的节点至少获得2个主节点区域的平均时间信息并作为参考时间进行同步更新。
2实验结果及分析
为了验证CTS的同步效果,基于MicaZ平台进行了网络仿真实验,相关参数设置如下:网络的覆盖区域为长宽均为Wm的平面区域,随机布置N=1000个节点,通信半径R=10m,耦合强度ε=0.02,周期T=10s,仿真时间为50min,每一种情况都是对100次仿真取平均值。假设在时刻l,所有节点的时间同标准时间的偏差均匀分布于区间[Lt,Ht]内,那么CTS满足收敛定理:对大规模传感器网络,CTS算法渐进收敛于网络中所有节点的平均时间C。为了证明新协议的优越性,将CTS协议与RBS协议、TPSN协议、RFA协议进行比较。图4给出了网络的收敛时间变化趋势,4种算法的收敛时间都随着网络规模的增加而增加,其中RBS算法的收敛时间远远高于TPSN,RFA和CTS,CTS总是能够在短时间内使节点收敛,且随着节点数量的增加逐渐优于RBS和TPSN。图5可以看出CTS总能有效地使各种规模的网络最终达到同步,而其他算法的同步性能则受网络规模变化的影响较大,因此CTS算法很好地适应了网络规模的变化。
3小结
鉴于同步协议的同步精度低、可扩展性差的问题,本文提出一种基于脉冲耦合和分布式扩散相结合的协作同步协议。利用脉冲耦合方式实现时钟的节拍一致,采用分布式协作扩散达到网络节点的时间一致。同时,对算法的同步收敛性等进行理论分析并同TPSN同步协议进行性能比较,建立两种协议的同步误差表达式,直观说明CTS协议的同步误差性能更好。仿真和实验的结果表明该协议收敛速率更快,同步比例更高,具有更强的适应性,特别适合于大规模WSN。
作者:李敏郑国强李济顺单位:河南科技大学电子信息工程学院河南省机械设计及传动系统重点实验室