一种异步占空比和网络编码的水下传感器网络MAC协议通信方法技术

技术编号:11322974 阅读:168 留言:0更新日期:2015-04-22 11:42
本发明专利技术公开一种异步占空比和网络编码的水下传感器网络MAC协议通信方法。包括以下步骤:初始化MAC协议,确定每对发送节点和接收节点的数据交换时间;使用编码节点选择算法确定网络编码层内的编码节点;网络编码层内的节点唤醒后,如果为普通节点则直接将接收到的数据包发送出去;如果为编码节点,进行编码后发送出去。本发明专利技术具有能够提高网络吞吐量和数据传输率的优点。

【技术实现步骤摘要】

本专利技术属于水下无线传感器网络通信领域,尤其涉及一种能够提高网络吞吐量的,异步占空比和网络编码的水下传感器网络MAC协议通信方法
技术介绍
随着计算机技术、微电子技术以及通信技术的发展,水下无线传感器网络(Underwater Wireless Sensor Networks, UWSNs)的相关技术也迅速发展起来,并且广泛地应用于海洋数据采集、污染检测、海上探测、灾难预警、援助导航和战略监测等方面。介质访问控制(Media Access Control, MAC)协议是UWSNs研宄的一个重要方面,决定水下信道的使用方式,直接影响网络能量的使用效率、网络吞吐量和时延等重要性能,是保证UWSNs高效通信关键基础内容之一。然而,与传统陆地无线传感器网络使用无线电信号通信不同,UffSNs主要采用声学信道通信方式,具有传播时延大、通信带宽低、误码率高等特点,这些特点决定了在设计UWSNs的MAC协议时面临着巨大的挑战。Md.0baidur Rahman等人针对水下节点因空闲监听导致能量消耗问题提出了UffAN-MAC协议,该协议通过在数据传输阶段中加入睡眠模式来克服节点因空闲监听而导致的能量消耗。节点在每个周期的起始时刻广播SYNC分组,指明其休眠周期,接收到此分组的邻居节点从下一个预定时段开始侦听此节点。因此,每个节点除工作在自身预定时段传输数据外,还必须工作在每个邻居节点的数据传输时段。UWAN-MAC协议利用SYNC分组交换相对时间信息,各节点无须预知传输时延。只要传输时间为常数,只利用休眠持续期的信息就可以保证每个节点同步。但由于使用休眠唤醒机制,导致信道的时延变长,同时维护休眠时刻表和调度机制会产生开销,进而降低协议吞吐量。针对UWSNs的数据传输率低的问题,Shaobin Cai等人提出了一种基于网络编码的MPNC-MAC协议,该协议首先建立三条不相交的路径,对于两组数据A和B从两条路径中传输出去;中间路径传输的数据C(C = A ? B)则是通过网络编码得到的数据。该协议通过使用网络编码可以有效地提高网络吞吐量以及数据传输率,但该协议使用在节点密集的水下应用中时,由于其每个节点均发送三个数据包,导致网络碰撞严重,数据传输率反而降低。同时所有节点作为编码节点会导致能耗变大。
技术实现思路
本专利技术的目的是提供一种能够提高网络吞吐量和数据传输率的,异步占空比和网络编码的水下传感器网络MAC协议通信方法。本专利技术是通过以下技术方案实现的:一种异步占空比和网络编码的水下传感器网络MAC协议通信方法,包括以下几个步骤:步骤一:初始化MAC协议,确定每对发送节点和接收节点的数据交换时间;步骤二:使用编码节点选择算法确定网络编码层内的编码节点;步骤三:网络编码层内的节点唤醒后,如果为普通节点则直接将接收到的数据包发送出去;如果为编码节点,进入步骤四;步骤四:判断编码节点接收队列recQueueO中的数据包Pi是否为已经发送过的数据包,如果是,则丢弃该数据包,转到步骤八;如果不是,进入下一步;步骤五:判断数据包卩1是否为元数据包,如果不是元数据则将其丢弃,转到步骤八;否则进入步骤六;步骤六:如果编码节点的产生数据队列senQueueO不为空,则分别从接收队列recQueueO和产生数据队列senQueue O中各取一个数据包进行编码操作,得到编码数据Cn = P i ? P j ;如果编码节点的产生数据队列senQueue O为空,则从接收队列recQueue O中取连续的两个数据包进行编码操作,得到编码数据Cn= P i ? P i+1,其中Pi+1为当前编码节点前一时刻接收到的数据包;步骤七:编码节点将编码数据发送给汇聚节点,同时将数据包Pi放入发送集合ForwardSet O中;步骤八:令i = i+Ι,重复步骤四?步骤七,直到接收队列recQueue O中的数据为空。本专利技术一种异步占空比和网络编码的水下传感器网络MAC协议通信方法,还可以包括:1、确定每对发送节点和接收节点的数据交换时间的方法为:发送节点广播发送DET帧,DET帧中包含该发送节点下次唤醒发送数据的时间T,接收节点收到DET帧后对其进行解码,得到时间T,然后进入休眠状态,等待下次唤醒,时间T为每对发送节点和接收节点的数据交换时间。2、使用编码节点选择算法确定网络编码层内的编码节点的方法为:步骤一:汇聚节点广播发送SNC帧,SNC帧中包括能量阈值En和缓冲区阈值B n;步骤二:网络编码层内的接收到SNC帧的节点,判断自身的能量和缓冲区是否大于阈值,并且该节点的接收数据大于两个,则当前节点为编码节点;步骤三:编码节点反馈给汇聚节点ACK帧,ACK帧包含该编码节点的地理位置信息,汇聚节点根据收到ACK帧个数确定编码节点个数Ns;步骤四:将编码节点个数Ns和网络编码层节点个数的一半Nn/2进行比较,如果Ns^ Nn/2,得到最终的编码节点,如果Ns> Nn/2,则减少编码节点,直到满足Ns= Nn/2条件,得到最终的编码节点。3、汇聚节点为AUV或水下滑翔机,普通节点为水下传感器,形成多个普通节点围绕单个汇聚节点的网络模型。有益效果:本专利技术在初始化MAC协议阶段首先采用异步占空比技术来确定网络中所有节点的数据交换时间,可以有效地避免节点因空闲监听信道产生的能量消耗,同时通过编码节点选择算法确定网络编码层中的编码节点个数以及分布,使汇聚节点的译码率达到最高;在数据传输阶段,普通节点唤醒时发送接收到的数据,而编码节点在唤醒时,使用编码算法进行编码后再传输,由于编码可以提高每次传输时所携带的数据量,因此能够提高网络吞吐量和带宽利用率。【附图说明】图1为模拟环境下节点部署图;图2为每对节点的异步占空比调度机制图;图3为数据包结构图。【具体实施方式】下面将结合附图对本专利技术做进一步详细说明。本专利技术针对现有UWAN-MAC协议中存在的网络吞吐量低、带宽利用率低的问题,MPNC-MAC协议中存在的能量消耗大的问题以及不适用于节点部署密集的水下环境的问题,提出了一种异步占空比和网络编码的水下传感器网络MAC协议通信方法。具体为:(I)初始化MAC协议阶段包含以下步骤:I)发送方节点广播发送DET帧,收到DET帧的节点解析得到发送节点下次发送数据的时间后进入休眠状态,等待下次发送数据时唤醒。通过这种方式可以确定每对发送和接收节点均可以初始化数据交换时间。2)汇聚节点广播发送SNC帧,所有一跳范围内节点(网络编码层)收到SNC帧后,使用编码节点选择算法来确定编码节点数量以及分布,实验证明网络编码层内编码节点个数占总数的50%时,汇聚节点的译码率最高,即数据传输率最大。(2)数据传输阶段包含以下步骤:I)利用初始化MAC协议阶段确定每对发送节点和接收节点的数据交换时间以及节点类型。2)若为普通节点在每次唤醒时发送接收到的数据,若为编码节点在每次唤醒时将接收到的数据使用编码算法进行编码后再传输。汇聚节点对其编码数据进行解码,得到对应的数据。在水下传感器网络的数据采集应用中,传感器节点随机部署在某些固定的区域收集水下数据,并通过AUV或水下滑翔机移动到指定区域来获取数据并传输给水面基站。图1描述了上述应用的网络模型,其采用单个汇聚节点和多个传输本文档来自技高网
...
一种异步占空比和网络编码的水下传感器网络MAC协议通信方法

【技术保护点】
一种异步占空比和网络编码的水下传感器网络MAC协议通信方法,其特征在于,包括以下几个步骤:步骤一:初始化MAC协议,确定每对发送节点和接收节点的数据交换时间;步骤二:使用编码节点选择算法确定网络编码层内的编码节点;步骤三:网络编码层内的节点唤醒后,如果为普通节点则直接将接收到的数据包发送出去;如果为编码节点,进入步骤四;步骤四:判断编码节点接收队列recQueue()中的数据包Pi是否为已经发送过的数据包,如果是,则丢弃该数据包,转到步骤八;如果不是,进入下一步;步骤五:判断数据包Pi是否为元数据包,如果不是元数据则将其丢弃,转到步骤八;否则进入步骤六;步骤六:如果编码节点的产生数据队列senQueue()不为空,则分别从接收队列recQueue()和产生数据队列senQueue()中各取一个数据包进行编码操作,得到编码数据Cn=Pi⊕Pj;如果编码节点的产生数据队列senQueue()为空,则从接收队列recQueue()中取连续的两个数据包进行编码操作,得到编码数据Cn=Pi⊕Pi+1,其中Pi+1为当前编码节点前一时刻接收到的数据包;步骤七:编码节点将编码数据发送给汇聚节点,同时将数据包Pi放入发送集合ForwardSet()中;步骤八:令i=i+1,重复步骤四~步骤七,直到接收队列recQueue()中的数据为空。...

【技术特征摘要】

【专利技术属性】
技术研发人员:冯晓宁王卓刘秀龙刘佳杰张文朱晓龙
申请(专利权)人:哈尔滨工程大学
类型:发明
国别省市:黑龙江;23

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1