CN104836730B - 一种应用于三维水声传感器网络基于分层的分簇路由协议方法 - Google Patents
一种应用于三维水声传感器网络基于分层的分簇路由协议方法 Download PDFInfo
- Publication number
- CN104836730B CN104836730B CN201510234530.7A CN201510234530A CN104836730B CN 104836730 B CN104836730 B CN 104836730B CN 201510234530 A CN201510234530 A CN 201510234530A CN 104836730 B CN104836730 B CN 104836730B
- Authority
- CN
- China
- Prior art keywords
- cluster head
- node
- cluster
- energy
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/46—Cluster building
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B13/00—Transmission systems characterised by the medium used for transmission, not provided for in groups H04B3/00 - H04B11/00
- H04B13/02—Transmission systems in which the medium consists of the earth or a large mass of water thereon, e.g. earth telegraphy
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Arrangements For Transmission Of Measured Signals (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
一种应用于三维水声传感器网络基于分层的分簇路由协议方法,在已知监测范围和节点最大传输距离的情况下,确定能够保证网络连通的最佳分层数和给定分层数情况下最佳簇头个数,在簇头选举阶段限制了参与竞选簇头的节点的位置,参与选举的节点根据竞争因子决定是否成为簇头,在簇间路由形成阶段,簇头选择比自己高一个层并且距离自己最近的簇头节点作为中继节点,在稳定的数据传输阶段,成员节点将信息传递给相应簇头,簇头将收集到的信息进行压缩后发送给中继节点或基站。本方法能够有效地均衡中网络节点能量消耗,节约网络中消耗的总能量。
Description
技术领域
本发明涉及传感器网络层的路由协议,尤其涉及一种应用于三维水声传感器网络的基于分层的分簇路由协议方法,属于水声信号处理技术领域。
背景技术
在水声通信网络中,传感器节点一般是由能量有限的电池提供能量补给,由于通过充电或更换电池为节点补充能量是不现实的,所以设计水声通信网络的路由协议之时须将节约网络能量消耗作为首先考虑的因素。分簇路由协议能够对多个节点监测的数据进行数据融合,减少了网络中传输的数据量,从而减少了能量消耗。因此,分簇路由协议在水声通信网络中备受关注。
LEACH协议是第一个基于簇结构的层次式路由协议,其后的大部分分簇路由协议都是在其基础上发展起来的。由于水声通信网络与陆地传感器网络有一定的相似性,有不少研究者将LEACH协议经过改进后运用到了水声通信网络中。
在LEACH协议的簇建立过程中,没有考虑簇头的位置分布,由该协议选出的簇头会导致形成的簇结构大小不均匀。在簇头分散的区域,部分簇的簇内成员节点数目过多,簇头在收集信息和处理信息等方面会耗费较大的能量;同时,部分成员节点距离簇头较远,这些成员节点在传输信息时会消耗更多的能量。
发明内容
本发明的目的在于克服现有技术之缺陷,提出一种应用于三维水声传感器网络基于分层的分簇路由协议方法,采用如下技术方法:
一种应用于三维水声传感器网络基于分层的分簇路由协议方法,其特征在于:假设每个节点能够获知自己的地理位置,并且信道是双向对称的,在已知监测范围和节点最大传输距离的情况下,建立水下分簇网络的能耗模型,根据能量消耗与分层数和簇头个数的关系,通过迭代算法确定保证网络连通的最佳分层数和给定分层数下的最佳簇头个数,根据确定的簇头数和分层数将节点划分至若干长方体中,在不同的周期相应的长方体中的节点根据自己的位置和剩余能量参选簇头,在簇头选举阶段限制了参与竞选簇头的节点的位置,参与选举的节点根据竞争因子决定是否成为簇头,成员节点根据到各个簇头的距离选择加入相应的簇结构,在簇间路由形成阶段,簇头建立骨干路由,每个簇头选择比自己高一个层且距离自己最近的簇头节点作为下一跳节点,在稳定的数据传输阶段,成员节点将收集到的信息传递给相应簇头,簇头将收集到的信息进行压缩后发送给下一跳节点或基站,经过设定的一段时间后,网络监测进入下一个周期。
包括以下步骤:
1)簇头数和分层数的确定
a)建立水下分簇网络的能耗模型
有N个节点均匀分布在S×S×H区域中,共有K个簇头,平均每个簇有N/K个节点,其中有N/K-1个成员节点,1个簇头,节点发送一帧数据消耗的能量Etotal与簇头数K之间的关系为:
上式中,L(bit)为每个成员节点向簇头传递的信息比特数,β为每个簇内所有成员节点发送到簇头的信息经过融合后的信息长度与L的比值,Eelec(J)是电路处理1比特的信息所消耗的能量,EDA(J)是压缩1比特信息所消耗的能量,VTX(bps)是信息发送速率,It(μPa)表示距离声源1m处的声音强度:
It=10SL/10×1μPa (2)
SL表示声源级,水声工程中通常用声源级表示声源强度,单位为dB,SL根据被动声纳公式,即式(3)得到:
SL=SNR+TL+NSL-DI (3)
式(3)中的TL是传输损耗,在浅海中,TL的计算公式为:
TL=10log d+αd×10-3 (4)
在深海中,TL的计算公式为:
TL=20log d+αd×10-3 (5)
其中,d表示声源到接收机之间的距离,单位为yard(1yard≈0.914m),α表示吸收系数,单位为dB/km,吸收系数数值大小跟频率有关,当频率在几百赫兹以上时,吸收系数的计算式为:
式中,f表示通信频率,单位为KHz;
式(3)中NSL是噪声级(主要包括来自接收器和环境的噪声),SNR是信噪比,DI是接收器指向性指数,与水下听音器和水声调制解调器有关,NSL、SNR、DI单位均为dB;
式(1)中第一项是网络中所有节点接收信息所消耗的能量,第二项是网络中簇头节点进行数据压缩所消耗的能量,第三项是全部簇头进行数据发送或转发所消耗的能量,第四项是网络中非簇头节点向对应的簇头节点发送数据所消耗的能量,其推导过程如下:
簇头的能量消耗包括收集成员节点传递来的信息所消耗的能量,进行数据处理所消耗的能量以及将处理后的数据发送至下一跳所消耗的能量,在一帧中,第i层中一个簇头所消耗的能量为:
dCH-next为簇头到下一跳之间的平均距离,单位为m,根据簇头选择规则,簇头在一个长宽均为高为H/M的长方体中,两个簇头间距离dCH-next最远为簇头间距离最近为dCH-next≈0,取因此
每个成员节点消耗的能量包括接收信息所消耗的能量以及将信息发送给簇头所消耗的能量,在一帧中,第i层中每个非簇头节点消耗的能量为:
dCM-CH是成员节点到其簇头之间的平均距离,单位为m;
每个簇结构所占的体积为S2H/K,这是一个以节点密度为f(x,y,z)的三维区域,成员节点到其簇头的距离平方的期望计算为:
将该积分区域简化成以为半径的球体,对于是常数,简写为f,式(10)写为:
由于节点均匀分布在监测区域,所以f=K/(S2H),将f表达式带入上式并化简得:
在一个帧中,第i层的每个簇所消耗的能量为:
Ecluster_i=ECHi+(N/K-1)ECMi (13)
第i层中所有簇消耗的能量为:
在一个帧中,网络中所有节点消耗的能量为:
将ECHi、ECMi的表达式带入式(15)并且化简得:
将的表达式带入式(16)即得式(1);
b)确定最佳分层数和簇头个数
在选择分层数M时,需要考虑到分层数与监测区域深度H、节点最大传输距离R之间的关系;而由式(1)可知,总能耗Etotal是与簇头数K和分层数M相关的,当分层数M固定,Etotal的值随簇头数变化;最佳分层数和最佳簇头个数的确定按如下步骤进行:
①根据监测区域深度H与节点最大传输距离R之间的比例值取整,取大于该比例的最小正整数作为可选取分层数的最小值M0;
②根据式(16)计算出当分层数为M0时,能使网络中能量消耗最小的最佳簇头数Hbest;
③计算出当最佳簇头个数为Hbest时,划分长方体后上下两层之间的相邻簇头间的最远传输距离Dmax;
④令Dist=γDmax比较Dist与R的大小,此处设置参数γ是考虑到选举出的相邻簇头之间的距离能达到最远距离Dmax只在极个别情况下出现,如果用Dmax作为与R比较的标准会造成一定的误差,γ的取值在仿真阶段通过仿真实验得到;
⑤如果Dist的值大于R,则将M0的值更新为M0+1,重复步骤②~步骤⑤;若是Dist的值小于或等于R,则确定最佳分层数为当前的M0’;
⑥将M0’代入式(1),得到能使总能耗Etotal最小的K’即为所求的最佳簇头个数;
2)簇结构建立
该监测区域均分为M层,每个层中的节点数目大致相同,将每一层S×S×(H/M)的监测区域分成个长方体,相邻的长方体取其中一个选取簇头;
在网络监测的第一个周期,挑选位于长方体的中心位置的节点作为簇头,两个簇头之间相隔一个长方体,处于长方体中并且到长方体中心位置距离小于或等于的节点参与竞选,R为节点的最大传输距离,这样设定是为了参与竞选的节点都能获得其他参选节点的信息,参与竞选的节点首先根据下式计算竞争因子Ti:
其中,disi代表该节点到长方体中心的距离,单位为m,Energyi代表节点i的剩余能量,单位为J,Energys代表节点初始状态的能量,单位为J;
计算完成后,节点以R为广播半径发送控制信息hello_message,该控制信息包含节点的ID值以及竞争因子,节点接收到其他节点传递过来的信息后,比较自己与其他节点的竞争因子,若是自己的竞争因子低于其他所有节点的竞争因子,该节点当选簇头,否则该节点放弃簇头竞选;簇头选举完成后,则进入非簇头节点选择簇头、簇间路由建立和数据信息传递阶段;
第二周期簇头选择时,簇头产生于第一周期内没有产生簇头的长方体中;
第三个周期内,簇头产生于第二周期内没有产生簇头的长方体中,即产生簇头的长方体与第一周期产生簇头的长方体是一致的,以此类推;
簇头选择完成后,以R为广播半径发送控制信息head_message,该控制信息包含簇头的ID值以及在监测区域的坐标,在广播范围内的非簇头节点接收到信息后计算自己与簇头之间的距离,选择距离自己最近的簇头向其发送包含ID值的控制信息Join_message,簇头节点收到Join_message后,为本簇的成员节点分配TDMA时隙并通过控制信息TDMA_message发送给簇成员节点,当簇内成员节点获得TDMA_message信息后,簇结构建立便完成了;
3)簇间多跳路由形成
当簇结构建立完成后,簇头广播控制信息routing_build_message,该控制信息中包含簇头的ID及坐标位置,簇头将收集到的信息经过计算后,将邻居簇头的ID、到自己的距离、邻居簇头所在的层数存储起来;维护好邻居簇头信息后,簇头将选择比自己高一个层的且距离自己最近的簇头节点作为下一跳节点;
4)稳定的数据传输阶段
当簇间路由建立完成后,便进入数据传输阶段,在这个阶段,成员节点关闭广播直到分配给自己的TDMA时隙到来,簇头打开接收器接收成员节点传递来的数据,所有数据收集完成后,簇头将数据压缩并将数据发送给下一跳节点,经过设定时间T后,网络监测进入下一个周期。与现有技术相比,本发明具有如下优点和显著效果:
(1)通过数学推导,给出了网络中消耗的总能量与簇头数的关系式,根据该式可以得到总能量消耗最小的簇头个数。
(2)给出了确定分层数的方法,保证网络能够连通。
(3)限定了参与簇头选举的节点的位置,保证了网络覆盖,有效均衡了网络中节点的能量。
(4)本方法具有较好的可实现性。
附图说明
图1本发明的流程框图;
图2是网络初始场景示意图;
图3是当M=2时监测区域一个周期内能量消耗随簇头数变化图;
图4是当M=3时监测区域一个周期内能量消耗随簇头数变化图;
图5是当M=4时监测区域一个周期内能量消耗随簇头数变化图;
图6是当M=5时监测区域一个周期内能量消耗随簇头数变化图;
图7是在不同的γ值下能找到下一跳节点的簇头数占总簇头数的比例图;
图8是簇头分布的对比结果图,其中a)是第1轮簇头分布图,b)是第10轮簇头分布图,c)第20轮簇头分布图;
图9是两种协议下网络中所有节点一轮能耗比较;
图10两种协议下的剩余节点数对比。
具体实施方式
参看图1,假设每个节点都知道自己的地理位置。根据选好的簇头数和分层数将节点划分至若干长方体中,在不同的周期相应的长方体中的节点根据自己的位置和剩余能量参选簇头。成员节点根据到各个簇头的距离选择加入相应的簇结构。簇头建立骨干路由,每个簇头选择比自己高一个层且距离自己最近的簇头节点作为下一跳节点。在稳定的数据传输阶段,成员节点将收集到数据发送给簇头,簇头将接收到信息进行压缩后发送给下一跳节点或基站。经过一段时间后(预先设定),网络监测进入下一个周期。
具体可按以下步骤进行:
1)簇头数和分层数的确定
a)簇头数的确定
有N个节点均匀分布在S×S×H区域中,共有K个簇头,平均每个簇有N/K个节点,其中有N/K-1个成员节点,1个簇头。节点发送一帧数据消耗的能量Etotal与簇头数K之间的关系为:
L(bit)为每个成员节点向簇头传递的信息比特数,β为每个簇内所有成员节点发送到簇头的信息经过融合后的信息长度与L的比值,Eelec(J)是电路处理1比特的信息所消耗的能量,EDA(J)是压缩1比特信息所消耗的能量,VTX(bps)是信息发送速率,It(μPa)表示距离声源1m处的声音强度,其计算过程如下:
It=10SL/10×1μPa (2)
SL表示声源级,水声工程中通常用声源级表示声源强度,单位为dB。SL可根据被动声纳公式,即式(3)得到,
SL=SNR+TL+NSL-DI (3)
式(3)中的TL是传输损耗,在浅海中,TL的计算公式为:
TL=10log d+αd×10-3 (4)
在深海中,TL的计算公式为:
TL=20log d+αd×10-3 (5)
其中,d表示声源到接收机之间的距离,单位为yard(1yard≈0.914m),α表示吸收系数,单位为dB/km,吸收系数数值大小跟频率有关,当频率在几百赫兹以上时,吸收系数的计算式为:
式中,f表示通信频率,单位为KHz。
式(3)中NSL是噪声级(主要包括来自接收器和环境的噪声),SNR表示信噪比,DI是接收器指向性指数,与水下听音器和水声调制解调器有关。NSL、SNR、DI的单位均为dB。
式(1)第一项是网络中所有节点接收信息所消耗的能量,第二项是网络中簇头节点进行数据压缩所消耗的能量,第三项是全部簇头进行数据发送或转发所消耗的能量,第四项是网络中非簇头节点向相应的簇头节点发送数据所消耗的能量。推导过程如下:
簇头的能量消耗包括收集成员节点传递来的信息所消耗的能量,进行数据处理所消耗的能量以及将处理后的数据发送至下一跳所消耗的能量。在一帧中,第i层中一个簇头所消耗的能量为:
dCH-next为簇头到下一跳之间的平均距离,单位为m。根据第2)步簇结构建立内簇头选择规则,簇头在一个长宽均为高为H/M的长方体中,两个簇头间距离dCH-next最远为簇头间距离最近为dCH-next≈0,取因此,
每个成员节点消耗的能量包括接收信息所消耗的能量以及将信息发送给簇头所消耗的能量,在一帧中,第i层中每个非簇头节点消耗的能量为:
dCM-CH是成员节点到其簇头之间的平均距离,单位为m。
每个簇结构所占的体积约为S2H/K,一般来说这是一个以节点密度为f(x,y,z)的三维区域,成员节点到其簇头的距离平方的期望可计算为:
可以将该积分区域简化成以为半径的球体,对于是常数,可以简写为f,式(10)可写为:
由于节点均匀分布在监测区域,所以f=K/(S2H),将f表达式带入上式并化简可得:
在一个帧中,第i层的每个簇所消耗的能量为:
Ecluster_i=ECHi+(N/K-1)ECMi (13)
第i层中所有簇消耗的能量为:
在一个帧中,网络中所有节点消耗的能量为:
将ECHi、ECMi的表达式带入式15并且化简可得:
将的表达式带入式(16)可得式(1)。
由式(1)可以得出,总能耗Etotal是与簇头数K、分层数M相关的,当分层数固定时,Etotal的值随簇头数变化,Etotal值最小时对应的K便是最佳簇头个数。
b)分层数的确定
在选择分层数M时,需要考虑到分层数与监测区域深度H、节点最大传输距离R之间的关系,分层数选择算法按以下步骤所示:
①根据监测区域深度H与节点最大传输距离R之间的比例值(取整),取大于该比例的最小正整数作为可选取分层数的最小值M0;
②计算分层数为M0时,能使网络中能量消耗最小的最佳簇头数Hbest;
③计算在最佳簇头个数下,划分长方体后上下两层之间的相邻的簇头间最远传输距离Dmax;
④令Dist=γDmax比较Dist与R的大小,此处设置参数γ是因为选举出的簇头之间的距离能达到最远距离Dmax只在个别情况下会出现,如果用Dmax作为与R比较的标准会造成一定的误差。
⑤如果Dist的值大于R,则将M0的值更新为M0+1,重复步骤②~步骤⑤;若是Dist的值小于或等于R,则确定最佳分层数为当前的M0。
⑥将M0’代入式(1),得到能使总能耗Etotal最小的K’即为所求的最佳簇头个数。
2)簇结构建立
该监测区域均分为M层,每个层中的节点数目大致相同。将每一层S×S×(H/M)的监测区域分成个长方体,相邻的长方体取其中一个选取簇头。
在网络监测的第一个周期,挑选位于长方体的中心位置的节点作为簇头,两个簇头之间相隔一个长方体。处于长方体中并且到长方体中心位置距离小于或等于的节点参与竞选,R为节点的最大传输距离。这样设定是为了参与竞选的节点都能获得其他参选节点的信息。参与竞选的节点首先根据下式计算竞争因子Ti:
其中,disi代表该节点到长方体中心的距离,单位为m,Energyi代表节点i的剩余能量,单位为J,Energys代表节点初始状态的能量,单位为J。
计算完成后,节点以R为广播半径发送控制信息hello_message,该控制信息包含节点的ID值以及竞争因子。节点接收到其他节点传递过来的信息后,比较自己与其他节点的竞争因子,若是自己的竞争因子低于其他所有节点的竞争因子,该节点当选簇头,否则该节点放弃簇头竞选。簇头选举完成后,则进入非簇头节点选择簇头、簇间路由建立和数据信息传递阶段。
第二周期簇头选择时,簇头产生于第一周期内没有产生簇头的长方体中。
第三个周期内,簇头产生于第二周期内没有产生簇头的长方体中,即产生簇头的长方体与第一周期产生簇头的长方体是一致的,以此类推。
簇头选择完成后,以R为广播半径发送控制信息head_message,该控制信息包含簇头的ID值以及在监测区域的坐标。在广播范围内的非簇头节点接收到信息后计算自己与簇头之间的距离,选择距离自己最近的簇头向其发送包含ID值的控制信息Join_message。簇头节点收到Join_message后,为本簇的成员节点分配TDMA时隙并通过控制信息TDMA_message发送给簇成员节点。当簇内成员节点获得TDMA_message信息后,簇结构建立便完成了。
3)簇间多跳路由形成
当簇结构建立完成后,簇头广播控制信息routing_build_message,该控制信息中包含簇头的ID及坐标位置,簇头将收集到的信息经过计算后,将邻居簇头的ID、到自己的距离、邻居簇头所在的分层数存储起来。
维护好邻居簇头信息后,簇头将选择比自己高一个层的且距离自己最近的簇头节点作为下一跳节点。
4)稳定的数据传输阶段
当簇间路由建立完成后,便进入数据传输阶段。在这个阶段,成员节点关闭广播直到分配给自己的TDMA时隙到来。簇头打开接收器接收成员节点传递来的数据。所有数据收集完成后,簇头将数据压缩并将数据发送给下一跳节点。经过一定时间后(预先设定为T),网络监测进入下一个周期。
参看图2,为网络的初始场景图,节点在水下均匀分布,图中用不同形状的点代表位于水下不同深度的节点。例如,圆圈o代表深度在0~1000m的水下节点,星号*代表深度在1000~2000m的水下节点,正方形□代表深度在2000~3000m的水下节点。
参看图3,为分层数为2时的监测区域一个周期内能量消耗随簇头数的变化规律,容易得到,当簇头数取10时,能耗最低。
参看图4,为分层数为3时的监测区域一个周期内能量消耗随簇头数的变化规律,容易得到,当簇头数取13时,能耗最低。
参看图5,为分层数为4时的监测区域一个周期内能量消耗随簇头数的变化规律,容易得到,当簇头数取16时,能耗最低。
参看图6,为分层数为5时的监测区域一个周期内能量消耗随簇头数的变化规律,容易得到,当簇头数取19时,能耗最低。
从图3,图4,图5,图6可以看出,在一个固定的分层数M下,随着簇头个数的逐渐增加,能量消耗会呈现出一个先减后增的变化情况,也即存在一个最佳簇头个数,使得监测区域在一个周期内能量消耗最小。
参看图7,该图是在不同的γ值下能找到下一跳节点的簇头数占总簇头数的比例图。由上图可以看到当选定γ的值为0.85时,无论是分层数是2或是3,能在Dist范围内找到下一跳节点的簇头所占的比率均达到了98%以上。
参看图8,该图的a、b、c分别是LEACH协议和LCRP的在第1轮、第10轮、第20轮的簇头分布对比图,a、b、c左图为执行LEACH协议后的簇头分布结果,右图为执行LCRP的簇头分布结果。从a、b、c的左图可以观察到部分簇头之间的距离比较近,并且簇头会集中在监测区域的中部或下部,这将导致形成的簇过于集中、簇的尺寸相差很大,即簇头集中的部分形成的簇的成员节点少,簇头分散的部分形成的簇的成员节点多。而从a、b、c右图可以看到,簇头分布较为均匀,簇头集中的情况很少。
参看图9,是两种协议下网络中所有节点一轮能耗比较。从结果来看,在每一个监测周期中,LCRP在能量消耗上基本小于LEACH协议,并且在各个周期的能量消耗比较平稳,这是因为LCRP的簇头选自在特定的网格内的节点,靠近网格内中心以及剩余能量多的节点更容易成为簇头,簇头分布相对均匀,能够更加公平的接收非簇头节点的选择加入,形成的簇结构比较好,因此网络中节点能量消耗较小,各个周期的能耗值波动不大;而LEACH协议由于选择的簇头位置比较随机,有的区域簇头分布比较密集,另一些区域簇头分簇分布较稀松,在簇头分布较为稀松的区域,非簇头节点距离本簇头较远,同时簇头间距离也较远,因此无论是簇内信息传递或是簇间信息传递都会消耗较多的能量,另外每轮选择的簇头位置的随机也导致了各个周期能耗值波动较大。
参看图10,为两种协议下的剩余节点数对比。从图中可以看出,LEACH协议在40分钟左右出现了节点因为能量耗尽而死亡的情况,到55分钟左右有30%的节点死亡;而LCRP在52分钟开始有节点死亡,到59分钟左右有30%节点死亡。这是因为LCRP在每轮的能量消耗都低于或约等于LEACH协议,网络运行一段时间后,同一时刻前者的剩余节点数多于后者,并且前者出现失效节点的时间也晚于后者。
Claims (1)
1.一种应用于三维水声传感器网络基于分层的分簇路由协议方法,其特征在于:假设每个节点能够获知自己的地理位置,并且信道是双向对称的,在已知监测范围和节点最大传输距离的情况下,建立水下分簇网络的能耗模型,根据能量消耗与分层数和簇头个数的关系,通过迭代算法确定保证网络连通的最佳分层数和给定分层数下的最佳簇头个数,根据确定的簇头数和分层数将节点划分至若干长方体中,在不同的周期相应的长方体中的节点根据自己的位置和剩余能量参选簇头,在簇头选举阶段限制了参与竞选簇头的节点的位置,参与选举的节点根据竞争因子决定是否成为簇头,成员节点根据到各个簇头的距离选择加入相应的簇结构,在簇间路由形成阶段,簇头建立骨干路由,每个簇头选择比自己高一个层且距离自己最近的簇头节点作为下一跳节点,在稳定的数据传输阶段,成员节点将收集到的信息传递给相应簇头,簇头将收集到的信息进行压缩后发送给下一跳节点或基站,经过设定的一段时间后,网络监测进入下一个周期;
包括以下步骤:
1)簇头数和分层数的确定
a)建立水下分簇网络的能耗模型
有N个节点均匀分布在S×S×H区域中,共有K个簇头,平均每个簇有N/K个节点,其中有N/K-1个成员节点,1个簇头,节点发送一帧数据消耗的能量Etotal与簇头数K之间的关系为:
上式中,L(bit)为每个成员节点向簇头传递的信息比特数,β为每个簇内所有成员节点发送到簇头的信息经过融合后的信息长度与L的比值,Eelec(J)是电路处理1比特的信息所消耗的能量,EDA(J)是压缩1比特信息所消耗的能量,VTX(bps)是信息发送速率,It(μPa)表示距离声源1m处的声音强度:
It=10SL/10×1μPa (2)
SL表示声源级,水声工程中通常用声源级表示声源强度,单位为dB,SL根据被动声纳公式,即式(3)得到:
SL=SNR+TL+NSL-DI (3)
式(3)中的TL是传输损耗,在浅海中,TL的计算公式为:
TL=10logd+αd×10-3 (4)
在深海中,TL的计算公式为:
TL=20logd+αd×10-3 (5)
其中,d表示声源到接收机之间的距离,单位为yard,1yard≈0.914m,α表示吸收系数,单位为dB/km,吸收系数数值大小跟频率有关,当频率在几百赫兹以上时,吸收系数的计算式为:
式中,f表示通信频率,单位为KHz;
式(3)中NSL是噪声级,包括来自接收器和环境的噪声,SNR是信噪比,DI是接收器指向性指数,与水下听音器和水声调制解调器有关,NSL、SNR、DI单位均为dB;
式(1)中第一项是网络中所有节点接收信息所消耗的能量,第二项是网络中簇头节点进行数据压缩所消耗的能量,第三项是全部簇头进行数据发送或转发所消耗的能量,第四项是网络中非簇头节点向对应的簇头节点发送数据所消耗的能量,其推导过程如下:
簇头的能量消耗包括收集成员节点传递来的信息所消耗的能量,进行数据处理所消耗的能量以及将处理后的数据发送至下一跳所消耗的能量,在一帧中,第i层中一个簇头所消耗的能量为:
dCH-next为簇头到下一跳之间的平均距离,单位为m,根据簇头选择规则,簇头在一个长宽均为高为H/M的长方体中,两个簇头间距离dCH-next最远为簇头间距离最近为dCH-next≈0,取因此
每个成员节点消耗的能量包括接收信息所消耗的能量以及将信息发送给簇头所消耗的能量,在一帧中,第i层中每个非簇头节点消耗的能量为:
dCM-CH是成员节点到其簇头之间的平均距离,单位为m;
每个簇结构所占的体积为S2H/K,这是一个以节点密度为f(x,y,z)的三维区域,成员节点到其簇头的距离平方的期望计算为:
将该积分区域简化成以为半径的球体,对于r,θ,是常数,简写为f,式(10)写为:
由于节点均匀分布在监测区域,所以f=K/(S2H),将f表达式带入上式并化简得:
在一个帧中,第i层的每个簇所消耗的能量为:
Ecluster_i=ECHi+(N/K-1)ECMi (13)
第i层中所有簇消耗的能量为:
在一个帧中,网络中所有节点消耗的能量为:
将ECHi、ECMi的表达式带入式(15)并且化简得:
将的表达式带入式(16)即得式(1);
b)确定最佳分层数和簇头个数
在选择分层数M时,需要考虑到分层数与监测区域深度H、节点最大传输距离R之间的关系;而由式(1)可知,总能耗Etotal是与簇头数K和分层数M相关的,当分层数M固定,Etotal的值随簇头数变化;最佳分层数和最佳簇头个数的确定按如下步骤进行:
①根据监测区域深度H与节点最大传输距离R之间的比例值取整,取大于该比例的最小正整数作为可选取分层数的最小值M0;
②根据式(16)计算出当分层数为M0时,能使网络中能量消耗最小的最佳簇头数Hbest;
③计算出当最佳簇头个数为Hbest时,划分长方体后上下两层之间的相邻簇头间的最远传输距离Dmax;
④令Dist=γDmax比较Dist与R的大小,此处设置参数γ是考虑到选举出的相邻簇头之间的距离能达到最远距离Dmax只在极个别情况下出现,如果用Dmax作为与R比较的标准会造成一定的误差,γ的取值在仿真阶段通过仿真实验得到;
⑤如果Dist的值大于R,则将M0的值更新为M0+1,重复步骤②~步骤⑤;若是Dist的值小于或等于R,则确定最佳分层数为当前的M0’;
⑥将M0’代入式(1),得到能使总能耗Etotal最小的K’即为所求的最佳簇头个数;
2)簇结构建立
该监测区域均分为M层,每个层中的节点数目大致相同,将每一层S×S×(H/M)的监测区域分成个长方体,相邻的长方体取其中一个选取簇头;
在网络监测的第一个周期,挑选位于长方体的中心位置的节点作为簇头,两个簇头之间相隔一个长方体,处于长方体中并且到长方体中心位置距离小于或等于 的节点参与竞选,R为节点的最大传输距离,这样设定是为了参与竞选的节点都能获得其他参选节点的信息,参与竞选的节点首先根据下式计算竞争因子Ti:
其中,disi代表该节点到长方体中心的距离,单位为m,Energyi代表节点i的剩余能量,单位为J,Energys代表节点初始状态的能量,单位为J;
计算完成后,节点以R为广播半径发送控制信息hello_message,该控制信息包含节点的ID值以及竞争因子,节点接收到其他节点传递过来的信息后,比较自己与其他节点的竞争因子,若是自己的竞争因子低于其他所有节点的竞争因子,该节点当选簇头,否则该节点放弃簇头竞选;簇头选举完成后,则进入非簇头节点选择簇头、簇间路由建立和数据信息传递阶段;
第二周期簇头选择时,簇头产生于第一周期内没有产生簇头的长方体中;
第三个周期内,簇头产生于第二周期内没有产生簇头的长方体中,即产生簇头的长方体与第一周期产生簇头的长方体是一致的,以此类推;
簇头选择完成后,以R为广播半径发送控制信息head_message,该控制信息包含簇头的ID值以及在监测区域的坐标,在广播范围内的非簇头节点接收到信息后计算自己与簇头之间的距离,选择距离自己最近的簇头向其发送包含ID值的控制信息Join_message,簇头节点收到Join_message后,为本簇的成员节点分配TDMA时隙并通过控制信息TDMA_message发送给簇成员节点,当簇内成员节点获得TDMA_message信息后,簇结构建立便完成了;
3)簇间多跳路由形成
当簇结构建立完成后,簇头广播控制信息routing_build_message,该控制信息中包含簇头的ID及坐标位置,簇头将收集到的信息经过计算后,将邻居簇头的ID、到自己的距离、邻居簇头所在的层数存储起来;维护好邻居簇头信息后,簇头将选择比自己高一个层的且距离自己最近的簇头节点作为下一跳节点;
4)稳定的数据传输阶段
当簇间路由建立完成后,便进入数据传输阶段,在这个阶段,成员节点关闭广播直到分配给自己的TDMA时隙到来,簇头打开接收器接收成员节点传递来的数据,所有数据收集完成后,簇头将数据压缩并将数据发送给下一跳节点,经过设定时间T后,网络监测进入下一个周期。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510234530.7A CN104836730B (zh) | 2015-05-08 | 2015-05-08 | 一种应用于三维水声传感器网络基于分层的分簇路由协议方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510234530.7A CN104836730B (zh) | 2015-05-08 | 2015-05-08 | 一种应用于三维水声传感器网络基于分层的分簇路由协议方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104836730A CN104836730A (zh) | 2015-08-12 |
CN104836730B true CN104836730B (zh) | 2018-07-24 |
Family
ID=53814375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510234530.7A Active CN104836730B (zh) | 2015-05-08 | 2015-05-08 | 一种应用于三维水声传感器网络基于分层的分簇路由协议方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104836730B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105744585A (zh) * | 2016-04-08 | 2016-07-06 | 南京邮电大学 | 基于三维方块的能量均衡路由计算方法 |
CN105933985B (zh) * | 2016-04-18 | 2019-02-19 | 哈尔滨工业大学(威海) | 基于距离远近自适应选择时隙的水声通信方法 |
CN105764114B (zh) * | 2016-04-19 | 2019-01-22 | 浙江理工大学 | 一种基于能耗均衡的水下无线传感器网络拓扑控制方法 |
CN106850082A (zh) * | 2016-11-10 | 2017-06-13 | 中国海洋大学 | 基于无人船的动态接入水声通信网络协议的方法 |
CN107820207B (zh) * | 2017-11-16 | 2020-04-21 | 西京学院 | 降维自适应分簇的节点模糊信息三维定位模型 |
CN109842888B (zh) * | 2017-11-28 | 2020-12-04 | 中国科学院计算技术研究所 | 水下传感网的水声信道质量动态评估和预测方法及系统 |
CN110391850B (zh) * | 2018-04-20 | 2021-07-06 | 中国船舶重工集团公司第七一九研究所 | 一种水下传感器网络机会路由方法 |
CN109195131A (zh) * | 2018-09-05 | 2019-01-11 | 广州小楠科技有限公司 | 物业值班管理辅助系统 |
CN109361430A (zh) * | 2018-09-29 | 2019-02-19 | 天津大学 | 一种多用户水声传感网络大容量协作传输方法 |
CN109769222B (zh) * | 2019-02-27 | 2021-11-16 | 天津城建大学 | 基于多水下自主航行器的水下传感器网络路由方法 |
CN109873677B (zh) * | 2019-03-08 | 2021-09-10 | 哈尔滨工程大学 | 一种水声传感器网络机会路由候选集生成方法 |
CN110519819B (zh) * | 2019-08-19 | 2022-07-22 | 西北工业大学 | 一种基于分层的水声传感器网络路由协议的通信方法 |
CN112887947B (zh) * | 2021-01-14 | 2021-12-03 | 南通大学 | 一种双层区块链的蓝牙Mesh分簇组网方法 |
CN112788701B (zh) * | 2021-02-20 | 2022-05-24 | 吉林大学 | 一种基于交互信道分配的无冲突水声多信道mac方法 |
CN114584503B (zh) * | 2022-02-22 | 2023-08-22 | 中国船舶重工集团公司第七一五研究所 | 面向信息融合处理的水声网络自主分簇方法 |
CN114500359B (zh) * | 2022-04-15 | 2022-07-12 | 深圳市永达电子信息股份有限公司 | 集群动态组网方法和集群动态系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102625404A (zh) * | 2012-03-02 | 2012-08-01 | 东南大学 | 一种应用于三维水声传感器网络的分布式路由协议方法 |
CN104539374A (zh) * | 2014-12-09 | 2015-04-22 | 桂林电子科技大学 | 基于水面传感网-水声传感网的混合组网方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8842498B2 (en) * | 2012-04-12 | 2014-09-23 | Ceebus Technologies Llc | Underwater acoustic array, communication and location system |
-
2015
- 2015-05-08 CN CN201510234530.7A patent/CN104836730B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102625404A (zh) * | 2012-03-02 | 2012-08-01 | 东南大学 | 一种应用于三维水声传感器网络的分布式路由协议方法 |
CN104539374A (zh) * | 2014-12-09 | 2015-04-22 | 桂林电子科技大学 | 基于水面传感网-水声传感网的混合组网方法 |
Non-Patent Citations (2)
Title |
---|
An Energy-Efficient Clustering Algorithm for Underwater Acoustic Sensor Networks;X Li等;《2012 International Conference on Control Engineering and Communication Technology (ICCECT)》;20121209;参见正文第Ⅰ-Ⅴ节 * |
水声通信网的一种分簇算法的研究与仿真;张永春等;《声学技术》;20071031;第26卷(第5期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN104836730A (zh) | 2015-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104836730B (zh) | 一种应用于三维水声传感器网络基于分层的分簇路由协议方法 | |
CN107580355B (zh) | 无线传感器网络基于位置的均匀分簇层次路由方法 | |
CN105636143B (zh) | 基于合作博弈的无线传感器网络分簇协作路由算法 | |
Wang et al. | Efficient routing protocol based on reinforcement learning for magnetic induction underwater sensor networks | |
CN103024814B (zh) | 一种基于冗余控制和分簇路由的无线传感网节能方法 | |
CN107360612B (zh) | 一种基于蚁群多路径的无线传感器网络的数据传输方法 | |
CN111246416B (zh) | 一种基于遗传算法的水下无线传感器网络拓扑控制方法 | |
CN104066142B (zh) | 一种确定无线传感器网络中数据传输路径的方法及装置 | |
CN103209454A (zh) | 一种基于节点竞争值及软阈值的双簇头选举方法 | |
CN108900996A (zh) | 一种基于双层模糊算法的无线传感器网络数据传输方法 | |
CN108777877B (zh) | 一种狭长拓扑下的WSNs分簇路由方法 | |
CN108966239A (zh) | 一种基于能量空洞度部署中继节点的方法 | |
CN110740487B (zh) | 一种能量有效且避障的水下路由方法 | |
CN108541038B (zh) | 一种无线传感器网络的路由选择方法及系统 | |
CN104410997A (zh) | 一种用于无线传感器网络的层次型拓扑结构构建方法 | |
CN108112050A (zh) | 基于水下无线传感网络的能量平衡和深度控制的路由协议 | |
CN111132259A (zh) | 一种面向物理层安全的联合功率优化和路由选择方法 | |
Santi | On the data gathering capacity and latency in wireless sensor networks | |
KR20160018050A (ko) | 무선 센서 네트워크의 에너지 기반 데이터 전송 방법 | |
Micheletti et al. | CER-CH: combining election and routing amongst cluster heads in heterogeneous WSNs | |
CN105764110B (zh) | 一种基于免疫克隆选择的无线传感器网络路由优化方法 | |
CN103874158A (zh) | 一种新型的聚类路由算法 | |
Wu et al. | Routing strategy of reducing energy consumption for underwater data collection | |
Qu et al. | Research and application of multi-node communication and energy consumption prediction control in underwater acoustic network | |
CN104661278A (zh) | 一种基于演化博弈的分簇协作路由方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |