一种基于业务量权重的分簇方法与流程

文档序号:18703889发布日期:2019-09-17 23:21阅读:432来源:国知局
一种基于业务量权重的分簇方法与流程

本发明是一种水声网络节点分簇方法设计,属于水声网络分簇算法领域,适合于业务量先验的水声网络的分簇方案。



背景技术:

uasn全称为underwateracousticsensornetwork,即水下声学传感器网络,其被广泛应用于民事活动,如海洋资源开发、环境探察等;和军事任务,如监视,反潜探测,反水雷任务等,具有重要意义和研究价值。而考虑到水声传感器网络里,随着通信距离的增加,由于水声信号传播速度的限制,同步较为困难,容易造成信息堵塞与冲突。同时多径效应的存在与水下强传播衰减的特性都使得长距离的传输下水声通信效果不佳。因此设计分簇算法,将节点分为多个簇,簇内普通节点与簇头通信,簇间簇头与簇头之间通信,有效缩短了通信距离,从而解决上述问题。

分簇目标通常是为了满足特定的应用需求,举例而言,如果应用对数据传输延迟敏感,分簇算法则必须考虑合理组织簇结构以减少分组传输所经路由的长度。常见的分簇目标有:负载平衡:分簇算法通常希望传感节点均匀分布在各个簇中,以便使簇头合理分担网络负载,从而延长网络寿命;错误容忍:分簇算法必须具有较好的错误容忍性,防止因簇头故障而导致重要信息的丢失。增强连接和减少时延;簇数量最小化:在异质网络中,这种目标很常见,因为设计者希望减少簇头节点的数量以便于网络部署和节省网络成本;网络寿命最大化:这是无线传感网络普遍追求的目标。

麻省理工学院(mit)的heinzelman等人提出的leach是分布式分簇算法中最经典的算法,它是一种低功耗自适应分簇算法。每个节点通过比较相应的随机数和给定的阈值来决定自己是否成为簇头;接着,每个节点都会收到簇头的广播消息,并且根据该信号的强弱决定加入哪个簇。在数据传输阶段,簇内的所有节点按照时分复用(tdma)时隙向簇头发送数据。簇头聚集收到的消息,并将其发送到基站。实验结果显示,leach算法比一般的平面多跳路由协议和静态分层算法的网络生存时间更长,可以延长15%。

teen是一种除了在数据传送阶段使用的方法外其他与leach相似的分簇算法。为了降低发送数据的频率,在该算法中设置了硬、软阈值,通过合理调节这两个阈值的大小,可以平衡精度要求与系统能耗。通过这种方法能够减少网络通信量,并且能很好地监测热点地区和发生突发事件的地区。

egasis算法是根据leach的缺陷而提出的,它主要采用了贪婪算法。该算法解决了leach簇头节点选择频繁带来的问题,而且簇头本身具有链式数据聚合的特点,这样可以有效减少数据通信量并降低传输频率。为了节省能量消耗,每个节点会优先选择低功率与相对距离较近的邻居节点进行通信。

目前分簇的方法一般只多考虑以节省能量为目的,而对其他目标考虑较少,同时,分簇条件下的mac协议都是基于分簇已完成且极其理想的分簇下进行了协议的设计,而国内外目前还没有分簇的方法设计与mac协议的设计相配合并结合的分簇算法。



技术实现要素:

要解决的技术问题

考虑到水声传感器网络里,由于水声信号传播速度的限制,通信距离过大会造成同步较为困难,从而导致信息堵塞与冲突。同时多径效应的存在与水下强传播衰减的特性都使得长距离的传输下水声通信效果不佳。因此,本发明提出一种基于业务量权重的分簇方法,将节点分为多个簇,簇内普通节点与簇头通信,簇间簇头与簇头之间通信。

技术方案

一种基于业务量权重的分簇方法,其特征在于步骤如下:

步骤1:sink节点发送覆盖网络的全向波,提示网络进行分簇;

步骤2:所有节点接收到分簇开始提示信息后,根据下式计算自身权重:

y1(i)=α×x(i)

其中,x(i)为第i个节点的业务量,α为权重系数;

计算完自身权重y1后;采用csma方式发射通信距离为1km的全向波,令该包时延为ιp来表示,如果发生冲突则退避重发;

步骤3:各个节点在接收到其他节点发送的信息后,记录来自该节点的权重;

步骤4:节点等待一个周期后,即等待:

其中,r为通信距离,c为水声传播速度;

之后再次发射全向波,此时,全向波信息包含之前接收到的每个节点信息后的延迟时间τ;

步骤5:所有节点接收到第二次的信息后利用tdoa的方法计算出自己与其他节点的信息:

l(i,j)=c×(δt(i,j)-τ)

其中,l(i,j)为节点i与节点j之间的距离,δt(i,j)为节点i到节点j的传播时延;

步骤6:通过距离信息与接收到的权重值信息计算相邻节点与自身的权重值y3:

其中,i为簇头节点;j为i若作为簇头,其簇内节点的编号;q为该簇内的节点总和;β为权重系数,x(j)为第j个节点的业务量;

利用下式计算总权重w

选取邻居节点中总权重值最大的节点,作为簇头节点,其余节点若在其簇头通信范围内且权重值小于簇头节点则加入簇头节点;同时每竞选出一个簇头,其余节点在l≥r+εr=(1+ε)r约束下进行下一个簇头的选举直至分簇完成,其中l为簇头与簇头间的最小距离,ε为簇头距离权重,r为通信距离。

有益效果

本发明提出的一种基于业务量权重的分簇方法,该分簇方法可以与网络调度相结合,从而对于网络时延进行有效降低。总的来说,此算法是一种以降低时延为目的,与mac调度相搭配的适用于水声网络的分簇算法。

本发明更专注于整个水声网络调度的时延,相比其他分簇算法而言,有更低时延,更快的调度,更高的簇头信道利用率。同时在此基础上,对簇头分布的均匀度所考量,维持了簇头节点数量不至于过多而造成能量浪费以及考虑了频段分配增加了网络利用率。

附图说明

图1簇头选择说明图

图2是短包效果说明图

图3是长包效果说明图

图4簇头节点位置自偏差结果图(6000x6000海域,20节点)

图5分簇仿真结果图(2000x2000海域,20节点)

图6分簇仿真结果图(6000x6000海域,55节点)

图7频段数仿真结果图(6000x6000海域,40节点)

图8随机布点示意图

图9声速与深度曲线图

具体实施方式

现结合实施例、附图对本发明作进一步描述:

考虑到不同传感器节点信息的采集量与采集任务不同,对不同地域的信息收集情况不同,通信量不同等原因,因而不同节点的业务量不同,将业务量作为先验,设计基于业务量的分簇算法,综合考虑以下三个权重对分簇算法进行设计。

1.在竞选簇头时候,业务量更大的节点设置更大的权重,使之更容易竞选为簇头,将该任务量的信息流向:

普通节点→簇头→其他簇簇头→sink节点

变为了:

簇头→其他簇簇头→sink节点

从而减少了多任务量节点的一次中继过程,继而节省时延,如图一。

令其业务量为x,其权重系数为α,则自身权重为

y1(i)=α×x(i)(1)

其中x(i)为第i个节点的业务量。

2.同时在竞选簇头时,考虑每个点的业务量,使距离更近的节点拥有更高的权重,从而搭配连续接收思想的mac协议,防止同簇内短包数据过多而出现信道大量未被利用的现象发生,如图二。只有当较早发送的节点具有更大的业务量时候,这样尽早的占用了信道,才能避免信道大量未利用现象发生,如图三。那么依据上述思想,考虑距离因素后,其节点权重应为

其中l(i,j)为簇头为i节点情况下,节点j与i的距离,y(j)为节点的j的自身业务量权重。

综上思想,同一个簇内,其余所有节点业务量是依据距离大小对簇头权重有影响的,即簇内普通节点产生的权重和为:

其中i为簇头节点;j为i若作为簇头,其簇内节点的编号;q为该簇内的节点总和。因而,此时的节点权重为其自身业务量权重加上其若作为簇头的整簇权重。

即:

w为i作为簇头的业务量总权重。

3.在上述基础上,进一步考虑簇头与簇头距离的影响,相邻簇重合节点数量等的影响。簇头与簇头的距离过近,会造成簇重合面积过大,分簇数量过多,影响效率;同时,簇重合部分节点过多,这些节点则可能会对两簇的各自簇内通信产生更多干扰。而簇头与簇头的距离过远,会造成圆形的簇与簇之间的空白部分过大,未被分簇成功的节点增加,使这些节点不得不单独自成簇,从而也造成了能量与效率的浪费。

令簇头与簇头间的最小距离为l,通信距离为r,同一簇内不允许出现两个簇头,即l满足:

l≥r+εr=(1+ε)r(5)

其中ε为簇头距离权重。

同时随着分簇的进行,节点被覆盖的数量增多,海域剩余部分变小,因而为了使剩余未分簇节点可成簇,ε可适当减小,即ε不简单设置为常数,设为随分簇数增加而递减的函数。采用该方法后,簇头均匀度有较好提升,通过自偏差衡量均匀度,如图四所示,其为6000mx6000m的海域里,布撒20个节点,通信距离1000m条件下的分簇结果的均匀度。(a)为未采用递减方法的10次仿真(b)为采用了递减方法的十次仿真。

簇头选举完成后,在其一跳范围内的节点加入该簇,如果某一节点同时在两个簇头的覆盖范围里,则选择信号较大的来源簇头的簇加入。分簇仿真结果如图五,六。相邻簇之间若产生冲突,则采用频段复用,最终的频段总数仿真图如图七。

下面以总节点数目20为例。采用matlab对本发明的性能进行仿真,将节点随机布放在2000m×2000m的区域,节点分布图如图六所示。sink(汇聚)节点不在图中,假定岸上sink(汇聚)节点能量无限。

第一步:sink节点发送覆盖网络的全向波,提示网络进行分簇。

第二步:所有节点接收到分簇开始提示信息后,根据公式(1)计算自身权重,计算完自身权重y1后,因为信息量少,数据包帧长短,所以第二步发生冲突可能性较小,因而采用csma方式发射通信距离为1km的全向波,令该包时延为ιp来表示,如果发生冲突则退避重发。

第三步:各个节点在接收到其他节点发送的信息后,记录来自该节点的权重。

第四步:节点等待一个周期后,即等待:

其中r为通信距离,c为水声传播速度,ιp为第二步中的包传输时延;

之后再次发射全向波,此时,全向波信息包含之前接收到的每个节点信息后的延迟时间τ。

第五步:所有节点接收到第二次的信息后利用tdoa的方法计算出自己与其他节点的信息

l(i,j)=c×(δt(i,j)-τ)(7)

其中为l(i,j)为节点i与节点j之间的距离,δt(i,j)为节点i到节点j的传播时延,c为水下声传播速度,海洋里声速c与深度的关系如图七所示。

在计算完距离之后,通过距离信息与接收到的权重值信息利用公式(3)计算相邻节点与自身的权重值y3,然后利用公式(4)计算总权重w,以邻居节点中总权重值最大的节点,作为簇头节点,其余节点若在其簇头通信范围内且权重值小于簇头节点则加入簇头节点。同时每竞选出一个簇头,其余节点在公式(5)约束下进行下一个簇头的选举直至分簇完成。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1