海洋环境监测在科学勘探、商业开发和海岸保护等活动中的地位不断提升[1],这种广泛监测的理想载体是一种分布式水下无线传感器系统,称为水下无线传感器网络(Underwater Wireless Sensor Network,UWSN)[2]。由于传感器的维护工作较为困难,且考虑到节点在长时间工作后,节点的本地时间与标准时间之间存在一定的偏差。而时间同步作为节点间协调与合作完成各项分布式任务的关键技术支撑,同时也是介质访问控制、路由转发和传感数据融合等[3]多项关键技术的基础。若多个节点的时间各不相同,则无法协同完成后续多项工作。在水下部署传感器节点的要求远高于陆地,这些节点一经部署基本不再进行维护和更换,因此水下传感器的计算资源与能量存储十分有限。水声信道的传播速度大约仅有1 500 m/s[4],部分陆地传感器进行时间同步时通常忽略传播延迟,但是在水下环境中,巨大的传播延迟在节点通信时是不可忽略的重要因素。此外,受到海水的温度、盐度和密度等多种环境因素的影响[5],水下声波的速度会发生较大的随机性变化,更为重要的是,传感器节点具有随洋流影响而移动的特点[6],在某节点发送消息和接收回复消息的间隔中,由于传播延迟的存在,节点已发生了相对移动,因此,在设计水声传感器网络的时间同步算法中,须考虑到上述特性。
本文综合考虑水声通信中的各种特点,提出一种新型的基于多普勒测速的水下传感器时间同步算法。利用多普勒效应导致的频率变化[7]特征来构建整个WSN网络的时间同步机制,并将分簇模型[8]作为水声传感器通信网络的样例,通过发送-接收双向的数据包交互方式得到自身的时钟相偏,以达到整个系统的时间同步。
1 相关工作目前,针对陆地传感器的时间同步算法的研究成果有RBS[9]、TPSN[10]和FTSP[11]等。但是它们都没有考虑到海洋环境的特殊性,并且忽略传播延迟的存在。因此,该类协议并不适用于水下传感器。关于水下传感器时间同步的研究也取得了一些进展,如TSHL[12]是为水下环境而设计的时间同步协议,且将传播延迟纳入算法设计的考虑范围。该算法的运行过程分为2个阶段,第一阶段是采用单向信息交互的方式组成25个时间戳对时元组,并采用线性拟合法来估计本地时钟的时钟频偏。第二阶段是通过执行一次信息双向交互,以获得4个重要的时间戳信息,并利用公式计算时钟相偏和传播延迟的大小,以对节点进行相应的补偿。这种算法并未考虑节点移动问题且假设传播延迟不变,不适用于实际情况。MU-Sync[13]利用分簇的思想减小节点移动性所带来的影响,簇首负责对簇内节点完成时间同步。该算法也可分为2个阶段,在第一阶段中,使用发送-接收的双向报文交互收集4个时间戳组成一个REF参考信标组(共10组),并执行2次线性拟合操作。在第二阶段中,簇首节点将第二次拟合的估计值通过一次单向报文传输发送给待同步节点使其完成本地时钟校正。Mobi-sync[14]基于流体力学假设,利用空间相关性估计水下物体的移动速度。这种算法共分为传播延迟估计、线性拟合和校准阶段3个阶段。Mobi-sync相比前两种协议,同步精度得到明显提升,但所需计算量过于庞大,并且每个待同步节点的一跳传输范围内必须存在3个以上的超级节点,因此需要预先在水下布置大量的超级节点,造成成本增加,实现过程较为困难。文献[15]提出一种多普勒辅助水下传感器网络时间同步机制,无线传感器通过接收到的超声波频率变化计算自身当前相对于浮标的移动速度及距离,并且所有无线传感器根据距离估计的结果来完成与浮标时间的同步校正。但是该算法存在一定的局限,一方面是只使用水面浮标对水下传感器节点进行距离估算时,其应用场景仅限于浅水区域,无法对深水区节点进行测量,且会造成一定的误差。另一方面是算法的计算量庞大,造成同步工作的效率较慢,无法快速对所有节点进行同步。针对这些问题,本文算法使用分簇思想进行改进,不仅使用水面浮标、水下传感器节点承担信标节点完成同步工作,加快同步进程,而且分簇还可缩短节点间的距离,提高同步精度。文献[16]提出利用多普勒效应辅助时间同步,由于节点在数据传输时发生运动,数据帧在多普勒频移的影响下将被压缩或扩展,因此接收信号的长度会发生变化,通过比较发送、接收数据帧的时间估计多普勒因子的值,进而获得节点的移动方向与速度,但方案中并未描述具体的节点间同步方法,且算法需要配备额外的测量器,增加了部署成本。本文算法明确了簇首同步和簇间同步2个具体的实现过程,并规定了数据包的交互形式。
2 多普勒测速方法多普勒效应是指波源和接收者之间由于相对运动使得接收者能够感受到波的频率变化,这是一种普遍的物理现象,在水下环境中尤为明显,且可广泛应用于医学、交通和航天等领域,并在定位和测速等技术上做出重大贡献[17]。基于多普勒效应造成的频移现象在频域上可表现为频率的变化,当一个移动的波源向接收者接近时,波会被压缩且波长变短,导致频率变得较高;反之,当波源远离接收者时,波会被拉伸,波长增加从而导致频率变得较低。该理论是由奥地利科学家克里斯琴·多普勒·约翰于1842年提出的[18]。
假设波源S和接收者E在同一水平线上运动,假设f0为波源发出的初始信号频率,f为接收者收到信号时的实际频率,λ表示波长,v表示波速,波源的移动速度为vS,接收者的移动速度为vE,这3种速度都具备方向性。接下来分为以下3种情况讨论多普勒效应的存在方式。
1)当波源靠近接收者而接收者静止不动时,此时波速变为v-vS,其波长为
| $ \frac{f}{{f}_{0}}=\frac{v}{v-{v}_{\mathrm{s}}} $ | (1) |
2)当波源静止而接收者靠近波源时,此时波源的波速为v+vE,波长仍然为λ,因此接收者观察到的频率
| $ \frac{f}{{f}_{0}}=\frac{v+{v}_{\mathrm{E}}}{v} $ | (2) |
3)当波源和接收者相向运动时,可由式(1)和式(2)求得接收者处的频率为:
| $ \frac{f}{{f}_{0}}=\frac{v+{v}_{\mathrm{E}}}{v-{v}_{\mathrm{S}}} $ | (3) |
传感器随机分布在水下环境中,每个节点都有其各自的深度、位置和速度信息[19]。在水平面上放置多个均匀分布的浮标作为信标节点,其能量充足且带有GPS定位功能,并且已完成时间同步,具有全球标准时间。浮标通过持续发出超声波与水下节点进行通信。时间同步的进程是传感器的簇首首先向浮标发起同步请求,浮标向簇首发送多段超声波,而簇首通过接收到的声波频率变化来估算其自身移动速度,从而计算精确的传播延迟。本节接下来将会详细说明移动速度的估算方法。
从观察浮标与簇首的位置情况可以发现,与波源移动而接收者静止不动的情况类似,即簇首移动而浮标静止不动。图 1直观表示了浮标与簇首节点交互情况[14]。其中A为水面浮标,P为待同步节点,节点的移动速度为V,浮标与节点之间连线的水平夹角为θ。浮标向待同步节点发送多段波速为u、频率为f0的超声波,并假设待同步节点接收声波时的频率为f1,则根据上节所述可得f0与f1之间的关系为:
| $ \frac{{f}_{1}}{{f}_{0}}=\frac{u}{u-V\mathrm{c}\mathrm{o}\mathrm{s}\theta } $ | (4) |
|
Download:
|
| 图 1 浮标与簇首节点交互情况 Fig. 1 Interaction between buoy and cluster head node | |
浮标发送的多段超声波的初始频率都为f0,而待同步节点由于具有移动性,每次接收到的信号频率fi都会发生变化,则由式(4)可推导出式(5),当其他条件都可知时可求得节点的移动速度Vi。
| $ {f}_{i}=\frac{u}{u-{V}_{i}\mathrm{c}\mathrm{o}\mathrm{s}\theta }{f}_{0} $ | (5) |
本节将介绍节点间的同步过程。根据时钟同步原理,待同步节点P的本地时钟与标准时钟的关系为
|
Download:
|
| 图 2 浮标与待同步簇首之间的报文交互 Fig. 2 Message interaction between buoy and cluster head to be synchronized | |
节点P在T1时刻向浮标发起同步进程,浮标A在T2时刻接收到消息后随即向待同步节点P发送多段超声波,其时间戳用
| $ \begin{array}{l}t\left[1\right]+{d}_{1}=aT\left[1\right]+b\\ t\left[2\right]+{d}_{2}=aT\left[2\right]+b\end{array} $ | (6) |
假设浮标A为水面上的固定装置没有移动性,待同步节点P在水下的移动速度为V1,波速为u,则可以得出:
| $ u{d}_{2}=u{d}_{1}+{V}_{1}({d}_{1}+{d}_{2}) $ | (7) |
式(7)的意义是2个节点在第2次交互时的距离等于第1次交互时的距离加上节点在传播过程中发生移动而产生的距离,且整理后可得:
| $ {d}_{2}=\frac{u{d}_{1}+{V}_{1}{d}_{1}}{u-{V}_{1}} $ | (8) |
其中,待同步节点P的移动速度V1可由上节中描述的方法计算得出。将上述公式推广,则可得到每次信息交互的传播延迟与移速的关系为:
| $ t\left[i\right]+{d}_{i}=aT\left[i\right]+b $ | (9) |
| $ {d}_{i}=\frac{u+{V}_{i}}{u-{V}_{i}}{d}_{i-1} $ | (10) |
其中,
| $ {a}_{i}=\frac{t\left[i\right]-t[i+1]+{d}_{i}-{d}_{i+1}}{T\left[i\right]-T[i+1]} $ | (11) |
从算法描述可以看出,通过多次信息交互最终可求出
在簇首完成时间同步后可承担簇内的信标节点角色并向各成员节点发送时间同步消息。需要注意的是,此时簇首与其他节点都处于水面之下,将会受到洋流等因素产生移动。因此,在计算多普勒频移时需要使用2.1节中描述的第3种情况:波源和接收者都在移动。假设簇首为P,成员节点为B,簇首向待同步节点发送多段波速为u,频率为f0的超声波,并假设待同步节点接收声波时的频率为f1,簇首移动速度为VP,待同步节点移动速度为VM。,则可得出f0与f1之间的关系为:
| $ {f}_{1}=\frac{u+{V}_{\mathrm{P}}}{u-{V}_{\mathrm{M}}}{f}_{0} $ | (12) |
| $ {f}_{1}=\frac{1+{V}_{\mathrm{P}}/u}{1-{V}_{\mathrm{M}}/u}{f}_{0}=\frac{1+{V}_{\mathrm{M}}/u+{V}_{\mathrm{P}}/u+{V}_{\mathrm{P}}{V}_{\mathrm{M}}/{u}^{2}}{1-({V}_{\mathrm{P}}{V}_{\mathrm{M}}{/u)}^{2}}{f}_{0} $ | (13) |
由于在水中
| $ {f}_{1}=\left(1+\frac{{V}_{\mathrm{P}}+{V}_{\mathrm{M}}}{u}\right){f}_{0} $ | (14) |
当其他条件都可知时,易求得节点的移动速度为VP+VM。
4.2 信息交互过程本节介绍簇首与簇内节点的同步过程。与第3节不同的是,节点皆具有移动性,为了提高同步精度,本文采用混合的信息交换方式将时钟频偏与时钟相偏分开计算。如图 3所示,由待同步节点B首先发起同步进程,然后簇首通过多次单向交互连续发送多段超声波至待同步节点,在此过程中计算时钟频偏,最后通过一组双向交互完成时钟相偏的计算。
|
Download:
|
| 图 3 簇首与簇内节点的报文交互 Fig. 3 Message interaction between cluster head and nodes in the cluster | |
信息交互过程与第3节所述类似,在此不再赘述。需要注意的是,P和B都具有移动性,则假设簇首P的移动速度为VPi,待同步节点B的移动速度为VBi,波速为u,则可推出:
| $ u{d}_{i}=u{d}_{i-1}+{V}_{\mathrm{P}i}({d}_{i-1}+{d}_{i})+{V}_{\mathrm{B}i}({d}_{i-1}+{d}_{i}) $ | (15) |
式(15)的意义是2个节点在第i次交互时的距离等于第i-1次交互时的距离加上簇首与待同步节点在传播过程中分别发生移动而产生的距离。整理后可得:
| $ \begin{array}{c} {d_i} = \frac{{u{d_{i - 1}} + {V_{{\rm{P}}i}}{d_{i - 1}} + {V_{{\rm{B}}i}}{d_{i - 1}}}}{{u - {V_{{\rm{P}}i}} - {V_{{\rm{B}}i}}}} = \\ \frac{{u{d_{i - 1}} + ({V_{{\rm{P}}i}} + {V_{{\rm{B}}i}}){d_{i - 1}}}}{{u - ({V_{{\rm{P}}i}} + {V_{{\rm{B}}i}})}} \end{array} $ | (16) |
其中,VPi+VBi可由多普勒频率变化计算得出,而在得到传播延迟后,时钟频偏很容易得到。
在计算出时钟频偏后,待同步节点使用一次发送-接收的交互方式与簇首进行信息交换,完成对时钟相偏的计算,并收集如图 3所示的4个时间Ta、Tb、Tc、Td。
| $ \begin{array}{l}a{T}_{a}+b+{t}_{1}={T}_{b}\\ {T}_{c}+{t}_{2}=a{T}_{d}+b\end{array} $ | (17) |
| $ {t}_{2}-{t}_{1}=a{T}_{d}+a{T}_{a}+2b-{T}_{b}-{T}_{c} $ | (18) |
| $ {t}_{2}-{t}_{1}=\frac{va({T}_{d}-{T}_{a})}{u} $ | (19) |
| $ b=\frac{u({T}_{a}+{T}_{d})-a\left[u\right({T}_{b}+{T}_{c})+v({T}_{d}-{T}_{a}\left)\right]}{2u} $ | (20) |
本文采用MATLAB进行仿真,并在相同环境下比较本文算法与现有算法间的性能差异。本文仿真在1 000 m×1 000 m×500 m的水下环境内进行,其中共有100个水下传感器节点且为随机分布,浮标均匀分布在检测区域水面,且通信范围能覆盖所有传感器。节点运动通过多普勒辅助计算。仿真中使用的时间戳为MAC层时间戳,其他实验参数如表 1所示。
|
下载CSV 表 1 仿真参数设置 Table 1 Simulation parameter settings |
普通节点在完成时间同步后,本文算法(CD-Sync)和MU-Sync、NU-Sync[20]算法的本地时钟误差增长趋势如图 4所示。从图 4可以看出,本文算法的误差累计明显小于其他2种算法,在同步105 s后相比MU-Sync和NU-Sync减小了约68.27%和42.8%,在106 s后相比MU-Sync和NU-Sync减小了约44.56%和18.5%,而且随着时间的推移,误差呈倍数增加。本文算法同步误差小于其他算法,这是因为采用了分簇模型,缩小了节点间的距离且减少了传播延迟,并考虑了节点移动因素,进一步提高了精度。
|
Download:
|
| 图 4 3种算法簇内时间同步后的误差变化 Fig. 4 Error variation of three algorithms after intra cluster time synchronization | |
不同初始时钟频率偏斜对时钟偏差的影响如图 5所示。从图 5可以看出,时间同步完成10 s后,普通节点计算本地时间与标准时间的差值,初始频率偏斜的变化范围为10-5~8×10-5,由于未同步算法No-Sync没有对频率偏斜进任何行估计,因此时间误差的变化与不同的初始频率偏斜是呈接近线性递增关系。而Nu-sync和本文算法CD-Sync都对时钟频率偏斜进行了一定程度的估计,因此不同的初始频率偏斜对时钟偏差的影响都趋于稳定,但本文算法的误差略小于其他算法,可以体现出本文算法的性能更优。
|
Download:
|
| 图 5 初始时钟频偏对3种算法误差的影响 Fig. 5 Effect of initial clock frequency offset on errors of three algorithms | |
传播延迟的动态变化主要是节点的移动速度导致的。节点的移动速度对4种算法的同步误差影响如图 6所示。从图 6可以看出,三者的同步精度基本不受速度变化的影响,但是同步误差却有显著差别,MU-Sync的误差主要在0.025 s左右,NU-Sync的误差主要在0.006 s左右,而本文算法的误差均小于上述3种算法。
|
Download:
|
| 图 6 节点移动速度对4种算法同步精度的影响 Fig. 6 Effect of node moving speed on the synchronization accuracy of four algorithms | |
在浮标与簇首、簇首与成员节点的同步过程中,充当信标的节点会向待同步节点发送多段同步信息,而同步信息的数量决定了时钟频偏的计算精度,图 7给出了3种算法的不同信息数量与误差之间的关系。从图 7可以看出,随着信息数量的增加,3种算法的误差都呈下降趋势,但本文算法的误差值更小。值得注意的是,当发送信息数量大于10时,3种算法的误差区域都趋于平稳。因此,从能量消耗的角度考虑,本文将发送的信息数量设置为10。
|
Download:
|
| 图 7 4种算法的数据包数量与误差的关系 Fig. 7 Relationship between the number of data packets and the error of the four algorithms | |
本文基于多普勒测速原理提出一种新型的时间同步算法。该算法使用最佳聚类的节能分簇模型将节点划分为簇首节点和簇内节点,簇首节点和水面信标节点利用多普勒效应进行时间同步,再将同步后的簇首节点与成员节点根据移动规律和多普勒效应进行时间同步,并利用多普勒原理估算节点间的相对移动速度,从而计算节点间的传播延迟。仿真结果表明,该算法可有效提高水下传感器传播信息的时间同步精度。下一步将利用距离最优原则选择最优簇头和簇密度,以进一步提高时间同步精度。
| [1] |
FAUGETADMO J E, PETTERSEN M, HOVEM J M, et al. Underwater wireless sensor network[C]//Proceedings of International Conference on Sensor Technologies and Applications. Washington D.C., USA: IEEE Press, 2010: 1122-1129.
|
| [2] |
PARTAN J, KUROSE J, LEVINE B N. A survey of practical issue in underwater networks[C]//Proceedings of the 1st ACM International Workshop on Underwater Networks. New York, USA: ACM Press, 2007: 17-24.
|
| [3] |
VERMEIJ A, MUNAFO A. A robust, opportunistic clock synchronization algorithm for ad hoc underwater acoustic networks[J]. IEEE Journal of Oceanic Engineering, 2015, 40(4): 841-852. DOI:10.1109/JOE.2015.2469955 |
| [4] |
HONG Feng, ZHANG Yuliang, YANG Bozhen, et al. Review on time synchronization techniques in underwater acoustic sensor networks[J]. Acta Electronica Sinica, 2013, 41(5): 960-965. (in Chinese) 洪锋, 张玉亮, 杨博真, 等. 水下传感器网络时间同步技术综述[J]. 电子学报, 2013, 41(5): 960-965. DOI:10.3969/j.issn.0372-2112.2013.05.020 |
| [5] |
GUO Ying, WANG Jinxin. Ocean parameter adaptive time synchronization algorithm for ocean sensor network[J]. Journal on Communications, 2017, 10(38): 67-72. (in Chinese) 郭瑛, 王进新. 海洋传感器网络参数自适应时间同步算法[J]. 通信学报, 2017, 10(38): 67-72. |
| [6] |
XING Funing. Research on clock synchronization algorithm of underwater sensor network[D]. Harbin: Harbin Engineering University, 2014. (in Chinese) 邢芙宁. 水下传感器网络时钟同步算法的研究[D]. 哈尔滨: 哈尔滨工程大学, 2014. |
| [7] |
SHARIF B S, NEASHAM J A, OLIVER R H, et al. A computationally efficient Doppler compensation system for underwater acoustic communication[J]. IEEE Journal of Ocean graphic Engineering Special Issue on Underwater Communication, 1999, 25(1): 52-61. |
| [8] |
ZHAO Liang, LIANG Qilian. Optimum cluster size for under-water acoustic sensor networks[C]//Proceedings of IEEE Military Communications Conference. Washington D.C., USA: IEEE Press, 2006: 1-5.
|
| [9] |
ELSON J, GIROD L, ESTRIN D. Fine-grained network time synchronization using reference broadcast[C]//Proceedings of the 5th Symposium on Operating Systems Design and Implementation. New York, USA: ACM Press, 2002: 147-163.
|
| [10] |
GANERIWAL S, KUMAR R, SRIVASTAVA M B. Timing-sync protocol for sensor networks[C]//Proceedings of the 1st International Conference on Embedded Networked Sensor Systems. New York, USA: ACM Press, 2003: 138-149.
|
| [11] |
MIKLOS M, KUSY B, SIMON G, et al. The flooding time synchronization protocol[C]//Proceedings of the 2nd International Conference on Embedded Networked Sensor Systems. New York, USA: ACM Press, 2004: 39-49.
|
| [12] |
SYED A A, HEIDEMANN J S. Time synchronization for high latency acoustic networks[C]//Proceedings of the 25th IEEE International Conference on Computer Communica-tions. Washington D.C., USA: IEEE Press, 2006: 1-8.
|
| [13] |
CHIRDCHOO N, SOH W S, CHUA K C. MU-Sync: a time synchronization protocol for underwater mobile networks[C]//Proceedings of the 3rd ACM International Workshop on Underwater Networks. New York, USA: ACM Press, 2008: 35-42.
|
| [14] |
LIU Jun, ZHOU Zhong, PENG Zheng, et al. Mobi-Sync: efficient time synchronization for mobile underwater sensor networks[C]//Proceedings of 2011 IEEE Global Telecommunications Conference. Washington D.C., USA: IEEE Press, 2011: 1-5.
|
| [15] |
WANG Jianping, KONG Dechuan, CHEN Wei. Design of a time synchronization mechanism based on Doppler effect for underwater wireless sensor networks[J]. Chinese Journal of Sensors and Actuators, 2014, 27(5): 680-686. (in Chinese) 王建平, 孔德川, 陈伟. 一种基于多普勒效应的水下无线传感器网络时间同步机制[J]. 传感技术学报, 2014, 27(5): 680-686. DOI:10.3969/j.issn.1004-1699.2014.05.021 |
| [16] |
FENG Xiaoning, WANG Zhuo, ZHU Xiaolong, et al. Doppler auxiliary time synchronization algorithm for underwater acoustic sensor network[J]. Journal on Communications, 2017, 38(1): 9-15. (in Chinese) 冯晓宁, 王卓, 朱晓龙, 等. 多普勒辅助水下传感器网络时间同步机制研究[J]. 通信学报, 2017, 38(1): 9-15. |
| [17] |
LIU Y, YANG L, DOMINIC D. Moving target localiza-tion in multistatic sonar by differential delays and Doppler shifts[J]. IEEE Signal Processing Letters, 2016, 23(9): 1-8. DOI:10.1109/LSP.2016.2595899 |
| [18] |
SHARIF B S, NEASHAM J, HINTON O R, et al. A computationally efficient Doppler compensation system for underwater acoustic communications[J]. IEEE Journal of Oceanic Engineering, 2000, 25(1): 52-61. DOI:10.1109/48.820736 |
| [19] |
STOJANOVIC M, PREISIG J. Underwater acoustic communication channels: propagation models and statistical characterization[J]. IEEE Communications Magazine, 2009, 47(1): 84-89. DOI:10.1109/MCOM.2009.4752682 |
| [20] |
LIU Jun, WANG Zhaohui, CUI Junhong, et al. A joint time synchronization and localization design for mobile underwater sensor networks[J]. IEEE Transactions on Mobile Computing, 2016, 15(3): 530-543. DOI:10.1109/TMC.2015.2410777 |
2021, Vol. 47
