APP下载

基于深度和位置的水下传感网的协作路由

2020-09-04

计算机工程与设计 2020年8期
关键词:传感数据包路由

张 驰

(河南财经政法大学 计算机与信息工程学院,河南 郑州 450046)

0 引 言

水下传感网络(underwater sensor networks,USNs)通过预先部署的传感节点收集水域环境数据,再将数据传输至飘浮于水面的声纳浮标,进而实现对水域环境的监测[1,2]。

然而,严苛的传输环境,增加了水域环境中的数据传输难度,给路由设计提出了挑战。因此,仅依靠单个传感节点难以完成数据的传输,需多个节点间协作,共同完成数据的传输。协作路由就是遵循多节点协作,共同完成数据传输的思想。

协作路由利用从一个或多个转发节点完成数据的传输。因此,目的节点可能会接收同一个数据包的一个或两个复本,其中,一个复本是直接来自源节点,而其它的复本来自转发节点转发的。目的节点融合所接收的数据包,然后依据特定算法处理这些数据包,进而提取所需的信息,最终保证数据包能够可靠地传输至目的节点[3]。

协作路由的独特特性能够缓解严苛的传输环境。由于目的节点融合了两个或多个数据包复本,这就提高了目的节点成功接收数据包的概率,增加了数据包传输的可靠性。然而,UWNs的传统路由[4-7]协议在传输数据包过程中,并没有引用协作路由概念。因此,这种策略无法保证数据包传输的可靠性。

文献[8-10]提出协作路由策略。然而,这些策略要求传感节点的地理位置、传感节点间的时间同步。在水域环境估算传感节点的位置是非常困难的。

作为典型的基于节点深度值选择的路由,能效-深度的路由(energy-efficient depth-based routing,EEDBR)[11]依据节点深度值决策路由。深度值越大表明节点离水面距离越大,将数据传输至位于水面的信宿的路径越长。但是,节点往往需要通过多跳转发才能将数据传输至信宿。若只依据节点深度值难以选择最优的数据传输性能。而文献[12]提出基于能效的最优转发节点路由(energy-efficient optimal relay selection,EEORS),其是从能效角度选择最优转发节点,其立足点是选择转发节点。但转发节点的选择与数据包的目的节点密集相关。

为此,本文提出基于深度和位置的协作路由(depth and location-based cooperative routing,DLCR)。DLCR路由依据节点的深度和位置信息决策路由。同时,目的节点通过检测信号的信噪比判断是否能成功接收数据包,进而保证数据包传输的可靠率。仿真数据表明,提出的DLCR路由有效地提高了数据包传递率。

1 能量模型及网络模型

1.1 能量消耗模型

对于水下通信数据包传输和数据包接收,引用典型的声频调制解调器。为此,引用文献[13]的等式

SNR=SL-TL-NL+DI≥DT

(1)

其中,SNR表示接收端所接收的声波的信号强度,单位为dBre μPa。而1 μPa=0.67×10-18Watts/m2。而SL、TL、NL和DI分别表示所发射声波的等级(声源等级)、传输损耗、噪声和方向指数。若声源是全向时,DI=0。

为了保证接收端的声频调制解调器能正常检测声波信号,信号的SNR应该高于或等于解调器的检测阈值。声源等级反映了声源波的强度。传输距离越远,传输损耗、噪声就越能消弱声波强度。

SL与信号强度IT相关,其中IT表示离声源1 m处的信号功率值。SL与IT的关系如式(2)所示

(2)

其中,IT的单位为1 μPa。若单位转换成Watts/m2,而IT可表述为

IT=10SL/10×0.67×10-18

(3)

若传输单比特、且传输距离为d、声源水深为H所消耗的功率PT(d)为

PT(d)=4π×d2×H×IT

(4)

因此,若传输k比特所消耗的能量ETX(k,d)

ETX(k,d)=PTX(d)×TTX

(5)

其中,TTX表示传输k比特数据所需的时间,单位为s。

1.2 网络模型

考虑三维立体化的网络。节点以随机方式部署于网络。信宿位于网络区域的顶部。传感节点实时地感测数据,然后传输至信宿,信宿再将数据传输至控制中心,如图1所示。

图1 网络模型

传感节点以声波通信。而信宿既可利用声波通信,又可利用无线射频通信。而信宿以无线射频通信方式向控制中心传输数据。

2 DLCR路由

2.1 网络初始化

最初,信宿广播HELLO包,其包含信宿的节点位置。一旦接收了HELLO包,节点就利用到达时间差(time of arrival,ToA)估计离信宿的距离。然后,节点利用自身压力传感器计算深度。最后,节点将自己的ID、深度和距离插入HELLO包,并转播HELLO包,如图2所示。

图2 HELLO包格式

当节点转播HELLO包后,它就等待一段时间t0,并且在这个等待时间,监听是否有节点重播此HELLO包。若在这时间内,没有收到HELLO包,说明自己无邻居节点。

一旦收到来自邻居节点转播的HEELO包,节点就从此HELLO包中提取信息,包括邻居节点的ID、深度和距离。并将这些信息存在自己的路由表(routing table)。此过程一直重复,直到每个节点知晓自己的邻居节点信息。

2.2 目的节点和转发节点的选择

一旦准备传输数据包,源节点首先判断信宿是否位于自己的通信范围。如果是,则直接向信宿传输;否则的话,源节点就以多跳方式向信宿传输数据包。

假定源节点为i,它的邻居集为Ni。首先,源节点i选择一个目的节点。选择原则:选择具有低深度、短距离的节点作为目的节点,并且被选择的节点的剩余能量大于零。假定节点j∈Ni,它的剩余能量为Ej。只有Ej大于零的节点才可能被选择为目的节点和转发节点。

此外,选择低深度、短距离的节点作为目的节点和转发节点,原因在于:距离反映了离源节点的物理距离。离信宿越近,距离越短。除了考虑距离之后,还考虑了深度是因为低距离值不足以表明离信宿的距离。当然,距离值包含了节点的深度信息。但两节点间的距离与两节点的深度值并不呈比例关系。本文所指的深度是指节点离水面的垂直距离。

可能存在这种情况:两个或多个节点具有相同的深度,但可能它们离信宿距离并不相同。因此,同时考虑距离和深度值,能选择最靠近信宿的节点作为目的节点。

令Depth(j)、Distance(j)分别表示节点j∈Ni的深度、离源节点距离。为此,先依据深度值对Ni按升序排序,并保留前5个节点,假定这5个节点构成的节点集为N′i。然后,再从N′i中选择选择离源节点最近的节点作为源节点i的目的节点Di。

完成目的节点Di的选择之后。接下来,选择转发节点Fi。由于转发节点是为了给目的节点转发数据包,进而完成协作路由。因此,将从Ni中选择离目的节点Di最近的节点作为转发节点。离目的节点越近,数据包到达目的节点的时间越短,这就能降低协作路由时延。

一旦完成了目的节点Di、转发节点Fi的选择后,源节点i就将目的节点Di和转发节点Fi的ID号装入HELLO包,并向邻居节点广播。一旦收到来自源节点的HELLO包,节点就检测自己的ID号,如果自己既不是转发节点,也不是目的节点,就不参与路由。反之,若自己成为转发节点或目的节点,就参与路由,并转发数据包。

2.3 协作路由

在源节点转发数据包时,尽管邻居节点未参与路由,但是它们可能也会监听到数据包的转发。但DLCR路由所选择的转发节点和目的节点参与路由。令ysd表示目的节点Di从源节点接收的信号[14]

(6)

其中,Ps表示源节点的发射功率,而x表示所传输的信号。hsd表示从源节点至目的节点的信道增益。nsd为噪声。

而转发节点Fi从源节点所接收的信号表示为ysr,其定义如式(7)所示[12]

(7)

相应地,hsr、nsr分别表示从源节点至转发节点信道的增益、噪声。

只要接收到来自源节点发送的信号,转发节点Fi先对信号处理,再向目的节点转发。因此,目的节点将源节点和转发节点转发的信号进行整合

(8)

其中,yrd表示目的节点从转发节点所接收的信号。Pr为转发节点所发射的功率,hrd为信道增益,nrd为噪声。如图3所示,图3描述了源节点、转发节点和目的节点三者之间的信号传输关系。

图3 源节点、转发节点和目的节点间的信号传输

hsd、hsr和hrd均反映无线链路的特性,它们为零均值的高斯随机变量,且方差为σ2,如式(9)所示[13]

σ2=ηd-α

(9)

其中,d为传输距离、α为路径损耗,而η为信号传输指数。

此外,式(8)中β为放大系数,其定义如式(10)所示

(10)

目的节点依据最大融合技术(maximum-ratio-combining,MRC)[15],将它直接从源节点接收的信号和从转发节点转发的信号进行融合。因此,MRC的输出SNRγAF,如式(11)所示

(11)

然后,目的节点将γAF与阈值γth进行比较。如果γAF大于γth,则表明目的节点已成功接收了数据包,再向源节点发送确认包ACK。

2.4 数据包的传输

首先,进行网络初始化。完成后,源节点感测数据,然后源节点发送HELLO包。再进入邻居节点发现阶段。随后,进行目的节点的搜索过程。一旦找到目的节点,就发现转发节点。

一旦确认了转发节点,转发节点也向目的节点传输数据。最后,目的节点检测信噪比,是否大于阈值。如果大于阈值,表明目的节点能够正常接收数据包,在这种情况下,目的节点就向信宿传输数据包,否则的话,源节点继续向目的节点传输数据包。数据包传输的整个过程如图4所示。

图4 DLCR路由数据包转发流程

3 性能分析

3.1 仿真环境

利用MATLAB软件分析DLCR路由性能。考虑500 m×500 m×500 m三维立体区域,250个传感节点大耳机分布于监测区域。每个节点引用UWM2000解调器[14]进行通信,且数据率为10 kpbs,传输模式、接收模式和空闲模式下的功率消耗分别为2 W、0.8 W和8 mW。

每个节点的通信半径为200 m,节点发送的HELLO包大小为10字节。数据包尺寸为50字节。同时,引用802.11-DYNAV作为MAC层协议。

选择EEDBR和EEORS路由作为参照,并对比分析它们的路由性能及能耗。此外,引用基于簇结构的无线传感网络中的轮(Round)概念,将时间划分同样长的时段,每一段称为一轮(Round),每一轮由1000个时隙构成,每个时隙为0.18 s。因此,接下来,分析总体能量消耗、端到端传输延时和数据包传递率随轮的变化情况。

3.2 数据分析

3.2.1 端到端传输时延

图5显示了DLCR、EECOR和EEDBR路由的端到端传输时延。从图5可知,当进行了100轮后,3个协议的端到端传输时延趋于稳定。相比于EECOR和EEDBR路由,DLCR路由的端到端时延较高,在运行250轮后,DLCR路由的端到端传输时延为3500 s,比EEDBR路由的时延增加了约400 s。原因在于:DLCR路由属于协作路由。协作路由引用确认包机制,提供了可靠的数据包传输,这必须增加传输时延。

图5 端到端传输时延

3.2.2 数据包传递率

图6显示了DLCR协议的数据包传递率。从图6可知,DLCR路由的数据包传递率最高。原因在于:DLCR路由引用数据包传输的可靠机制,提高了数据包传输的可靠率。此外,从图6可知,最初3个协议的数据包传递率较高,当运时至50轮后,数据包传递率快速下降。这主要是因为:随着时间的轮移,节点能耗逐步增加,导致部分节点能量消耗殆尽。

图6 数据包传递率

3.2.3 能量消耗

最后,分析了路由的能量消耗。从图7可知,DLCR协议的能耗略高于EEORS和EEDBR路由。结合图6可知,DLCR路由以高的能耗换取高的数据包传递率。此外,注意到,当经历了250轮后,3个协议的能量消耗一致。

图7 能量消耗

4 结束语

针对水下传感网络的数据传输问题,提出DCLR的协作路由。通过协作数据传输,缓解水域的严苛信道环境。DCLR路由利用传感节点的位置信息、距离以及能量信息,择优选择转发节点和目的节点,进而提高协作通信的性能。相比于EEDBR和EEORS路由,提出的DCLR路由的数据包传递率得到有效提高。然而,从实验数据可知,DCLR路由的能耗和时延较高,这将是后期研究的重点。

猜你喜欢

传感数据包路由
《传感技术学报》期刊征订
新型无酶便携式传感平台 两秒内测出果蔬农药残留
二维隐蔽时间信道构建的研究*
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
铁路数据网路由汇聚引发的路由迭代问题研究
多点双向路由重发布潜在问题研究
一种基于虚拟分扇的簇间多跳路由算法
IPv6与ZigBee无线传感网互联网关的研究
路由重分发时需要考虑的问题
C#串口高效可靠的接收方案设计