第四章 传感器网络的支撑技术
目录
DMTS (Delay Measurement Time Synchronization)
RBS (Reference Broadcast Synchronization)
TPSN (Timing-sync Protocol for Sensor Networks)
HRTS (Hierarchy Referencing Time Synchronization Protocol)
支撑传感器网络完成任务的五个基础性的技术有:
- 时间同步机制
- 定位技术
- 数据融合
- 能量管理
- 安全机制
下面我们就来介绍一下时间同步机制的内容。
时间同步的定义与背景
因为晶振振荡频率偏差、环境影响使得节点内部时钟出现偏差,时间同步就是指各个节点通过不断的和其他节点交换本地时钟信息,最后到达并保持全局时间协调一致的过程。
WSN时间同步技术意义
CSMACA退避计时器、DIFS、S-MAC中的同步睡眠调度、PSFQ中的存入操作……都需要同步,故同步时必须的,只是对同步的要求程度不同。
时间同步技术的分类
分布式系统中,时间同步包括两个时间概念:
- 物理时间(绝对时间)
- 逻辑时间(顺序关系)
时间同步技术的应用场合
- 多传感器数据压缩、融合
- 低功耗MAC协议、路由协议
- 测距、定位
- 分布式系统的传统要求
- 协作传输、处理的要求
传统与挑战
传统时间同步方法:NTP、GPS
1、NTP网络时间协议
2、GPS全球定位系统
NTP
- NTP采用层状结构同步拓扑;
- 可以有多个层次时间服务器;
- 顶层时间服务器通过广播、卫星等方式与世界标准时间同步
- 客户机与时间服务器之间通过双向报文交互完成客户机时间的同步
双向报文交互
- 假设路由器B为NTP服务器(同步源),路由器A为NTP客户端。
- 同步之前A时钟设置为10:00:00am,B时钟设置为11:00:00am
- 双向时延:d = (T4-T1)- (T3-T2)
- A相对B的时间差:offset = d /2
- 如果往返的传输时间相等,根据四个时刻可以求得时钟偏差和传输时间。
NTP不能用在WSN中的原因
- 传输方式不同:有线而非无线,
- 网络拓扑结构相对稳定;
- 同步无法通过网络自身来实现,需基础设施协助
- 需要频繁交换信息来校准同步误差
GPS
【(x1-X)²+(y1-y)²+(z1-z)²】^(1/2) =光速* 【(接收机时间-接收机钟差)-(卫星时间-卫星钟差) 】/2 ( ?)
- 从根本上解决了人类在地球上的导航与定位问题。
- 每颗卫星上配备有高精度的铷、铯原子钟,并不断发射其时间信息
- 地面接收装置同时接收4颗卫星的时间信息,采用伪距测量定位方法可计算出时间和位置信息
缺点(室内较弱、功耗较大、安全性较弱、分布式)
挑战
- 传输延迟的不确定性
- 对低功耗、低成本和小体积的要求:存储、计算能力较小,体积小->电能供应紧张。
- 对可扩展性的要求:满足不同的网络类型、网络规模,满足不同的应用需求。
- 对健壮性的要求:外部环境复杂,需要应对安全性的挑战;WSN拓扑动态性较强,网络规模变化、需求变化。
典型时间同步机制
WSN中的同步时延分析
对同步时延进行正确地分析与估计有助于提高同步精度,WSN中的时延大体包括以下几个部分:
- 发送时延:发送端构造分组并将分组转交给本方MAC层所用时间,受操作系统和当前处理器负载影响,时延可达几百毫秒。(发送时间)
- 接入时延:分组到达MAC层后等待信道发送权的时间,主要受信道竞争以及网络当前负载的影响,时延一般在微妙到秒间变化。(访问时间)
- 传送时延:物理层发送分组所需时间,主要受数据长度以及物理层发送速度的影响,一般为几十微妙量级。(传输延迟,影响最大)
- 传播时延:分组在发送方与接收方之间的链路上传输消耗的时间。主要取决于传输介质以及传输距离,由于WSN网络节点之间距离比较近,该时延一般在纳秒量级。(传播时间)
- 接收时延:接收端物理层接收数据分组所花费时间。(接收时间)
- 接受时延:接收端对接收到的分组进行处理,并通知相应程序所需的时间。主要受到操作系统的影响。(收到时间)
DMTS (Delay Measurement Time Synchronization)
DMTS基于同步消息在传输路径上所有延迟的估计,实现节点间的时间同步。
延迟测量时间同步算法牺牲部分同步精度以换取较低的计算复杂度和能耗,接受节点通过合理估计发送节点与接收节点间的单向时延并根据发送节点中的时间戳信息计算出时间修正值。
其过程如下图所示:
- 为了去除发送节点的发送时延和接入时延,发送节点监测到发送信道空闲时,在MAC层给广播分组加时间戳t0。
- 在发送正式数据分组之前,发送端先发送前导码和起始字符,以便接收端进行同步。此时如果忽略无线信号的传播时延,那么接受节点调整时间为t0+(t2-t1)。
- 假设此报文长度为n比特,传输每比特所需要的时间为
,那么发送该报文的时间为n
。
- 接收端接收完前导码和起始字符之后加时间戳t1,在调整自身时间之前记录本地时间t2,此时接受节点调整自身时钟为t0+n
+(t2-t1),便可实现与发送节点之间的时间同步。
这里我有一个疑问就是
的求解,我们如何通过得到的报文得知
我这样想 如果通过前导码接收的时间与前导码的比特数,貌似可以得到发送报文的比特率,但是比特率与传播时延毫无关系,
的定义是每比特传输所需要的时间,这个模糊不清的概念估计是说的是传送时延,而非传播时延,在WSN中,传播时延的大小很小,忽略不计,估计的是传送时延,即比特率。
也难怪论文中提到DMTS算法忽略了时间延迟部分(传播时延)导致同步算法精度低并且稳定性差。
DMTS优缺点:
- DMTS算法结合链路层标记时间戳和时延估计等技术,消除了发送时间和访问时间的影响,算法简单,通信开销小。
- DMTS算法没有估计时钟的频率偏差,时钟保持同步的时间较短;也没有消除时钟计时对同步精度的影响,因而其精度不高,不适用于定位等要求高精度同步的应用。
RBS (Reference Broadcast Synchronization)
RBS协议同步的不是同步报文的收发双方,而是同步多个收到同步报文的接收者的算法。
举个栗子:
在有三个节点的单跳网络中,参考节点(老妈子节点)发出一个参考报文,其广播域内的其他接收者节点都将接收到该报文,并且记录下接收到该参考报文时的本地时刻。接收者相互通信交换他们记录的时刻,并且计算差值,该差值就是接收者之间的时钟偏移。
但是这个算法建立在一个前提,就是接收者同时接收到此消息。(假设常常不成立,所以模型存在误差,只是误差可能会偏小,因为传播时延相差不大)
RBS的优点:
- RBS中是通过广播同步信标分组实现接收节点之间的相对时间同步,信标分组本身并不需要携带任何时标,不依赖于信标的发送时间。
- 由于无线信道的广播特性,信标分组相对所有接收节点而言同时发送到物理信道上,这样就除去发送时间和访问时间引入的时间同步误差。
- 对于传播时间,RBS只关心各个接收节点之间消息传播时间的差值。对于射频信号来说,传播时间差值非常小,RBS忽略了传播时间带来的时间偏差。
TPSN (Timing-sync Protocol for Sensor Networks)
基本思想:
TPSN协议采用层次型网络结构,首先将所有节点按照层次结构进行分级,然后每个节点与上一级的一个节点进行(两次报文交互的)时间同步,最终所有节点都与根节点时间同步。节点对之间的时间同步是基于“发送者-接收者的”同步机制。
TPSN协议包括两个阶段:
- 第一个阶段生成层次结构,每个节点赋予一个级别,根节点赋予最高级别第0级,第i级的节点至少能够与一个第(i-1)级的节点通信;
- 第二个阶段实现所有树节点的时间同步,第1级节点同步到根节点,第i级的节点同步到第(i-1)级的一个节点,最终所有节点都同步到根节点,实现整个网络的时间同步。
两层节点的同步:
TPSN优缺点:
优点:
- --TPSN基于双向报文交换,因此同步精度高。
- --对任意节点其同步误差取决于它距离根节点的跳数,而与网络中节点总数无关,使TPSN同步精度不会随节点数目增加而降级,从而使TPSN具有较好的扩展性。
缺点:
- --TPSN本质上是对同步,因此全网同步的同步能耗高。
- --一旦根节点失效,就要重新选择根节点并重新进行分级和同步阶段的处理,增加了计算和能量开销。
- --另外,TPSN算法没有对时钟的频差进行估计,这使得它需要频繁同步,开销较大。
HRTS (Hierarchy Referencing Time Synchronization Protocol)
HRTS是一种结合广播和节点间的双向报文交换同步
步骤:
- 时间基准节点BS发出一个同步请求报文,该报文随机指定一个邻居节点(例如n1)作为应答者节点。同时n2也记录下该报文的接收到时刻,记为
。
- 与TPSN相同,应答者节点n1向BS节点发一个同步应答报文,报文中包含了
与
。
- 现在BS节点已经和n1节点进行了一次双向报文交换,按照用于传感器网络的时间同步协议,BS节点计算出它与n1节点之间的时钟偏移Δ。
- BS节点发送一个包含Δ和
信息的报文。
- 当n1、n2节点接收到该报文,对于应答者节点n1来说,只要将其本地时间减去Δ就达到与BS节点的瞬时同步。对于其他节点来说,只要在其本地时间加上(
-Δ)-
即可达到与BS节点间的瞬时同步。(括号里的是
时刻的BS时间。