APP下载

基于节点位置的水声传感器网络功率控制MAC协议

2021-11-14魏宗博路晨贺靳晓珂

无线电工程 2021年11期
关键词:水声延时数据包

李 莉,魏宗博,路晨贺,靳晓珂,李 进

(1.沈阳化工大学 计算机学院,辽宁 沈阳 110142;2.辽宁省化工过程工业智能化技术重点实验室,辽宁 沈阳 110142)

0 引言

由于海洋环境与陆上环境相比,具有传播延时长、可用带宽窄、能量有限、多普勒效应及多径效应明显等特点,现有的陆上MAC协议难以适用于水声传感器网络,致使水声传感器网络MAC协议的研究远落后于陆上传感器网络[1-4]。而高效的MAC协议在提升网络信道的利用率、提高节点的公平性、共享信道、减少通信过程中端到端的延时及通过减少数据传输过程中的冲突来降低能耗等方面起着重要的作用[5-8]。此外,水声传感器网络应用环境都比较复杂,电池更换十分困难,因此能耗问题对水声传感器网络非常重要,节能已成为目前水声传感器网络MAC协议研究的重要方向之一。

目前节能性能较好的几种MAC协议有S-MAC(Sensor-MAC),T-MAC(Timeout-MAC)和R-MAC(Routing enhanced-MAC)协议。S-MAC协议[9-10]是一种典型的节约能量的传感器网络MAC协议,该协议开创性地提出了节点共同侦听/睡眠的机制,实现了节点周期性的睡眠调度,通过减少空闲侦听时间,有效地提高了能量的利用率,同时该协议又具有良好的拓展性,但其只适用陆上传感器网络。T-MAC协议[11-12]是基于S-MAC协议提出的,与S-MAC协议不同的是,T-MAC协议引入了一个时间参量,即节点活动时间(Time Active,TA),它随着网络流量动态地调整来提前结束活动周期,从而减少空闲侦听时间,进而达到节能的目的[13]。但TA的引入同时也带来了“早睡”问题,致使节点可能无法接收在TA时间之后到来的数据,从而增加了传输延迟。R-MAC协议是一种性能优越的具有占空比的MAC协议[14]。为了减少空闲和侦听造成的能量消耗,使用R-MAC协议的网络中的所有节点均周期性地工作在监听/睡眠模式下。所有节点都有相同的监听/睡眠周期,但是每个节点可以随机选择自己的调度,也就意味着不需要集中的调度。R-MAC协议基于预约方法进行同步,通过分布式的方式传输避免了数据冲突。但是在R-MAC协议中,为保证数据的可靠传输,节点的发送功率通过网络中节点的最大距离进行设置,而实际网络中传感器节点间距离可能发生变化,不能根据实际距离控制发送功率必然造成能量的浪费。

功率控制具有减少水声传感器网络通信过程中的能量消耗、优化网络性能以及提高网络系统服务质量等作用[15-16]。

因此,在R-MAC协议基础之上,根据节点间的实际距离对节点间的发送功率做出动态调整,利用最优发送功率代替最大发送功率进行网络中数据传输,设计了一种基于节点位置信息进行功率控制的路由增强水声传感器网络MAC协议——PC-RMAC协议。该协议既保留了R-MAC协议的端到端延迟低,避免流量争用问题的优点,又通过功率控制降低了网络能耗,延长了水声传感器网络的生存周期。经过仿真对比,该协议在网络平均延时和网络平均能耗方面均优于R-MAC协议。

1 R-MAC协议的工作机制

为了降低具有占空比MAC协议端到端的传输延迟,R-MAC协议引入了单一工作周期内数据包多跳传输思想。通过路由层信息获知从源节点到目的节点传输路径,并在此路径上发送一个小控制帧通知该路径上所有节点在适当时间参与数据包转发[17]。

R-MAC协议将一个循环工作周期分为3个阶段:延时检测、周期公布和周期性操作。前2个阶段用来同步其邻居节点,第3阶段通过监听/睡眠进行数据传输。

① 延时检测阶段。在这个阶段中所有的节点全部开启电源,每个节点随机选择时间广播邻居检测(Neighbor Discovery,ND)数据包,当其他节点接收到ND数据包后记录ND到达时间,随机选择时间发送一个与ND大小相同的确认包Acknowledge character- Neighbor Discovery(ACK-ND),如图1所示,从而计算节点间的传播延时LAB,LAB的计算方法如式(1)所示。

(1)

式中,IA为从发送方开始发送ND包到发送方接收到ACK-ND包的时间;IB为从ND包到达接收方开始到接收方发送ACK-ND的时间。

② 周期公布阶段。在这个阶段中,每个节点都会随机选择自己的监听/睡眠周期开始时间,并通过广播的方式将同步数据包Synchronize Sequence Numbers(SYN)发送给其邻节点。邻节点接收到SYN后提取时间间隔TA转化成自己的调度,如图2所示。

图2 R-MAC协议的周期宣布阶段Fig.2 Periodic announcement phase of the R-MAC protocol

时间间隔TA是发送方从发送SYN到第3阶段开始的时间。接收节点接收到源节点发送的SYN后,开始计算从SYN到达后到它第3阶段开始的时间TB。然后接收节点针对发送节点的调度,根据▽进行自己调度的转化,即:

=TB-TA+IAB,

(2)

式中,IAB为数据从源节点到目的节点的传输延时。

③ 周期性操作阶段。在这个阶段,每个节点都进行周期性的侦听和睡眠,并且所有节点都有相同的周期。一个侦听/睡眠周期称作T0,该周期中的监听时间称作TL,该周期中的睡眠时间称作TS,所以T0=TL+TS。在R-MAC协议的周期性操作阶段中,采用REV/REV-ACK/DATA/DATA-ACK的传输机制。其中REV(Reserve)是预留包,REV-ACK是预留时间的确认包,DATA是数据包,DATA-ACK是DATA的确认包。REV,REV-ACK,DATA-ACK大小相同,但都远小于DATA。

R-MAC协议中,节点周期性操作的工作流程如图3所示。当节点要发送数据时,先发送一个REV,目的是在接收端预留时隙,如果接收端准备好接收数据后会发送一个REV-ACK,目的是用来通知其邻居节点保留出一定的时隙。当节点接收到REV-ACK后,除了发送方外的所有节点均保持静默,发送方在预留的时间内发送数据。

图3 R-MAC协议的周期性操作阶段Fig.3 Periodic operation phase of R-MAC protocol

2 PC-RMAC协议中的功率控制方法

R-MAC协议根据网络中节点间的最大距离设置发送功率以确保数据的成功发送,但是在实际的网络中节点间的距离是有差别的,如果都默认采用最大发送功率,会导致能量浪费,从而缩短网络的生命周期。尤其在能源受限的水声传感器网络中,通过功率控制节约能源非常必要。本文提出的PC-RMAC协议就是通过调整发送功率达到为网络节能的目的。

在水声传感器网络中,节点不同状态下的能量消耗为睡眠状态能耗最低,其次是接收状态和空闲状态,发送状态的能耗最大。而通过上节的分析可以看出,在R-MAC协议的3个阶段中存在大量数据帧(ND,ACK-ND,SYN,REV,ACK-REV,DATA及ACK-DATA)的传输,所以通过节点间的实际距离计算最优发送功率来替换最大发送功率确实可以起到节能的效果。

2.1 功率控制的基本原理

水声传感器网络中传感器节点处于不同的地理位置,可以利用其位置信息(经度、纬度和深度)计算源节点与目的节点间的距离,再根据传播损失公式计算节点的实际接收功率,即:

(3)

式中,Pt为发送端发射功率;Gt,Gr分别为发射、接收天线增益;λ为波长;d为发射端与接收端的距离;L为系统损耗因子。

在R-MAC协议中,数据传输是否可以正常实现通常与数据传输信号的能量强度有关。节点通过对信道中能量强度的判断来确认信道是否被占用,在信道未被占用的情况下,节点进行数据传输,而且当数据传输的信号强度高于节点接收功率的阈值时,数据才能被接收节点顺利接收。所以,通过设置节点的最优发送功率既可以保证数据的有效传输,又能够节约节点能量。节点的最优发送功率与接收功率、接收功率阈值及发送功率的关系为:

(4)

式中,Pt为发射功率;PRXThresh为接收功率阈值;Pr为接收端接收功率。

将式(3)代入式(4)可得,

(5)

由式(5)可知,节点的最优发送功率由接收功率阈值、换能器的发射和接收天线增益、系统损耗因子、声波波长(频率)及节点间距离可以得到,即可用它来代替最大发送功率以减少网络能耗。

2.2 功率控制方法的具体实现

具有功率控制技术的PC-RMAC协议的工作流程如图4所示。

图4 PC-RMAC协议的工作流程Fig.4 PC-RMAC protocol workflow

具体算法简要描述如下:

步骤1:网络初始化,对水声传感器网络基本参数进行设置,初始的发送功率为最大发送功率。

步骤2:计算节点间的实际距离,然后根据式(5)计算最优发送功率。

步骤3:节点间发送ND包,获取节点间的传输延时。

步骤4:节点间发送SYN包,实现网络中节点的时间同步。

步骤5:节点通过发送REV包对信道进行预约。如果节点预约信道成功,则进入步骤6发送数据;如果节点未成功,预约信道则继续预约。

步骤6:发送数据,如果数据发送成功则进入步骤7,否则重新发送该数据。

步骤7:判断是否满足预期需求,如果满足预期需求,则直接结束。如果不满足预期需求则进入步骤8。

步骤8:判断节点的位置是否发生改变,如果节点的位置发生改变,则进入步骤2重新计算节点间的距离;如果节点位置未发生改变,则进入步骤5预约信道。

R-MAC协议在执行三大阶段的过程中,第1阶段和第2阶段只在网络初始化的时候执行一次,而在后续的工作过程中只是周期性地执行第3阶段,这样产生的后果是当节点位置发生改变时,网络发送功率不能及时做出调整,不适合动态变化的网络结构。但是在PC-RMAC协议中,可以及时获取节点间的距离,一旦节点间的距离发生改变即可执行第1和第2阶段重新获取网络传输延时和周期同步,进而提高了协议的灵活性,更适用于节点动态变化的网络。同时也节约了能量,延长了网络的生命周期。

3 协议仿真及结果分析

为了验证改进后R-MAC协议的性能,基于水下传感器网络仿真器Aqua-Sim[18-19]对PC-RMAC协议和R-MAC协议进行仿真分析。在仿真过程中采用5个节点的星型拓扑结构,如图5所示,其中节点0是汇聚节点,节点1~4为发送节点,并且所有发送节点距汇聚节点的距离相等,节点间距离的取值为(30,50,100,150,200,250,300,350,400,450,500,600,700,800和900),且每组取值进行10次仿真实验。通信系统模型采用Binary Phase Shift Keying(BPSK),网络层采用基于向量的路由转发协议,其他仿真参数设置如表1所示。

图5 节点拓扑结构Fig.5 Node topology

表1 基本参数设置表Tab.1 Basic parameter setting

为了减少实验误差,针对选取的15组距离值分别进行10次仿真实验,并选取结果均值进行统计。选择了3个网络性能指标(数据包传递率、平均能耗及平均延时)对2种协议进行分析。数据包传递率是网络中成功传输数据包的比率,具体计算如式(6)所示,其中St是数据包传递率,N是成功传输的数据包数,Ss是发送的数据包总数;平均能耗是指网络中成功传输一个数据包的平均能量消耗,具体计算如式(7)所示,其中Eave是平均能耗,Econ是网络中传输数据包消耗的总能量;平均延时是指每一个成功交付的数据包从发送节点到汇聚节点的平均时间间隔,具体计算如式(8)所示,其中Tave是平均延时,Tde是端到端延时的总和。

(6)

(7)

(8)

发送节点与汇聚节点在不同距离情况下数据包的传递率如图6所示。

图6 数据包传递率随节点间距离变化曲线Fig.6 The data packet transfer rate varies with the distance between nodes

节点间距离在100~500 m范围,2种协议的数据包传递率变化不大,保持在95%以上;距离在500~700 m范围,使用R-MAC协议的网络中数据包传递率随着节点间通信距离的增加呈下降趋势,但幅度不大,而使用PC-RMAC协议的网络中数据包传递率仍保持在95%以上;当通信距离超过700 m时数据包传递率呈明显的下降趋势,在距离为900 m时,传递率已下降至80%以下。这是由于通信距离长使得数据信号衰减严重,接收方不能正确接收数据包,进而导致数据包的传递率降低。但从总体上看,PC-RMAC协议的数据包传递率要始终高于R-MAC协议。

网络中成功交付数据包的平均能耗随收发节点间距离变化情况如图7所示。

图7 平均能耗随节点间距离变化曲线Fig.7 The average energy consumption varies with the distance between nodes

从图7中可以看出,通信距离在700 m范围内成功交付数据包的网络平均能耗基本稳定在0.12~0.13 J/pkt之间;但是当通信距离超过700 m时,2种协议的网络平均能耗均略有增加。整体上看,在实验范围内PC-RMAC协议的平均能耗要略低于R-MAC协议,这说明通过节点间实际距离对节点的发送功率做出调整,可以达到为网络节能的效果。

网络中成功交付数据包的平均延时与节点间距离的关系曲线如图8所示。

图8 平均延时随节点间距离变化曲线Fig.8 Variance of the average delay with the distance between nodes

从图8中可以看出,通信距离在700 m范围内成功交付数据包的平均延时变化不大,均保持在15~40 s范围内;但是当通信距离超过700 m后网络的平均延时急剧增加。这是由于通信距离较短时通信距离对延时的影响不大,而当通信距离较长时,信道正在传输的数据包较多,从而发生数据冲突,导致平均延时增加。但是在实验距离范围内,PC-RMAC协议的平均延时总体上要低于R-MAC协议。这说明PC-RMAC协议在降低网络平均延时方面具有一定的优势。

4 结束语

本文对水声无线传感器网络的能耗问题进行分析,从功率控制方面对R-MAC协议进行改进,利用节点间实际通信距离计算得到最优发送功率代替R-MAC协议中的最大发送功率,从而达到降低网络能量消耗的目的。仿真结果表明,PC-RMAC协议相比R-MAC协议,在数据包传递率性能上有所提高,成功交付数据包所需的平均能耗有所降低,传输数据包的平均延时也有所降低。因此,在PC-RMAC协议中采用最优发送功率进行节点间的数据传输,可以减少节点间的串音干扰,降低数据冲突的概率,保证数据有效传输的同时,也延长了水声传感器网络的生命周期。

猜你喜欢

水声延时数据包
二维隐蔽时间信道构建的研究*
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
基于级联步进延时的顺序等效采样方法及实现
日光灯断电关闭及自动延时开关设计
SmartSniff
认知水声通信系统中OFDM技术的应用
新型多功能水声应答器电子系统设计
FRFT在水声信道时延频移联合估计中的应用
Two-dimensional Eulerian-Lagrangian Modeling of Shocks on an Electronic Package Embedded in a Projectile with Ultra-high Acceleration
水声信号的调制方式识别